Commit 77fe03a4bc987fea7e0c32e87a51f5214b358d23
1 parent
e5e15bcb
feat: 完善开单欠款补缴记录功能
- 新增lq_kd_qkbj表相关实体和DTO文件 - 完善LqKdDeductinfoEntity字段同步 - 优化LqKdKdjlbService中的状态管理 - 使用StatusEnum统一状态值管理 - 修复SqlSugar更新语法问题 - 完善开单创建和作废逻辑
Showing
23 changed files
with
626 additions
and
25 deletions
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoCrInput.cs
| ... | ... | @@ -17,10 +17,10 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 17 | 17 | /// 扣减类型 |
| 18 | 18 | /// </summary> |
| 19 | 19 | [Required(ErrorMessage = "扣减类型不能为空")] |
| 20 | - public int? DeductType { get; set; } | |
| 20 | + public string DeductType { get; set; } | |
| 21 | 21 | |
| 22 | 22 | /// <summary> |
| 23 | - /// 扣减关联ID | |
| 23 | + /// 扣减品项关联ID | |
| 24 | 24 | /// </summary> |
| 25 | 25 | [Required(ErrorMessage = "扣减关联ID不能为空")] |
| 26 | 26 | public string DeductId { get; set; } |
| ... | ... | @@ -28,7 +28,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 28 | 28 | /// <summary> |
| 29 | 29 | /// 开单id |
| 30 | 30 | /// </summary> |
| 31 | - [Required(ErrorMessage = "开单id不能为空")] | |
| 32 | 31 | public string BillingId { get; set; } |
| 33 | 32 | |
| 34 | 33 | /// <summary> |
| ... | ... | @@ -37,5 +36,35 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 37 | 36 | [Required(ErrorMessage = "合计金额不能为空")] |
| 38 | 37 | [Range(0.01, 999999.99, ErrorMessage = "合计金额必须在0.01到999999.99之间")] |
| 39 | 38 | public decimal? Amount { get; set; } |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 是否有效 | |
| 42 | + /// </summary> | |
| 43 | + public int? IsEffective { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 单价 | |
| 47 | + /// </summary> | |
| 48 | + public decimal? UnitPrice { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 品项名称 | |
| 52 | + /// </summary> | |
| 53 | + public string ItemName { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 品项id | |
| 57 | + /// </summary> | |
| 58 | + public string ItemId { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 品项次数 | |
| 62 | + /// </summary> | |
| 63 | + public decimal? ProjectNumber { get; set; } | |
| 64 | + | |
| 65 | + /// <summary> | |
| 66 | + /// 创建时间 | |
| 67 | + /// </summary> | |
| 68 | + public DateTime? CreateTime { get; set; } | |
| 40 | 69 | } |
| 41 | 70 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoInfoOutput.cs
| ... | ... | @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 36 | 36 | /// 合计金额 |
| 37 | 37 | /// </summary> |
| 38 | 38 | public decimal? Amount { get; set; } |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 是否有效 | |
| 42 | + /// </summary> | |
| 43 | + public int? IsEffective { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 单价 | |
| 47 | + /// </summary> | |
| 48 | + public decimal? UnitPrice { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 品项名称 | |
| 52 | + /// </summary> | |
| 53 | + public string ItemName { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 品项id | |
| 57 | + /// </summary> | |
| 58 | + public string ItemId { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 创建时间 | |
| 62 | + /// </summary> | |
| 63 | + public DateTime? CreateTime { get; set; } | |
| 39 | 64 | } |
| 40 | 65 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListOutput.cs
| ... | ... | @@ -36,5 +36,30 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 36 | 36 | /// 合计金额 |
| 37 | 37 | /// </summary> |
| 38 | 38 | public decimal? Amount { get; set; } |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 是否有效 | |
| 42 | + /// </summary> | |
| 43 | + public int? IsEffective { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 单价 | |
| 47 | + /// </summary> | |
| 48 | + public decimal? UnitPrice { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 品项名称 | |
| 52 | + /// </summary> | |
| 53 | + public string ItemName { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 品项id | |
| 57 | + /// </summary> | |
| 58 | + public string ItemId { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 创建时间 | |
| 62 | + /// </summary> | |
| 63 | + public DateTime? CreateTime { get; set; } | |
| 39 | 64 | } |
| 40 | 65 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoListQueryInput.cs
| ... | ... | @@ -31,5 +31,40 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo |
| 31 | 31 | /// 最大金额 |
| 32 | 32 | /// </summary> |
| 33 | 33 | public decimal? MaxAmount { get; set; } |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 是否有效 | |
| 37 | + /// </summary> | |
| 38 | + public int? IsEffective { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 品项名称 | |
| 42 | + /// </summary> | |
| 43 | + public string ItemName { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 品项id | |
| 47 | + /// </summary> | |
| 48 | + public string ItemId { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 最小单价 | |
| 52 | + /// </summary> | |
| 53 | + public decimal? MinUnitPrice { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 最大单价 | |
| 57 | + /// </summary> | |
| 58 | + public decimal? MaxUnitPrice { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 开始创建时间 | |
| 62 | + /// </summary> | |
| 63 | + public DateTime? StartCreateTime { get; set; } | |
| 64 | + | |
| 65 | + /// <summary> | |
| 66 | + /// 结束创建时间 | |
| 67 | + /// </summary> | |
| 68 | + public DateTime? EndCreateTime { get; set; } | |
| 34 | 69 | } |
| 35 | 70 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbCrInput.cs
| ... | ... | @@ -146,6 +146,16 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 146 | 146 | public string F_FIleUrl { get; set; } |
| 147 | 147 | |
| 148 | 148 | /// <summary> |
| 149 | + /// 作废关联id | |
| 150 | + /// </summary> | |
| 151 | + public string cancelRefId { get; set; } | |
| 152 | + | |
| 153 | + /// <summary> | |
| 154 | + /// 作废关联备注 | |
| 155 | + /// </summary> | |
| 156 | + public string cancelRefRemarks { get; set; } | |
| 157 | + | |
| 158 | + /// <summary> | |
| 149 | 159 | /// 扣款信息 |
| 150 | 160 | /// </summary> |
| 151 | 161 | public List<LqKdDeductinfoCrInput> lqKdKdjlbDeductList { get; set; } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbInfoOutput.cs
| ... | ... | @@ -59,10 +59,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 59 | 59 | /// </summary> |
| 60 | 60 | public string ckfs { get; set; } |
| 61 | 61 | |
| 62 | + | |
| 62 | 63 | /// <summary> |
| 63 | - /// 储扣明细 | |
| 64 | + /// 储扣总金额 | |
| 64 | 65 | /// </summary> |
| 65 | - public string ckmx { get; set; } | |
| 66 | + public decimal deductAmount { get; set; } | |
| 66 | 67 | |
| 67 | 68 | /// <summary> |
| 68 | 69 | /// 付款方式 | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdPxmx/LqKdPxmxCrInput.cs
| ... | ... | @@ -54,14 +54,14 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 54 | 54 | public decimal projectNumber { get; set; } |
| 55 | 55 | |
| 56 | 56 | /// <summary> |
| 57 | - /// 是否有效 | |
| 57 | + /// 来源类型 | |
| 58 | 58 | /// </summary> |
| 59 | - public int? isEnabled { get; set; } = 0; | |
| 59 | + public string sourceType { get; set; } | |
| 60 | 60 | |
| 61 | 61 | /// <summary> |
| 62 | - /// 来源类型 | |
| 62 | + /// 备注 | |
| 63 | 63 | /// </summary> |
| 64 | - public string sourceType { get; set; } | |
| 64 | + public string remark { get; set; } | |
| 65 | 65 | |
| 66 | 66 | /// <summary> |
| 67 | 67 | /// 健康师业绩 | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdPxmx/LqKdPxmxInfoOutput.cs
| ... | ... | @@ -68,6 +68,12 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 68 | 68 | /// </summary> |
| 69 | 69 | public decimal actualPrice { get; set; } |
| 70 | 70 | |
| 71 | + | |
| 72 | + /// <summary> | |
| 73 | + /// 备注 | |
| 74 | + /// </summary> | |
| 75 | + public string remark { get; set; } | |
| 76 | + | |
| 71 | 77 | /// <summary> |
| 72 | 78 | /// 健康师业绩列表 |
| 73 | 79 | /// </summary> | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjCrInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using System.ComponentModel.DataAnnotations; | |
| 3 | + | |
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | |
| 5 | +{ | |
| 6 | + /// <summary> | |
| 7 | + /// 开单欠款补缴记录创建输入 | |
| 8 | + /// </summary> | |
| 9 | + public class LqKdQkbjCrInput | |
| 10 | + { | |
| 11 | + /// <summary> | |
| 12 | + /// 开单ID | |
| 13 | + /// </summary> | |
| 14 | + [Required(ErrorMessage = "开单ID不能为空")] | |
| 15 | + public string BillingId { get; set; } | |
| 16 | + | |
| 17 | + /// <summary> | |
| 18 | + /// 补缴金额 | |
| 19 | + /// </summary> | |
| 20 | + [Required(ErrorMessage = "补缴金额不能为空")] | |
| 21 | + [Range(0.01, 999999.99, ErrorMessage = "补缴金额必须在0.01到999999.99之间")] | |
| 22 | + public decimal PaymentAmount { get; set; } | |
| 23 | + | |
| 24 | + /// <summary> | |
| 25 | + /// 补缴方式 | |
| 26 | + /// </summary> | |
| 27 | + [Required(ErrorMessage = "补缴方式不能为空")] | |
| 28 | + public string PaymentMethod { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 补缴时间 | |
| 32 | + /// </summary> | |
| 33 | + [Required(ErrorMessage = "补缴时间不能为空")] | |
| 34 | + public DateTime PaymentTime { get; set; } | |
| 35 | + | |
| 36 | + /// <summary> | |
| 37 | + /// 补缴操作人 | |
| 38 | + /// </summary> | |
| 39 | + public string PaymentUser { get; set; } | |
| 40 | + | |
| 41 | + /// <summary> | |
| 42 | + /// 补缴账户 | |
| 43 | + /// </summary> | |
| 44 | + public string PaymentAccount { get; set; } | |
| 45 | + | |
| 46 | + /// <summary> | |
| 47 | + /// 补缴凭证号 | |
| 48 | + /// </summary> | |
| 49 | + public string PaymentReference { get; set; } | |
| 50 | + | |
| 51 | + /// <summary> | |
| 52 | + /// 补缴备注 | |
| 53 | + /// </summary> | |
| 54 | + [StringLength(500, ErrorMessage = "补缴备注不能超过500个字符")] | |
| 55 | + public string Remark { get; set; } | |
| 56 | + } | |
| 57 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjInfoOutput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 开单欠款补缴记录详情输出 | |
| 7 | + /// </summary> | |
| 8 | + public class LqKdQkbjInfoOutput | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 主键 | |
| 12 | + /// </summary> | |
| 13 | + public string Id { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 开单ID | |
| 17 | + /// </summary> | |
| 18 | + public string BillingId { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 补缴金额 | |
| 22 | + /// </summary> | |
| 23 | + public decimal PaymentAmount { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 补缴方式 | |
| 27 | + /// </summary> | |
| 28 | + public string PaymentMethod { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 补缴方式名称 | |
| 32 | + /// </summary> | |
| 33 | + public string PaymentMethodName { get; set; } | |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 补缴时间 | |
| 37 | + /// </summary> | |
| 38 | + public DateTime PaymentTime { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 补缴操作人 | |
| 42 | + /// </summary> | |
| 43 | + public string PaymentUser { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 补缴操作人姓名 | |
| 47 | + /// </summary> | |
| 48 | + public string PaymentUserName { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 补缴账户 | |
| 52 | + /// </summary> | |
| 53 | + public string PaymentAccount { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 补缴凭证号 | |
| 57 | + /// </summary> | |
| 58 | + public string PaymentReference { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 补缴备注 | |
| 62 | + /// </summary> | |
| 63 | + public string Remark { get; set; } | |
| 64 | + | |
| 65 | + /// <summary> | |
| 66 | + /// 创建时间 | |
| 67 | + /// </summary> | |
| 68 | + public DateTime CreateTime { get; set; } | |
| 69 | + | |
| 70 | + /// <summary> | |
| 71 | + /// 更新时间 | |
| 72 | + /// </summary> | |
| 73 | + public DateTime UpdateTime { get; set; } | |
| 74 | + | |
| 75 | + /// <summary> | |
| 76 | + /// 是否有效 | |
| 77 | + /// </summary> | |
| 78 | + public int IsEffective { get; set; } | |
| 79 | + } | |
| 80 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListOutput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 开单欠款补缴记录列表输出 | |
| 7 | + /// </summary> | |
| 8 | + public class LqKdQkbjListOutput | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 主键 | |
| 12 | + /// </summary> | |
| 13 | + public string Id { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 开单ID | |
| 17 | + /// </summary> | |
| 18 | + public string BillingId { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 补缴金额 | |
| 22 | + /// </summary> | |
| 23 | + public decimal PaymentAmount { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 补缴方式 | |
| 27 | + /// </summary> | |
| 28 | + public string PaymentMethod { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 补缴方式名称 | |
| 32 | + /// </summary> | |
| 33 | + public string PaymentMethodName { get; set; } | |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 补缴时间 | |
| 37 | + /// </summary> | |
| 38 | + public DateTime PaymentTime { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 补缴操作人 | |
| 42 | + /// </summary> | |
| 43 | + public string PaymentUser { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 补缴操作人姓名 | |
| 47 | + /// </summary> | |
| 48 | + public string PaymentUserName { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 补缴账户 | |
| 52 | + /// </summary> | |
| 53 | + public string PaymentAccount { get; set; } | |
| 54 | + | |
| 55 | + /// <summary> | |
| 56 | + /// 补缴凭证号 | |
| 57 | + /// </summary> | |
| 58 | + public string PaymentReference { get; set; } | |
| 59 | + | |
| 60 | + /// <summary> | |
| 61 | + /// 补缴备注 | |
| 62 | + /// </summary> | |
| 63 | + public string Remark { get; set; } | |
| 64 | + | |
| 65 | + /// <summary> | |
| 66 | + /// 创建时间 | |
| 67 | + /// </summary> | |
| 68 | + public DateTime CreateTime { get; set; } | |
| 69 | + | |
| 70 | + /// <summary> | |
| 71 | + /// 是否有效 | |
| 72 | + /// </summary> | |
| 73 | + public int IsEffective { get; set; } | |
| 74 | + } | |
| 75 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListQueryInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 开单欠款补缴记录列表查询输入 | |
| 7 | + /// </summary> | |
| 8 | + public class LqKdQkbjListQueryInput | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 开单ID | |
| 12 | + /// </summary> | |
| 13 | + public string BillingId { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 补缴方式 | |
| 17 | + /// </summary> | |
| 18 | + public string PaymentMethod { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 补缴操作人 | |
| 22 | + /// </summary> | |
| 23 | + public string PaymentUser { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 最小补缴金额 | |
| 27 | + /// </summary> | |
| 28 | + public decimal? MinPaymentAmount { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 最大补缴金额 | |
| 32 | + /// </summary> | |
| 33 | + public decimal? MaxPaymentAmount { get; set; } | |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 开始补缴时间 | |
| 37 | + /// </summary> | |
| 38 | + public DateTime? StartPaymentTime { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 结束补缴时间 | |
| 42 | + /// </summary> | |
| 43 | + public DateTime? EndPaymentTime { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 是否有效 | |
| 47 | + /// </summary> | |
| 48 | + public int? IsEffective { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 补缴凭证号 | |
| 52 | + /// </summary> | |
| 53 | + public string PaymentReference { get; set; } | |
| 54 | + } | |
| 55 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjUpInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using System.ComponentModel.DataAnnotations; | |
| 3 | + | |
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdQkbj | |
| 5 | +{ | |
| 6 | + /// <summary> | |
| 7 | + /// 开单欠款补缴记录更新输入 | |
| 8 | + /// </summary> | |
| 9 | + public class LqKdQkbjUpInput : LqKdQkbjCrInput | |
| 10 | + { | |
| 11 | + /// <summary> | |
| 12 | + /// 主键 | |
| 13 | + /// </summary> | |
| 14 | + [Required(ErrorMessage = "主键不能为空")] | |
| 15 | + public string Id { get; set; } | |
| 16 | + } | |
| 17 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/MemberRemainingItemsOutput.cs
| ... | ... | @@ -92,6 +92,13 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk |
| 92 | 92 | public decimal RefundedCount { get; set; } |
| 93 | 93 | |
| 94 | 94 | /// <summary> |
| 95 | + /// 已储扣数量 | |
| 96 | + /// </summary> | |
| 97 | + /// <remarks>该品项已储扣的次数</remarks> | |
| 98 | + /// <example>0</example> | |
| 99 | + public decimal DeductCount { get; set; } | |
| 100 | + | |
| 101 | + /// <summary> | |
| 95 | 102 | /// 剩余数量 |
| 96 | 103 | /// </summary> |
| 97 | 104 | /// <remarks>总购买数量减去已消费数量减去已退卡数量</remarks> | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_deductinfo/LqKdDeductinfoEntity.cs
| ... | ... | @@ -20,7 +20,7 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo |
| 20 | 20 | /// 扣减类型 |
| 21 | 21 | /// </summary> |
| 22 | 22 | [SugarColumn(ColumnName = "F_DeductType")] |
| 23 | - public int? DeductType { get; set; } | |
| 23 | + public string DeductType { get; set; } | |
| 24 | 24 | |
| 25 | 25 | /// <summary> |
| 26 | 26 | /// 扣减关联ID |
| ... | ... | @@ -46,5 +46,35 @@ namespace NCC.Extend.Entitys.lq_kd_deductinfo |
| 46 | 46 | /// </summary> |
| 47 | 47 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 48 | 48 | public int? IsEffective { get; set; } |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 单价 | |
| 52 | + /// </summary> | |
| 53 | + [SugarColumn(ColumnName = "F_UnitPrice")] | |
| 54 | + public decimal? UnitPrice { get; set; } | |
| 55 | + | |
| 56 | + /// <summary> | |
| 57 | + /// 品项名称 | |
| 58 | + /// </summary> | |
| 59 | + [SugarColumn(ColumnName = "F_ItemName")] | |
| 60 | + public string ItemName { get; set; } | |
| 61 | + | |
| 62 | + /// <summary> | |
| 63 | + /// 品项id | |
| 64 | + /// </summary> | |
| 65 | + [SugarColumn(ColumnName = "F_ItemId")] | |
| 66 | + public string ItemId { get; set; } | |
| 67 | + | |
| 68 | + /// <summary> | |
| 69 | + /// 创建时间 | |
| 70 | + /// </summary> | |
| 71 | + [SugarColumn(ColumnName = "F_CreateTime")] | |
| 72 | + public DateTime? CreateTime { get; set; } | |
| 73 | + | |
| 74 | + /// <summary> | |
| 75 | + /// 项目数量 | |
| 76 | + /// </summary> | |
| 77 | + [SugarColumn(ColumnName = "F_ProjectNumber")] | |
| 78 | + public decimal? ProjectNumber { get; set; } | |
| 49 | 79 | } |
| 50 | 80 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_kdjlb/LqKdKdjlbEntity.cs
| ... | ... | @@ -204,5 +204,18 @@ namespace NCC.Extend.Entitys.lq_kd_kdjlb |
| 204 | 204 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 205 | 205 | public int IsEffective { get; set; } = 1; |
| 206 | 206 | |
| 207 | + | |
| 208 | + /// <summary> | |
| 209 | + /// 作废关联id | |
| 210 | + /// </summary> | |
| 211 | + [SugarColumn(ColumnName = "F_CancelRefId")] | |
| 212 | + public string CancelRefId { get; set; } | |
| 213 | + | |
| 214 | + /// <summary> | |
| 215 | + /// 作废关联备注 | |
| 216 | + /// </summary> | |
| 217 | + [SugarColumn(ColumnName = "F_CancelRefRemarks")] | |
| 218 | + public string CancelRefRemarks { get; set; } | |
| 219 | + | |
| 207 | 220 | } |
| 208 | 221 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_pxmx/LqKdPxmxEntity.cs
| ... | ... | @@ -60,9 +60,6 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx |
| 60 | 60 | [SugarColumn(ColumnName = "F_CreateTIme")] |
| 61 | 61 | public DateTime? CreateTIme { get; set; } |
| 62 | 62 | |
| 63 | - | |
| 64 | - | |
| 65 | - | |
| 66 | 63 | /// <summary> |
| 67 | 64 | /// 项目次数 |
| 68 | 65 | /// </summary> |
| ... | ... | @@ -98,5 +95,11 @@ namespace NCC.Extend.Entitys.lq_kd_pxmx |
| 98 | 95 | /// </summary> |
| 99 | 96 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 100 | 97 | public int IsEffective { get; set; } = 1; |
| 98 | + | |
| 99 | + /// <summary> | |
| 100 | + /// 备注 | |
| 101 | + /// </summary> | |
| 102 | + [SugarColumn(ColumnName = "F_Remark")] | |
| 103 | + public string Remark { get; set; } | |
| 101 | 104 | } |
| 102 | 105 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_qkbj/LqKdQkbjEntity.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using NCC.Common.Const; | |
| 3 | +using SqlSugar; | |
| 4 | + | |
| 5 | +namespace NCC.Extend.Entitys.lq_kd_qkbj | |
| 6 | +{ | |
| 7 | + /// <summary> | |
| 8 | + /// 开单欠款补缴记录表 | |
| 9 | + /// </summary> | |
| 10 | + [SugarTable("lq_kd_qkbj")] | |
| 11 | + [Tenant(ClaimConst.TENANT_ID)] | |
| 12 | + public class LqKdQkbjEntity | |
| 13 | + { | |
| 14 | + /// <summary> | |
| 15 | + /// 主键 | |
| 16 | + /// </summary> | |
| 17 | + [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] | |
| 18 | + public string Id { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 开单ID | |
| 22 | + /// </summary> | |
| 23 | + [SugarColumn(ColumnName = "F_BillingId")] | |
| 24 | + public string BillingId { get; set; } | |
| 25 | + | |
| 26 | + /// <summary> | |
| 27 | + /// 补缴金额 | |
| 28 | + /// </summary> | |
| 29 | + [SugarColumn(ColumnName = "F_PaymentAmount")] | |
| 30 | + public decimal PaymentAmount { get; set; } | |
| 31 | + | |
| 32 | + /// <summary> | |
| 33 | + /// 补缴方式 | |
| 34 | + /// </summary> | |
| 35 | + [SugarColumn(ColumnName = "F_PaymentMethod")] | |
| 36 | + public string PaymentMethod { get; set; } | |
| 37 | + | |
| 38 | + /// <summary> | |
| 39 | + /// 补缴时间 | |
| 40 | + /// </summary> | |
| 41 | + [SugarColumn(ColumnName = "F_PaymentTime")] | |
| 42 | + public DateTime PaymentTime { get; set; } | |
| 43 | + | |
| 44 | + /// <summary> | |
| 45 | + /// 补缴操作人 | |
| 46 | + /// </summary> | |
| 47 | + [SugarColumn(ColumnName = "F_PaymentUser")] | |
| 48 | + public string PaymentUser { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 补缴账户 | |
| 52 | + /// </summary> | |
| 53 | + [SugarColumn(ColumnName = "F_PaymentAccount")] | |
| 54 | + public string PaymentAccount { get; set; } | |
| 55 | + | |
| 56 | + /// <summary> | |
| 57 | + /// 补缴凭证号 | |
| 58 | + /// </summary> | |
| 59 | + [SugarColumn(ColumnName = "F_PaymentReference")] | |
| 60 | + public string PaymentReference { get; set; } | |
| 61 | + | |
| 62 | + /// <summary> | |
| 63 | + /// 补缴备注 | |
| 64 | + /// </summary> | |
| 65 | + [SugarColumn(ColumnName = "F_Remark")] | |
| 66 | + public string Remark { get; set; } | |
| 67 | + | |
| 68 | + /// <summary> | |
| 69 | + /// 创建时间 | |
| 70 | + /// </summary> | |
| 71 | + [SugarColumn(ColumnName = "F_CreateTime")] | |
| 72 | + public DateTime CreateTime { get; set; } | |
| 73 | + | |
| 74 | + /// <summary> | |
| 75 | + /// 更新时间 | |
| 76 | + /// </summary> | |
| 77 | + [SugarColumn(ColumnName = "F_UpdateTime")] | |
| 78 | + public DateTime UpdateTime { get; set; } | |
| 79 | + | |
| 80 | + /// <summary> | |
| 81 | + /// 是否有效 | |
| 82 | + /// </summary> | |
| 83 | + [SugarColumn(ColumnName = "F_IsEffective")] | |
| 84 | + public int IsEffective { get; set; } = 1; | |
| 85 | + } | |
| 86 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/StatusEnum.cs
| ... | ... | @@ -8,16 +8,16 @@ namespace NCC.Extend.Entitys.Enum |
| 8 | 8 | public enum StatusEnum |
| 9 | 9 | { |
| 10 | 10 | /// <summary> |
| 11 | - /// 有效 | |
| 11 | + /// 无效 | |
| 12 | 12 | /// </summary> |
| 13 | - [Description("有效")] | |
| 14 | - 有效 = 0, | |
| 13 | + [Description("无效")] | |
| 14 | + 无效 = -1, | |
| 15 | 15 | |
| 16 | 16 | /// <summary> |
| 17 | - /// 无效 | |
| 17 | + /// 有效 | |
| 18 | 18 | /// </summary> |
| 19 | - [Description("无效")] | |
| 20 | - 无效 = 1, | |
| 19 | + [Description("有效")] | |
| 20 | + 有效 = 1, | |
| 21 | 21 | |
| 22 | 22 | /// <summary> |
| 23 | 23 | /// 删除 | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
| ... | ... | @@ -136,6 +136,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 136 | 136 | createTime = pxmx.CreateTIme, |
| 137 | 137 | totalPrice = pxmx.TotalPrice, |
| 138 | 138 | actualPrice = pxmx.ActualPrice, |
| 139 | + remark = pxmx.Remark, | |
| 139 | 140 | }; |
| 140 | 141 | |
| 141 | 142 | // 关联该品项的健康师业绩 |
| ... | ... | @@ -258,10 +259,33 @@ namespace NCC.Extend.LqKdKdjlb |
| 258 | 259 | entity.Id = YitIdHelper.NextId().ToString(); |
| 259 | 260 | entity.CreateTime = DateTime.Now; |
| 260 | 261 | entity.UpdateTime = DateTime.Now; |
| 262 | + entity.IsEffective = StatusEnum.有效.GetHashCode(); | |
| 261 | 263 | try |
| 262 | 264 | { |
| 263 | 265 | //开启事务 |
| 264 | 266 | _db.BeginTran(); |
| 267 | + //判断是否有作废关联id | |
| 268 | + if (!string.IsNullOrEmpty(input.cancelRefId)) | |
| 269 | + { | |
| 270 | + //查询作废关联id | |
| 271 | + var cancelRefEntity = await _db.Queryable<LqKdKdjlbEntity>().FirstAsync(p => p.Id == input.cancelRefId); | |
| 272 | + if (cancelRefEntity == null) | |
| 273 | + { | |
| 274 | + throw NCCException.Oh("作废关联id不存在"); | |
| 275 | + } | |
| 276 | + //将作废关联id的IsEffective设置为0 | |
| 277 | + cancelRefEntity.IsEffective = StatusEnum.无效.GetHashCode(); | |
| 278 | + await _db.Updateable(cancelRefEntity).ExecuteCommandAsync(); | |
| 279 | + //把品项明细表的IsEffective设置为0 | |
| 280 | + await _db.Updateable<LqKdPxmxEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | |
| 281 | + //把健康师业绩表的IsEffective设置为0 | |
| 282 | + await _db.Updateable<LqKdJksyjEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | |
| 283 | + //把科技部老师业绩表的IsEffective设置为0 | |
| 284 | + await _db.Updateable<LqKdKjbsyjEntity>().Where(p => p.Glkdbh == input.cancelRefId).UpdateColumns(p => new LqKdKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | |
| 285 | + //把扣款信息表的IsEffective设置为0 | |
| 286 | + await _db.Updateable<LqKdDeductinfoEntity>().Where(p => p.BillingId == input.cancelRefId).UpdateColumns(p => new LqKdDeductinfoEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync(); | |
| 287 | + } | |
| 288 | + | |
| 265 | 289 | //新增开单记录表记录 |
| 266 | 290 | entity.CreateUser = userInfo.userId; |
| 267 | 291 | entity.DeductAmount = input.lqKdKdjlbDeductList.Sum(x => x.Amount ?? 0);//计算储扣总金额 |
| ... | ... | @@ -282,6 +306,12 @@ namespace NCC.Extend.LqKdKdjlb |
| 282 | 306 | DeductId = item.DeductId, |
| 283 | 307 | DeductType = item.DeductType, |
| 284 | 308 | Amount = item.Amount, |
| 309 | + ProjectNumber = item.ProjectNumber, | |
| 310 | + UnitPrice = item.UnitPrice, | |
| 311 | + ItemName = item.ItemName, | |
| 312 | + ItemId = item.ItemId, | |
| 313 | + IsEffective = StatusEnum.有效.GetHashCode(), // 设置为有效 | |
| 314 | + CreateTime = DateTime.Now, // 设置创建时间 | |
| 285 | 315 | }; |
| 286 | 316 | allDeductEntities.Add(lqKdDeductEntity); |
| 287 | 317 | } |
| ... | ... | @@ -296,7 +326,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 296 | 326 | Yjsj = input.kdrq, |
| 297 | 327 | CreateTIme = DateTime.Now, |
| 298 | 328 | MemberId = entity.Kdhy, |
| 299 | - IsEnabled = 0, | |
| 329 | + IsEnabled = StatusEnum.有效.GetHashCode(), | |
| 300 | 330 | ProjectNumber = item.projectNumber, |
| 301 | 331 | TotalPrice = (decimal)(item.pxjg * item.projectNumber), |
| 302 | 332 | Px = item.px, |
| ... | ... | @@ -304,6 +334,8 @@ namespace NCC.Extend.LqKdKdjlb |
| 304 | 334 | Pxjg = item.pxjg, |
| 305 | 335 | SourceType = item.sourceType, |
| 306 | 336 | ActualPrice = item.actualPrice, |
| 337 | + Remark = item.remark, | |
| 338 | + IsEffective = StatusEnum.有效.GetHashCode(), | |
| 307 | 339 | }; |
| 308 | 340 | allPxmxEntities.Add(lqKdPxmxEntity); |
| 309 | 341 | |
| ... | ... | @@ -325,6 +357,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 325 | 357 | Yjsj = input.kdrq, |
| 326 | 358 | Jsj_id = ijks_tem.jsj_id, |
| 327 | 359 | Kdpxid = lqKdPxmxEntity.Id, |
| 360 | + IsEffective = StatusEnum.有效.GetHashCode(), | |
| 328 | 361 | }); |
| 329 | 362 | } |
| 330 | 363 | } |
| ... | ... | @@ -345,6 +378,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 345 | 378 | Kjblsyj = ikjbs_tem.kjblsyj, |
| 346 | 379 | Yjsj = input.kdrq, |
| 347 | 380 | Kdpxid = lqKdPxmxEntity.Id, |
| 381 | + IsEffective = StatusEnum.有效.GetHashCode(), | |
| 348 | 382 | } |
| 349 | 383 | ); |
| 350 | 384 | } |
| ... | ... | @@ -352,6 +386,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 352 | 386 | } |
| 353 | 387 | |
| 354 | 388 | |
| 389 | + | |
| 355 | 390 | //通过会员id查询会员信息 |
| 356 | 391 | var memberInfo = await _db.Queryable<LqKhxxEntity>().Where(u => u.Id == entity.Kdhy).FirstAsync(); |
| 357 | 392 | //通过开单记录表查询这个会员开单金额 |
| ... | ... | @@ -1263,7 +1298,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 1263 | 1298 | //关闭事务 |
| 1264 | 1299 | _db.CommitTran(); |
| 1265 | 1300 | } |
| 1266 | - catch (Exception ex) when (!(ex is NCCException)) | |
| 1301 | + catch (Exception) | |
| 1267 | 1302 | { |
| 1268 | 1303 | //回滚事务 |
| 1269 | 1304 | _db.RollbackTran(); |
| ... | ... | @@ -1440,7 +1475,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 1440 | 1475 | importTime = DateTime.Now |
| 1441 | 1476 | }; |
| 1442 | 1477 | } |
| 1443 | - catch (Exception ex) when (!(ex is NCCException)) | |
| 1478 | + catch (Exception ex) | |
| 1444 | 1479 | { |
| 1445 | 1480 | _db.RollbackTran(); |
| 1446 | 1481 | throw NCCException.Oh($"导入历史会员权益数据失败: {ex.Message}"); | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| ... | ... | @@ -34,6 +34,7 @@ using NCC.FriendlyException; |
| 34 | 34 | using NCC.JsonSerialization; |
| 35 | 35 | using SqlSugar; |
| 36 | 36 | using Yitter.IdGenerator; |
| 37 | +using NCC.Extend.Entitys.lq_kd_deductinfo; | |
| 37 | 38 | |
| 38 | 39 | namespace NCC.Extend.LqKhxx |
| 39 | 40 | { |
| ... | ... | @@ -578,6 +579,17 @@ namespace NCC.Extend.LqKhxx |
| 578 | 579 | }) |
| 579 | 580 | .ToListAsync(); |
| 580 | 581 | |
| 582 | + //查询储扣数据 | |
| 583 | + var deductData = await _db.Queryable<LqKdDeductinfoEntity>() | |
| 584 | + .Where(x => baseItems.Select(b => b.Id).Contains(x.DeductId)) | |
| 585 | + .GroupBy(x => x.DeductId) | |
| 586 | + .Select(x => new | |
| 587 | + { | |
| 588 | + BillingItemId = x.DeductId, | |
| 589 | + TotalDeduct = SqlFunc.AggregateSum(x.Amount) | |
| 590 | + }) | |
| 591 | + .ToListAsync(); | |
| 592 | + | |
| 581 | 593 | // 组装结果 |
| 582 | 594 | var remainingItems = baseItems.Select(item => new RemainingItemInfo |
| 583 | 595 | { |
| ... | ... | @@ -589,12 +601,13 @@ namespace NCC.Extend.LqKhxx |
| 589 | 601 | TotalPurchased = item.ProjectNumber, |
| 590 | 602 | ConsumedCount = consumedData.FirstOrDefault(c => c.BillingItemId == item.Id)?.TotalConsumed ?? 0, |
| 591 | 603 | RefundedCount = refundedData.FirstOrDefault(r => r.BillingItemId == item.Id)?.TotalRefunded ?? 0, |
| 604 | + DeductCount = deductData.FirstOrDefault(d => d.BillingItemId == item.Id)?.TotalDeduct ?? 0, | |
| 592 | 605 | }).ToList(); |
| 593 | 606 | |
| 594 | 607 | // 计算剩余数量 |
| 595 | 608 | foreach (var item in remainingItems) |
| 596 | 609 | { |
| 597 | - item.RemainingCount = item.TotalPurchased - item.ConsumedCount - item.RefundedCount; | |
| 610 | + item.RemainingCount = item.TotalPurchased - item.ConsumedCount - item.RefundedCount - item.DeductCount; | |
| 598 | 611 | } |
| 599 | 612 | return new MemberRemainingItemsOutput |
| 600 | 613 | { | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/Utils/LqKdKdjlbStringGenerator.cs