Commit bc35ccd11e5a69ef6f8b889302580b5887492e79

Authored by “wangming”
1 parent ed60df66

feat: 添加退卡业务相关功能

- 新增退卡记录、退卡品项明细、退卡健康师业绩和退卡科技部老师业绩的数据库表和字段
- 更新LqHytkHytkService和LqKdKdjlbService以支持退卡业务逻辑
- 在LqHytkMxEntity中添加会员ID字段
- 更新文档以反映退卡业务关系的变更
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_mx/LqHytkMxEntity.cs
@@ -31,6 +31,12 @@ namespace NCC.Extend.Entitys.lq_hytk_mx @@ -31,6 +31,12 @@ namespace NCC.Extend.Entitys.lq_hytk_mx
31 public string BillingItemId { get; set; } 31 public string BillingItemId { get; set; }
32 32
33 /// <summary> 33 /// <summary>
  34 + /// 会员id
  35 + /// </summary>
  36 + [SugarColumn(ColumnName = "F_MemberId")]
  37 + public string MemberId { get; set; }
  38 +
  39 + /// <summary>
34 /// 品项 40 /// 品项
35 /// </summary> 41 /// </summary>
36 [SugarColumn(ColumnName = "px")] 42 [SugarColumn(ColumnName = "px")]
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/StatusEnum.cs
@@ -19,10 +19,5 @@ namespace NCC.Extend.Entitys.Enum @@ -19,10 +19,5 @@ namespace NCC.Extend.Entitys.Enum
19 [Description("有效")] 19 [Description("有效")]
20 有效 = 1, 20 有效 = 1,
21 21
22 - /// <summary>  
23 - /// 删除  
24 - /// </summary>  
25 - [Description("删除")]  
26 - 删除 = 99,  
27 } 22 }
28 } 23 }
netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
@@ -24,6 +24,7 @@ using NCC.Extend.Entitys.lq_hytk_hytk; @@ -24,6 +24,7 @@ using NCC.Extend.Entitys.lq_hytk_hytk;
24 using NCC.Extend.Entitys.lq_hytk_jksyj; 24 using NCC.Extend.Entitys.lq_hytk_jksyj;
25 using NCC.Extend.Entitys.lq_hytk_kjbsyj; 25 using NCC.Extend.Entitys.lq_hytk_kjbsyj;
26 using NCC.Extend.Entitys.lq_hytk_mx; 26 using NCC.Extend.Entitys.lq_hytk_mx;
  27 +using NCC.Extend.Entitys.lq_kd_pxmx;
27 using NCC.Extend.Interfaces.LqHytkHytk; 28 using NCC.Extend.Interfaces.LqHytkHytk;
28 using NCC.FriendlyException; 29 using NCC.FriendlyException;
29 using NCC.JsonSerialization; 30 using NCC.JsonSerialization;
@@ -230,6 +231,7 @@ namespace NCC.Extend.LqHytkHytk @@ -230,6 +231,7 @@ namespace NCC.Extend.LqHytkHytk
230 Id = YitIdHelper.NextId().ToString(), 231 Id = YitIdHelper.NextId().ToString(),
231 RefundInfoId = newEntity.Id, 232 RefundInfoId = newEntity.Id,
232 BillingItemId = item.billingItemId, 233 BillingItemId = item.billingItemId,
  234 + MemberId = newEntity.Hy,
