Blame view

项目文档相关/docs/test-reports/科技部总经理Cell金额计算测试报告.md 3.81 KB
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 元
  
  ## 测试结论
  
  - ✅ 代码修改完成,编译通过
  - ⚠️ 服务需要重启才能使新代码生效
  - ⏳ 待服务重启后重新测试验证