创建大项目部老师工资统计表.sql
9.18 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
-- ============================================
-- 创建大项目部老师工资统计表
-- 功能:存储大项目部老师每月的工资计算数据,包括底薪、业绩提成、扣款、补贴、奖金、支付等信息
-- 创建时间:2025年
-- ============================================
-- 删除表(如果存在)
DROP TABLE IF EXISTS lq_major_project_teacher_salary_statistics;
-- ============================================
-- 创建大项目部老师工资统计表
-- ============================================
CREATE TABLE lq_major_project_teacher_salary_statistics (
-- 主键
F_Id VARCHAR(50) NOT NULL COMMENT '主键ID',
-- 一、基础信息字段
F_StatisticsMonth VARCHAR(6) NOT NULL COMMENT '统计月份(YYYYMM格式)',
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_EmployeeAccount VARCHAR(100) NULL COMMENT '员工账号',
F_StoreType INT NULL COMMENT '门店类型(200平/旗舰店)',
F_StoreCategory INT NULL COMMENT '门店分类(1=A类,2=B类,3=C类)',
F_IsNewStore VARCHAR(10) NULL COMMENT '是否新店(是/否)',
F_NewStoreProtectionStage INT NOT NULL DEFAULT 0 COMMENT '新店保护阶段(0/1/2)',
-- 二、业绩相关字段
F_OrderAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '开单业绩(从lq_kd_kjbsyj表统计,根据归属表关联)',
F_ConsumeAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '消耗业绩(从lq_xh_kjbsyj表统计,根据归属表关联)',
F_RefundAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退卡业绩(从lq_hytk_kjbsyj表统计,根据归属表关联)',
F_TotalPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '总业绩(开单业绩 + 消耗业绩 + 退卡业绩,用于业绩提成计算)',
-- 三、底薪相关字段
F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 3000.00 COMMENT '底薪金额(固定3000元)',
-- 四、业绩提成相关字段
F_PerformanceCommissionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '业绩提成比例(百分比,如2.00表示2%,0.00表示无提成)',
F_PerformanceCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '业绩提成金额(总业绩 × 业绩提成比例,阶梯式计算)',
F_TotalCommission DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成合计(业绩提成金额)',
-- 五、其他收入字段
F_HandworkFee DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '手工费',
F_TransportationAllowance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '车补',
F_LessRest DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '少休费',
F_FullAttendance 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_GuaranteedSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底工资',
F_GuaranteedLeaveDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底请假扣款',
F_GuaranteedBaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底底薪',
F_GuaranteedSupplement 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_IsTerminated 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_employee_account` (F_EmployeeAccount),
KEY `idx_store_category` (F_StoreCategory),
KEY `idx_is_terminated` (F_IsTerminated),
KEY `idx_create_time` (F_CreateTime)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大项目部老师工资统计表';
-- ============================================
-- 表结构说明
-- ============================================
/*
表名:lq_major_project_teacher_salary_statistics(大项目部老师工资统计表)
功能说明:
1. 存储大项目部老师每月的工资计算数据
2. 包括底薪、业绩提成、扣款、补贴、奖金、支付等信息
3. 支持按门店、员工、月份查询
主要字段说明:
- F_BaseSalary:底薪(固定3000元)
- F_TotalPerformance:总业绩(开单业绩 + 消耗业绩 + 退卡业绩),用于计算业绩提成
- F_PerformanceCommissionRate:业绩提成比例(阶梯式:≤20万无提成,>20万且≤100万为2%,>100万为2.5%)
- F_PerformanceCommissionAmount:业绩提成金额(总业绩 × 业绩提成比例)
- F_TotalCommission:提成合计(等于业绩提成金额)
数据来源:
- 老师归属:lq_md_major_project_teacher_assignment 表(每个月归属不一样)
- 开单业绩:lq_kd_kjbsyj 表(根据归属表关联)
- 消耗业绩:lq_xh_kjbsyj 表(根据归属表关联)
- 退卡业绩:lq_hytk_kjbsyj 表(根据归属表关联)
计算公式:
- 总业绩 = 开单业绩 + 消耗业绩 + 退卡业绩
- 业绩提成计算(阶梯式):
* 总业绩 ≤ 20万:无提成(0%)
* 总业绩 > 20万 且 ≤ 100万:2%
* 总业绩 > 100万:2.5%
- 提成金额 = 总业绩 × 对应提成比例
- 核算应发工资 = 底薪(3000) + 提成合计 + 其他收入
- 最终应发工资 = MAX(核算应发工资, 保底工资)
- 实发工资 = 最终应发工资 - 扣款合计 + 补贴合计 + 奖金
索引说明:
- 主键索引:F_Id
- 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录)
- 普通索引:
- F_StoreId:按门店查询
- F_StatisticsMonth:按月份查询
- F_EmployeeId:按员工查询
- F_StoreCategory:按门店分类查询
- F_CreateTime:按创建时间查询
数据校验要求:
1. 底薪固定为3000元
2. 业绩提成必须按照阶梯式计算
3. 总业绩必须从归属表关联的业绩数据中统计
*/