2beedbc2
“wangming”
修复健康师工资额外计算服务接口错误
|
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
|
# 主任工资计算规则梳理
## 📋 概述
主任工资由以下几个部分组成:
1. **底薪**:固定3500元,根据考核指标扣款
2. **提成**:根据门店业绩与门店生命线的关系,使用阶梯提成模式计算
---
## 💰 工资组成规则
### 1. 底薪规则
**固定底薪**:3500元
#### 老店主任底薪考核
**考核指标**(3个):
1. **业绩考核**:门店业绩是否达到门店生命线
2. **人头考核**:进店消耗人数是否达到目标人头数
3. **消耗考核**:门店消耗是否达到目标消耗
**扣款规则**:
- 每个指标未达到:扣除500元
- 如果3个指标都未达到:扣除1500元(500 × 3)
**计算公式**:
```
底薪 = 3500 - (未达标指标数 × 500)
```
#### 新店主任底薪考核
**考核指标**(2个):
1. **业绩考核**:门店业绩是否达到门店生命线
2. **人头考核**:进店消耗人数是否达到目标人头数
**扣款规则**:
- 每个指标未达到:扣除500元
- 如果2个指标都未达到:扣除1000元(500 × 2)
**计算公式**:
```
底薪 = 3500 - (未达标指标数 × 500)
```
**注意**:新店不考核消耗指标
---
### 2. 提成规则
**提成计算方式**:阶梯提成模式
#### 老店主任提成规则
根据门店分类(A、B、C类)和业绩是否超过生命线,使用不同的阶梯提成比例:
| 门店分类 | 业绩 ≤ 生命线部分 | 业绩 > 生命线部分 |
|---------|----------------|-----------------|
| A类门店 | 2% | 2.5% |
| B类门店 | 2.5% | 3% |
| C类门店 | 3% | 3.5% |
**计算公式**:
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 对应提成比例(≤生命线部分)
如果 业绩 > 生命线:
提成 = 生命线 × 对应提成比例(≤生命线部分) + (业绩 - 生命线) × 对应提成比例(>生命线部分)
```
**计算示例**:
- 生命线:100,000元
- 业绩:150,000元
- 门店分类:A类
计算过程:
1. 业绩(150,000)> 生命线(100,000)
2. ≤生命线部分:100,000 × 2% = 2,000元
3. >生命线部分:(150,000 - 100,000) × 2.5% = 50,000 × 2.5% = 1,250元
4. 总提成:2,000 + 1,250 = 3,250元
#### 新店主任提成规则
**统一标准**(不区分A、B、C类门店):
| 业绩范围 | 提成比例 |
|---------|---------|
| 业绩 ≤ 生命线部分 | 2% |
| 业绩 > 生命线部分 | 2.5% |
**计算公式**:
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 2%
如果 业绩 > 生命线:
提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5%
```
**计算示例**:
- 生命线:100,000元
- 业绩:150,000元
计算过程:
1. 业绩(150,000)> 生命线(100,000)
2. ≤生命线部分:100,000 × 2% = 2,000元
3. >生命线部分:(150,000 - 100,000) × 2.5% = 50,000 × 2.5% = 1,250元
4. 总提成:2,000 + 1,250 = 3,250元
---
## 📊 最终工资计算
### 计算公式
```
最终工资 = 底薪 + 提成
```
其中:
- **底薪** = 3500 - (未达标指标数 × 500)
- **提成** = 根据阶梯提成规则计算
### 计算示例
#### 示例1:老店主任(A类门店,全部达标)
**基础数据**:
- 门店分类:A类
- 门店生命线:100,000元
- 门店业绩:150,000元
- 目标人头:100人
- 实际人头:120人
- 目标消耗:80,000元
- 实际消耗:90,000元
- 是否新店:否
**计算过程**:
1. **底薪计算**:
- 业绩考核:150,000 ≥ 100,000 ✓(达标)
- 人头考核:120 ≥ 100 ✓(达标)
- 消耗考核:90,000 ≥ 80,000 ✓(达标)
- 未达标指标数:0
- 底薪 = 3500 - (0 × 500) = 3500元
2. **提成计算**:
- 业绩(150,000)> 生命线(100,000)
- ≤生命线部分:100,000 × 2% = 2,000元
- >生命线部分:(150,000 - 100,000) × 2.5% = 1,250元
- 总提成 = 2,000 + 1,250 = 3,250元
3. **最终工资**:
- 最终工资 = 3500 + 3250 = 6,750元
#### 示例2:老店主任(B类门店,部分未达标)
**基础数据**:
- 门店分类:B类
- 门店生命线:100,000元
- 门店业绩:80,000元
- 目标人头:100人
- 实际人头:90人
- 目标消耗:80,000元
- 实际消耗:75,000元
- 是否新店:否
**计算过程**:
1. **底薪计算**:
- 业绩考核:80,000 < 100,000 ✗(未达标)
- 人头考核:90 < 100 ✗(未达标)
- 消耗考核:75,000 < 80,000 ✗(未达标)
- 未达标指标数:3
- 底薪 = 3500 - (3 × 500) = 3500 - 1500 = 2000元
2. **提成计算**:
- 业绩(80,000)< 生命线(100,000)
- 提成 = 80,000 × 2.5% = 2,000元
3. **最终工资**:
- 最终工资 = 2000 + 2000 = 4,000元
#### 示例3:新店主任(全部达标)
**基础数据**:
- 门店生命线:100,000元
- 门店业绩:150,000元
- 目标人头:100人
- 实际人头:120人
- 是否新店:是
**计算过程**:
1. **底薪计算**:
- 业绩考核:150,000 ≥ 100,000 ✓(达标)
- 人头考核:120 ≥ 100 ✓(达标)
- 未达标指标数:0
- 底薪 = 3500 - (0 × 500) = 3500元
2. **提成计算**:
- 业绩(150,000)> 生命线(100,000)
- ≤生命线部分:100,000 × 2% = 2,000元
- >生命线部分:(150,000 - 100,000) × 2.5% = 1,250元
- 总提成 = 2,000 + 1,250 = 3,250元
3. **最终工资**:
- 最终工资 = 3500 + 3250 = 6,750元
---
## 🔍 数据来源说明
### 1. 门店业绩
**数据来源**:
- 开单业绩:`lq_kd_kdjlb` 表
- 字段:`Djmd`(门店ID)、`Sfyj`(实付业绩)、`Kdrq`(开单日期)
- 条件:`F_IsEffective = 1`(有效记录)
- 退卡业绩:`lq_hytk_hytk` 表
- 字段:`Md`(门店ID)、`F_ActualRefundAmount`(实际退卡金额,优先使用,如果没有则用`Tkje`)、`Tksj`(退卡时间)
- 条件:`F_IsEffective = 1`(有效记录)
**计算公式**:
```
门店业绩 = SUM(开单实付) - SUM(退卡金额)
```
### 2. 门店生命线
**数据来源**:`lq_md_target` 表
- 字段:`F_StoreLifeline`(门店生命线)
- 查询条件:`F_StoreId` = 门店ID,`F_Month` = 统计月份(YYYYMM格式)
### 3. 门店分类
**数据来源**:`lq_mdxx` 表
- 字段:`F_StoreCategory`(门店分类)
- `1` = A类门店
- `2` = B类门店
- `3` = C类门店
### 4. 人头数据(进店消耗人数)
**数据来源**:
- 主表:`lq_xh_hyhk`(耗卡记录表)
- 关联表:`lq_xh_jksyj`(健康师业绩表,用于判断是否有消费金额)
**统计规则**:
- 有消费金额的,按门店按月去重客户数
- 只统计有效记录(`F_IsEffective = 1`)
- 只统计有消费金额的记录(`jksyj > 0`)
**目标人头数**:
- 数据来源:`lq_md_target` 表
- 字段:`F_StoreHeadcountTarget`(门店人头目标)
### 5. 消耗数据
**数据来源**:`lq_xh_jksyj` 表
- 字段:`jksyj`(健康师业绩,即消耗金额)
- 关联:通过 `glkdbh` 关联到 `lq_xh_hyhk.F_Id`
- 条件:`F_IsEffective = 1`(有效记录)
**统计规则**:
- 按门店统计当月总消耗金额
**目标消耗**:
- 数据来源:`lq_md_target` 表
- 字段:`F_StoreConsumeTarget`(门店消耗目标)
### 6. 新店信息
**数据来源**:`lq_md_xdbhsj` 表
- 字段:
- `Mdid`(门店ID)
- `Bhkssj`(保护开始时间)
- `Bhjssj`(保护结束时间)
- `Sfqy`(是否启用,1=启用)
- `Stage`(新店保护阶段)
**判断逻辑**:
- 如果统计月份的第一天在保护期内(`Bhkssj <= startDate && Bhjssj >= startDate`),则为新店
- 否则为老店
### 7. 主任员工信息
**数据来源**:`BASE_USER` 表
- 字段:
- `F_Id`(员工ID)
- `F_RealName`(员工姓名)
- `F_Gw`(岗位,应为"主任")
- `F_Mdid`(门店ID)
**查询条件**:
- `F_Gw = "主任"`
- `F_DeleteMark = null`(未删除)
- `F_EnabledMark = 1`(启用)
---
## 📝 计算流程
### 1. 获取基础数据
- 从 `BASE_USER` 获取主任员工列表(岗位为"主任")
- 获取门店信息(`lq_mdxx`)
- 获取门店目标信息(`lq_md_target`)
- 获取新店保护信息(`lq_md_xdbhsj`)
### 2. 计算门店业绩
- 统计开单业绩(`lq_kd_kdjlb`)
- 统计退卡业绩(`lq_hytk_hytk`)
- 计算门店总业绩 = 开单业绩 - 退卡业绩
### 3. 计算门店消耗
- 统计门店当月总消耗金额(`lq_xh_jksyj`)
### 4. 统计进店消耗人数
- 统计有消费金额的,按门店按月去重客户数
### 5. 判断新店/老店
- 根据新店保护信息判断是否为新店
### 6. 计算底薪
- 判断业绩是否达标(业绩 ≥ 生命线)
- 判断人头是否达标(实际人头 ≥ 目标人头)
- 判断消耗是否达标(实际消耗 ≥ 目标消耗,仅老店考核)
- 根据未达标指标数量计算扣款
- 底薪 = 3500 - (未达标指标数 × 500)
### 7. 计算提成
- 判断新店/老店
- 判断业绩是否超过生命线
- 根据门店分类(老店)和业绩是否超过生命线,确定阶梯提成比例
- 计算提成金额(阶梯提成模式)
### 8. 计算最终工资
- 最终工资 = 底薪 + 提成
---
## ⚠️ 注意事项
### 1. 数据校验
- 门店分类必须设置,未设置应报错
- 门店生命线必须设置,未设置应报错
- 门店人头目标必须设置(用于考核)
- 门店消耗目标必须设置(老店考核用)
### 2. 数据一致性
- 门店业绩计算逻辑必须与其他统计接口保持一致
- 人头统计逻辑必须与其他统计接口保持一致
- 消耗统计逻辑必须与其他统计接口保持一致
### 3. 边界情况
- 如果门店没有业绩数据,业绩为0
- 如果门店没有人头数据,人头为0
- 如果门店没有消耗数据,消耗为0
- 新店不考核消耗,只考核业绩和人头
### 4. 提成计算注意事项
- **阶梯提成模式**:必须严格按照阶梯提成规则计算,不能使用单一提成比例
- **业绩分段计算**:
- 如果业绩 ≤ 生命线:只计算 ≤ 生命线部分的提成
- 如果业绩 > 生命线:分别计算 ≤ 生命线部分和 > 生命线部分的提成,然后相加
---
## 📋 关键计算公式总结
### 底薪计算公式
```
底薪 = 3500 - (未达标指标数 × 500)
```
其中:
- **老店**:未达标指标数 = 未达标的指标数量(业绩、人头、消耗,最多3个)
- **新店**:未达标指标数 = 未达标的指标数量(业绩、人头,最多2个)
### 提成计算公式
#### 老店提成计算公式
**A类门店**:
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 2%
如果 业绩 > 生命线:
提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5%
```
**B类门店**:
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 2.5%
如果 业绩 > 生命线:
提成 = 生命线 × 2.5% + (业绩 - 生命线) × 3%
```
**C类门店**:
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 3%
如果 业绩 > 生命线:
提成 = 生命线 × 3% + (业绩 - 生命线) × 3.5%
```
#### 新店提成计算公式
```
如果 业绩 ≤ 生命线:
提成 = 业绩 × 2%
如果 业绩 > 生命线:
提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5%
```
---
## ✅ 验证要点
1. **底薪计算验证**:
- 验证考核指标判断是否正确
- 验证扣款金额是否正确(每个未达标指标扣500元)
- 验证新店不考核消耗
2. **提成计算验证**:
- 验证阶梯提成计算是否正确
- 验证业绩分段计算是否正确
- 验证不同门店分类的提成比例是否正确
- 验证新店统一提成标准是否正确
3. **数据来源验证**:
- 验证门店业绩计算是否正确
- 验证人头统计是否正确
- 验证消耗统计是否正确
- 验证新店判断是否正确
|