创建大项目主管工资统计表.sql
8.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
-- ============================================
-- 创建大项目主管工资统计表
-- 功能:存储大项目主管每月的工资计算数据,包括底薪、业绩提成、扣款、补贴、奖金、支付等信息
-- 创建时间:2025年
-- ============================================
-- 删除表(如果存在)
DROP TABLE IF EXISTS lq_major_project_director_salary_statistics;
-- ============================================
-- 创建大项目主管工资统计表
-- ============================================
CREATE TABLE lq_major_project_director_salary_statistics (
-- 主键
F_Id VARCHAR(50) NOT NULL COMMENT '主键ID',
-- 一、基础信息字段
F_StatisticsMonth VARCHAR(6) NOT NULL COMMENT '统计月份(YYYYMM格式)',
F_Position VARCHAR(50) NOT NULL COMMENT '核算岗位(大项目一部/大项目二部等)',
F_EmployeeName VARCHAR(100) NOT NULL COMMENT '员工姓名',
F_EmployeeId VARCHAR(50) NOT NULL COMMENT '员工ID',
F_EmployeeAccount VARCHAR(100) NULL COMMENT '员工账号',
F_IsTerminated INT NOT NULL DEFAULT 0 COMMENT '是否离职(0=在职,1=离职)',
-- 二、管理的门店信息(JSON格式)
F_StoreDetail TEXT NULL COMMENT '管理的门店明细(JSON格式,记录每个门店的业绩详情)',
-- 三、业绩相关字段
F_TotalPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '总业绩(管理的所有门店的总业绩总和,开单-退卡)',
F_BillingAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '开单金额(管理的所有门店的开单金额总和)',
F_RefundAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退卡金额(管理的所有门店的退卡金额总和)',
-- 四、底薪相关字段
F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 3500.00 COMMENT '底薪金额(固定3500元)',
-- 五、提成相关字段
F_CommissionRate DECIMAL(18,4) DEFAULT NULL COMMENT '提成比例(根据总业绩分段:0%/1%/1.5%)',
F_CommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成金额(总业绩 × 提成比例)',
-- 六、考勤相关字段
F_WorkingDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '在店天数',
F_LeaveDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假天数',
-- 七、工资计算字段
F_CalculatedGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '核算应发工资(底薪 + 提成金额)',
F_FinalGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '最终应发工资(等于核算应发工资)',
-- 八、补贴相关字段
F_MonthlyTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月培训补贴',
F_MonthlyTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月交通补贴',
F_LastMonthTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月培训补贴',
F_LastMonthTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月交通补贴',
F_TotalSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补贴合计',
-- 九、扣款相关字段
F_MissingCard DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '缺卡扣款',
F_LateArrival DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '迟到扣款',
F_LeaveDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假扣款',
F_SocialInsuranceDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣社保',
F_RewardDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣除奖励',
F_AccommodationDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣住宿费',
F_StudyPeriodDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣学习期费用',
F_WorkClothesDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣工作服费用',
F_TotalDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣款合计',
-- 十、奖金相关字段
F_Bonus DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '发奖金',
F_ReturnPhoneDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退手机押金',
F_ReturnAccommodationDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退住宿押金',
-- 十一、支付相关字段
F_ActualSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '实发工资(最终应发工资 - 扣款合计 + 补贴合计 + 奖金)',
F_MonthlyPaymentStatus VARCHAR(20) NOT NULL DEFAULT '未发放' COMMENT '当月是否发放(已发放/未发放/部分发放)',
F_PaidAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '支付金额',
F_PendingAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '待支付金额',
F_LastMonthSupplement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补发上月',
F_MonthlyTotalPayment DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月支付总额',
-- 十二、系统字段
F_IsLocked INT NOT NULL DEFAULT 0 COMMENT '是否锁定(0=未锁定,1=已锁定)',
F_CreateTime DATETIME NOT NULL COMMENT '创建时间',
F_UpdateTime DATETIME NOT NULL COMMENT '更新时间',
F_CreateUser VARCHAR(50) NULL COMMENT '创建人',
F_UpdateUser VARCHAR(50) NULL COMMENT '更新人',
-- 主键约束
PRIMARY KEY (F_Id),
-- 唯一索引:确保同一员工同一月份只有一条记录
UNIQUE KEY `uk_employee_month` (F_EmployeeId, F_StatisticsMonth),
-- 普通索引
KEY `idx_statistics_month` (F_StatisticsMonth),
KEY `idx_employee_id` (F_EmployeeId),
KEY `idx_employee_account` (F_EmployeeAccount),
KEY `idx_position` (F_Position),
KEY `idx_is_terminated` (F_IsTerminated),
KEY `idx_create_time` (F_CreateTime)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大项目主管工资统计表';
-- ============================================
-- 表结构说明
-- ============================================
/*
表名:lq_major_project_director_salary_statistics(大项目主管工资统计表)
功能说明:
1. 存储大项目主管每月的工资计算数据
2. 包括底薪、业绩提成、扣款、补贴、奖金、支付等信息
3. 支持按员工、月份查询
4. 记录管理的门店汇总信息
主要字段说明:
- F_BaseSalary:底薪(固定3500元)
- F_TotalPerformance:总业绩(管理的所有门店的总业绩总和,开单-退卡)
- F_CommissionRate:提成比例(根据总业绩分段:0%/1%/1.5%)
- F_CommissionAmount:提成金额(总业绩 × 提成比例)
- F_StoreDetail:门店业绩明细(JSON格式,记录每个门店的业绩详情)
数据来源:
- 大项目主管归属:BASE_USER 表(岗位为"主管",组织ID为大项目一部或大项目二部)
- 管理的门店:lq_md_target 表的 F_MajorProjectDepartment 字段(按月份筛选)
- 开单业绩:lq_kd_kdjlb 表的 sfyj 字段(按管理的门店统计)
- 退卡业绩:lq_hytk_hytk 表的 F_ActualRefundAmount 或 tkje 字段(按管理的门店统计)
计算公式:
- 总业绩 = 管理的所有门店的开单金额 - 退卡金额
- 提成计算逻辑:
1. 总业绩 <= 50万:无提成(0%)
2. 50万 < 总业绩 <= 70万:1%提成
3. 总业绩 > 70万:1.5%提成
- 核算应发工资 = 底薪(3500) + 提成金额
- 最终应发工资 = 核算应发工资
- 实发工资 = 最终应发工资 - 扣款合计 + 补贴合计 + 奖金
门店业绩明细JSON格式示例:
[
{
"storeId": "A001",
"storeName": "门店A",
"billingAmount": 160000.00,
"refundAmount": 10000.00,
"totalPerformance": 150000.00
},
{
"storeId": "B001",
"storeName": "门店B",
"billingAmount": 105000.00,
"refundAmount": 5000.00,
"totalPerformance": 100000.00
}
]
索引说明:
- 主键索引:F_Id
- 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录)
- 普通索引:
- F_StatisticsMonth:按月份查询
- F_EmployeeId:按员工查询
- F_EmployeeAccount:按员工账号查询
- F_Position:按岗位查询
- F_IsTerminated:按离职状态查询
- F_CreateTime:按创建时间查询
数据校验要求:
1. 总业绩必须 >= 0(不能为负数)
2. 提成比例必须为 0、1 或 1.5(对应不同业绩区间)
3. 底薪固定为3500元,不允许修改
*/