Blame view

项目文档相关/docs/科技部总经理工资计算规则梳理.md 24.2 KB
c63026bc   “wangming”   feat: 优化工资计算逻辑
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
  # 科技部总经理工资计算规则梳理
  
  ## 📋 目录
  - [概述](#概述)
  - [计算规则](#计算规则)
  - [数据来源](#数据来源)
  - [归属规则](#归属规则)
  - [计算流程](#计算流程)
  - [注意事项](#注意事项)
  
  ---
  
  ## 📋 概述
  
  科技部总经理工资由以下几个部分组成:
  1. **底薪**:固定4000元
  2. **溯源金额提成**:根据管理的所有门店的溯源金额总和分段提成
  3. **Cell金额提成**:根据管理的所有门店的Cell金额总和分段提成
  
  **重要说明**
  - 底薪固定为4000元,不设档位,不设条件
  - 科技部总经理从 `BASE_USER` 表获取,岗位字段(`F_GW`)为"科技一部"、"科技二部"等(未来可能还有更多)
  - 每个科技部总经理管理的门店归属在 `lq_md_general_manager_lifeline` 表中
  - 需要统计该科技部总经理管理的**所有门店**的溯源金额和Cell金额总和
  - 溯源金额和Cell金额分别计算提成,互不影响
  - 提成采用分段累进方式计算
  
  ---
  
  ## 💰 计算规则
  
  ### 1. 底薪规则
  
  **固定底薪**:4000元
  
  - 无论业绩多少,底薪固定为4000元
  - 不设档位,不设条件
  - 不设考核扣款
  
  ---
  
  ### 2. 溯源金额提成规则
  
  **提成计算方式**:根据管理的所有门店的溯源金额总和分段累进计算
  
  | 溯源金额范围 | 提成比例 |
  |------------|---------|
  | < 200,000元 | 1% |
  | 200,000元 - 300,000元 | 1.5% |
  | 300,000元 - 500,000元 | 2% |
  | ≥ 500,000元 | 2.5% |
  
  **计算说明**
  - 提成金额 = 溯源金额 × 对应提成比例
  - 采用分段累进方式计算,不同区间按不同比例计算
  - 例如:溯源金额为350,000元
    - 0-200,000元部分:200,000 × 1% = 2,000元
    - 200,000-300,000元部分:100,000 × 1.5% = 1,500元
    - 300,000-350,000元部分:50,000 × 2% = 1,000元
    - 总提成 = 2,000 + 1,500 + 1,000 = 4,500元
  
  ---
  
  ### 3. Cell金额提成规则
  
  **提成计算方式**:根据管理的所有门店的Cell金额总和分段累进计算
  
  | Cell金额范围 | 提成比例 |
  |------------|---------|
  | < 50,000元 | 0% (无提成) |
  | 50,000元 - 400,000元 | 1% |
  | ≥ 400,000元 | 1.5% |
  
  **计算说明**
  - 如果Cell金额 < 50,000元,无提成
  - 如果Cell金额 ≥ 50,000元,按分段累进方式计算
  - 例如:Cell金额为450,000元
    - 0-50,000元部分:无提成
    - 50,000-400,000元部分:350,000 × 1% = 3,500元
    - 400,000-450,000元部分:50,000 × 1.5% = 750元
    - 总提成 = 3,500 + 750 = 4,250元
  
  ---
  
  ## 📊 数据来源
  
  ### 科技部总经理识别
  
  **数据来源**`BASE_USER`
  
  **识别条件**
  - `F_GW`(岗位字段)包含"科技一部"、"科技二部"等(如:`F_GW LIKE '%科技一部%'` 或 `F_GW LIKE '%科技二部%'`
  - `F_DeleteMark == null`(未删除)
  - `F_EnabledMark == 1`(已启用)
  
  **说明**
  - 目前有"科技一部"和"科技二部",未来可能还有更多科技部
  - 岗位字段值可能是"科技一部"、"科技二部"等完整名称
  
  ---
  
  ### 管理的门店归属
  
  **数据来源**`lq_md_general_manager_lifeline`
  
  **关联关系**
  - 通过 `F_GeneralManagerId` 字段关联到 `BASE_USER.F_Id`
  - 通过 `F_StoreId` 字段关联到 `lq_mdxx.F_Id`
  - 通过 `F_Month` 字段(YYYYMM格式)关联到统计月份
  
  **获取逻辑**
  1.`lq_md_general_manager_lifeline` 表查询指定月份(`F_Month = @统计月份`)的记录
  2. 筛选出 `F_GeneralManagerId = @科技部总经理ID` 的记录
  3. 获取这些记录的 `F_StoreId` 列表,即为该科技部总经理管理的门店
  
  **重要说明**
  - 每个科技部总经理可能管理多个门店
  - 需要统计这些门店的溯源金额和Cell金额总和
  
  ---
  
  ### 溯源金额统计
  
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
124
125
126
127
128
129
  **定义**:该科技部总经理管理的所有门店中,品项的 `F_BeautyType` 为 "溯源系统" 或 "溯源" 的健康师业绩总和(开单金额 - 退卡金额)
  
  **重要说明**
  - **数据来源**:从健康师业绩表(`lq_kd_jksyj`)和退卡健康师业绩表(`lq_hytk_jksyj`)统计
  - **统计依据**:使用健康师业绩表中的业绩金额,而不是开单品项明细表的实付金额
  - **原因**:健康师业绩表中的金额是经过分配和计算的准确业绩,更符合业务逻辑
c63026bc   “wangming”   feat: 优化工资计算逻辑
130
131
132
133
134
  
  **数据来源表及字段**
  
  | 数据表 | 字段 | 说明 |
  |--------|------|------|
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
135
136
137
138
139
140
141
142
  | `lq_kd_jksyj` | `jksyj` | 健康师业绩(开单业绩,字符串类型,需转换为decimal) |
  | `lq_kd_jksyj` | `F_BeautyType` | 科美类型(用于区分溯源和Cell) |
  | `lq_kd_jksyj` | `F_StoreId` | 门店ID(用于筛选管理的门店) |
  | `lq_kd_jksyj` | `yjsj` | 业绩时间(用于按月统计) |
  | `lq_hytk_jksyj` | `jksyj` | 健康师业绩(退卡业绩,decimal类型) |
  | `lq_hytk_jksyj` | `F_BeautyType` | 科美类型(用于区分溯源和Cell) |
  | `lq_hytk_jksyj` | `F_StoreId` | 门店ID(用于筛选管理的门店) |
  | `lq_hytk_jksyj` | `tksj` | 退卡时间(用于按月统计) |
c63026bc   “wangming”   feat: 优化工资计算逻辑
143
144
145
146
147
  
  **统计逻辑**
  
  1. **统计开单溯源金额**(按管理的门店筛选):
     ```sql
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
148
149
150
151
152
153
     SELECT COALESCE(SUM(CAST(jksyj AS DECIMAL(18,2))), 0) as TraceabilityAmount
     FROM lq_kd_jksyj
     WHERE F_IsEffective = 1
       AND F_StoreId IN (@管理的门店ID列表)
       AND (F_BeautyType = '溯源系统' OR F_BeautyType = '溯源')
       AND DATE_FORMAT(yjsj, '%Y%m') = @统计月份
c63026bc   “wangming”   feat: 优化工资计算逻辑
154
155
156
157
     ```
  
  2. **统计退卡溯源金额**(按管理的门店筛选):
     ```sql
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
158
159
160
161
162
163
     SELECT COALESCE(SUM(jksyj), 0) as RefundTraceabilityAmount
     FROM lq_hytk_jksyj
     WHERE F_IsEffective = 1
       AND F_StoreId IN (@管理的门店ID列表)
       AND (F_BeautyType = '溯源系统' OR F_BeautyType = '溯源')
       AND DATE_FORMAT(tksj, '%Y%m') = @统计月份
c63026bc   “wangming”   feat: 优化工资计算逻辑
164
165
166
167
168
169
170
171
172
     ```
  
  3. **计算净溯源金额**
     - 净溯源金额 = 开单溯源金额 - 退卡溯源金额
  
  ---
  
  ### Cell金额统计
  
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
173
174
175
176
177
178
  **定义**:该科技部总经理管理的所有门店中,品项的 `F_BeautyType` 为 "cell" 或 "Cell" 的健康师业绩总和(开单金额 - 退卡金额)
  
  **重要说明**
  - **数据来源**:从健康师业绩表(`lq_kd_jksyj`)和退卡健康师业绩表(`lq_hytk_jksyj`)统计
  - **统计依据**:使用健康师业绩表中的业绩金额,而不是开单品项明细表的实付金额
  - **原因**:健康师业绩表中的金额是经过分配和计算的准确业绩,更符合业务逻辑
c63026bc   “wangming”   feat: 优化工资计算逻辑
179
180
181
182
183
184
185
  
  **数据来源表及字段**:同溯源金额统计
  
  **统计逻辑**
  
  1. **统计开单Cell金额**(按管理的门店筛选):
     ```sql
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
186
187
188
189
190
191
     SELECT COALESCE(SUM(CAST(jksyj AS DECIMAL(18,2))), 0) as CellAmount
     FROM lq_kd_jksyj
     WHERE F_IsEffective = 1
       AND F_StoreId IN (@管理的门店ID列表)
       AND (F_BeautyType = 'cell' OR F_BeautyType = 'Cell')
       AND DATE_FORMAT(yjsj, '%Y%m') = @统计月份
c63026bc   “wangming”   feat: 优化工资计算逻辑
192
193
194
195
     ```
  
  2. **统计退卡Cell金额**(按管理的门店筛选):
     ```sql
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
196
197
198
199
200
201
     SELECT COALESCE(SUM(jksyj), 0) as RefundCellAmount
     FROM lq_hytk_jksyj
     WHERE F_IsEffective = 1
       AND F_StoreId IN (@管理的门店ID列表)
       AND (F_BeautyType = 'cell' OR F_BeautyType = 'Cell')
       AND DATE_FORMAT(tksj, '%Y%m') = @统计月份
c63026bc   “wangming”   feat: 优化工资计算逻辑
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
     ```
  
  3. **计算净Cell金额**
     - 净Cell金额 = 开单Cell金额 - 退卡Cell金额
  
  ---
  
  ## 🔗 归属规则
  
  ### 科技部总经理与门店的归属关系
  
  **数据来源**`lq_md_general_manager_lifeline`
  
  **表结构说明**
  - `F_Id`:主键ID
  - `F_StoreId`:门店ID(关联 `lq_mdxx.F_Id`
  - `F_Month`:月份(YYYYMM格式)
  - `F_GeneralManagerId`:总经理用户ID(关联 `BASE_USER.F_Id`
  - `F_ManagerType`:经理类型(0=经理,1=总经理)
  
  **获取管理的门店**
  1.`lq_md_general_manager_lifeline` 表查询:
     ```sql
     SELECT DISTINCT F_StoreId
     FROM lq_md_general_manager_lifeline
     WHERE F_GeneralManagerId = @科技部总经理ID
       AND F_Month = @统计月份
     ```
  
  2. 如果该科技部总经理在指定月份没有管理的门店,则溯源金额和Cell金额为0,提成为0
  
  **重要说明**
  - 每个科技部总经理可能管理多个门店
  - 需要统计这些门店的溯源金额和Cell金额总和
  - 如果某个门店在 `lq_md_general_manager_lifeline` 表中没有记录,则该门店的业绩不计入该科技部总经理的统计
  
  ---
  
  ## 🔄 计算流程
  
  ### 步骤1:识别科技部总经理
  
  `BASE_USER` 表中筛选:
  - `F_GW LIKE '%科技一部%'` 或 `F_GW LIKE '%科技二部%'` 等(根据实际岗位名称)
  - `F_DeleteMark == null`(未删除)
  - `F_EnabledMark == 1`(已启用)
  
  **注意**:未来可能还有"科技三部"等,需要灵活处理岗位识别逻辑
  
  ---
  
  ### 步骤2:获取管理的门店
  
  1.`lq_md_general_manager_lifeline` 表查询该科技部总经理在指定月份管理的门店:
     ```sql
     SELECT DISTINCT F_StoreId
     FROM lq_md_general_manager_lifeline
     WHERE F_GeneralManagerId = @科技部总经理ID
       AND F_Month = @统计月份
     ```
  
  2. 如果查询结果为空,说明该科技部总经理在该月份没有管理的门店,溯源金额和Cell金额为0,提成为0
  
  ---
  
  ### 步骤3:统计溯源金额(所有管理的门店总和)
  
  1. **统计开单溯源金额**(按管理的门店筛选):
     -`lq_kd_pxmx` 表统计
     - 关联 `lq_kd_kdjlb` 表获取开单日期和门店ID
     - 关联 `lq_xmzl` 表获取品项的 `F_BeautyType`
     - 筛选条件:
       - `lq_kd_pxmx.F_IsEffective = 1`(有效记录)
       - `lq_kd_kdjlb.F_IsEffective = 1`(有效开单)
       - `lq_xmzl.F_IsEffective = 1`(有效品项)
       - `F_BeautyType = '溯源系统'` 或 `'溯源'`
       - `lq_kd_kdjlb.djmd IN (@管理的门店ID列表)`
       - 开单日期在统计月份范围内
     - 汇总:`SUM(lq_kd_pxmx.F_ActualPrice)`
  
  2. **统计退卡溯源金额**(按管理的门店筛选):
     -`lq_hytk_mx` 表统计
     - 关联 `lq_hytk_hytk` 表获取退卡日期和门店ID
     - 关联 `lq_xmzl` 表获取品项的 `F_BeautyType`
     - 筛选条件:
       - `lq_hytk_mx.F_IsEffective = 1`(有效记录)
       - `lq_hytk_hytk.F_IsEffective = 1`(有效退卡)
       - `lq_xmzl.F_IsEffective = 1`(有效品项)
       - `F_BeautyType = '溯源系统'` 或 `'溯源'`
       - `lq_hytk_hytk.djmd IN (@管理的门店ID列表)`
       - 退卡日期在统计月份范围内
     - 汇总:`SUM(lq_hytk_mx.tkje)`
  
  3. **计算净溯源金额**
     - 净溯源金额 = 开单溯源金额 - 退卡溯源金额
  
  ---
  
  ### 步骤4:统计Cell金额(所有管理的门店总和)
  
  1. **统计开单Cell金额**(按管理的门店筛选):
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
303
     -`lq_kd_jksyj` 表(健康师业绩表)统计
c63026bc   “wangming”   feat: 优化工资计算逻辑
304
     - 筛选条件:
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
305
306
       - `F_IsEffective = 1`(有效记录)
       - `F_StoreId IN (@管理的门店ID列表)`
c63026bc   “wangming”   feat: 优化工资计算逻辑
307
       - `F_BeautyType = 'cell'` 或 `'Cell'`
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
308
309
       - 业绩时间(`yjsj`)在统计月份范围内
     - 汇总:`SUM(CAST(jksyj AS DECIMAL(18,2)))`(注意:`jksyj`字段是字符串类型,需要转换为decimal)
c63026bc   “wangming”   feat: 优化工资计算逻辑
310
311
  
  2. **统计退卡Cell金额**(按管理的门店筛选):
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
312
     -`lq_hytk_jksyj` 表(退卡健康师业绩表)统计
c63026bc   “wangming”   feat: 优化工资计算逻辑
313
     - 筛选条件:
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
314
315
       - `F_IsEffective = 1`(有效记录)
       - `F_StoreId IN (@管理的门店ID列表)`
c63026bc   “wangming”   feat: 优化工资计算逻辑
316
       - `F_BeautyType = 'cell'` 或 `'Cell'`
1fffa876   “wangming”   优化储扣列表接口:增加门店、时间、...
317
318
       - 退卡时间(`tksj`)在统计月份范围内
     - 汇总:`SUM(jksyj)`(注意:`jksyj`字段是decimal类型)
c63026bc   “wangming”   feat: 优化工资计算逻辑
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
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
  
  3. **计算净Cell金额**
     - 净Cell金额 = 开单Cell金额 - 退卡Cell金额
  
  ---
  
  ### 步骤5:工资计算
  
  #### 5.1 计算底薪
  - 底薪 = 4000元(固定)
  
  #### 5.2 计算溯源金额提成
  
  根据净溯源金额范围确定提成比例,采用分段累进方式:
  
  - **如果净溯源金额 < 200,000元**
    - 提成金额 = 净溯源金额 × 1%
  
  - **如果 200,000元 ≤ 净溯源金额 < 300,000元**
    - 0-200,000元部分:200,000 × 1% = 2,000元
    - 200,000元以上部分:(净溯源金额 - 200,000) × 1.5%
    - 总提成 = 2,000 + (净溯源金额 - 200,000) × 1.5%
  
  - **如果 300,000元 ≤ 净溯源金额 < 500,000元**
    - 0-200,000元部分:200,000 × 1% = 2,000元
    - 200,000-300,000元部分:100,000 × 1.5% = 1,500元
    - 300,000元以上部分:(净溯源金额 - 300,000) × 2%
    - 总提成 = 2,000 + 1,500 + (净溯源金额 - 300,000) × 2%
  
  - **如果净溯源金额 ≥ 500,000元**
    - 0-200,000元部分:200,000 × 1% = 2,000元
    - 200,000-300,000元部分:100,000 × 1.5% = 1,500元
    - 300,000-500,000元部分:200,000 × 2% = 4,000元
    - 500,000元以上部分:(净溯源金额 - 500,000) × 2.5%
    - 总提成 = 2,000 + 1,500 + 4,000 + (净溯源金额 - 500,000) × 2.5%
  
  #### 5.3 计算Cell金额提成
  
  根据净Cell金额范围确定提成比例,采用分段累进方式:
  
  - **如果净Cell金额 < 50,000元**
    - 提成金额 = 0(无提成)
  
  - **如果 50,000元 ≤ 净Cell金额 < 400,000元**
    - 0-50,000元部分:无提成
    - 50,000元以上部分:(净Cell金额 - 50,000) × 1%
    - 总提成 = (净Cell金额 - 50,000) × 1%
  
  - **如果净Cell金额 ≥ 400,000元**
    - 0-50,000元部分:无提成
    - 50,000-400,000元部分:350,000 × 1% = 3,500元
    - 400,000元以上部分:(净Cell金额 - 400,000) × 1.5%
    - 总提成 = 3,500 + (净Cell金额 - 400,000) × 1.5%
  
  #### 5.4 计算最终工资
  
  - **应发工资** = 底薪 + 溯源金额提成 + Cell金额提成
  
  ---
  
  ## 📝 注意事项
  
  1. **数据一致性**
     - 溯源金额和Cell金额的统计逻辑必须与其他统计接口保持一致
     - 必须扣除退卡金额,确保数据准确性
     - 必须按管理的门店筛选,只统计该科技部总经理管理的门店
  
  2. **数据校验**
     - `F_BeautyType` 字段值可能不统一("溯源系统"、"溯源"、"cell"、"Cell"),需要兼容处理
     - 优先使用明细表的 `F_BeautyType`,如果为空则使用品项表的 `F_BeautyType`
     - 如果科技部总经理在指定月份没有管理的门店,溯源金额和Cell金额为0,提成为0
  
  3. **归属关系**
     - 必须从 `lq_md_general_manager_lifeline` 表获取管理的门店
     - 如果某个门店不在该科技部总经理的管理范围内,该门店的业绩不计入统计
     - 需要确保 `lq_md_general_manager_lifeline` 表的数据准确性
  
  4. **边界情况**
     - 如果溯源金额或Cell金额为0或负数,对应提成为0
     - 如果溯源金额或Cell金额计算后为负数(退卡金额大于开单金额),对应提成为0
     - 如果科技部总经理在指定月份没有管理的门店,所有金额为0,提成为0
  
  5. **计算精度**
     - 涉及金额计算时,建议保留2位小数
     - 提成金额四舍五入到分
  
  6. **性能优化**
     - 建议使用数据库聚合查询,避免在应用层进行大量数据计算
     - 可以先获取管理的门店列表,然后在SQL中使用 `IN` 子句筛选
     - 可以考虑创建统计视图或物化视图,提高查询性能
  
  7. **岗位识别**
     - 目前有"科技一部"和"科技二部",未来可能还有更多
     - 建议使用模糊匹配(`LIKE '%科技一部%'`)或维护一个岗位列表
     - 需要确保岗位识别逻辑能够适应未来的扩展
  
  ---
  
  ## 📊 计算示例
  
  ### 示例1:基础计算
  
  **假设数据**
  - 科技部总经理:科技一部(ID: 123456)
  - 管理的门店:门店A(ID: A001)、门店B(ID: B001)
  - 底薪:4000元
  - 门店A溯源金额:150,000元,Cell金额:80,000元
  - 门店B溯源金额:100,000元,Cell金额:120,000元
  - 总溯源金额:250,000元
  - 总Cell金额:200,000元
  
  **计算过程**
  
  1. **溯源金额提成**
     - 0-200,000元部分:200,000 × 1% = 2,000元
     - 200,000-250,000元部分:50,000 × 1.5% = 750元
     - 溯源金额提成 = 2,000 + 750 = 2,750元
  
  2. **Cell金额提成**
     - 0-50,000元部分:无提成
     - 50,000-200,000元部分:150,000 × 1% = 1,500元
     - Cell金额提成 = 1,500元
  
  3. **应发工资**
     - 应发工资 = 4,000 + 2,750 + 1,500 = 8,250元
  
  ---
  
  ### 示例2:高业绩计算
  
  **假设数据**
  - 科技部总经理:科技二部(ID: 789012)
  - 管理的门店:门店C(ID: C001)、门店D(ID: D001)、门店E(ID: E001)
  - 底薪:4000元
  - 门店C溯源金额:200,000元,Cell金额:150,000元
  - 门店D溯源金额:250,000元,Cell金额:200,000元
  - 门店E溯源金额:150,000元,Cell金额:100,000元
  - 总溯源金额:600,000元
  - 总Cell金额:450,000元
  
  **计算过程**
  
  1. **溯源金额提成**
     - 0-200,000元部分:200,000 × 1% = 2,000元
     - 200,000-300,000元部分:100,000 × 1.5% = 1,500元
     - 300,000-500,000元部分:200,000 × 2% = 4,000元
     - 500,000-600,000元部分:100,000 × 2.5% = 2,500元
     - 溯源金额提成 = 2,000 + 1,500 + 4,000 + 2,500 = 10,000元
  
  2. **Cell金额提成**
     - 0-50,000元部分:无提成
     - 50,000-400,000元部分:350,000 × 1% = 3,500元
     - 400,000-450,000元部分:50,000 × 1.5% = 750元
     - Cell金额提成 = 3,500 + 750 = 4,250元
  
  3. **应发工资**
     - 应发工资 = 4,000 + 10,000 + 4,250 = 18,250元
  
  ---
  
  ## 🔍 数据表结构参考
  
  ### 科技部总经理工资统计表
  
  参考其他岗位的工资表结构(如:`lq_business_unit_manager_salary_statistics`、`lq_tech_teacher_salary_statistics`),建议创建如下表结构:
  
  ```sql
  -- ============================================
  -- 创建科技部总经理工资统计表
  -- 功能:存储科技部总经理每月的工资计算数据,包括底薪、溯源金额提成、Cell金额提成、扣款、补贴、奖金、支付等信息
  -- 创建时间:2025年
  -- ============================================
  
  DROP TABLE IF EXISTS lq_tech_general_manager_salary_statistics;
  
  CREATE TABLE lq_tech_general_manager_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格式,记录每个门店的溯源金额和Cell金额详情)',
      
      -- 三、业绩相关字段
      F_TraceabilityAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '溯源金额(管理的所有门店的溯源金额总和,开单-退卡)',
      F_CellAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT 'Cell金额(管理的所有门店的Cell金额总和,开单-退卡)',
      
      -- 四、底薪相关字段
      F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 4000.00 COMMENT '底薪金额(固定4000元)',
      
      -- 五、提成相关字段
      F_TraceabilityCommissionRate DECIMAL(18,4) DEFAULT NULL COMMENT '溯源金额提成比例(分段计算,存储平均比例)',
      F_TraceabilityCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '溯源金额提成金额',
      F_CellCommissionRate DECIMAL(18,4) DEFAULT NULL COMMENT 'Cell金额提成比例(分段计算,存储平均比例)',
      F_CellCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT 'Cell金额提成金额',
      F_TotalCommission DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成合计(溯源提成+Cell提成)',
      
      -- 六、考勤相关字段
      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='科技部总经理工资统计表';
  ```
  
  **门店明细JSON格式示例**
  ```json
  [
    {
      "storeId": "A001",
      "storeName": "门店A",
      "traceabilityBillingAmount": 160000.00,
      "traceabilityRefundAmount": 10000.00,
      "traceabilityAmount": 150000.00,
      "cellBillingAmount": 85000.00,
      "cellRefundAmount": 5000.00,
      "cellAmount": 80000.00
    },
    {
      "storeId": "B001",
      "storeName": "门店B",
      "traceabilityBillingAmount": 105000.00,
      "traceabilityRefundAmount": 5000.00,
      "traceabilityAmount": 100000.00,
      "cellBillingAmount": 125000.00,
      "cellRefundAmount": 5000.00,
      "cellAmount": 120000.00
    }
  ]
  ```
  
  ---
  
  ## ✅ 总结
  
  科技部总经理工资计算规则相对简单明确:
  1. **底薪固定**:4000元,无任何条件
  2. **溯源提成**:根据管理的所有门店的溯源金额总和分段累进,最高2.5%
  3. **Cell提成**:根据管理的所有门店的Cell金额总和分段累进,最高1.5%,低于5万无提成
  
  关键点:
  - 必须从 `BASE_USER` 表识别科技部总经理(岗位为"科技一部"、"科技二部"等)
  - 必须从 `lq_md_general_manager_lifeline` 表获取管理的门店
  - 必须正确区分溯源和Cell类型(通过 `F_BeautyType` 字段)
  - 必须扣除退卡金额,确保数据准确性
  - 必须按管理的门店筛选,只统计该科技部总经理管理的门店
  - 采用分段累进方式计算提成,确保计算准确