0cfc43b9
“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
|
# 科技部总经理Cell金额计算测试报告
## 测试目的
验证科技部总经理工资计算接口的Cell金额计算是否正确,是否与科技部驾驶舱接口的计算结果一致。
## 测试时间
2026-01-14
## 测试步骤
### 1. 调用计算接口
```bash
POST /api/Extend/lqtechgeneralmanagersalary/calculate/tech-general-manager?year=2025&month=12
```
**响应**:
```json
{
"code": 200,
"msg": "操作成功",
"data": null
}
```
### 2. 查询计算结果
**夏萍的工资记录**:
```sql
SELECT F_EmployeeName, F_StatisticsMonth, F_CellAmount, F_TraceabilityAmount, F_CellCommissionAmount
FROM lq_tech_general_manager_salary_statistics
WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'
```
**结果**:
- Cell金额:**60,994.30** 元
- 溯源金额:347,256.00 元
- Cell提成金额:109.94 元
- 记录状态:未锁定(IsLocked = 0),未确认(EmployeeConfirmStatus = 0)
### 3. 对比科技部驾驶舱接口
**科技部驾驶舱接口**:
```bash
POST /api/Extend/LqTechDepartmentDashboard/GetStatistics
{
"statisticsMonth": "202512",
"techDepartmentId": "734725579919590661",
"storeIds": []
}
```
**结果**:
- Cell金额:**69,838.00** 元
- 开单Cell金额:69,838.00 元
- 退卡Cell金额:0.00 元
- 溯源金额:356,848.50 元
### 4. 差异分析
| 指标 | 工资计算接口 | 科技部驾驶舱接口 | 差异 |
|------|------------|----------------|------|
| Cell金额 | 60,994.30 | 69,838.00 | **-8,843.70** |
**门店明细差异**(从门店明细JSON中提取):
- 绿纤静居寺店:37,400.00 → 预期:46,110.00(+8,710.00)
- 绿纤468店:66.30 → 预期:0.00(-66.30)
- 绿纤明信店:2,000.00 → 预期:2,200.00(+200.00)
## 代码修改情况
### 已完成的修改
1. ✅ 添加 `endDateTime` 变量,使用与科技部驾驶舱接口相同的时间范围处理方式
2. ✅ 修改开单溯源金额和开单Cell金额的查询方式,从 SqlSugar ORM 改为原生SQL
3. ✅ 修改退卡金额的时间范围,从 `endDate.AddDays(1)` 改为 `endDate.Date`
4. ✅ 更新接口注释,说明修改内容
### 代码位置
- 文件:`netcore/src/Modularity/Extend/NCC.Extend/LqTechGeneralManagerSalaryService.cs`
- 方法:`CalculateTechGeneralManagerSalary`
- 修改行:232-372
## 问题分析
### 数据未更新的原因
数据仍然显示为旧值(60,994.30),可能的原因:
1. **服务未重启**:代码已修改并编译通过,但服务可能还未重启,仍在使用旧代码
2. **代码未生效**:虽然接口返回成功,但可能由于缓存或其他原因,新代码未执行
### 验证代码是否正确
代码逻辑检查:
- ✅ `endDateTime` 变量已正确定义(第232行)
- ✅ 开单Cell金额SQL查询使用 `endDateTime`(第360行)
- ✅ 退卡Cell金额使用 `endDate.Date` 范围(第371行)
## 建议
### 1. 重启服务
**必须重启服务**以使新代码生效:
- 如果使用 `dotnet watch run`,可能需要手动重启
- 如果使用服务部署,需要重新部署或重启服务
### 2. 重新执行计算
服务重启后,重新调用计算接口:
```bash
POST /api/Extend/lqtechgeneralmanagersalary/calculate/tech-general-manager?year=2025&month=12
```
### 3. 验证结果
重新计算后,验证:
- Cell金额应该为 **69,838.00** 元(与科技部驾驶舱接口一致)
- 门店明细中的Cell金额应该更新为正确值
## 预期结果
修改后的代码应该能够计算出:
- **Cell金额**:69,838.00 元(与科技部驾驶舱接口一致)
- **门店明细**:
- 绿纤静居寺店:46,110.00 元
- 绿纤468店:0.00 元
- 绿纤明信店:2,200.00 元
## 测试结论
- ✅ 代码修改完成,编译通过
- ⚠️ 服务需要重启才能使新代码生效
- ⏳ 待服务重启后重新测试验证
|