创建主任工资统计表.sql
10.3 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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
-- ============================================
-- 创建主任工资统计表
-- 功能:存储主任每月的工资计算数据,包括底薪、提成、考核扣款、扣款、补贴、奖金、支付等信息
-- 创建时间:2025年
-- ============================================
-- 删除表(如果存在)
DROP TABLE IF EXISTS lq_director_salary_statistics;
-- ============================================
-- 创建主任工资统计表
-- ============================================
CREATE TABLE lq_director_salary_statistics (
-- 主键
F_Id VARCHAR(50) NOT NULL COMMENT '主键ID',
-- 一、基础信息字段
F_StoreId VARCHAR(50) NOT NULL COMMENT '门店ID',
F_StoreName VARCHAR(200) NOT NULL COMMENT '门店名称',
F_Position VARCHAR(50) NOT NULL DEFAULT '主任' COMMENT '核算岗位(固定为"主任")',
F_EmployeeName VARCHAR(100) NOT NULL COMMENT '员工姓名',
F_EmployeeId VARCHAR(50) NOT NULL COMMENT '员工ID',
F_StatisticsMonth VARCHAR(20) NOT NULL COMMENT '统计月份(YYYYMM格式)',
F_StoreType INT NULL COMMENT '门店类型(200平/旗舰店)',
F_StoreCategory INT NOT NULL COMMENT '门店分类(1=A类,2=B类,3=C类)',
F_IsNewStore VARCHAR(10) NULL COMMENT '是否新店(是/否)',
F_NewStoreProtectionStage INT NULL DEFAULT 0 COMMENT '新店保护阶段(0/1/2)',
-- 二、业绩相关字段
F_StoreTotalPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店总业绩(门店开单业绩-门店退卡业绩)',
F_StoreBillingPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店开单业绩',
F_StoreRefundPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店退卡业绩',
F_StoreLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店生命线',
F_PerformanceCompletionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '业绩完成率(门店业绩/门店生命线)',
-- 三、考核相关字段
F_PerformanceReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '业绩是否达标(是/否,业绩≥生命线为是)',
F_HeadCountReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '人头是否达标(是/否,实际人头≥目标人头为是)',
F_ConsumeReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '消耗是否达标(是/否,实际消耗≥目标消耗为是,仅老店考核)',
F_AssessmentDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '考核扣款金额(未达标指标数×500)',
F_UnreachedIndicatorCount INT NOT NULL DEFAULT 0 COMMENT '未达标指标数量(老店最多3个,新店最多2个)',
-- 四、人头相关字段
F_HeadCount INT NOT NULL DEFAULT 0 COMMENT '进店消耗人数(有消费金额的,按门店按月去重客户数)',
F_TargetHeadCount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '目标人头数(从lq_md_target获取)',
-- 五、消耗相关字段
F_StoreConsume DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店消耗金额(门店当月总消耗)',
F_TargetConsume DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '目标消耗金额(从lq_md_target获取)',
-- 六、提成相关字段(阶梯提成)
F_CommissionRateBelowLifeline DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '≤生命线部分提成比例(老店:A类2%,B类2.5%,C类3%;新店:统一2%)',
F_CommissionRateAboveLifeline DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '>生命线部分提成比例(老店:A类2.5%,B类3%,C类3.5%;新店:统一2.5%)',
F_CommissionAmountBelowLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '≤生命线部分提成金额',
F_CommissionAmountAboveLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '>生命线部分提成金额',
F_TotalCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成总金额(≤生命线部分+>生命线部分)',
-- 七、底薪相关字段
F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 3500.00 COMMENT '底薪金额(固定3500元)',
F_ActualBaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '实际底薪(底薪-考核扣款)',
-- 八、考勤相关字段
F_WorkingDays INT NOT NULL DEFAULT 0 COMMENT '在店天数',
F_LeaveDays INT NOT NULL DEFAULT 0 COMMENT '请假天数',
-- 九、工资计算字段
F_GrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '应发工资(实际底薪+提成总金额)',
F_ActualSalary 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_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_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_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_store_id` (F_StoreId),
KEY `idx_statistics_month` (F_StatisticsMonth),
KEY `idx_employee_id` (F_EmployeeId),
KEY `idx_store_category` (F_StoreCategory),
KEY `idx_create_time` (F_CreateTime)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='主任工资统计表';
-- ============================================
-- 表结构说明
-- ============================================
/*
表名:lq_director_salary_statistics(主任工资统计表)
功能说明:
1. 存储主任每月的工资计算数据
2. 包括底薪、提成、考核扣款、扣款、补贴、奖金、支付等信息
3. 支持按门店、员工、月份查询
主要字段说明:
- F_StoreCategory:门店分类(1=A类,2=B类,3=C类),用于确定提成比例
- F_StoreTotalPerformance:门店总业绩,用于计算提成
- F_StoreLifeline:门店生命线,用于判断提成比例和考核
- F_HeadCount:进店消耗人数,用于考核
- F_StoreConsume:门店消耗金额,用于考核(仅老店)
- F_BaseSalary:底薪(固定3500元)
- F_AssessmentDeduction:考核扣款(未达标指标数×500)
- F_ActualBaseSalary:实际底薪(底薪-考核扣款)
- F_CommissionAmountBelowLifeline:≤生命线部分提成金额
- F_CommissionAmountAboveLifeline:>生命线部分提成金额
- F_TotalCommissionAmount:提成总金额(阶梯提成)
索引说明:
- 主键索引:F_Id
- 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录)
- 普通索引:
- F_StoreId:按门店查询
- F_StatisticsMonth:按月份查询
- F_EmployeeId:按员工查询
- F_StoreCategory:按门店分类查询
- F_CreateTime:按创建时间查询
数据校验要求:
1. 门店分类(F_StoreCategory)必须设置,不允许为NULL
2. 门店生命线(F_StoreLifeline)必须设置,未设置应报错
3. 目标人头数(F_TargetHeadCount)必须设置(用于考核)
4. 目标消耗(F_TargetConsume)必须设置(老店考核用)
计算公式:
- 应发工资 = 实际底薪 + 提成总金额
- 实发工资 = 应发工资 - 扣款合计 + 补贴合计 + 奖金
- 业绩完成率 = 门店业绩 / 门店生命线 × 100%
- 实际底薪 = 底薪(3500)- 考核扣款
- 考核扣款 = 未达标指标数 × 500
- 提成总金额 = ≤生命线部分提成金额 + >生命线部分提成金额
提成计算规则(阶梯提成):
老店:
- A类门店:≤生命线部分2%,>生命线部分2.5%
- B类门店:≤生命线部分2.5%,>生命线部分3%
- C类门店:≤生命线部分3%,>生命线部分3.5%
新店(统一标准):
- ≤生命线部分2%,>生命线部分2.5%
考核规则:
老店(3个指标):
- 业绩考核:门店业绩是否达到门店生命线
- 人头考核:进店消耗人数是否达到目标人头数
- 消耗考核:门店消耗是否达到目标消耗
- 每个未达标指标扣500元
新店(2个指标):
- 业绩考核:门店业绩是否达到门店生命线
- 人头考核:进店消耗人数是否达到目标人头数
- 每个未达标指标扣500元
- 新店不考核消耗
*/