Commit ce74473f3d7c863116a80ccf7eac786a6fab757c
1 parent
24642f43
feat: 新增门店类别枚举和耗卡反馈功能
- 新增StoreTypeEnum门店类别枚举(200平门店、旗舰店) - 新增耗卡反馈功能(lq_xh_feedback表及相关实体、DTO、Service) - 优化开单记录和耗卡记录列表,增加品项明细返回 - 完善会员开单记录查询接口,支持分页和时间筛选 - 优化耗卡记录作废功能,增加备注参数 - 修复排序规则冲突问题 - 完善各种实体和DTO的字段定义
Showing
39 changed files
with
1065 additions
and
294 deletions
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkHytk/LqHytkHytkCrInput.cs
| ... | ... | @@ -95,5 +95,10 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 95 | 95 | /// 退卡品项明细列表 |
| 96 | 96 | /// </summary> |
| 97 | 97 | public List<LqHytkMxCrInput> lqHytkMxList { get; set; } |
| 98 | + | |
| 99 | + /// <summary> | |
| 100 | + /// 签名文件 | |
| 101 | + /// </summary> | |
| 102 | + public string signatureFile { get; set; } | |
| 98 | 103 | } |
| 99 | 104 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkHytk/LqHytkHytkInfoOutput.cs
| ... | ... | @@ -15,72 +15,72 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 15 | 15 | /// 退卡编号 |
| 16 | 16 | /// </summary> |
| 17 | 17 | public string id { get; set; } |
| 18 | - | |
| 18 | + | |
| 19 | 19 | /// <summary> |
| 20 | 20 | /// 门店 |
| 21 | 21 | /// </summary> |
| 22 | 22 | public string md { get; set; } |
| 23 | - | |
| 23 | + | |
| 24 | 24 | /// <summary> |
| 25 | 25 | /// 门店编号 |
| 26 | 26 | /// </summary> |
| 27 | 27 | public string mdbh { get; set; } |
| 28 | - | |
| 28 | + | |
| 29 | 29 | /// <summary> |
| 30 | 30 | /// 门店名称 |
| 31 | 31 | /// </summary> |
| 32 | 32 | public string mdmc { get; set; } |
| 33 | - | |
| 33 | + | |
| 34 | 34 | /// <summary> |
| 35 | 35 | /// 会员 |
| 36 | 36 | /// </summary> |
| 37 | 37 | public string hy { get; set; } |
| 38 | - | |
| 38 | + | |
| 39 | 39 | /// <summary> |
| 40 | 40 | /// 会员姓名 |
| 41 | 41 | /// </summary> |
| 42 | 42 | public string hymc { get; set; } |
| 43 | - | |
| 43 | + | |
| 44 | 44 | /// <summary> |
| 45 | 45 | /// 会员账号 |
| 46 | 46 | /// </summary> |
| 47 | 47 | public string hyzh { get; set; } |
| 48 | - | |
| 48 | + | |
| 49 | 49 | /// <summary> |
| 50 | 50 | /// 顾客类型 |
| 51 | 51 | /// </summary> |
| 52 | 52 | public string gklx { get; set; } |
| 53 | - | |
| 53 | + | |
| 54 | 54 | /// <summary> |
| 55 | 55 | /// 退卡总金额 |
| 56 | 56 | /// </summary> |
| 57 | 57 | public decimal? tkje { get; set; } |
| 58 | - | |
| 58 | + | |
| 59 | 59 | /// <summary> |
| 60 | 60 | /// 手工费用 |
| 61 | 61 | /// </summary> |
| 62 | 62 | public decimal? sgfy { get; set; } |
| 63 | - | |
| 63 | + | |
| 64 | 64 | /// <summary> |
| 65 | 65 | /// 备注 |
| 66 | 66 | /// </summary> |
| 67 | 67 | public string bz { get; set; } |
| 68 | - | |
| 68 | + | |
| 69 | 69 | /// <summary> |
| 70 | 70 | /// 退卡时间 |
| 71 | 71 | /// </summary> |
| 72 | 72 | public DateTime? tksj { get; set; } |
| 73 | - | |
| 73 | + | |
| 74 | 74 | /// <summary> |
| 75 | 75 | /// 操作人员 |
| 76 | 76 | /// </summary> |
| 77 | 77 | public string czry { get; set; } |
| 78 | - | |
| 78 | + | |
| 79 | 79 | /// <summary> |
| 80 | 80 | /// 退卡状态 |
| 81 | 81 | /// </summary> |
| 82 | 82 | public string tkzt { get; set; } |
| 83 | - | |
| 83 | + | |
| 84 | 84 | /// <summary> |
| 85 | 85 | /// 退卡原因 |
| 86 | 86 | /// </summary> |
| ... | ... | @@ -92,6 +92,11 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 92 | 92 | public string fileUrl { get; set; } |
| 93 | 93 | |
| 94 | 94 | /// <summary> |
| 95 | + /// 签名文件 | |
| 96 | + /// </summary> | |
| 97 | + public string signatureFile { get; set; } | |
| 98 | + | |
| 99 | + /// <summary> | |
| 95 | 100 | /// 退卡品项明细列表 |
| 96 | 101 | /// </summary> |
| 97 | 102 | public List<LqHytkMxInfoOutput> lqHytkMxList { get; set; } |
| ... | ... | @@ -105,6 +110,6 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 105 | 110 | /// 科技部老师业绩列表 |
| 106 | 111 | /// </summary> |
| 107 | 112 | public List<LqHytkKjbsyjInfoOutput> lqHytkKjbsyjList { get; set; } |
| 108 | - | |
| 113 | + | |
| 109 | 114 | } |
| 110 | 115 | } |
| 111 | 116 | \ No newline at end of file | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqHytkHytk/LqHytkHytkUpInput.cs
| ... | ... | @@ -15,72 +15,72 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 15 | 15 | /// 退卡编号 |
| 16 | 16 | /// </summary> |
| 17 | 17 | public string id { get; set; } |
| 18 | - | |
| 18 | + | |
| 19 | 19 | /// <summary> |
| 20 | 20 | /// 门店 |
| 21 | 21 | /// </summary> |
| 22 | 22 | public string md { get; set; } |
| 23 | - | |
| 23 | + | |
| 24 | 24 | /// <summary> |
| 25 | 25 | /// 门店编号 |
| 26 | 26 | /// </summary> |
| 27 | 27 | public string mdbh { get; set; } |
| 28 | - | |
| 28 | + | |
| 29 | 29 | /// <summary> |
| 30 | 30 | /// 门店名称 |
| 31 | 31 | /// </summary> |
| 32 | 32 | public string mdmc { get; set; } |
| 33 | - | |
| 33 | + | |
| 34 | 34 | /// <summary> |
| 35 | 35 | /// 会员 |
| 36 | 36 | /// </summary> |
| 37 | 37 | public string hy { get; set; } |
| 38 | - | |
| 38 | + | |
| 39 | 39 | /// <summary> |
| 40 | 40 | /// 会员姓名 |
| 41 | 41 | /// </summary> |
| 42 | 42 | public string hymc { get; set; } |
| 43 | - | |
| 43 | + | |
| 44 | 44 | /// <summary> |
| 45 | 45 | /// 会员账号 |
| 46 | 46 | /// </summary> |
| 47 | 47 | public string hyzh { get; set; } |
| 48 | - | |
| 48 | + | |
| 49 | 49 | /// <summary> |
| 50 | 50 | /// 顾客类型 |
| 51 | 51 | /// </summary> |
| 52 | 52 | public string gklx { get; set; } |
| 53 | - | |
| 53 | + | |
| 54 | 54 | /// <summary> |
| 55 | 55 | /// 退卡总金额 |
| 56 | 56 | /// </summary> |
| 57 | 57 | public decimal? tkje { get; set; } |
| 58 | - | |
| 58 | + | |
| 59 | 59 | /// <summary> |
| 60 | 60 | /// 手工费用 |
| 61 | 61 | /// </summary> |
| 62 | 62 | public decimal? sgfy { get; set; } |
| 63 | - | |
| 63 | + | |
| 64 | 64 | /// <summary> |
| 65 | 65 | /// 备注 |
| 66 | 66 | /// </summary> |
| 67 | 67 | public string bz { get; set; } |
| 68 | - | |
| 68 | + | |
| 69 | 69 | /// <summary> |
| 70 | 70 | /// 退卡时间 |
| 71 | 71 | /// </summary> |
| 72 | 72 | public DateTime? tksj { get; set; } |
| 73 | - | |
| 73 | + | |
| 74 | 74 | /// <summary> |
| 75 | 75 | /// 操作人员 |
| 76 | 76 | /// </summary> |
| 77 | 77 | public string czry { get; set; } |
| 78 | - | |
| 78 | + | |
| 79 | 79 | /// <summary> |
| 80 | 80 | /// 退卡状态 |
| 81 | 81 | /// </summary> |
| 82 | 82 | public string tkzt { get; set; } |
| 83 | - | |
| 83 | + | |
| 84 | 84 | /// <summary> |
| 85 | 85 | /// 退卡原因 |
| 86 | 86 | /// </summary> |
| ... | ... | @@ -90,21 +90,26 @@ namespace NCC.Extend.Entitys.Dto.LqHytkHytk |
| 90 | 90 | /// 退卡附件 |
| 91 | 91 | /// </summary> |
| 92 | 92 | public string fileUrl { get; set; } |
| 93 | - | |
| 93 | + | |
| 94 | + /// <summary> | |
| 95 | + /// 签名文件 | |
| 96 | + /// </summary> | |
| 97 | + public string signatureFile { get; set; } | |
| 98 | + | |
| 94 | 99 | /// <summary> |
| 95 | 100 | /// 退卡品项明细列表 |
| 96 | 101 | /// </summary> |
| 97 | 102 | public List<LqHytkMxCrInput> lqHytkMxList { get; set; } |
| 98 | - | |
| 103 | + | |
| 99 | 104 | /// <summary> |
| 100 | 105 | /// 退卡健康师业绩列表 |
| 101 | 106 | /// </summary> |
| 102 | 107 | public List<LqHytkJksyjCrInput> lqHytkJksyjList { get; set; } |
| 103 | - | |
| 108 | + | |
| 104 | 109 | /// <summary> |
| 105 | 110 | /// 退卡科技部老师业绩列表 |
| 106 | 111 | /// </summary> |
| 107 | 112 | public List<LqHytkKjbsyjCrInput> lqHytkKjbsyjList { get; set; } |
| 108 | - | |
| 113 | + | |
| 109 | 114 | } |
| 110 | 115 | } |
| 111 | 116 | \ No newline at end of file | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/BillingRecordQueryInput.cs
0 → 100644
| 1 | +using System.ComponentModel.DataAnnotations; | |
| 2 | +using NCC.Common.Filter; | |
| 3 | + | |
| 4 | +namespace NCC.Extend.Entitys.Dto.LqKdKdjlb | |
| 5 | +{ | |
| 6 | + /// <summary> | |
| 7 | + /// 会员开单记录查询输入 | |
| 8 | + /// </summary> | |
| 9 | + public class BillingRecordQueryInput : PageInputBase | |
| 10 | + { | |
| 11 | + /// <summary> | |
| 12 | + /// 会员ID | |
| 13 | + /// </summary> | |
| 14 | + [Required(ErrorMessage = "会员ID不能为空")] | |
| 15 | + [Display(Name = "会员ID", Description = "查询开单记录的会员ID")] | |
| 16 | + public string MemberId { get; set; } | |
| 17 | + | |
| 18 | + | |
| 19 | + /// <summary> | |
| 20 | + /// 开始时间 | |
| 21 | + /// </summary> | |
| 22 | + [Display(Name = "开始时间", Description = "查询开单记录的开始时间")] | |
| 23 | + public System.DateTime? StartTime { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 结束时间 | |
| 27 | + /// </summary> | |
| 28 | + [Display(Name = "结束时间", Description = "查询开单记录的结束时间")] | |
| 29 | + public System.DateTime? EndTime { get; set; } | |
| 30 | + } | |
| 31 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbCrInput.cs
| ... | ... | @@ -116,31 +116,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 116 | 116 | public string kdhy { get; set; } |
| 117 | 117 | |
| 118 | 118 | /// <summary> |
| 119 | - /// 开单会员名称 | |
| 120 | - /// </summary> | |
| 121 | - public string kdhyc { get; set; } | |
| 122 | - | |
| 123 | - /// <summary> | |
| 124 | - /// 开单会员手机号 | |
| 125 | - /// </summary> | |
| 126 | - public string kdhysjh { get; set; } | |
| 127 | - | |
| 128 | - /// <summary> | |
| 129 | - /// 健康师业绩 | |
| 130 | - /// </summary> | |
| 131 | - public string jksyj { get; set; } | |
| 132 | - | |
| 133 | - /// <summary> | |
| 134 | - /// 科技部老师业绩 | |
| 135 | - /// </summary> | |
| 136 | - public string kjblsyj { get; set; } | |
| 137 | - | |
| 138 | - /// <summary> | |
| 139 | - /// 品项信息 | |
| 140 | - /// </summary> | |
| 141 | - public string pxxx { get; set; } | |
| 142 | - | |
| 143 | - /// <summary> | |
| 144 | 119 | /// 方案其他 |
| 145 | 120 | /// </summary> |
| 146 | 121 | public string F_FIleUrl { get; set; } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbInfoOutput.cs
| ... | ... | @@ -132,21 +132,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 132 | 132 | public string kdhysjh { get; set; } |
| 133 | 133 | |
| 134 | 134 | /// <summary> |
| 135 | - /// 健康师业绩 | |
| 136 | - /// </summary> | |
| 137 | - public string jksyj { get; set; } | |
| 138 | - | |
| 139 | - /// <summary> | |
| 140 | - /// 科技部老师业绩 | |
| 141 | - /// </summary> | |
| 142 | - public string kjblsyj { get; set; } | |
| 143 | - | |
| 144 | - /// <summary> | |
| 145 | - /// 品项信息 | |
| 146 | - /// </summary> | |
| 147 | - public string pxxx { get; set; } | |
| 148 | - | |
| 149 | - /// <summary> | |
| 150 | 135 | /// 方案其他 |
| 151 | 136 | /// </summary> |
| 152 | 137 | public string F_FIleUrl { get; set; } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs
| ... | ... | @@ -124,21 +124,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 124 | 124 | public string kdhysjh { get; set; } |
| 125 | 125 | |
| 126 | 126 | /// <summary> |
| 127 | - /// 健康师业绩 | |
| 128 | - /// </summary> | |
| 129 | - public string jksyj { get; set; } | |
| 130 | - | |
| 131 | - /// <summary> | |
| 132 | - /// 科技部老师业绩 | |
| 133 | - /// </summary> | |
| 134 | - public string kjblsyj { get; set; } | |
| 135 | - | |
| 136 | - /// <summary> | |
| 137 | - /// 品项信息 | |
| 138 | - /// </summary> | |
| 139 | - public string pxxx { get; set; } | |
| 140 | - | |
| 141 | - /// <summary> | |
| 142 | 127 | /// 方案其他 |
| 143 | 128 | /// </summary> |
| 144 | 129 | public string F_FIleUrl { get; set; } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListQueryInput.cs
| ... | ... | @@ -124,20 +124,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb |
| 124 | 124 | /// </summary> |
| 125 | 125 | public string kdhysjh { get; set; } |
| 126 | 126 | |
| 127 | - /// <summary> | |
| 128 | - /// 健康师业绩 | |
| 129 | - /// </summary> | |
| 130 | - public string jksyj { get; set; } | |
| 131 | - | |
| 132 | - /// <summary> | |
| 133 | - /// 科技部老师业绩 | |
| 134 | - /// </summary> | |
| 135 | - public string kjblsyj { get; set; } | |
| 136 | - | |
| 137 | - /// <summary> | |
| 138 | - /// 品项信息 | |
| 139 | - /// </summary> | |
| 140 | - public string pxxx { get; set; } | |
| 141 | 127 | |
| 142 | 128 | /// <summary> |
| 143 | 129 | /// 方案其他 | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxCrInput.cs
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using System.ComponentModel.DataAnnotations; | |
| 3 | + | |
| 4 | +namespace NCC.Extend.Entitys.Dto.LqXhFeedback | |
| 5 | +{ | |
| 6 | + /// <summary> | |
| 7 | + /// 耗卡反馈创建输入 | |
| 8 | + /// </summary> | |
| 9 | + public class LqXhFeedbackCrInput | |
| 10 | + { | |
| 11 | + /// <summary> | |
| 12 | + /// 耗卡记录ID | |
| 13 | + /// </summary> | |
| 14 | + [Required(ErrorMessage = "耗卡记录ID不能为空")] | |
| 15 | + [Display(Name = "耗卡记录ID", Description = "关联的耗卡记录ID")] | |
| 16 | + public string ConsumeId { get; set; } | |
| 17 | + | |
| 18 | + /// <summary> | |
| 19 | + /// 前图片 | |
| 20 | + /// </summary> | |
| 21 | + [Display(Name = "前图片", Description = "耗卡前的图片")] | |
| 22 | + public string BeforeImage { get; set; } | |
| 23 | + | |
| 24 | + /// <summary> | |
| 25 | + /// 后图片 | |
| 26 | + /// </summary> | |
| 27 | + [Display(Name = "后图片", Description = "耗卡后的图片")] | |
| 28 | + public string AfterImage { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 备注 | |
| 32 | + /// </summary> | |
| 33 | + [Display(Name = "备注", Description = "反馈备注信息")] | |
| 34 | + public string Remark { get; set; } | |
| 35 | + } | |
| 36 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqXhFeedback | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 耗卡反馈详情输出 | |
| 7 | + /// </summary> | |
| 8 | + public class LqXhFeedbackInfoOutput | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 反馈记录ID | |
| 12 | + /// </summary> | |
| 13 | + public string id { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 耗卡记录ID | |
| 17 | + /// </summary> | |
| 18 | + public string consumeId { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 前图片 | |
| 22 | + /// </summary> | |
| 23 | + public string beforeImage { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 后图片 | |
| 27 | + /// </summary> | |
| 28 | + public string afterImage { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 备注 | |
| 32 | + /// </summary> | |
| 33 | + public string remark { get; set; } | |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 添加人ID | |
| 37 | + /// </summary> | |
| 38 | + public string createUser { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 添加人姓名 | |
| 42 | + /// </summary> | |
| 43 | + public string createUserName { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 添加时间 | |
| 47 | + /// </summary> | |
| 48 | + public DateTime createTime { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 更新时间 | |
| 52 | + /// </summary> | |
| 53 | + public DateTime updateTime { get; set; } | |
| 54 | + } | |
| 55 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqXhFeedback | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 耗卡反馈列表输出 | |
| 7 | + /// </summary> | |
| 8 | + public class LqXhFeedbackListOutput | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 反馈记录ID | |
| 12 | + /// </summary> | |
| 13 | + public string id { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 耗卡记录ID | |
| 17 | + /// </summary> | |
| 18 | + public string consumeId { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 前图片 | |
| 22 | + /// </summary> | |
| 23 | + public string beforeImage { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 后图片 | |
| 27 | + /// </summary> | |
| 28 | + public string afterImage { get; set; } | |
| 29 | + | |
| 30 | + /// <summary> | |
| 31 | + /// 备注 | |
| 32 | + /// </summary> | |
| 33 | + public string remark { get; set; } | |
| 34 | + | |
| 35 | + /// <summary> | |
| 36 | + /// 添加人ID | |
| 37 | + /// </summary> | |
| 38 | + public string createUser { get; set; } | |
| 39 | + | |
| 40 | + /// <summary> | |
| 41 | + /// 添加人姓名 | |
| 42 | + /// </summary> | |
| 43 | + public string createUserName { get; set; } | |
| 44 | + | |
| 45 | + /// <summary> | |
| 46 | + /// 添加时间 | |
| 47 | + /// </summary> | |
| 48 | + public DateTime createTime { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 更新时间 | |
| 52 | + /// </summary> | |
| 53 | + public DateTime updateTime { get; set; } | |
| 54 | + } | |
| 55 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListQueryInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Dto.LqXhFeedback | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 耗卡反馈列表查询输入 | |
| 7 | + /// </summary> | |
| 8 | + public class LqXhFeedbackListQueryInput : NCC.Common.Filter.PageInputBase | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 耗卡记录ID | |
| 12 | + /// </summary> | |
| 13 | + public string ConsumeId { get; set; } | |
| 14 | + | |
| 15 | + /// <summary> | |
| 16 | + /// 添加人ID | |
| 17 | + /// </summary> | |
| 18 | + public string CreateUser { get; set; } | |
| 19 | + | |
| 20 | + /// <summary> | |
| 21 | + /// 开始时间 | |
| 22 | + /// </summary> | |
| 23 | + public DateTime? StartTime { get; set; } | |
| 24 | + | |
| 25 | + /// <summary> | |
| 26 | + /// 结束时间 | |
| 27 | + /// </summary> | |
| 28 | + public DateTime? EndTime { get; set; } | |
| 29 | + } | |
| 30 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackUpInput.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using System.ComponentModel.DataAnnotations; | |
| 3 | + | |
| 4 | +namespace NCC.Extend.Entitys.Dto.LqXhFeedback | |
| 5 | +{ | |
| 6 | + /// <summary> | |
| 7 | + /// 耗卡反馈更新输入 | |
| 8 | + /// </summary> | |
| 9 | + public class LqXhFeedbackUpInput : LqXhFeedbackCrInput | |
| 10 | + { | |
| 11 | + /// <summary> | |
| 12 | + /// 反馈记录ID | |
| 13 | + /// </summary> | |
| 14 | + [Required(ErrorMessage = "反馈记录ID不能为空")] | |
| 15 | + [Display(Name = "反馈记录ID", Description = "要更新的反馈记录ID")] | |
| 16 | + public new string id { get; set; } | |
| 17 | + } | |
| 18 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs
| ... | ... | @@ -75,6 +75,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk |
| 75 | 75 | public string czry { get; set; } |
| 76 | 76 | |
| 77 | 77 | /// <summary> |
| 78 | + /// 签名文件 | |
| 79 | + /// </summary> | |
| 80 | + public string signatureFile { get; set; } | |
| 81 | + | |
| 82 | + /// <summary> | |
| 78 | 83 | /// 耗卡_品项明细 |
| 79 | 84 | /// </summary> |
| 80 | 85 | public List<LqXhPxmxCrInput> lqXhPxmxList { get; set; } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkInfoOutput.cs
| ... | ... | @@ -15,96 +15,116 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk |
| 15 | 15 | /// 耗卡编号 |
| 16 | 16 | /// </summary> |
| 17 | 17 | public string id { get; set; } |
| 18 | - | |
| 18 | + | |
| 19 | 19 | /// <summary> |
| 20 | 20 | /// 门店 |
| 21 | 21 | /// </summary> |
| 22 | 22 | public string md { get; set; } |
| 23 | - | |
| 23 | + | |
| 24 | 24 | /// <summary> |
| 25 | 25 | /// 门店编号 |
| 26 | 26 | /// </summary> |
| 27 | 27 | public string mdbh { get; set; } |
| 28 | - | |
| 28 | + | |
| 29 | 29 | /// <summary> |
| 30 | 30 | /// 门店名称 |
| 31 | 31 | /// </summary> |
| 32 | 32 | public string mdmc { get; set; } |
| 33 | - | |
| 33 | + | |
| 34 | 34 | /// <summary> |
| 35 | 35 | /// 会员 |
| 36 | 36 | /// </summary> |
| 37 | 37 | public string hy { get; set; } |
| 38 | - | |
| 38 | + | |
| 39 | 39 | /// <summary> |
| 40 | 40 | /// 会员账号 |
| 41 | 41 | /// </summary> |
| 42 | 42 | public string hyzh { get; set; } |
| 43 | - | |
| 43 | + | |
| 44 | 44 | /// <summary> |
| 45 | 45 | /// 会员名称 |
| 46 | 46 | /// </summary> |
| 47 | 47 | public string hymc { get; set; } |
| 48 | - | |
| 48 | + | |
| 49 | + /// <summary> | |
| 50 | + /// 会员手机号 | |
| 51 | + /// </summary> | |
| 52 | + public string memberPhone { get; set; } | |
| 53 | + | |
| 49 | 54 | /// <summary> |
| 50 | 55 | /// 顾客类型 |
| 51 | 56 | /// </summary> |
| 52 | 57 | public string gklx { get; set; } |
| 53 | - | |
| 58 | + | |
| 54 | 59 | /// <summary> |
| 55 | 60 | /// 消费金额 |
| 56 | 61 | /// </summary> |
| 57 | 62 | public string xfje { get; set; } |
| 58 | - | |
| 63 | + | |
| 59 | 64 | /// <summary> |
| 60 | 65 | /// 手工费用 |
| 61 | 66 | /// </summary> |
| 62 | 67 | public string sgfy { get; set; } |
| 63 | - | |
| 68 | + | |
| 64 | 69 | /// <summary> |
| 65 | 70 | /// 是否有科技部 |
| 66 | 71 | /// </summary> |
| 67 | 72 | public string sfykjb { get; set; } |
| 68 | - | |
| 73 | + | |
| 69 | 74 | /// <summary> |
| 70 | 75 | /// 健康师业绩 |
| 71 | 76 | /// </summary> |
| 72 | 77 | public string jksyj { get; set; } |
| 73 | - | |
| 78 | + | |
| 74 | 79 | /// <summary> |
| 75 | 80 | /// 科技部业绩 |
| 76 | 81 | /// </summary> |
| 77 | 82 | public string kjbyj { get; set; } |
| 78 | - | |
| 83 | + | |
| 79 | 84 | /// <summary> |
| 80 | 85 | /// 品项信息 |
| 81 | 86 | /// </summary> |
| 82 | 87 | public string pxxx { get; set; } |
| 83 | - | |
| 88 | + | |
| 84 | 89 | /// <summary> |
| 85 | 90 | /// 耗卡时间 |
| 86 | 91 | /// </summary> |
| 87 | 92 | public DateTime? hksj { get; set; } |
| 88 | - | |
| 93 | + | |
| 89 | 94 | /// <summary> |
| 90 | 95 | /// 操作人员 |
| 91 | 96 | /// </summary> |
| 92 | 97 | public string czry { get; set; } |
| 93 | - | |
| 98 | + | |
| 99 | + /// <summary> | |
| 100 | + /// 签名文件 | |
| 101 | + /// </summary> | |
| 102 | + public string signatureFile { get; set; } | |
| 103 | + | |
| 104 | + /// <summary> | |
| 105 | + /// 是否有效 | |
| 106 | + /// </summary> | |
| 107 | + public int isEffective { get; set; } | |
| 108 | + | |
| 109 | + /// <summary> | |
| 110 | + /// 作废备注 | |
| 111 | + /// </summary> | |
| 112 | + public string cancelRemark { get; set; } | |
| 113 | + | |
| 94 | 114 | /// <summary> |
| 95 | 115 | /// 健康师业绩 |
| 96 | 116 | /// </summary> |
| 97 | 117 | public List<LqXhJksyjInfoOutput> lqXhJksyjList { get; set; } |
| 98 | - | |
| 118 | + | |
| 99 | 119 | /// <summary> |
| 100 | 120 | /// 科技部老师业绩 |
| 101 | 121 | /// </summary> |
| 102 | 122 | public List<LqXhKjbsyjInfoOutput> lqXhKjbsyjList { get; set; } |
| 103 | - | |
| 123 | + | |
| 104 | 124 | /// <summary> |
| 105 | 125 | /// 耗卡_品项明细 |
| 106 | 126 | /// </summary> |
| 107 | 127 | public List<LqXhPxmxInfoOutput> lqXhPxmxList { get; set; } |
| 108 | - | |
| 128 | + | |
| 109 | 129 | } |
| 110 | 130 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkListOutput.cs
| 1 | 1 | using System; |
| 2 | +using System.Collections.Generic; | |
| 3 | +using NCC.Extend.Entitys.Dto.LqXhPxmx; | |
| 2 | 4 | |
| 3 | 5 | namespace NCC.Extend.Entitys.Dto.LqXhHyhk |
| 4 | 6 | { |
| ... | ... | @@ -77,5 +79,20 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk |
| 77 | 79 | /// </summary> |
| 78 | 80 | public string czry { get; set; } |
| 79 | 81 | |
| 82 | + /// <summary> | |
| 83 | + /// 耗卡明细列表 | |
| 84 | + /// </summary> | |
| 85 | + public List<LqXhPxmxInfoOutput> ConsumeDetails { get; set; } | |
| 86 | + | |
| 87 | + /// <summary> | |
| 88 | + /// 签名文件 | |
| 89 | + /// </summary> | |
| 90 | + public string signatureFile { get; set; } | |
| 91 | + | |
| 92 | + /// <summary> | |
| 93 | + /// 是否有效 | |
| 94 | + /// </summary> | |
| 95 | + public int isEffective { get; set; } | |
| 96 | + | |
| 80 | 97 | } |
| 81 | 98 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXmzl/LqXmzlListOutput.cs
| ... | ... | @@ -11,97 +11,97 @@ namespace NCC.Extend.Entitys.Dto.LqXmzl |
| 11 | 11 | /// 主键 |
| 12 | 12 | /// </summary> |
| 13 | 13 | public string id { get; set; } |
| 14 | - | |
| 14 | + | |
| 15 | 15 | /// <summary> |
| 16 | 16 | /// 项目编号 |
| 17 | 17 | /// </summary> |
| 18 | 18 | public string xmbh { get; set; } |
| 19 | - | |
| 19 | + | |
| 20 | 20 | /// <summary> |
| 21 | 21 | /// 项目名称 |
| 22 | 22 | /// </summary> |
| 23 | 23 | public string xmmc { get; set; } |
| 24 | - | |
| 24 | + | |
| 25 | 25 | /// <summary> |
| 26 | 26 | /// 标准价格 |
| 27 | 27 | /// </summary> |
| 28 | 28 | public decimal bzjg { get; set; } |
| 29 | - | |
| 29 | + | |
| 30 | 30 | /// <summary> |
| 31 | 31 | /// 项目时长(分钟) |
| 32 | 32 | /// </summary> |
| 33 | 33 | public int? xmsc { get; set; } |
| 34 | - | |
| 34 | + | |
| 35 | 35 | /// <summary> |
| 36 | 36 | /// 基础服务提成 |
| 37 | 37 | /// </summary> |
| 38 | 38 | public decimal jcfwtc { get; set; } |
| 39 | - | |
| 39 | + | |
| 40 | 40 | /// <summary> |
| 41 | 41 | /// 分类①-汇总表 |
| 42 | 42 | /// </summary> |
| 43 | 43 | public string fl1 { get; set; } |
| 44 | - | |
| 44 | + | |
| 45 | 45 | /// <summary> |
| 46 | 46 | /// 分类②-汇总表 |
| 47 | 47 | /// </summary> |
| 48 | 48 | public string fl2 { get; set; } |
| 49 | - | |
| 49 | + | |
| 50 | 50 | /// <summary> |
| 51 | 51 | /// 分类③-工资用 |
| 52 | 52 | /// </summary> |
| 53 | 53 | public string fl3 { get; set; } |
| 54 | - | |
| 54 | + | |
| 55 | 55 | /// <summary> |
| 56 | 56 | /// 分类④-统计品项用 |
| 57 | 57 | /// </summary> |
| 58 | 58 | public string fl4 { get; set; } |
| 59 | - | |
| 59 | + | |
| 60 | 60 | /// <summary> |
| 61 | 61 | /// 统计类别 |
| 62 | 62 | /// </summary> |
| 63 | 63 | public string tjlb { get; set; } |
| 64 | - | |
| 64 | + | |
| 65 | 65 | /// <summary> |
| 66 | 66 | /// 折扣类别 |
| 67 | 67 | /// </summary> |
| 68 | 68 | public string zklb { get; set; } |
| 69 | - | |
| 69 | + | |
| 70 | 70 | /// <summary> |
| 71 | 71 | /// 分类 |
| 72 | 72 | /// </summary> |
| 73 | 73 | public string fl { get; set; } |
| 74 | - | |
| 74 | + | |
| 75 | 75 | /// <summary> |
| 76 | 76 | /// 其它1 |
| 77 | 77 | /// </summary> |
| 78 | 78 | public string qt1 { get; set; } |
| 79 | - | |
| 79 | + | |
| 80 | 80 | /// <summary> |
| 81 | 81 | /// 其它2 |
| 82 | 82 | /// </summary> |
| 83 | 83 | public string qt2 { get; set; } |
| 84 | - | |
| 84 | + | |
| 85 | 85 | /// <summary> |
| 86 | 86 | /// 溯源金额 |
| 87 | 87 | /// </summary> |
| 88 | 88 | public decimal? syje { get; set; } |
| 89 | - | |
| 89 | + | |
| 90 | 90 | /// <summary> |
| 91 | 91 | /// Cell金额 |
| 92 | 92 | /// </summary> |
| 93 | 93 | public decimal? cellje { get; set; } |
| 94 | - | |
| 94 | + | |
| 95 | 95 | /// <summary> |
| 96 | 96 | /// 手工费 |
| 97 | 97 | /// </summary> |
| 98 | 98 | public decimal? sgf { get; set; } |
| 99 | - | |
| 99 | + | |
| 100 | 100 | /// <summary> |
| 101 | 101 | /// 项目次数 |
| 102 | 102 | /// </summary> |
| 103 | 103 | public int? projectNumber { get; set; } |
| 104 | - | |
| 104 | + | |
| 105 | 105 | /// <summary> |
| 106 | 106 | /// 来源类型 |
| 107 | 107 | /// </summary> | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/Dto/LqMdXdbhsj/LqMdXdbhsjCrInput.cs
| ... | ... | @@ -38,5 +38,12 @@ namespace NCC.Extend.Entitys.Dto.LqMdXdbhsj |
| 38 | 38 | [Required(ErrorMessage = "是否启用不能为空")] |
| 39 | 39 | [Range(0, 1, ErrorMessage = "是否启用值必须在0-1之间")] |
| 40 | 40 | public int sfqy { get; set; } = 1; |
| 41 | + | |
| 42 | + /// <summary> | |
| 43 | + /// 阶段 | |
| 44 | + /// </summary> | |
| 45 | + [Required(ErrorMessage = "阶段不能为空")] | |
| 46 | + [Range(0, 1, ErrorMessage = "阶段值必须在1-3之间")] | |
| 47 | + public int stage { get; set; } = 1; | |
| 41 | 48 | } |
| 42 | 49 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/Dto/LqMdXdbhsj/LqMdXdbhsjInfoOutput.cs
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/Dto/LqMdXdbhsj/LqMdXdbhsjListOutput.cs
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/Dto/LqMdXdbhsj/LqMdXdbhsjUpInput.cs
| ... | ... | @@ -38,5 +38,12 @@ namespace NCC.Extend.Entitys.Dto.LqMdXdbhsj |
| 38 | 38 | [Required(ErrorMessage = "是否启用不能为空")] |
| 39 | 39 | [Range(0, 1, ErrorMessage = "是否启用值必须在0-1之间")] |
| 40 | 40 | public int sfqy { get; set; } |
| 41 | + | |
| 42 | + /// <summary> | |
| 43 | + /// 阶段 | |
| 44 | + /// </summary> | |
| 45 | + [Required(ErrorMessage = "阶段不能为空")] | |
| 46 | + [Range(0, 1, ErrorMessage = "阶段值必须在1-3之间")] | |
| 47 | + public int stage { get; set; } = 1; | |
| 41 | 48 | } |
| 42 | 49 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_hytk/LqHytkHytkEntity.cs
| ... | ... | @@ -137,5 +137,11 @@ namespace NCC.Extend.Entitys.lq_hytk_hytk |
| 137 | 137 | /// </summary> |
| 138 | 138 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 139 | 139 | public int IsEffective { get; set; } = StatusEnum.有效.GetHashCode(); |
| 140 | + | |
| 141 | + /// <summary> | |
| 142 | + /// 签名文件 | |
| 143 | + /// </summary> | |
| 144 | + [SugarColumn(ColumnName = "F_SignatureFile")] | |
| 145 | + public string SignatureFile { get; set; } | |
| 140 | 146 | } |
| 141 | 147 | } |
| 142 | 148 | \ No newline at end of file | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_kdjlb/LqKdKdjlbEntity.cs
| ... | ... | @@ -157,24 +157,6 @@ namespace NCC.Extend.Entitys.lq_kd_kdjlb |
| 157 | 157 | public string Kdhysjh { get; set; } |
| 158 | 158 | |
| 159 | 159 | /// <summary> |
| 160 | - /// 健康师业绩 | |
| 161 | - /// </summary> | |
| 162 | - [SugarColumn(ColumnName = "jksyj")] | |
| 163 | - public string Jksyj { get; set; } | |
| 164 | - | |
| 165 | - /// <summary> | |
| 166 | - /// 科技部老师业绩 | |
| 167 | - /// </summary> | |
| 168 | - [SugarColumn(ColumnName = "kjblsyj")] | |
| 169 | - public string Kjblsyj { get; set; } | |
| 170 | - | |
| 171 | - /// <summary> | |
| 172 | - /// 品项信息 | |
| 173 | - /// </summary> | |
| 174 | - [SugarColumn(ColumnName = "pxxx")] | |
| 175 | - public string Pxxx { get; set; } | |
| 176 | - | |
| 177 | - /// <summary> | |
| 178 | 160 | /// 开单用户 |
| 179 | 161 | /// </summary> |
| 180 | 162 | [SugarColumn(ColumnName = "F_CreateUser")] | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_md_xdbhsj/LqMdXdbhsjEntity.cs
| ... | ... | @@ -16,42 +16,48 @@ namespace NCC.Extend.Entitys.lq_md_xdbhsj |
| 16 | 16 | /// </summary> |
| 17 | 17 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] |
| 18 | 18 | public string Id { get; set; } |
| 19 | - | |
| 19 | + | |
| 20 | 20 | /// <summary> |
| 21 | 21 | /// 门店ID |
| 22 | 22 | /// </summary> |
| 23 | - [SugarColumn(ColumnName = "mdid")] | |
| 23 | + [SugarColumn(ColumnName = "mdid")] | |
| 24 | 24 | public string Mdid { get; set; } |
| 25 | - | |
| 25 | + | |
| 26 | 26 | /// <summary> |
| 27 | 27 | /// 保护开始时间 |
| 28 | 28 | /// </summary> |
| 29 | - [SugarColumn(ColumnName = "bhkssj")] | |
| 29 | + [SugarColumn(ColumnName = "bhkssj")] | |
| 30 | 30 | public DateTime Bhkssj { get; set; } |
| 31 | - | |
| 31 | + | |
| 32 | 32 | /// <summary> |
| 33 | 33 | /// 保护结束时间 |
| 34 | 34 | /// </summary> |
| 35 | - [SugarColumn(ColumnName = "bhjssj")] | |
| 35 | + [SugarColumn(ColumnName = "bhjssj")] | |
| 36 | 36 | public DateTime Bhjssj { get; set; } |
| 37 | - | |
| 37 | + | |
| 38 | 38 | /// <summary> |
| 39 | 39 | /// 说明 |
| 40 | 40 | /// </summary> |
| 41 | - [SugarColumn(ColumnName = "sm")] | |
| 41 | + [SugarColumn(ColumnName = "sm")] | |
| 42 | 42 | public string Sm { get; set; } |
| 43 | - | |
| 43 | + | |
| 44 | 44 | /// <summary> |
| 45 | 45 | /// 创建时间 |
| 46 | 46 | /// </summary> |
| 47 | - [SugarColumn(ColumnName = "cjsj")] | |
| 47 | + [SugarColumn(ColumnName = "cjsj")] | |
| 48 | 48 | public DateTime Cjsj { get; set; } |
| 49 | - | |
| 49 | + | |
| 50 | 50 | /// <summary> |
| 51 | 51 | /// 是否启用(1启用,0禁用) |
| 52 | 52 | /// </summary> |
| 53 | - [SugarColumn(ColumnName = "sfqy")] | |
| 53 | + [SugarColumn(ColumnName = "sfqy")] | |
| 54 | 54 | public int Sfqy { get; set; } |
| 55 | - | |
| 55 | + | |
| 56 | + /// <summary> | |
| 57 | + /// 阶段 | |
| 58 | + /// </summary> | |
| 59 | + [SugarColumn(ColumnName = "F_Stage")] | |
| 60 | + public int Stage { get; set; } | |
| 61 | + | |
| 56 | 62 | } |
| 57 | 63 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_mdxx/LqMdxxEntity.cs
| ... | ... | @@ -16,168 +16,174 @@ namespace NCC.Extend.Entitys.lq_mdxx |
| 16 | 16 | /// </summary> |
| 17 | 17 | [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)] |
| 18 | 18 | public string Id { get; set; } |
| 19 | - | |
| 19 | + | |
| 20 | 20 | /// <summary> |
| 21 | 21 | /// 门店编码 |
| 22 | 22 | /// </summary> |
| 23 | - [SugarColumn(ColumnName = "mdbm")] | |
| 23 | + [SugarColumn(ColumnName = "mdbm")] | |
| 24 | 24 | public string Mdbm { get; set; } |
| 25 | - | |
| 25 | + | |
| 26 | 26 | /// <summary> |
| 27 | 27 | /// 单据门店编号 |
| 28 | 28 | /// </summary> |
| 29 | - [SugarColumn(ColumnName = "djmdbh")] | |
| 29 | + [SugarColumn(ColumnName = "djmdbh")] | |
| 30 | 30 | public string Djmdbh { get; set; } |
| 31 | - | |
| 31 | + | |
| 32 | 32 | /// <summary> |
| 33 | 33 | /// 单据门店 |
| 34 | 34 | /// </summary> |
| 35 | - [SugarColumn(ColumnName = "djmd")] | |
| 35 | + [SugarColumn(ColumnName = "djmd")] | |
| 36 | 36 | public string Djmd { get; set; } |
| 37 | - | |
| 37 | + | |
| 38 | 38 | /// <summary> |
| 39 | 39 | /// 店名 |
| 40 | 40 | /// </summary> |
| 41 | - [SugarColumn(ColumnName = "dm")] | |
| 41 | + [SugarColumn(ColumnName = "dm")] | |
| 42 | 42 | public string Dm { get; set; } |
| 43 | - | |
| 43 | + | |
| 44 | 44 | /// <summary> |
| 45 | 45 | /// 城市 |
| 46 | 46 | /// </summary> |
| 47 | - [SugarColumn(ColumnName = "cs")] | |
| 47 | + [SugarColumn(ColumnName = "cs")] | |
| 48 | 48 | public string Cs { get; set; } |
| 49 | - | |
| 49 | + | |
| 50 | 50 | /// <summary> |
| 51 | 51 | /// 地址 |
| 52 | 52 | /// </summary> |
| 53 | - [SugarColumn(ColumnName = "dz")] | |
| 53 | + [SugarColumn(ColumnName = "dz")] | |
| 54 | 54 | public string Dz { get; set; } |
| 55 | - | |
| 55 | + | |
| 56 | 56 | /// <summary> |
| 57 | 57 | /// 姓名 |
| 58 | 58 | /// </summary> |
| 59 | - [SugarColumn(ColumnName = "xm")] | |
| 59 | + [SugarColumn(ColumnName = "xm")] | |
| 60 | 60 | public string Xm { get; set; } |
| 61 | - | |
| 61 | + | |
| 62 | 62 | /// <summary> |
| 63 | 63 | /// 电话号码 |
| 64 | 64 | /// </summary> |
| 65 | - [SugarColumn(ColumnName = "dhhm")] | |
| 65 | + [SugarColumn(ColumnName = "dhhm")] | |
| 66 | 66 | public string Dhhm { get; set; } |
| 67 | - | |
| 67 | + | |
| 68 | 68 | /// <summary> |
| 69 | 69 | /// 座机 |
| 70 | 70 | /// </summary> |
| 71 | - [SugarColumn(ColumnName = "zj")] | |
| 71 | + [SugarColumn(ColumnName = "zj")] | |
| 72 | 72 | public string Zj { get; set; } |
| 73 | - | |
| 73 | + | |
| 74 | 74 | /// <summary> |
| 75 | 75 | /// 开业时间 |
| 76 | 76 | /// </summary> |
| 77 | - [SugarColumn(ColumnName = "kysj")] | |
| 77 | + [SugarColumn(ColumnName = "kysj")] | |
| 78 | 78 | public DateTime? Kysj { get; set; } |
| 79 | - | |
| 79 | + | |
| 80 | 80 | /// <summary> |
| 81 | 81 | /// 最新状态 |
| 82 | 82 | /// </summary> |
| 83 | - [SugarColumn(ColumnName = "zxzt")] | |
| 83 | + [SugarColumn(ColumnName = "zxzt")] | |
| 84 | 84 | public string Zxzt { get; set; } |
| 85 | - | |
| 85 | + | |
| 86 | 86 | /// <summary> |
| 87 | 87 | /// 工商名称 |
| 88 | 88 | /// </summary> |
| 89 | - [SugarColumn(ColumnName = "gsmc")] | |
| 89 | + [SugarColumn(ColumnName = "gsmc")] | |
| 90 | 90 | public string Gsmc { get; set; } |
| 91 | - | |
| 91 | + | |
| 92 | 92 | /// <summary> |
| 93 | 93 | /// 法人 |
| 94 | 94 | /// </summary> |
| 95 | - [SugarColumn(ColumnName = "fr")] | |
| 95 | + [SugarColumn(ColumnName = "fr")] | |
| 96 | 96 | public string Fr { get; set; } |
| 97 | - | |
| 97 | + | |
| 98 | 98 | /// <summary> |
| 99 | 99 | /// 有无社保 |
| 100 | 100 | /// </summary> |
| 101 | - [SugarColumn(ColumnName = "ywsb")] | |
| 101 | + [SugarColumn(ColumnName = "ywsb")] | |
| 102 | 102 | public string Ywsb { get; set; } |
| 103 | - | |
| 103 | + | |
| 104 | 104 | /// <summary> |
| 105 | 105 | /// 事业部 |
| 106 | 106 | /// </summary> |
| 107 | - [SugarColumn(ColumnName = "syb")] | |
| 107 | + [SugarColumn(ColumnName = "syb")] | |
| 108 | 108 | public string Syb { get; set; } |
| 109 | - | |
| 109 | + | |
| 110 | 110 | /// <summary> |
| 111 | 111 | /// 教育部 |
| 112 | 112 | /// </summary> |
| 113 | - [SugarColumn(ColumnName = "jyb")] | |
| 113 | + [SugarColumn(ColumnName = "jyb")] | |
| 114 | 114 | public string Jyb { get; set; } |
| 115 | - | |
| 115 | + | |
| 116 | 116 | /// <summary> |
| 117 | 117 | /// 科技部 |
| 118 | 118 | /// </summary> |
| 119 | - [SugarColumn(ColumnName = "kjb")] | |
| 119 | + [SugarColumn(ColumnName = "kjb")] | |
| 120 | 120 | public string Kjb { get; set; } |
| 121 | - | |
| 121 | + | |
| 122 | 122 | /// <summary> |
| 123 | 123 | /// 大项目部 |
| 124 | 124 | /// </summary> |
| 125 | - [SugarColumn(ColumnName = "dxmb")] | |
| 125 | + [SugarColumn(ColumnName = "dxmb")] | |
| 126 | 126 | public string Dxmb { get; set; } |
| 127 | - | |
| 127 | + | |
| 128 | 128 | /// <summary> |
| 129 | 129 | /// 归属起始时间 |
| 130 | 130 | /// </summary> |
| 131 | - [SugarColumn(ColumnName = "gsqssj")] | |
| 131 | + [SugarColumn(ColumnName = "gsqssj")] | |
| 132 | 132 | public DateTime? Gsqssj { get; set; } |
| 133 | - | |
| 133 | + | |
| 134 | 134 | /// <summary> |
| 135 | 135 | /// 归属终止时间 |
| 136 | 136 | /// </summary> |
| 137 | - [SugarColumn(ColumnName = "gszzsj")] | |
| 137 | + [SugarColumn(ColumnName = "gszzsj")] | |
| 138 | 138 | public DateTime? Gszzsj { get; set; } |
| 139 | - | |
| 139 | + | |
| 140 | 140 | /// <summary> |
| 141 | 141 | /// 状态 |
| 142 | 142 | /// </summary> |
| 143 | - [SugarColumn(ColumnName = "status")] | |
| 143 | + [SugarColumn(ColumnName = "status")] | |
| 144 | 144 | public int? Status { get; set; } |
| 145 | - | |
| 145 | + | |
| 146 | 146 | /// <summary> |
| 147 | 147 | /// 目标-门店生命线 |
| 148 | 148 | /// </summary> |
| 149 | - [SugarColumn(ColumnName = "xsyj")] | |
| 149 | + [SugarColumn(ColumnName = "xsyj")] | |
| 150 | 150 | public decimal? Xsyj { get; set; } |
| 151 | - | |
| 151 | + | |
| 152 | 152 | /// <summary> |
| 153 | 153 | /// 目标-消耗业绩 |
| 154 | 154 | /// </summary> |
| 155 | - [SugarColumn(ColumnName = "xhyj")] | |
| 155 | + [SugarColumn(ColumnName = "xhyj")] | |
| 156 | 156 | public decimal? Xhyj { get; set; } |
| 157 | - | |
| 157 | + | |
| 158 | 158 | /// <summary> |
| 159 | 159 | /// 目标-项目数 |
| 160 | 160 | /// </summary> |
| 161 | - [SugarColumn(ColumnName = "xms")] | |
| 161 | + [SugarColumn(ColumnName = "xms")] | |
| 162 | 162 | public int? Xms { get; set; } |
| 163 | - | |
| 163 | + | |
| 164 | 164 | /// <summary> |
| 165 | 165 | /// 目标-人头1 |
| 166 | 166 | /// </summary> |
| 167 | - [SugarColumn(ColumnName = "rt1")] | |
| 167 | + [SugarColumn(ColumnName = "rt1")] | |
| 168 | 168 | public int? Rt1 { get; set; } |
| 169 | - | |
| 169 | + | |
| 170 | 170 | /// <summary> |
| 171 | 171 | /// 目标-人头2 |
| 172 | 172 | /// </summary> |
| 173 | - [SugarColumn(ColumnName = "rt2")] | |
| 173 | + [SugarColumn(ColumnName = "rt2")] | |
| 174 | 174 | public int? Rt2 { get; set; } |
| 175 | - | |
| 175 | + | |
| 176 | 176 | /// <summary> |
| 177 | 177 | /// 目标-人次 |
| 178 | 178 | /// </summary> |
| 179 | - [SugarColumn(ColumnName = "rc")] | |
| 179 | + [SugarColumn(ColumnName = "rc")] | |
| 180 | 180 | public int? Rc { get; set; } |
| 181 | - | |
| 181 | + | |
| 182 | + /// <summary> | |
| 183 | + /// 门店类型 | |
| 184 | + /// </summary> | |
| 185 | + [SugarColumn(ColumnName = "F_StoreType")] | |
| 186 | + public int? StoreType { get; set; } | |
| 187 | + | |
| 182 | 188 | } |
| 183 | 189 | } |
| 184 | 190 | \ No newline at end of file | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using NCC.Common.Const; | |
| 3 | +using SqlSugar; | |
| 4 | + | |
| 5 | +namespace NCC.Extend.Entitys.lq_xh_feedback | |
| 6 | +{ | |
| 7 | + /// <summary> | |
| 8 | + /// 耗卡反馈表 | |
| 9 | + /// </summary> | |
| 10 | + [SugarTable("lq_xh_feedback")] | |
| 11 | + [Tenant(ClaimConst.TENANT_ID)] | |
| 12 | + public class LqXhFeedbackEntity | |
| 13 | + { | |
| 14 | + /// <summary> | |
| 15 | + /// 反馈记录ID | |
| 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_ConsumeId")] | |
| 24 | + public string ConsumeId { get; set; } | |
| 25 | + | |
| 26 | + /// <summary> | |
| 27 | + /// 前图片 | |
| 28 | + /// </summary> | |
| 29 | + [SugarColumn(ColumnName = "F_BeforeImage")] | |
| 30 | + public string BeforeImage { get; set; } | |
| 31 | + | |
| 32 | + /// <summary> | |
| 33 | + /// 后图片 | |
| 34 | + /// </summary> | |
| 35 | + [SugarColumn(ColumnName = "F_AfterImage")] | |
| 36 | + public string AfterImage { get; set; } | |
| 37 | + | |
| 38 | + /// <summary> | |
| 39 | + /// 备注 | |
| 40 | + /// </summary> | |
| 41 | + [SugarColumn(ColumnName = "F_Remark")] | |
| 42 | + public string Remark { get; set; } | |
| 43 | + | |
| 44 | + /// <summary> | |
| 45 | + /// 添加人ID | |
| 46 | + /// </summary> | |
| 47 | + [SugarColumn(ColumnName = "F_CreateUser")] | |
| 48 | + public string CreateUser { get; set; } | |
| 49 | + | |
| 50 | + /// <summary> | |
| 51 | + /// 添加时间 | |
| 52 | + /// </summary> | |
| 53 | + [SugarColumn(ColumnName = "F_CreateTime")] | |
| 54 | + public DateTime CreateTime { get; set; } | |
| 55 | + | |
| 56 | + /// <summary> | |
| 57 | + /// 更新时间 | |
| 58 | + /// </summary> | |
| 59 | + [SugarColumn(ColumnName = "F_UpdateTime")] | |
| 60 | + public DateTime UpdateTime { get; set; } | |
| 61 | + } | |
| 62 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_hyhk/LqXhHyhkEntity.cs
| ... | ... | @@ -120,5 +120,11 @@ namespace NCC.Extend.Entitys.lq_xh_hyhk |
| 120 | 120 | /// </summary> |
| 121 | 121 | [SugarColumn(ColumnName = "F_IsEffective")] |
| 122 | 122 | public int IsEffective { get; set; } = StatusEnum.有效.GetHashCode(); |
| 123 | + | |
| 124 | + /// <summary> | |
| 125 | + /// 作废备注 | |
| 126 | + /// </summary> | |
| 127 | + [SugarColumn(ColumnName = "F_CancelRemark")] | |
| 128 | + public string CancelRemark { get; set; } | |
| 123 | 129 | } |
| 124 | 130 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Enum/StoreTypeEnum.cs
0 → 100644
| 1 | +using System.ComponentModel; | |
| 2 | + | |
| 3 | +namespace NCC.Extend.Entitys.Enum | |
| 4 | +{ | |
| 5 | + /// <summary> | |
| 6 | + /// 门店类别枚举 | |
| 7 | + /// </summary> | |
| 8 | + public enum StoreTypeEnum | |
| 9 | + { | |
| 10 | + /// <summary> | |
| 11 | + /// 200平门店 | |
| 12 | + /// </summary> | |
| 13 | + [Description("200平门店")] | |
| 14 | + 门店200平 = 1, | |
| 15 | + | |
| 16 | + /// <summary> | |
| 17 | + /// 旗舰店 | |
| 18 | + /// </summary> | |
| 19 | + [Description("旗舰店")] | |
| 20 | + 旗舰店 = 2, | |
| 21 | + } | |
| 22 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend.Interfaces/LqXhFeedback/ILqXhFeedbackService.cs
0 → 100644
netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
| ... | ... | @@ -544,24 +544,16 @@ namespace NCC.Extend.LqHytkHytk |
| 544 | 544 | _db.BeginTran(); |
| 545 | 545 | |
| 546 | 546 | // 1. 删除退卡品项明细记录 |
| 547 | - await _db.Deleteable<LqHytkMxEntity>() | |
| 548 | - .Where(x => x.RefundInfoId == id) | |
| 549 | - .ExecuteCommandAsync(); | |
| 547 | + await _db.Deleteable<LqHytkMxEntity>().Where(x => x.RefundInfoId == id).ExecuteCommandAsync(); | |
| 550 | 548 | |
| 551 | 549 | // 2. 删除退卡健康师业绩记录 |
| 552 | - await _db.Deleteable<LqHytkJksyjEntity>() | |
| 553 | - .Where(x => x.Gltkbh == id) | |
| 554 | - .ExecuteCommandAsync(); | |
| 550 | + await _db.Deleteable<LqHytkJksyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); | |
| 555 | 551 | |
| 556 | 552 | // 3. 删除退卡科技部老师业绩记录 |
| 557 | - await _db.Deleteable<LqHytkKjbsyjEntity>() | |
| 558 | - .Where(x => x.Gltkbh == id) | |
| 559 | - .ExecuteCommandAsync(); | |
| 553 | + await _db.Deleteable<LqHytkKjbsyjEntity>().Where(x => x.Gltkbh == id).ExecuteCommandAsync(); | |
| 560 | 554 | |
| 561 | 555 | // 4. 删除退卡主表记录 |
| 562 | - await _db.Deleteable<LqHytkHytkEntity>() | |
| 563 | - .Where(x => x.Id == id) | |
| 564 | - .ExecuteCommandAsync(); | |
| 556 | + await _db.Deleteable<LqHytkHytkEntity>().Where(x => x.Id == id).ExecuteCommandAsync(); | |
| 565 | 557 | |
| 566 | 558 | // 提交事务 |
| 567 | 559 | _db.CommitTran(); | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
| ... | ... | @@ -113,7 +113,10 @@ namespace NCC.Extend.LqKdKdjlb |
| 113 | 113 | } |
| 114 | 114 | |
| 115 | 115 | var output = entity.Adapt<LqKdKdjlbInfoOutput>(); |
| 116 | - | |
| 116 | + //获取会员信息 | |
| 117 | + var MemberInfo = await _db.Queryable<LqKhxxEntity>().FirstAsync(p => p.Id == entity.Kdhy); | |
| 118 | + output.kdhyc = MemberInfo.Khmc; | |
| 119 | + output.kdhysjh = MemberInfo.Sjh; | |
| 117 | 120 | // 2. 查询品项明细列表 |
| 118 | 121 | var lqKdPxmxList = await _db.Queryable<LqKdPxmxEntity>().Where(w => w.Glkdbh == entity.Id).ToListAsync(); |
| 119 | 122 | |
| ... | ... | @@ -217,9 +220,6 @@ namespace NCC.Extend.LqKdKdjlb |
| 217 | 220 | .WhereIF(!string.IsNullOrEmpty(input.kdhy), p => p.Kdhy.Equals(input.kdhy)) |
| 218 | 221 | .WhereIF(!string.IsNullOrEmpty(input.kdhyc), p => p.Kdhyc.Contains(input.kdhyc)) |
| 219 | 222 | .WhereIF(!string.IsNullOrEmpty(input.kdhysjh), p => p.Kdhysjh.Contains(input.kdhysjh)) |
| 220 | - .WhereIF(!string.IsNullOrEmpty(input.jksyj), p => p.Jksyj.Contains(input.jksyj)) | |
| 221 | - .WhereIF(!string.IsNullOrEmpty(input.kjblsyj), p => p.Kjblsyj.Contains(input.kjblsyj)) | |
| 222 | - .WhereIF(!string.IsNullOrEmpty(input.pxxx), p => p.Pxxx.Contains(input.pxxx)) | |
| 223 | 223 | .WhereIF(!string.IsNullOrEmpty(input.F_FIleUrl), p => p.F_FIleUrl.Contains(input.F_FIleUrl)) |
| 224 | 224 | .WhereIF(!string.IsNullOrEmpty(input.CreateUser), p => p.CreateUser.Equals(input.CreateUser)) |
| 225 | 225 | .Select(it => new LqKdKdjlbListOutput |
| ... | ... | @@ -244,11 +244,8 @@ namespace NCC.Extend.LqKdKdjlb |
| 244 | 244 | jj = it.Jj, |
| 245 | 245 | bz = it.Bz, |
| 246 | 246 | kdhy = it.Kdhy, |
| 247 | - kdhyc = it.Kdhyc, | |
| 248 | - kdhysjh = it.Kdhysjh, | |
| 249 | - jksyj = it.Jksyj, | |
| 250 | - kjblsyj = it.Kjblsyj, | |
| 251 | - pxxx = it.Pxxx, | |
| 247 | + kdhyc = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Khmc), | |
| 248 | + kdhysjh = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Sjh), | |
| 252 | 249 | IsEffective = it.IsEffective, |
| 253 | 250 | CreateUser = it.CreateUser, |
| 254 | 251 | CreateUserName = SqlFunc.Subqueryable<UserEntity>().Where(x => x.Id == it.CreateUser).Select(x => x.RealName), |
| ... | ... | @@ -476,7 +473,7 @@ namespace NCC.Extend.LqKdKdjlb |
| 476 | 473 | //通过开单记录表查询这个会员开单金额 |
| 477 | 474 | var kdAmount = await _db.Queryable<LqKdKdjlbEntity>().Where(u => u.Kdhy == entity.Kdhy).SumAsync(u => u.Sfyj); |
| 478 | 475 | //如果开单金额小于500,为散客,如果大于500,为会员 |
| 479 | - if (kdAmount < 500) | |
| 476 | + if (kdAmount < 500 && kdAmount > 0) | |
| 480 | 477 | { |
| 481 | 478 | memberInfo.Khlx = MemberTypeEnum.散客.GetHashCode().ToString(); |
| 482 | 479 | } |
| ... | ... | @@ -784,9 +781,6 @@ namespace NCC.Extend.LqKdKdjlb |
| 784 | 781 | .WhereIF(!string.IsNullOrEmpty(input.kdhy), p => p.Kdhy.Equals(input.kdhy)) |
| 785 | 782 | .WhereIF(!string.IsNullOrEmpty(input.kdhyc), p => p.Kdhyc.Contains(input.kdhyc)) |
| 786 | 783 | .WhereIF(!string.IsNullOrEmpty(input.kdhysjh), p => p.Kdhysjh.Contains(input.kdhysjh)) |
| 787 | - .WhereIF(!string.IsNullOrEmpty(input.jksyj), p => p.Jksyj.Contains(input.jksyj)) | |
| 788 | - .WhereIF(!string.IsNullOrEmpty(input.kjblsyj), p => p.Kjblsyj.Contains(input.kjblsyj)) | |
| 789 | - .WhereIF(!string.IsNullOrEmpty(input.pxxx), p => p.Pxxx.Contains(input.pxxx)) | |
| 790 | 784 | .WhereIF(!string.IsNullOrEmpty(input.F_FIleUrl), p => p.F_FIleUrl.Contains(input.F_FIleUrl)) |
| 791 | 785 | .Select(it => new LqKdKdjlbListOutput |
| 792 | 786 | { |
| ... | ... | @@ -812,9 +806,6 @@ namespace NCC.Extend.LqKdKdjlb |
| 812 | 806 | kdhy = it.Kdhy, |
| 813 | 807 | kdhyc = it.Kdhyc, |
| 814 | 808 | kdhysjh = it.Kdhysjh, |
| 815 | - jksyj = it.Jksyj, | |
| 816 | - kjblsyj = it.Kjblsyj, | |
| 817 | - pxxx = it.Pxxx, | |
| 818 | 809 | F_FIleUrl = it.F_FIleUrl, |
| 819 | 810 | }) |
| 820 | 811 | .MergeTable() |
| ... | ... | @@ -1432,28 +1423,16 @@ namespace NCC.Extend.LqKdKdjlb |
| 1432 | 1423 | await _db.Updateable(entity).ExecuteCommandAsync(); |
| 1433 | 1424 | |
| 1434 | 1425 | // 标记对应开单明细表为无效 |
| 1435 | - await _db.Updateable<LqKdPxmxEntity>() | |
| 1436 | - .SetColumns(it => new LqKdPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }) | |
| 1437 | - .Where(it => it.Glkdbh == input.Id) | |
| 1438 | - .ExecuteCommandAsync(); | |
| 1426 | + await _db.Updateable<LqKdPxmxEntity>().SetColumns(it => new LqKdPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(it => it.Glkdbh == input.Id).ExecuteCommandAsync(); | |
| 1439 | 1427 | |
| 1440 | 1428 | // 标记健康师业绩为无效 |
| 1441 | - await _db.Updateable<LqKdJksyjEntity>() | |
| 1442 | - .SetColumns(it => new LqKdJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }) | |
| 1443 | - .Where(it => it.Glkdbh == input.Id) | |
| 1444 | - .ExecuteCommandAsync(); | |
| 1429 | + await _db.Updateable<LqKdJksyjEntity>().SetColumns(it => new LqKdJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(it => it.Glkdbh == input.Id).ExecuteCommandAsync(); | |
| 1445 | 1430 | |
| 1446 | 1431 | // 标记科技部老师业绩为无效 |
| 1447 | - await _db.Updateable<LqKdKjbsyjEntity>() | |
| 1448 | - .SetColumns(it => new LqKdKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }) | |
| 1449 | - .Where(it => it.Glkdbh == input.Id) | |
| 1450 | - .ExecuteCommandAsync(); | |
| 1432 | + await _db.Updateable<LqKdKjbsyjEntity>().SetColumns(it => new LqKdKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(it => it.Glkdbh == input.Id).ExecuteCommandAsync(); | |
| 1451 | 1433 | |
| 1452 | 1434 | // 标记开单_储扣详细表为无效 |
| 1453 | - await _db.Updateable<LqKdDeductinfoEntity>() | |
| 1454 | - .SetColumns(it => new LqKdDeductinfoEntity { IsEffective = StatusEnum.无效.GetHashCode() }) | |
| 1455 | - .Where(it => it.BillingId == input.Id) | |
| 1456 | - .ExecuteCommandAsync(); | |
| 1435 | + await _db.Updateable<LqKdDeductinfoEntity>().SetColumns(it => new LqKdDeductinfoEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(it => it.BillingId == input.Id).ExecuteCommandAsync(); | |
| 1457 | 1436 | |
| 1458 | 1437 | //关闭事务 |
| 1459 | 1438 | _db.CommitTran(); |
| ... | ... | @@ -1715,11 +1694,8 @@ namespace NCC.Extend.LqKdKdjlb |
| 1715 | 1694 | jj = it.Jj, |
| 1716 | 1695 | bz = it.Bz, |
| 1717 | 1696 | kdhy = it.Kdhy, |
| 1718 | - kdhyc = it.Kdhyc, | |
| 1719 | - kdhysjh = it.Kdhysjh, | |
| 1720 | - jksyj = it.Jksyj, | |
| 1721 | - kjblsyj = it.Kjblsyj, | |
| 1722 | - pxxx = it.Pxxx, | |
| 1697 | + kdhyc = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Khmc), | |
| 1698 | + kdhysjh = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Sjh), | |
| 1723 | 1699 | IsEffective = it.IsEffective, |
| 1724 | 1700 | CreateUser = it.CreateUser, |
| 1725 | 1701 | CreateUserName = SqlFunc.Subqueryable<UserEntity>().Where(x => x.Id == it.CreateUser).Select(x => x.RealName), |
| ... | ... | @@ -1737,6 +1713,130 @@ namespace NCC.Extend.LqKdKdjlb |
| 1737 | 1713 | } |
| 1738 | 1714 | #endregion |
| 1739 | 1715 | |
| 1716 | + #region 获取某个会员的开单记录 | |
| 1717 | + /// <summary> | |
| 1718 | + /// 获取某个会员的开单记录 | |
| 1719 | + /// </summary> | |
| 1720 | + /// <remarks> | |
| 1721 | + /// 根据会员ID查询该会员的所有开单记录,支持分页和时间筛选 | |
| 1722 | + /// | |
| 1723 | + /// 示例请求: | |
| 1724 | + /// ```json | |
| 1725 | + /// { | |
| 1726 | + /// "memberId": "会员ID", | |
| 1727 | + /// "storeId": "门店ID", | |
| 1728 | + /// "startTime": "2025-01-01", | |
| 1729 | + /// "endTime": "2025-12-31", | |
| 1730 | + /// "currentPage": 1, | |
| 1731 | + /// "pageSize": 20 | |
| 1732 | + /// } | |
| 1733 | + /// ``` | |
| 1734 | + /// | |
| 1735 | + /// 参数说明: | |
| 1736 | + /// - memberId: 会员ID(必填) | |
| 1737 | + /// - storeId: 门店ID(可选) | |
| 1738 | + /// - startTime: 开始时间(可选) | |
| 1739 | + /// - endTime: 结束时间(可选) | |
| 1740 | + /// - currentPage: 当前页码 | |
| 1741 | + /// - pageSize: 每页大小 | |
| 1742 | + /// </remarks> | |
| 1743 | + /// <param name="input">查询参数</param> | |
| 1744 | + /// <returns>分页的开单记录列表</returns> | |
| 1745 | + /// <response code="200">成功返回会员开单记录列表</response> | |
| 1746 | + /// <response code="400">参数错误</response> | |
| 1747 | + /// <response code="500">服务器错误</response> | |
| 1748 | + [HttpGet("GetBillingRecordByMemberId")] | |
| 1749 | + public async Task<dynamic> GetBillingRecordByMemberId([FromQuery] BillingRecordQueryInput input) | |
| 1750 | + { | |
| 1751 | + try | |
| 1752 | + { | |
| 1753 | + var sidx = input.sidx == null ? "kdrq" : input.sidx; | |
| 1754 | + | |
| 1755 | + var data = await _db.Queryable<LqKdKdjlbEntity>() | |
| 1756 | + .Where(p => p.Kdhy == input.MemberId) | |
| 1757 | + .WhereIF(input.StartTime.HasValue, p => p.Kdrq >= input.StartTime.Value) | |
| 1758 | + .WhereIF(input.EndTime.HasValue, p => p.Kdrq <= input.EndTime.Value) | |
| 1759 | + .Select(it => new LqKdKdjlbListOutput | |
| 1760 | + { | |
| 1761 | + id = it.Id, | |
| 1762 | + djmd = it.Djmd, | |
| 1763 | + jsj = it.Jsj, | |
| 1764 | + kdrq = it.Kdrq, | |
| 1765 | + gjlx = it.Gjlx, | |
| 1766 | + hgjg = it.Hgjg, | |
| 1767 | + zdyj = it.Zdyj, | |
| 1768 | + sfyj = it.Sfyj, | |
| 1769 | + qk = it.Qk, | |
| 1770 | + ckfs = it.Ckfs, | |
| 1771 | + fkfs = it.Fkfs, | |
| 1772 | + fkyy = it.Fkyy, | |
| 1773 | + fkpd = it.Fkpd, | |
| 1774 | + khly = it.Khly, | |
| 1775 | + tjr = it.Tjr, | |
| 1776 | + deductAmount = it.DeductAmount, | |
| 1777 | + sfskdd = it.Sfskdd, | |
| 1778 | + jj = it.Jj, | |
| 1779 | + bz = it.Bz, | |
| 1780 | + kdhy = it.Kdhy, | |
| 1781 | + kdhyc = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Khmc), | |
| 1782 | + kdhysjh = SqlFunc.Subqueryable<LqKhxxEntity>().Where(x => x.Id == it.Kdhy).Select(x => x.Sjh), | |
| 1783 | + IsEffective = it.IsEffective, | |
| 1784 | + CreateUser = it.CreateUser, | |
| 1785 | + CreateUserName = SqlFunc.Subqueryable<UserEntity>().Where(x => x.Id == it.CreateUser).Select(x => x.RealName), | |
| 1786 | + }) | |
| 1787 | + .MergeTable() | |
| 1788 | + .OrderBy(sidx + " " + input.sort) | |
| 1789 | + .ToPagedListAsync(input.currentPage, input.pageSize); | |
| 1790 | + | |
| 1791 | + // 获取当前页的开单记录ID列表 | |
| 1792 | + var billingIds = data.list.Select(x => x.id).ToList(); | |
| 1793 | + | |
| 1794 | + // 批量查询品项明细 | |
| 1795 | + var itemDetails = new List<LqKdPxmxInfoOutput>(); | |
| 1796 | + if (billingIds.Any()) | |
| 1797 | + { | |
| 1798 | + itemDetails = await _db.Queryable<LqKdPxmxEntity>() | |
| 1799 | + .Where(x => billingIds.Contains(x.Glkdbh) && x.IsEffective == StatusEnum.有效.GetHashCode()) | |
| 1800 | + .Select(x => new LqKdPxmxInfoOutput | |
| 1801 | + { | |
| 1802 | + id = x.Id, | |
| 1803 | + glkdbh = x.Glkdbh, | |
| 1804 | + px = x.Px, | |
| 1805 | + pxmc = x.Pxmc, | |
| 1806 | + pxjg = x.Pxjg, | |
| 1807 | + projectNumber = x.ProjectNumber, | |
| 1808 | + isEnabled = x.IsEnabled, | |
| 1809 | + sourceType = x.SourceType, | |
| 1810 | + memberId = x.MemberId, | |
| 1811 | + createTime = x.CreateTIme, | |
| 1812 | + totalPrice = x.TotalPrice, | |
| 1813 | + actualPrice = x.ActualPrice, | |
| 1814 | + remark = x.Remark, | |
| 1815 | + isEffective = x.IsEffective | |
| 1816 | + }) | |
| 1817 | + .ToListAsync(); | |
| 1818 | + } | |
| 1819 | + // 按开单ID分组品项明细 | |
| 1820 | + var itemDetailsGrouped = itemDetails.GroupBy(x => x.glkdbh) | |
| 1821 | + .ToDictionary(g => g.Key, g => g.ToList()); | |
| 1822 | + | |
| 1823 | + // 为每个开单记录分配品项明细 | |
| 1824 | + foreach (var item in data.list) | |
| 1825 | + { | |
| 1826 | + item.ItemDetails = itemDetailsGrouped.ContainsKey(item.id) | |
| 1827 | + ? itemDetailsGrouped[item.id] | |
| 1828 | + : new List<LqKdPxmxInfoOutput>(); | |
| 1829 | + } | |
| 1830 | + | |
| 1831 | + return PageResult<LqKdKdjlbListOutput>.SqlSugarPageResult(data); | |
| 1832 | + } | |
| 1833 | + catch (Exception ex) | |
| 1834 | + { | |
| 1835 | + throw NCCException.Oh($"获取会员开单记录失败: {ex.Message}"); | |
| 1836 | + } | |
| 1837 | + } | |
| 1838 | + #endregion | |
| 1839 | + | |
| 1740 | 1840 | #region 私有方法 |
| 1741 | 1841 | /// <summary> |
| 1742 | 1842 | /// 检查开单记录是否可以操作 | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| ... | ... | @@ -178,6 +178,7 @@ namespace NCC.Extend.LqKhxx |
| 178 | 178 | } |
| 179 | 179 | var entity = input.Adapt<LqKhxxEntity>(); |
| 180 | 180 | entity.Id = YitIdHelper.NextId().ToString(); |
| 181 | + entity.Dah = "LQ" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); | |
| 181 | 182 | // 处理客户消费字段:将数组转换为逗号分隔的字符串 |
| 182 | 183 | if (input.khxf != null && input.khxf.Count > 0) |
| 183 | 184 | { | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqMdXdbhsjService.cs
| ... | ... | @@ -85,6 +85,7 @@ namespace NCC.Extend.LqMdXdbhsj |
| 85 | 85 | sm = it.Sm, |
| 86 | 86 | cjsj = it.Cjsj, |
| 87 | 87 | sfqy = it.Sfqy, |
| 88 | + stage = it.Stage, | |
| 88 | 89 | }) |
| 89 | 90 | .MergeTable() |
| 90 | 91 | .OrderBy(sidx + " " + input.sort) |
| ... | ... | @@ -116,16 +117,12 @@ namespace NCC.Extend.LqMdXdbhsj |
| 116 | 117 | // 检查是否存在重叠的保护时间 |
| 117 | 118 | var exists = await _db.Queryable<LqMdXdbhsjEntity>() |
| 118 | 119 | .Where(p => p.Mdid == entity.Mdid && p.Sfqy == 1) |
| 119 | - .Where(p => | |
| 120 | - (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj) || (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj) || (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj) | |
| 121 | - ) | |
| 120 | + .Where(p => (p.Bhkssj <= entity.Bhkssj && p.Bhjssj > entity.Bhkssj) || (p.Bhkssj < entity.Bhjssj && p.Bhjssj >= entity.Bhjssj) || (p.Bhkssj >= entity.Bhkssj && p.Bhjssj <= entity.Bhjssj)) | |
| 122 | 121 | .AnyAsync(); |
| 123 | - | |
| 124 | 122 | if (exists) |
| 125 | 123 | { |
| 126 | 124 | throw NCCException.Oh("该门店在指定时间段内已存在保护时间设置"); |
| 127 | 125 | } |
| 128 | - | |
| 129 | 126 | var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |
| 130 | 127 | if (!(isOk > 0)) |
| 131 | 128 | throw NCCException.Oh(ErrorCode.COM1000); |
| ... | ... | @@ -201,6 +198,7 @@ namespace NCC.Extend.LqMdXdbhsj |
| 201 | 198 | id = it.Id, |
| 202 | 199 | fullName = it.Mdid, |
| 203 | 200 | enCode = it.Id, |
| 201 | + stage = it.Stage, | |
| 204 | 202 | }) |
| 205 | 203 | .ToListAsync(); |
| 206 | 204 | return new { list = list }; | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
| ... | ... | @@ -186,7 +186,7 @@ namespace NCC.Extend.LqTkjlb |
| 186 | 186 | MemberInfo.Khmc = entity.CustomerName; |
| 187 | 187 | MemberInfo.Sjh = input.customerPhone; // 设置手机号 |
| 188 | 188 | MemberInfo.Khlx = MemberTypeEnum.线索.GetHashCode().ToString(); |
| 189 | - MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); | |
| 189 | + MemberInfo.Dah = "LQ" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); | |
| 190 | 190 | MemberInfo.Jdqd = "19.9卡"; |
| 191 | 191 | |
| 192 | 192 | //找到input.expansionUserId的用户信息 |
| ... | ... | @@ -526,6 +526,5 @@ namespace NCC.Extend.LqTkjlb |
| 526 | 526 | } |
| 527 | 527 | #endregion |
| 528 | 528 | |
| 529 | - | |
| 530 | 529 | } |
| 531 | 530 | } | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs
0 → 100644
| 1 | +using System; | |
| 2 | +using System.Collections.Generic; | |
| 3 | +using System.Linq; | |
| 4 | +using System.Threading.Tasks; | |
| 5 | +using Mapster; | |
| 6 | +using Microsoft.AspNetCore.Mvc; | |
| 7 | +using Microsoft.Extensions.Logging; | |
| 8 | +using NCC.Common.Core.Manager; | |
| 9 | +using NCC.Common.Enum; | |
| 10 | +using NCC.Common.Filter; | |
| 11 | +using NCC.Common.Helper; | |
| 12 | +using NCC.Dependency; | |
| 13 | +using NCC.DynamicApiController; | |
| 14 | +using NCC.Extend.Entitys.Dto.LqXhFeedback; | |
| 15 | +using NCC.Extend.Entitys.lq_xh_feedback; | |
| 16 | +using NCC.Extend.Entitys.lq_xh_hyhk; | |
| 17 | +using NCC.Extend.Interfaces.LqXhFeedback; | |
| 18 | +using NCC.FriendlyException; | |
| 19 | +using NCC.System.Entitys.Permission; | |
| 20 | +using SqlSugar; | |
| 21 | +using Yitter.IdGenerator; | |
| 22 | + | |
| 23 | +namespace NCC.Extend | |
| 24 | +{ | |
| 25 | + /// <summary> | |
| 26 | + /// 绿纤耗卡服务日志服务 | |
| 27 | + /// </summary> | |
| 28 | + [ApiDescriptionSettings(Tag = "绿纤耗卡服务日志", Name = "LqXhFeedback", Order = 200, Groups = new[] { "Default" })] | |
| 29 | + [Route("api/Extend/[controller]")] | |
| 30 | + public class LqXhFeedbackService : ILqXhFeedbackService, IDynamicApiController, ITransient | |
| 31 | + { | |
| 32 | + private readonly ISqlSugarClient _db; | |
| 33 | + private readonly IUserManager _userManager; | |
| 34 | + private readonly ILogger<LqXhFeedbackService> _logger; | |
| 35 | + | |
| 36 | + public LqXhFeedbackService(ISqlSugarClient db, IUserManager userManager, ILogger<LqXhFeedbackService> logger) | |
| 37 | + { | |
| 38 | + _db = db; | |
| 39 | + _userManager = userManager; | |
| 40 | + _logger = logger; | |
| 41 | + } | |
| 42 | + | |
| 43 | + #region 获取耗卡反馈详情 | |
| 44 | + /// <summary> | |
| 45 | + /// 获取耗卡反馈详情 | |
| 46 | + /// </summary> | |
| 47 | + /// <remarks> | |
| 48 | + /// 根据反馈记录ID获取详细信息 | |
| 49 | + /// | |
| 50 | + /// 示例请求: | |
| 51 | + /// GET /api/Extend/LqXhFeedback/GetInfo/{id} | |
| 52 | + /// | |
| 53 | + /// 参数说明: | |
| 54 | + /// - id: 反馈记录ID(路径参数) | |
| 55 | + /// </remarks> | |
| 56 | + /// <param name="id">反馈记录ID</param> | |
| 57 | + /// <returns>耗卡反馈详情</returns> | |
| 58 | + /// <response code="200">成功返回耗卡反馈详情</response> | |
| 59 | + /// <response code="404">记录不存在</response> | |
| 60 | + /// <response code="500">服务器错误</response> | |
| 61 | + [HttpGet("GetInfo/{id}")] | |
| 62 | + public async Task<dynamic> GetInfo(string id) | |
| 63 | + { | |
| 64 | + try | |
| 65 | + { | |
| 66 | + var entity = await _db.Queryable<LqXhFeedbackEntity>().Where(p => p.Id == id).FirstAsync(); | |
| 67 | + if (entity == null) | |
| 68 | + { | |
| 69 | + throw NCCException.Oh(ErrorCode.COM1005, "耗卡反馈记录不存在"); | |
| 70 | + } | |
| 71 | + var output = entity.Adapt<LqXhFeedbackInfoOutput>(); | |
| 72 | + // 获取添加人姓名 | |
| 73 | + var createUser = await _db.Queryable<UserEntity>().Where(x => x.Id == entity.CreateUser).Select(x => x.RealName).FirstAsync(); | |
| 74 | + output.createUserName = createUser; | |
| 75 | + return output; | |
| 76 | + } | |
| 77 | + catch (Exception ex) | |
| 78 | + { | |
| 79 | + throw NCCException.Oh($"获取耗卡反馈详情失败: {ex.Message}"); | |
| 80 | + } | |
| 81 | + } | |
| 82 | + #endregion | |
| 83 | + | |
| 84 | + #region 创建耗卡反馈 | |
| 85 | + /// <summary> | |
| 86 | + /// 创建耗卡反馈 | |
| 87 | + /// </summary> | |
| 88 | + /// <remarks> | |
| 89 | + /// 创建新的耗卡反馈记录 | |
| 90 | + /// | |
| 91 | + /// 示例请求: | |
| 92 | + /// ```json | |
| 93 | + /// { | |
| 94 | + /// "consumeId": "耗卡记录ID", | |
| 95 | + /// "beforeImage": "前图片路径或Base64", | |
| 96 | + /// "afterImage": "后图片路径或Base64", | |
| 97 | + /// "remark": "反馈备注" | |
| 98 | + /// } | |
| 99 | + /// ``` | |
| 100 | + /// | |
| 101 | + /// 参数说明: | |
| 102 | + /// - consumeId: 耗卡记录ID(必填) | |
| 103 | + /// - beforeImage: 前图片(可选) | |
| 104 | + /// - afterImage: 后图片(可选) | |
| 105 | + /// - remark: 反馈备注(可选) | |
| 106 | + /// </remarks> | |
| 107 | + /// <param name="input">创建参数</param> | |
| 108 | + /// <returns>创建的耗卡反馈记录</returns> | |
| 109 | + /// <response code="200">成功创建耗卡反馈</response> | |
| 110 | + /// <response code="400">参数错误</response> | |
| 111 | + /// <response code="500">服务器错误</response> | |
| 112 | + [HttpPost("Create")] | |
| 113 | + public async Task<dynamic> Create([FromBody] LqXhFeedbackCrInput input) | |
| 114 | + { | |
| 115 | + try | |
| 116 | + { | |
| 117 | + // 验证耗卡记录是否存在 | |
| 118 | + var consumeRecord = await _db.Queryable<LqXhHyhkEntity>().Where(p => p.Id == input.ConsumeId).FirstAsync(); | |
| 119 | + if (consumeRecord == null) | |
| 120 | + { | |
| 121 | + throw NCCException.Oh(ErrorCode.COM1005, "耗卡记录不存在"); | |
| 122 | + } | |
| 123 | + var entity = input.Adapt<LqXhFeedbackEntity>(); | |
| 124 | + entity.Id = YitIdHelper.NextId().ToString(); | |
| 125 | + entity.CreateUser = _userManager.UserId; | |
| 126 | + entity.CreateTime = DateTime.Now; | |
| 127 | + entity.UpdateTime = DateTime.Now; | |
| 128 | + await _db.Insertable(entity).ExecuteCommandAsync(); | |
| 129 | + return entity.Adapt<LqXhFeedbackInfoOutput>(); | |
| 130 | + } | |
| 131 | + catch (Exception ex) | |
| 132 | + { | |
| 133 | + throw NCCException.Oh($"创建耗卡反馈失败: {ex.Message}"); | |
| 134 | + } | |
| 135 | + } | |
| 136 | + #endregion | |
| 137 | + | |
| 138 | + #region 更新耗卡反馈 | |
| 139 | + /// <summary> | |
| 140 | + /// 更新耗卡反馈 | |
| 141 | + /// </summary> | |
| 142 | + /// <remarks> | |
| 143 | + /// 更新现有的耗卡反馈记录 | |
| 144 | + /// | |
| 145 | + /// 示例请求: | |
| 146 | + /// ```json | |
| 147 | + /// { | |
| 148 | + /// "id": "反馈记录ID", | |
| 149 | + /// "consumeId": "耗卡记录ID", | |
| 150 | + /// "beforeImage": "前图片路径或Base64", | |
| 151 | + /// "afterImage": "后图片路径或Base64", | |
| 152 | + /// "remark": "反馈备注" | |
| 153 | + /// } | |
| 154 | + /// ``` | |
| 155 | + /// | |
| 156 | + /// 参数说明: | |
| 157 | + /// - id: 反馈记录ID(必填) | |
| 158 | + /// - consumeId: 耗卡记录ID(必填) | |
| 159 | + /// - beforeImage: 前图片(可选) | |
| 160 | + /// - afterImage: 后图片(可选) | |
| 161 | + /// - remark: 反馈备注(可选) | |
| 162 | + /// </remarks> | |
| 163 | + /// <param name="input">更新参数</param> | |
| 164 | + /// <returns>更新后的耗卡反馈记录</returns> | |
| 165 | + /// <response code="200">成功更新耗卡反馈</response> | |
| 166 | + /// <response code="400">参数错误</response> | |
| 167 | + /// <response code="404">记录不存在</response> | |
| 168 | + /// <response code="500">服务器错误</response> | |
| 169 | + [HttpPut("Update")] | |
| 170 | + public async Task<dynamic> Update([FromBody] LqXhFeedbackUpInput input) | |
| 171 | + { | |
| 172 | + try | |
| 173 | + { | |
| 174 | + var entity = await _db.Queryable<LqXhFeedbackEntity>().Where(p => p.Id == input.id).FirstAsync(); | |
| 175 | + if (entity == null) | |
| 176 | + { | |
| 177 | + throw NCCException.Oh(ErrorCode.COM1005, "耗卡反馈记录不存在"); | |
| 178 | + } | |
| 179 | + // 验证耗卡记录是否存在 | |
| 180 | + var consumeRecord = await _db.Queryable<LqXhHyhkEntity>().Where(p => p.Id == input.ConsumeId).FirstAsync(); | |
| 181 | + | |
| 182 | + if (consumeRecord == null) | |
| 183 | + { | |
| 184 | + throw NCCException.Oh(ErrorCode.COM1005, "耗卡记录不存在"); | |
| 185 | + } | |
| 186 | + entity.ConsumeId = input.ConsumeId; | |
| 187 | + entity.BeforeImage = input.BeforeImage; | |
| 188 | + entity.AfterImage = input.AfterImage; | |
| 189 | + entity.Remark = input.Remark; | |
| 190 | + entity.UpdateTime = DateTime.Now; | |
| 191 | + await _db.Updateable(entity).ExecuteCommandAsync(); | |
| 192 | + return entity.Adapt<LqXhFeedbackInfoOutput>(); | |
| 193 | + } | |
| 194 | + catch (Exception ex) | |
| 195 | + { | |
| 196 | + throw NCCException.Oh($"更新耗卡反馈失败: {ex.Message}"); | |
| 197 | + } | |
| 198 | + } | |
| 199 | + #endregion | |
| 200 | + | |
| 201 | + #region 删除耗卡反馈 | |
| 202 | + /// <summary> | |
| 203 | + /// 删除耗卡反馈 | |
| 204 | + /// </summary> | |
| 205 | + /// <remarks> | |
| 206 | + /// 根据反馈记录ID删除记录 | |
| 207 | + /// | |
| 208 | + /// 示例请求: | |
| 209 | + /// DELETE /api/Extend/LqXhFeedback/Delete/{id} | |
| 210 | + /// | |
| 211 | + /// 参数说明: | |
| 212 | + /// - id: 反馈记录ID(路径参数) | |
| 213 | + /// </remarks> | |
| 214 | + /// <param name="id">反馈记录ID</param> | |
| 215 | + /// <returns>删除结果</returns> | |
| 216 | + /// <response code="200">成功删除耗卡反馈</response> | |
| 217 | + /// <response code="404">记录不存在</response> | |
| 218 | + /// <response code="500">服务器错误</response> | |
| 219 | + [HttpDelete("Delete/{id}")] | |
| 220 | + public async Task<dynamic> Delete(string id) | |
| 221 | + { | |
| 222 | + try | |
| 223 | + { | |
| 224 | + var entity = await _db.Queryable<LqXhFeedbackEntity>() | |
| 225 | + .Where(p => p.Id == id) | |
| 226 | + .FirstAsync(); | |
| 227 | + | |
| 228 | + if (entity == null) | |
| 229 | + { | |
| 230 | + throw NCCException.Oh(ErrorCode.COM1005, "耗卡反馈记录不存在"); | |
| 231 | + } | |
| 232 | + | |
| 233 | + await _db.Deleteable<LqXhFeedbackEntity>() | |
| 234 | + .Where(p => p.Id == id) | |
| 235 | + .ExecuteCommandAsync(); | |
| 236 | + | |
| 237 | + return new { message = "删除成功" }; | |
| 238 | + } | |
| 239 | + catch (Exception ex) | |
| 240 | + { | |
| 241 | + throw NCCException.Oh($"删除耗卡反馈失败: {ex.Message}"); | |
| 242 | + } | |
| 243 | + } | |
| 244 | + #endregion | |
| 245 | + | |
| 246 | + #region 根据耗卡记录ID获取反馈 | |
| 247 | + /// <summary> | |
| 248 | + /// 根据耗卡记录ID获取反馈 | |
| 249 | + /// </summary> | |
| 250 | + /// <remarks> | |
| 251 | + /// 根据耗卡记录ID获取相关的所有反馈记录 | |
| 252 | + /// | |
| 253 | + /// 示例请求: | |
| 254 | + /// GET /api/Extend/LqXhFeedback/GetByConsumeId/{consumeId} | |
| 255 | + /// | |
| 256 | + /// 参数说明: | |
| 257 | + /// - consumeId: 耗卡记录ID(路径参数) | |
| 258 | + /// </remarks> | |
| 259 | + /// <param name="consumeId">耗卡记录ID</param> | |
| 260 | + /// <returns>耗卡反馈列表</returns> | |
| 261 | + /// <response code="200">成功返回耗卡反馈列表</response> | |
| 262 | + /// <response code="500">服务器错误</response> | |
| 263 | + [HttpGet("GetByConsumeId/{consumeId}")] | |
| 264 | + public async Task<dynamic> GetByConsumeId(string consumeId) | |
| 265 | + { | |
| 266 | + try | |
| 267 | + { | |
| 268 | + var data = await _db.Queryable<LqXhFeedbackEntity>() | |
| 269 | + .Where(p => p.ConsumeId == consumeId) | |
| 270 | + .OrderBy(p => p.CreateTime, OrderByType.Desc) | |
| 271 | + .Select(it => new LqXhFeedbackListOutput | |
| 272 | + { | |
| 273 | + id = it.Id, | |
| 274 | + consumeId = it.ConsumeId, | |
| 275 | + beforeImage = it.BeforeImage, | |
| 276 | + afterImage = it.AfterImage, | |
| 277 | + remark = it.Remark, | |
| 278 | + createUser = it.CreateUser, | |
| 279 | + createUserName = SqlFunc.Subqueryable<UserEntity>().Where(x => x.Id == it.CreateUser).Select(x => x.RealName), | |
| 280 | + createTime = it.CreateTime, | |
| 281 | + updateTime = it.UpdateTime | |
| 282 | + }) | |
| 283 | + .ToListAsync(); | |
| 284 | + | |
| 285 | + return data; | |
| 286 | + } | |
| 287 | + catch (Exception ex) | |
| 288 | + { | |
| 289 | + throw NCCException.Oh($"获取耗卡反馈失败: {ex.Message}"); | |
| 290 | + } | |
| 291 | + } | |
| 292 | + #endregion | |
| 293 | + } | |
| 294 | +} | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs
| ... | ... | @@ -104,6 +104,10 @@ namespace NCC.Extend.LqXhHyhk |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | 106 | var output = entity.Adapt<LqXhHyhkInfoOutput>(); |
| 107 | + //获取会员信息 | |
| 108 | + var MemberInfo = await _db.Queryable<LqKhxxEntity>().FirstAsync(p => p.Id == entity.Hy); | |
| 109 | + output.hymc = MemberInfo.Khmc; | |
| 110 | + output.memberPhone = MemberInfo.Sjh; | |
| 107 | 111 | |
| 108 | 112 | // 2. 查询品项明细列表 |
| 109 | 113 | var lqXhPxmxList = await _db.Queryable<LqXhPxmxEntity>().Where(w => w.ConsumeInfoId == entity.Id).ToListAsync(); |
| ... | ... | @@ -197,18 +201,59 @@ namespace NCC.Extend.LqXhHyhk |
| 197 | 201 | mdmc = it.Mdmc, |
| 198 | 202 | hy = it.Hy, |
| 199 | 203 | hyzh = it.Hyzh, |
| 200 | - hymc = it.Hymc, | |
| 204 | + hymc = SqlFunc.Subqueryable<LqKhxxEntity>().Where(w => w.Id == it.Hy).Select(w => w.Khmc), | |
| 201 | 205 | gklx = it.Gklx, |
| 202 | 206 | xfje = SqlFunc.ToString(it.Xfje), |
| 203 | 207 | sgfy = SqlFunc.ToString(it.Sgfy), |
| 204 | 208 | sfykjb = it.Sfykjb, |
| 205 | 209 | hksj = it.Hksj, |
| 206 | 210 | czry = it.Czry, |
| 207 | - memberPhone = it.MemberPhone, | |
| 211 | + memberPhone = SqlFunc.Subqueryable<LqKhxxEntity>().Where(w => w.Id == it.Hy).Select(w => w.Sjh), | |
| 212 | + isEffective = it.IsEffective, | |
| 208 | 213 | }) |
| 209 | 214 | .MergeTable() |
| 210 | 215 | .OrderBy(sidx + " " + input.sort) |
| 211 | 216 | .ToPagedListAsync(input.currentPage, input.pageSize); |
| 217 | + | |
| 218 | + // 获取当前页的耗卡记录ID列表 | |
| 219 | + var consumeIds = data.list.Select(x => x.id).ToList(); | |
| 220 | + | |
| 221 | + // 批量查询耗卡明细 | |
| 222 | + var consumeDetails = new List<LqXhPxmxInfoOutput>(); | |
| 223 | + if (consumeIds.Any()) | |
| 224 | + { | |
| 225 | + consumeDetails = await _db.Queryable<LqXhPxmxEntity>() | |
| 226 | + .Where(x => consumeIds.Contains(x.ConsumeInfoId) && x.IsEffective == StatusEnum.有效.GetHashCode()) | |
| 227 | + .Select(x => new LqXhPxmxInfoOutput | |
| 228 | + { | |
| 229 | + id = x.Id, | |
| 230 | + consumeInfoId = x.ConsumeInfoId, | |
| 231 | + billingItemId = x.BillingItemId, | |
| 232 | + px = x.Px, | |
| 233 | + pxmc = x.Pxmc, | |
| 234 | + pxjg = x.Pxjg, | |
| 235 | + memberId = x.MemberId, | |
| 236 | + createTime = x.CreateTIme, | |
| 237 | + projectNumber = x.ProjectNumber, | |
| 238 | + sourceType = x.SourceType, | |
| 239 | + totalPrice = x.TotalPrice, | |
| 240 | + isEffective = x.IsEffective | |
| 241 | + }) | |
| 242 | + .ToListAsync(); | |
| 243 | + } | |
| 244 | + | |
| 245 | + // 按耗卡记录ID分组耗卡明细 | |
| 246 | + var consumeDetailsGrouped = consumeDetails.GroupBy(x => x.consumeInfoId) | |
| 247 | + .ToDictionary(g => g.Key, g => g.ToList()); | |
| 248 | + | |
| 249 | + // 为每个耗卡记录分配耗卡明细 | |
| 250 | + foreach (var item in data.list) | |
| 251 | + { | |
| 252 | + item.ConsumeDetails = consumeDetailsGrouped.ContainsKey(item.id) | |
| 253 | + ? consumeDetailsGrouped[item.id] | |
| 254 | + : new List<LqXhPxmxInfoOutput>(); | |
| 255 | + } | |
| 256 | + | |
| 212 | 257 | return PageResult<LqXhHyhkListOutput>.SqlSugarPageResult(data); |
| 213 | 258 | } |
| 214 | 259 | #endregion |
| ... | ... | @@ -264,6 +309,8 @@ namespace NCC.Extend.LqXhHyhk |
| 264 | 309 | entity.Czry = _userManager.UserId; |
| 265 | 310 | entity.MemberPhone = _db.Queryable<LqKhxxEntity>().Where(w => w.Id == entity.Hy).First().Sjh; |
| 266 | 311 | entity.CreateTime = DateTime.Now; |
| 312 | + entity.IsEffective = StatusEnum.有效.GetHashCode(); | |
| 313 | + entity.UpdateTime = DateTime.Now; | |
| 267 | 314 | try |
| 268 | 315 | { |
| 269 | 316 | // 开启事务 |
| ... | ... | @@ -407,7 +454,8 @@ namespace NCC.Extend.LqXhHyhk |
| 407 | 454 | mdmc = it.Mdmc, |
| 408 | 455 | hy = it.Hy, |
| 409 | 456 | hyzh = it.Hyzh, |
| 410 | - hymc = it.Hymc, | |
| 457 | + hymc = SqlFunc.Subqueryable<LqKhxxEntity>().Where(w => w.Id == it.Hy).Select(w => w.Khmc), | |
| 458 | + memberPhone = SqlFunc.Subqueryable<LqKhxxEntity>().Where(w => w.Id == it.Hy).Select(w => w.Sjh), | |
| 411 | 459 | gklx = it.Gklx, |
| 412 | 460 | xfje = SqlFunc.ToString(it.Xfje), |
| 413 | 461 | sgfy = SqlFunc.ToString(it.Sgfy), |
| ... | ... | @@ -509,7 +557,7 @@ namespace NCC.Extend.LqXhHyhk |
| 509 | 557 | |
| 510 | 558 | #region 更新会员耗卡 |
| 511 | 559 | /// <summary> |
| 512 | - /// 更新会员耗卡,不会删除品项明细,只会更新或新增 | |
| 560 | + /// 更新会员耗卡 | |
| 513 | 561 | /// </summary> |
| 514 | 562 | /// <param name="id">主键</param> |
| 515 | 563 | /// <param name="input">参数</param> |
| ... | ... | @@ -758,9 +806,10 @@ namespace NCC.Extend.LqXhHyhk |
| 758 | 806 | /// 耗卡记录作废 |
| 759 | 807 | /// </summary> |
| 760 | 808 | /// <param name="id">耗卡记录ID</param> |
| 809 | + /// <param name="remarks">作废备注</param> | |
| 761 | 810 | /// <returns></returns> |
| 762 | 811 | [HttpPut("CancelCardUsageRecord/{id}")] |
| 763 | - public async Task<dynamic> CancelCardUsageRecord(string id) | |
| 812 | + public async Task<dynamic> CancelCardUsageRecord(string id, [FromQuery] string remarks = null) | |
| 764 | 813 | { |
| 765 | 814 | try |
| 766 | 815 | { |
| ... | ... | @@ -774,6 +823,8 @@ namespace NCC.Extend.LqXhHyhk |
| 774 | 823 | } |
| 775 | 824 | //更新耗卡记录状态 |
| 776 | 825 | LqhyhkInfo.IsEffective = StatusEnum.无效.GetHashCode(); |
| 826 | + LqhyhkInfo.UpdateTime = DateTime.Now; | |
| 827 | + LqhyhkInfo.CancelRemark = remarks; | |
| 777 | 828 | await _db.Updateable(LqhyhkInfo).ExecuteCommandAsync(); |
| 778 | 829 | //更新品项明细表状态 |
| 779 | 830 | await _db.Updateable<LqXhPxmxEntity>().SetColumns(it => new LqXhPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.ConsumeInfoId == id).ExecuteCommandAsync(); |
| ... | ... | @@ -820,7 +871,7 @@ namespace NCC.Extend.LqXhHyhk |
| 820 | 871 | { |
| 821 | 872 | Id = it.Id, |
| 822 | 873 | MemberId = it.Hy, |
| 823 | - MemberName = it.Hymc, | |
| 874 | + MemberName = SqlFunc.Subqueryable<LqKhxxEntity>().Where(w => w.Id == it.Hy).Select(w => w.Khmc), | |
| 824 | 875 | StoreId = it.Md, |
| 825 | 876 | StoreName = it.Mdmc, |
| 826 | 877 | UsageDate = it.Hksj, | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/Utils/LqKdKdjlbStringGenerator.cs
| ... | ... | @@ -51,7 +51,7 @@ namespace NCC.Extend.Utils |
| 51 | 51 | sb.AppendLine($"⏩健康师:{string.Join("、", healthTeachers)}"); |
| 52 | 52 | |
| 53 | 53 | // 活动方案:532工程 |
| 54 | - sb.AppendLine($"⏩活动方案:{entity.pxxx ?? "无"}"); | |
| 54 | + // sb.AppendLine($"⏩活动方案:{entity.pxxx ?? "无"}"); | |
| 55 | 55 | // 跟单配合:王经理 竹主任 陈思思老师 |
| 56 | 56 | var techTeachers = GetTechTeachers(entity.lqKdKjbsyjList); |
| 57 | 57 | sb.AppendLine($"⏩跟单配合:{techTeachers}"); | ... | ... |
netcore/src/Modularity/Extend/NCC.Extend/Utils/WeChatBotTestController.cs