233 CreateTime = DateTime.Now, 235 CreateTime = DateTime.Now,
234 CreateUser = userInfo.userId, 236 CreateUser = userInfo.userId,
235 Px = item.px, 237 Px = item.px,
@@ -368,18 +370,19 @@ namespace NCC.Extend.LqHytkHytk @@ -368,18 +370,19 @@ namespace NCC.Extend.LqHytkHytk
368 var allMxEntities = new List<LqHytkMxEntity>(); 370 var allMxEntities = new List<LqHytkMxEntity>();
369 var allJksyjEntities = new List<LqHytkJksyjEntity>(); 371 var allJksyjEntities = new List<LqHytkJksyjEntity>();
370 var allKjbsyjEntities = new List<LqHytkKjbsyjEntity>(); 372 var allKjbsyjEntities = new List<LqHytkKjbsyjEntity>();
371 -  
372 // 处理品项明细列表 373 // 处理品项明细列表
373 if (input.lqHytkMxList != null && input.lqHytkMxList.Any()) 374 if (input.lqHytkMxList != null && input.lqHytkMxList.Any())
374 { 375 {
375 foreach (var item in input.lqHytkMxList) 376 foreach (var item in input.lqHytkMxList)
376 { 377 {
  378 +
377 // 创建品项明细实体 379 // 创建品项明细实体
378 var lqHytkMxEntity = new LqHytkMxEntity 380 var lqHytkMxEntity = new LqHytkMxEntity
379 { 381 {
380 Id = YitIdHelper.NextId().ToString(), 382 Id = YitIdHelper.NextId().ToString(),
381 RefundInfoId = id, 383 RefundInfoId = id,
382 BillingItemId = item.billingItemId, 384 BillingItemId = item.billingItemId,
  385 + MemberId = entity.Hy,
383 CreateTime = DateTime.Now, 386 CreateTime = DateTime.Now,
384 CreateUser = userInfo.userId, 387 CreateUser = userInfo.userId,
385 Tksj = input.tksj, 388 Tksj = input.tksj,
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
@@ -2478,6 +2478,7 @@ namespace NCC.Extend.LqKdKdjlb @@ -2478,6 +2478,7 @@ namespace NCC.Extend.LqKdKdjlb
2478 Id = YitIdHelper.NextId().ToString(), 2478 Id = YitIdHelper.NextId().ToString(),
2479 RefundInfoId = refundId, 2479 RefundInfoId = refundId,
2480 BillingItemId = item.BillingItemId, 2480 BillingItemId = item.BillingItemId,
  2481 + MemberId = input.FromMemberId, // 转卡时使用转出方会员ID
2481 CreateTime = transferTime, 2482 CreateTime = transferTime,
2482 CreateUser = userInfo.userId, 2483 CreateUser = userInfo.userId,
2483 Px = refundPxmxEntity.Px, 2484 Px = refundPxmxEntity.Px,
数据库说明.md
@@ -90,7 +90,20 @@ @@ -90,7 +90,20 @@
90 - `lq_xh_jksyj.F_kdpxid` ↔ `lq_xh_pxmx.F_Id` (健康师业绩关联品项明细) 90 - `lq_xh_jksyj.F_kdpxid` ↔ `lq_xh_pxmx.F_Id` (健康师业绩关联品项明细)
91 - `lq_xh_kjbsyj.F_hkpxid` ↔ `lq_xh_pxmx.F_Id` (科技部老师业绩关联品项明细) 91 - `lq_xh_kjbsyj.F_hkpxid` ↔ `lq_xh_pxmx.F_Id` (科技部老师业绩关联品项明细)
92 92
93 -### 5. 业绩统计关系 93 +### 5. 退卡业务关系
  94 +- **退卡记录**: `lq_hytk_hytk` (退卡记录表)
  95 +- **退卡品项明细**: `lq_hytk_mx` (退卡品项明细)
  96 +- **退卡健康师业绩**: `lq_hytk_jksyj` (退卡健康师业绩)
  97 +- **退卡科技部老师业绩**: `lq_hytk_kjbsyj` (退卡科技部老师业绩)
  98 +- **关联字段**:
  99 + - `lq_hytk_hytk.F_Id` ↔ `lq_hytk_mx.F_RefundInfoId` (退卡记录关联品项明细)
  100 + - `lq_hytk_hytk.F_Id` ↔ `lq_hytk_jksyj.gltkbh` (退卡记录关联健康师业绩)
  101 + - `lq_hytk_hytk.F_Id` ↔ `lq_hytk_kjbsyj.gltkbh` (退卡记录关联科技部老师业绩)
  102 + - `lq_hytk_mx.F_BillingItemId` ↔ `lq_kd_pxmx.F_Id` (退卡明细关联开单品项明细)
  103 + - `lq_hytk_mx.F_MemberId` ↔ `lq_khxx.F_Id` (退卡明细关联会员,通过会员ID)
  104 + - `lq_hytk_hytk.hy` ↔ `lq_khxx.F_Id` (退卡记录关联会员)
  105 +
  106 +### 6. 业绩统计关系
94 - **业绩明细**: `lq_yjmxb` (业绩统计表) 107 - **业绩明细**: `lq_yjmxb` (业绩统计表)
95 - **关联字段**: 108 - **关联字段**:
96 - `lq_yjmxb.jks` ↔ `BASE_USER.F_REALNAME` (健康师姓名) 109 - `lq_yjmxb.jks` ↔ `BASE_USER.F_REALNAME` (健康师姓名)
添加lq_hytk_mx表会员ID字段.sql 0 → 100644
  1 +-- ============================================
  2 +-- 为 lq_hytk_mx 表添加会员ID字段
  3 +-- ============================================
  4 +
  5 +-- 1. 添加会员ID字段
  6 +ALTER TABLE lq_hytk_mx
  7 +ADD COLUMN F_MemberId VARCHAR(50) NULL COMMENT '会员id' AFTER F_BillingItemId;
  8 +
  9 +-- 2. 创建索引以优化查询性能
  10 +CREATE INDEX idx_hytk_mx_member_id ON lq_hytk_mx(F_MemberId);
  11 +
  12 +-- 3. 根据退卡信息表填充现有数据的会员ID(通过 F_RefundInfoId 关联)
  13 +UPDATE lq_hytk_mx mx
  14 +INNER JOIN lq_hytk_hytk hytk ON mx.F_RefundInfoId = hytk.F_Id
  15 +SET mx.F_MemberId = hytk.hy
  16 +WHERE mx.F_MemberId IS NULL
  17 + AND hytk.hy IS NOT NULL
  18 + AND hytk.hy != '';
  19 +
  20 +-- 4. 根据开单品项明细表填充会员ID(如果退卡信息表中没有,则从开单品项明细表获取)
  21 +UPDATE lq_hytk_mx mx
  22 +INNER JOIN lq_kd_pxmx pxmx ON mx.F_BillingItemId = pxmx.F_Id
  23 +SET mx.F_MemberId = pxmx.F_MemberId
  24 +WHERE mx.F_MemberId IS NULL
  25 + AND pxmx.F_MemberId IS NOT NULL
  26 + AND pxmx.F_MemberId != '';
  27 +