Commit 1e1181175609522c8702209c3fe0dfd51dac677c

Authored by “wangming”
1 parent 150862dd

新增历史会员权益数据导入功能

- 在LqKdKdjlbService中实现ImportHistoryMemberRights方法,支持将历史会员权益数据导入到开单记录表和开单品项明细表
- 添加详细的导入规则和字段映射说明
- 优化LqEventService,新增eventCoordinatorName字段以显示活动负责人姓名
- 更新LqKhxx相关DTO,移除不必要的字段,简化数据结构
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/LqEventInfoOutput.cs
... ... @@ -34,6 +34,7 @@ namespace NCC.Extend.Entitys.Dto.LqEvent
34 34 /// </summary>
35 35 public string eventCoordinator { get; set; }
36 36  
  37 +
37 38 /// <summary>
38 39 /// 活动编号
39 40 /// </summary>
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqEvent/LqEventListOutput.cs
... ... @@ -32,6 +32,12 @@ namespace NCC.Extend.Entitys.Dto.LqEvent
32 32 /// </summary>
33 33 public string eventCoordinator { get; set; }
34 34  
  35 +
  36 + /// <summary>
  37 + /// 活动负责人姓名
  38 + /// </summary>
  39 + public string eventCoordinatorName { get; set; }
  40 +
35 41 /// <summary>
36 42 /// 活动编号
37 43 /// </summary>
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxCrInput.cs
... ... @@ -32,28 +32,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
32 32 /// 性别
33 33 /// </summary>
34 34 public string xb { get; set; }
35   -
36   - /// <summary>
37   - /// 公众号状态
38   - /// </summary>
39   - public string gzhzt { get; set; }
40   -
41   - /// <summary>
42   - /// 微信昵称
43   - /// </summary>
44   - public string wxnc { get; set; }
45   -
46   - /// <summary>
47   - /// 微信小程序状态
48   - /// </summary>
49   - public string wxxcxzt { get; set; }
50   -
51   - /// <summary>
52   - /// 最近登录时间
53   - /// </summary>
54   - public string zjdlsj { get; set; }
55   -
56   -
57 35 /// <summary>
58 36 /// 归属门店
59 37 /// </summary>
... ... @@ -90,16 +68,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
90 68 public string tjr { get; set; }
91 69  
92 70 /// <summary>
93   - /// 负责顾问
94   - /// </summary>
95   - public string fzgw { get; set; }
96   -
97   - /// <summary>
98   - /// 美容师
99   - /// </summary>
100   - public string mrs { get; set; }
101   -
102   - /// <summary>
103 71 /// 进店渠道
104 72 /// </summary>
105 73 public string jdqd { get; set; }
... ... @@ -124,10 +92,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
124 92 /// </summary>
125 93 public DateTime? yinlsr { get; set; }
126 94  
127   - /// <summary>
128   - /// 年龄
129   - /// </summary>
130   - public string ml { get; set; }
131 95  
132 96 /// <summary>
133 97 /// 拓客人员
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxInfoOutput.cs
... ... @@ -33,26 +33,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
33 33 /// </summary>
34 34 public string xb { get; set; }
35 35  
36   - /// <summary>
37   - /// 公众号状态
38   - /// </summary>
39   - public string gzhzt { get; set; }
40   -
41   - /// <summary>
42   - /// 微信昵称
43   - /// </summary>
44   - public string wxnc { get; set; }
45   -
46   - /// <summary>
47   - /// 微信小程序状态
48   - /// </summary>
49   - public string wxxcxzt { get; set; }
50   -
51   - /// <summary>
52   - /// 最近登录时间
53   - /// </summary>
54   - public DateTime? zjdlsj { get; set; }
55   -
56 36  
57 37 /// <summary>
58 38 /// 归属门店
... ... @@ -90,14 +70,10 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
90 70 public string tjr { get; set; }
91 71  
92 72 /// <summary>
93   - /// 负责顾问
  73 + /// 推荐人名称
94 74 /// </summary>
95   - public string fzgw { get; set; }
  75 + public string tjrName { get; set; }
96 76  
97   - /// <summary>
98   - /// 美容师
99   - /// </summary>
100   - public string mrs { get; set; }
101 77  
102 78 /// <summary>
103 79 /// 进店渠道
... ... @@ -125,11 +101,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
125 101 public DateTime? yinlsr { get; set; }
126 102  
127 103 /// <summary>
128   - /// 年龄
129   - /// </summary>
130   - public string ml { get; set; }
131   -
132   - /// <summary>
133 104 /// 添加时间
134 105 /// </summary>
135 106 public string createTime { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxListOutput.cs
... ... @@ -35,26 +35,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
35 35 public string xb { get; set; }
36 36  
37 37 /// <summary>
38   - /// 公众号状态
39   - /// </summary>
40   - public string gzhzt { get; set; }
41   -
42   - /// <summary>
43   - /// 微信昵称
44   - /// </summary>
45   - public string wxnc { get; set; }
46   -
47   - /// <summary>
48   - /// 微信小程序状态
49   - /// </summary>
50   - public string wxxcxzt { get; set; }
51   -
52   - /// <summary>
53   - /// 最近登录时间
54   - /// </summary>
55   - public DateTime? zjdlsj { get; set; }
56   -
57   - /// <summary>
58 38 /// 归属门店
59 39 /// </summary>
60 40 public string gsmd { get; set; }
... ... @@ -111,19 +91,11 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
111 91 public string tjr { get; set; }
112 92  
113 93 /// <summary>
114   - /// 负责顾问
  94 + /// 推荐人名称
115 95 /// </summary>
116   - public string fzgw { get; set; }
  96 + public string tjrName { get; set; }
117 97  
118   - /// <summary>
119   - /// 美容师
120   - /// </summary>
121   - public string mrs { get; set; }
122 98  
123   - /// <summary>
124   - /// 美容师名称
125   - /// </summary>
126   - public string mrsName { get; set; }
127 99  
128 100 /// <summary>
129 101 /// 进店渠道
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxListQueryInput.cs
... ... @@ -48,20 +48,7 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
48 48 /// </summary>
49 49 public string xb { get; set; }
50 50  
51   - /// <summary>
52   - /// 公众号状态
53   - /// </summary>
54   - public string gzhzt { get; set; }
55   -
56   - /// <summary>
57   - /// 微信昵称
58   - /// </summary>
59   - public string wxnc { get; set; }
60 51  
61   - /// <summary>
62   - /// 微信小程序状态
63   - /// </summary>
64   - public string wxxcxzt { get; set; }
65 52  
66 53 /// <summary>
67 54 /// 归属门店
... ... @@ -98,15 +85,6 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
98 85 /// </summary>
99 86 public string tjr { get; set; }
100 87  
101   - /// <summary>
102   - /// 负责顾问
103   - /// </summary>
104   - public string fzgw { get; set; }
105   -
106   - /// <summary>
107   - /// 美容师
108   - /// </summary>
109   - public string mrs { get; set; }
110 88  
111 89 /// <summary>
112 90 /// 进店渠道
... ... @@ -132,10 +110,5 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx
132 110 /// 阴历生日
133 111 /// </summary>
134 112 public string yinlsr { get; set; }
135   -
136   - /// <summary>
137   - /// 年龄
138   - /// </summary>
139   - public string ml { get; set; }
140 113 }
141 114 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_khxx/LqKhxxEntity.cs
... ... @@ -42,30 +42,6 @@ namespace NCC.Extend.Entitys.lq_khxx
42 42 public string Xb { get; set; }
43 43  
44 44 /// <summary>
45   - /// 公众号状态
46   - /// </summary>
47   - [SugarColumn(ColumnName = "gzhzt")]
48   - public string Gzhzt { get; set; }
49   -
50   - /// <summary>
51   - /// 微信昵称
52   - /// </summary>
53   - [SugarColumn(ColumnName = "wxnc")]
54   - public string Wxnc { get; set; }
55   -
56   - /// <summary>
57   - /// 微信小程序状态
58   - /// </summary>
59   - [SugarColumn(ColumnName = "wxxcxzt")]
60   - public string Wxxcxzt { get; set; }
61   -
62   - /// <summary>
63   - /// 最近登录时间
64   - /// </summary>
65   - [SugarColumn(ColumnName = "zjdlsj")]
66   - public DateTime? Zjdlsj { get; set; }
67   -
68   - /// <summary>
69 45 /// 归属门店
70 46 /// </summary>
71 47 [SugarColumn(ColumnName = "gsmd")]
... ... @@ -107,17 +83,6 @@ namespace NCC.Extend.Entitys.lq_khxx
107 83 [SugarColumn(ColumnName = "tjr")]
108 84 public string Tjr { get; set; }
109 85  
110   - /// <summary>
111   - /// 负责顾问
112   - /// </summary>
113   - [SugarColumn(ColumnName = "fzgw")]
114   - public string Fzgw { get; set; }
115   -
116   - /// <summary>
117   - /// 美容师
118   - /// </summary>
119   - [SugarColumn(ColumnName = "mrs")]
120   - public string Mrs { get; set; }
121 86  
122 87 /// <summary>
123 88 /// 进店渠道
... ... @@ -150,12 +115,6 @@ namespace NCC.Extend.Entitys.lq_khxx
150 115 public DateTime? Yinlsr { get; set; }
151 116  
152 117 /// <summary>
153   - /// 年龄
154   - /// </summary>
155   - [SugarColumn(ColumnName = "ml")]
156   - public string Ml { get; set; }
157   -
158   - /// <summary>
159 118 /// 添加时间
160 119 /// </summary>
161 120 [SugarColumn(ColumnName = "F_CreateTime")]
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqEventService.cs
... ... @@ -99,6 +99,7 @@ namespace NCC.Extend.LqEvent
99 99 eventNumber = e.EventNumber,
100 100 memberCount = SqlFunc.Subqueryable<LqEventUserEntity>().Where(u => u.EventId == e.Id).Count(),
101 101 eventType = e.EventType,
  102 + eventCoordinatorName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == e.EventCoordinator).Select(u => u.RealName),
102 103 })
103 104 .MergeTable()
104 105 .OrderBy(sidx + " " + sord)
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
... ... @@ -1077,6 +1077,152 @@ namespace NCC.Extend.LqKdKdjlb
1077 1077 }
1078 1078 #endregion
1079 1079  
  1080 + #region 历史会员权益数据导入
  1081 + /// <summary>
  1082 + /// 导入历史会员权益数据到开单记录表和开单品项明细表
  1083 + /// </summary>
  1084 + /// <remarks>
  1085 + /// 将历史会员权益表的数据导入到开单记录表和开单品项明细表中
  1086 + ///
  1087 + /// 导入规则:
  1088 + /// 1. 逐条处理历史会员权益数据,每条记录生成一个开单记录和一个品项明细
  1089 + /// 2. 开单时间和创建时间统一设置为 2025-06-01 00:00:00
  1090 + /// 3. 使用YitIdHelper生成所有ID
  1091 + /// 4. 直接使用F_StoreId作为门店ID
  1092 + ///
  1093 + /// 字段映射:
  1094 + /// - F_MemberId/会员编号 -> kdhy (开单会员,优先使用会员ID)
  1095 + /// - 会员名称 -> kdhyc (开单会员名称)
  1096 + /// - 会员电话 -> kdhysjh (开单会员手机号)
  1097 + /// - F_StoreId -> djmd (单据门店ID)
  1098 + /// - 整单业绩 -> zdyj (整单业绩)
  1099 + /// - 实付业绩 -> sfyj (实付业绩)
  1100 + /// - 欠款 -> qk (欠款)
  1101 + /// - 来源 -> khly (客户来源)
  1102 + /// - 品项名称 -> pxmc (品项名称)
  1103 + /// - 品项价格 -> pxjg (品项价格)
  1104 + /// - 品项次数 -> F_ProjectNumber (项目次数)
  1105 + /// - F_MemberId/会员编号 -> F_MemberId (品项明细会员ID,优先使用会员ID)
  1106 + /// </remarks>
  1107 + /// <returns>导入结果统计</returns>
  1108 + /// <response code="200">导入成功</response>
  1109 + /// <response code="500">服务器内部错误</response>
  1110 + [HttpPost("import-history-member-rights")]
  1111 + public async Task<dynamic> ImportHistoryMemberRights()
  1112 + {
  1113 + try
  1114 + {
  1115 + _db.BeginTran();
  1116 +
  1117 + // 设置固定的时间
  1118 + var fixedDateTime = new DateTime(2025, 6, 1, 0, 0, 0);
  1119 +
  1120 + // 1. 查询历史会员权益数据
  1121 + var historyData = await _db.Ado.SqlQueryAsync<dynamic>(@"
  1122 + SELECT
  1123 + 会员编号,
  1124 + 会员名称,
  1125 + 会员电话,
  1126 + 开单门店,
  1127 + 开单时间,
  1128 + 整单业绩,
  1129 + 实付业绩,
  1130 + 欠款,
  1131 + 来源,
  1132 + 品项名称,
  1133 + 品项价格,
  1134 + 品项次数,
  1135 + F_StoreId,
  1136 + F_ProjectId,
  1137 + F_MemberId
  1138 + FROM `历史会员权益`");
  1139 +
  1140 + int successCount = 0;
  1141 + int errorCount = 0;
  1142 + var errorMessages = new List<string>();
  1143 +
  1144 + // 2. 逐条处理历史会员权益数据
  1145 + foreach (var item in historyData)
  1146 + {
  1147 + try
  1148 + {
  1149 + // 3. 生成开单记录ID
  1150 + string kdjlbId = YitIdHelper.NextId().ToString();
  1151 +
  1152 + // 4. 创建开单记录
  1153 + var kdjlbEntity = new LqKdKdjlbEntity
  1154 + {
  1155 + Id = kdjlbId,
  1156 + Djmd = item.F_StoreId, // 直接使用F_StoreId
  1157 + Kdhy = item.F_MemberId,
  1158 + Kdhyc = item.会员名称,
  1159 + Jsj = "暂无",
  1160 + Kdhysjh = item.会员电话,
  1161 + Kdrq = fixedDateTime,
  1162 + Zdyj = Convert.ToDecimal(item.整单业绩 ?? 0),
  1163 + Sfyj = Convert.ToDecimal(item.实付业绩 ?? 0),
  1164 + Qk = Convert.ToDecimal(item.欠款 ?? 0),
  1165 + CreateTime = fixedDateTime,
  1166 + UpdateTime = fixedDateTime,
  1167 + Sfskdd = "否",
  1168 + IsEffective = 1,
  1169 + Bz = "导入历史会员权益数据"
  1170 + };
  1171 +
  1172 + await _db.Insertable(kdjlbEntity).ExecuteCommandAsync();
  1173 +
  1174 + // 5. 创建品项明细
  1175 + string pxmxId = YitIdHelper.NextId().ToString();
  1176 +
  1177 + var pxmxEntity = new LqKdPxmxEntity
  1178 + {
  1179 + Id = pxmxId,
  1180 + Glkdbh = kdjlbId,
  1181 + Px = item.F_ProjectId,
  1182 + Pxmc = item.品项名称,
  1183 + Pxjg = Convert.ToDecimal(item.品项价格 ?? 0),
  1184 + ProjectNumber = Convert.ToDecimal(item.品项次数 ?? 0),
  1185 + SourceType = item.来源,
  1186 + MemberId = item.F_MemberId,
  1187 + Yjsj = fixedDateTime,
  1188 + CreateTIme = fixedDateTime,
  1189 + IsEffective = 1,
  1190 + IsEnabled = 0,
  1191 + TotalPrice = Convert.ToDecimal(item.品项价格 ?? 0) * Convert.ToDecimal(item.品项次数 ?? 0),
  1192 + ActualPrice = Convert.ToDecimal(item.品项价格 ?? 0) * Convert.ToDecimal(item.品项次数 ?? 0)
  1193 + };
  1194 +
  1195 + await _db.Insertable(pxmxEntity).ExecuteCommandAsync();
  1196 +
  1197 + successCount++;
  1198 + }
  1199 + catch (Exception ex)
  1200 + {
  1201 + errorCount++;
  1202 + errorMessages.Add($"处理记录 {item.会员编号}-{item.品项名称} 时出错: {ex.Message}");
  1203 + }
  1204 + }
  1205 +
  1206 + _db.CommitTran();
  1207 +
  1208 + return new
  1209 + {
  1210 + success = true,
  1211 + message = "历史会员权益数据导入完成",
  1212 + totalRecords = historyData.Count,
  1213 + successCount = successCount,
  1214 + errorCount = errorCount,
  1215 + errorMessages = errorMessages.Take(10).ToList(), // 只返回前10个错误信息
  1216 + importTime = DateTime.Now
  1217 + };
  1218 + }
  1219 + catch (Exception ex) when (!(ex is NCCException))
  1220 + {
  1221 + _db.RollbackTran();
  1222 + throw NCCException.Oh($"导入历史会员权益数据失败: {ex.Message}");
  1223 + }
  1224 + }
  1225 + #endregion
1080 1226  
1081 1227 }
1082 1228 }
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
... ... @@ -71,36 +71,27 @@ namespace NCC.Extend.LqKhxx
71 71 {
72 72 var entity = await _db.Queryable<LqKhxxEntity>().FirstAsync(p => p.Id == id);
73 73 var output = entity.Adapt<LqKhxxInfoOutput>();
74   -
75   - // 安全查询用户姓名,处理空值情况
76 74 if (!string.IsNullOrEmpty(entity.ExpandUser))
77 75 {
78 76 var expandUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.ExpandUser).FirstAsync();
79 77 output.expandUserName = expandUser?.RealName ?? "";
80 78 }
81   - else
82   - {
83   - output.expandUserName = "";
84   - }
85 79  
86 80 if (!string.IsNullOrEmpty(entity.MainHealthUser))
87 81 {
88 82 var mainHealthUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.MainHealthUser).FirstAsync();
89 83 output.mainHealthUserName = mainHealthUser?.RealName ?? "";
90 84 }
91   - else
92   - {
93   - output.mainHealthUserName = "";
94   - }
95 85  
96 86 if (!string.IsNullOrEmpty(entity.SubHealthUser))
97 87 {
98 88 var subHealthUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.SubHealthUser).FirstAsync();
99 89 output.subHealthUserName = subHealthUser?.RealName ?? "";
100 90 }
101   - else
  91 + if (!string.IsNullOrEmpty(entity.Tjr))
102 92 {
103   - output.subHealthUserName = "";
  93 + var tjr = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.Tjr).FirstAsync();
  94 + output.tjrName = tjr?.RealName ?? "";
104 95 }
105 96 return output;
106 97 }
... ... @@ -123,21 +114,15 @@ namespace NCC.Extend.LqKhxx
123 114 .WhereIF(!string.IsNullOrEmpty(input.sjh), p => p.Sjh.Contains(input.sjh))
124 115 .WhereIF(!string.IsNullOrEmpty(input.dah), p => p.Dah.Contains(input.dah))
125 116 .WhereIF(!string.IsNullOrEmpty(input.xb), p => p.Xb.Equals(input.xb))
126   - .WhereIF(!string.IsNullOrEmpty(input.gzhzt), p => p.Gzhzt.Equals(input.gzhzt))
127   - .WhereIF(!string.IsNullOrEmpty(input.wxnc), p => p.Wxnc.Contains(input.wxnc))
128   - .WhereIF(!string.IsNullOrEmpty(input.wxxcxzt), p => p.Wxxcxzt.Equals(input.wxxcxzt))
129 117 .WhereIF(!string.IsNullOrEmpty(input.gsmd), p => p.Gsmd.Contains(input.gsmd))
130 118 .WhereIF(!string.IsNullOrEmpty(input.khlx), p => p.Khlx.Equals(input.khlx))
131 119 .WhereIF(!string.IsNullOrEmpty(input.khjd), p => p.Khjd.Equals(input.khjd))
132 120 .WhereIF(!string.IsNullOrEmpty(input.khxf), p => p.Khxf.Contains(input.khxf))
133 121 .WhereIF(!string.IsNullOrEmpty(input.xfpc), p => p.Xfpc.Equals(input.xfpc))
134 122 .WhereIF(!string.IsNullOrEmpty(input.tjr), p => p.Tjr.Contains(input.tjr))
135   - .WhereIF(!string.IsNullOrEmpty(input.fzgw), p => p.Fzgw.Contains(input.fzgw))
136   - .WhereIF(!string.IsNullOrEmpty(input.mrs), p => p.Mrs.Contains(input.mrs))
137 123 .WhereIF(!string.IsNullOrEmpty(input.jdqd), p => p.Jdqd.Contains(input.jdqd))
138 124 .WhereIF(!string.IsNullOrEmpty(input.lxdz), p => p.Lxdz.Contains(input.lxdz))
139 125 .WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
140   - .WhereIF(!string.IsNullOrEmpty(input.ml), p => p.Ml.Contains(input.ml))
141 126 .Select(it => new LqKhxxListOutput
142 127 {
143 128 id = it.Id,
... ... @@ -145,9 +130,6 @@ namespace NCC.Extend.LqKhxx
145 130 sjh = it.Sjh,
146 131 dah = it.Dah,
147 132 xb = it.Xb,
148   - gzhzt = it.Gzhzt,
149   - wxnc = it.Wxnc,
150   - wxxcxzt = it.Wxxcxzt,
151 133 gsmd = it.Gsmd,
152 134 gsmdName = SqlFunc.Subqueryable<LqMdxxEntity>().Where(u => u.Id == it.Gsmd).Select(u => u.Dm),
153 135 zcsj = it.Zcsj,
... ... @@ -156,15 +138,11 @@ namespace NCC.Extend.LqKhxx
156 138 khxf = it.Khxf,
157 139 xfpc = it.Xfpc,
158 140 tjr = it.Tjr,
159   - fzgw = it.Fzgw,
160   - mrs = it.Mrs,
161   - mrsName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.Mrs).Select(u => u.RealName),
162 141 jdqd = it.Jdqd,
163 142 lxdz = it.Lxdz,
164 143 bz = it.Bz,
165 144 yanglsr = it.Yanglsr,
166 145 yinlsr = it.Yinlsr,
167   - ml = it.Ml,
168 146 createTime = it.CreateTime,
169 147 expandUser = it.ExpandUser,
170 148 mainHealthUser = it.MainHealthUser,
... ... @@ -172,6 +150,7 @@ namespace NCC.Extend.LqKhxx
172 150 expandUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.ExpandUser).Select(u => u.RealName),
173 151 mainHealthUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.MainHealthUser).Select(u => u.RealName),
174 152 subHealthUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.SubHealthUser).Select(u => u.RealName),
  153 + tjrName = SqlFunc.Subqueryable<LqKhxxEntity>().Where(u => u.Id == it.Tjr).Select(u => u.Khmc),
175 154 })
176 155 .MergeTable()
177 156 .OrderBy(sidx + " " + input.sort)
... ... @@ -235,9 +214,6 @@ namespace NCC.Extend.LqKhxx
235 214 .WhereIF(!string.IsNullOrEmpty(input.sjh), p => p.Sjh.Contains(input.sjh))
236 215 .WhereIF(!string.IsNullOrEmpty(input.dah), p => p.Dah.Contains(input.dah))
237 216 .WhereIF(!string.IsNullOrEmpty(input.xb), p => p.Xb.Equals(input.xb))
238   - .WhereIF(!string.IsNullOrEmpty(input.gzhzt), p => p.Gzhzt.Equals(input.gzhzt))
239   - .WhereIF(!string.IsNullOrEmpty(input.wxnc), p => p.Wxnc.Contains(input.wxnc))
240   - .WhereIF(!string.IsNullOrEmpty(input.wxxcxzt), p => p.Wxxcxzt.Equals(input.wxxcxzt))
241 217 .WhereIF(!string.IsNullOrEmpty(input.gsmd), p => p.Gsmd.Contains(input.gsmd))
242 218 .WhereIF(queryZcsj != null, p => p.Zcsj >= new DateTime(startZcsj.ToDate().Year, startZcsj.ToDate().Month, startZcsj.ToDate().Day, 0, 0, 0))
243 219 .WhereIF(queryZcsj != null, p => p.Zcsj <= new DateTime(endZcsj.ToDate().Year, endZcsj.ToDate().Month, endZcsj.ToDate().Day, 23, 59, 59))
... ... @@ -246,8 +222,6 @@ namespace NCC.Extend.LqKhxx
246 222 .WhereIF(!string.IsNullOrEmpty(input.khxf), p => p.Khxf.Equals(input.khxf))
247 223 .WhereIF(!string.IsNullOrEmpty(input.xfpc), p => p.Xfpc.Equals(input.xfpc))
248 224 .WhereIF(!string.IsNullOrEmpty(input.tjr), p => p.Tjr.Contains(input.tjr))
249   - .WhereIF(!string.IsNullOrEmpty(input.fzgw), p => p.Fzgw.Contains(input.fzgw))
250   - .WhereIF(!string.IsNullOrEmpty(input.mrs), p => p.Mrs.Contains(input.mrs))
251 225 .WhereIF(!string.IsNullOrEmpty(input.jdqd), p => p.Jdqd.Contains(input.jdqd))
252 226 .WhereIF(!string.IsNullOrEmpty(input.lxdz), p => p.Lxdz.Contains(input.lxdz))
253 227 .WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
... ... @@ -255,7 +229,6 @@ namespace NCC.Extend.LqKhxx
255 229 .WhereIF(queryYanglsr != null, p => p.Yanglsr <= new DateTime(endYanglsr.ToDate().Year, endYanglsr.ToDate().Month, endYanglsr.ToDate().Day, 23, 59, 59))
256 230 .WhereIF(queryYinlsr != null, p => p.Yinlsr >= new DateTime(startYinlsr.ToDate().Year, startYinlsr.ToDate().Month, startYinlsr.ToDate().Day, 0, 0, 0))
257 231 .WhereIF(queryYinlsr != null, p => p.Yinlsr <= new DateTime(endYinlsr.ToDate().Year, endYinlsr.ToDate().Month, endYinlsr.ToDate().Day, 23, 59, 59))
258   - .WhereIF(!string.IsNullOrEmpty(input.ml), p => p.Ml.Contains(input.ml))
259 232 .Select(it => new LqKhxxListOutput
260 233 {
261 234 id = it.Id,
... ... @@ -263,10 +236,6 @@ namespace NCC.Extend.LqKhxx
263 236 sjh = it.Sjh,
264 237 dah = it.Dah,
265 238 xb = it.Xb,
266   - gzhzt = it.Gzhzt,
267   - wxnc = it.Wxnc,
268   - wxxcxzt = it.Wxxcxzt,
269   - zjdlsj = it.Zjdlsj,
270 239 gsmd = it.Gsmd,
271 240 zcsj = it.Zcsj,
272 241 khlx = it.Khlx,
... ... @@ -274,14 +243,11 @@ namespace NCC.Extend.LqKhxx
274 243 khxf = it.Khxf,
275 244 xfpc = it.Xfpc,
276 245 tjr = it.Tjr,
277   - fzgw = it.Fzgw,
278   - mrs = it.Mrs,
279 246 jdqd = it.Jdqd,
280 247 lxdz = it.Lxdz,
281 248 bz = it.Bz,
282 249 yanglsr = it.Yanglsr,
283 250 yinlsr = it.Yinlsr,
284   - ml = it.Ml,
285 251 createTime = it.CreateTime,
286 252 })
287 253 .MergeTable()
... ... @@ -318,9 +284,6 @@ namespace NCC.Extend.LqKhxx
318 284 .WhereIF(!string.IsNullOrEmpty(input.sjh), p => p.Sjh.Contains(input.sjh))
319 285 .WhereIF(!string.IsNullOrEmpty(input.dah), p => p.Dah.Contains(input.dah))
320 286 .WhereIF(!string.IsNullOrEmpty(input.xb), p => p.Xb.Equals(input.xb))
321   - .WhereIF(!string.IsNullOrEmpty(input.gzhzt), p => p.Gzhzt.Equals(input.gzhzt))
322   - .WhereIF(!string.IsNullOrEmpty(input.wxnc), p => p.Wxnc.Contains(input.wxnc))
323   - .WhereIF(!string.IsNullOrEmpty(input.wxxcxzt), p => p.Wxxcxzt.Equals(input.wxxcxzt))
324 287 .WhereIF(!string.IsNullOrEmpty(input.gsmd), p => p.Gsmd.Contains(input.gsmd))
325 288 .WhereIF(queryZcsj != null, p => p.Zcsj >= new DateTime(startZcsj.ToDate().Year, startZcsj.ToDate().Month, startZcsj.ToDate().Day, 0, 0, 0))
326 289 .WhereIF(queryZcsj != null, p => p.Zcsj <= new DateTime(endZcsj.ToDate().Year, endZcsj.ToDate().Month, endZcsj.ToDate().Day, 23, 59, 59))
... ... @@ -329,8 +292,6 @@ namespace NCC.Extend.LqKhxx
329 292 .WhereIF(!string.IsNullOrEmpty(input.khxf), p => p.Khxf.Contains(input.khxf))
330 293 .WhereIF(!string.IsNullOrEmpty(input.xfpc), p => p.Xfpc.Equals(input.xfpc))
331 294 .WhereIF(!string.IsNullOrEmpty(input.tjr), p => p.Tjr.Contains(input.tjr))
332   - .WhereIF(!string.IsNullOrEmpty(input.fzgw), p => p.Fzgw.Contains(input.fzgw))
333   - .WhereIF(!string.IsNullOrEmpty(input.mrs), p => p.Mrs.Contains(input.mrs))
334 295 .WhereIF(!string.IsNullOrEmpty(input.jdqd), p => p.Jdqd.Contains(input.jdqd))
335 296 .WhereIF(!string.IsNullOrEmpty(input.lxdz), p => p.Lxdz.Contains(input.lxdz))
336 297 .WhereIF(!string.IsNullOrEmpty(input.bz), p => p.Bz.Contains(input.bz))
... ... @@ -338,7 +299,6 @@ namespace NCC.Extend.LqKhxx
338 299 .WhereIF(queryYanglsr != null, p => p.Yanglsr <= new DateTime(endYanglsr.ToDate().Year, endYanglsr.ToDate().Month, endYanglsr.ToDate().Day, 23, 59, 59))
339 300 .WhereIF(queryYinlsr != null, p => p.Yinlsr >= new DateTime(startYinlsr.ToDate().Year, startYinlsr.ToDate().Month, startYinlsr.ToDate().Day, 0, 0, 0))
340 301 .WhereIF(queryYinlsr != null, p => p.Yinlsr <= new DateTime(endYinlsr.ToDate().Year, endYinlsr.ToDate().Month, endYinlsr.ToDate().Day, 23, 59, 59))
341   - .WhereIF(!string.IsNullOrEmpty(input.ml), p => p.Ml.Contains(input.ml))
342 302 .Select(it => new LqKhxxListOutput
343 303 {
344 304 id = it.Id,
... ... @@ -346,10 +306,6 @@ namespace NCC.Extend.LqKhxx
346 306 sjh = it.Sjh,
347 307 dah = it.Dah,
348 308 xb = it.Xb,
349   - gzhzt = it.Gzhzt,
350   - wxnc = it.Wxnc,
351   - wxxcxzt = it.Wxxcxzt,
352   - zjdlsj = it.Zjdlsj,
353 309 gsmd = it.Gsmd,
354 310 zcsj = it.Zcsj,
355 311 khlx = it.Khlx,
... ... @@ -357,14 +313,11 @@ namespace NCC.Extend.LqKhxx
357 313 khxf = it.Khxf,
358 314 xfpc = it.Xfpc,
359 315 tjr = it.Tjr,
360   - fzgw = it.Fzgw,
361   - mrs = it.Mrs,
362 316 jdqd = it.Jdqd,
363 317 lxdz = it.Lxdz,
364 318 bz = it.Bz,
365 319 yanglsr = it.Yanglsr,
366 320 yinlsr = it.Yinlsr,
367   - ml = it.Ml,
368 321 createTime = it.CreateTime,
369 322 expandUser = it.ExpandUser,
370 323 mainHealthUser = it.MainHealthUser,
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
... ... @@ -121,7 +121,7 @@ namespace NCC.Extend.LqTkjlb
121 121 id = it.Id,
122 122 expansionTime = it.ExpansionTime,
123 123 expansionUserId = it.ExpansionUserId,
124   - expansionUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.MobilePhone == it.ExpansionUserId).Select(u => u.RealName),
  124 + expansionUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.ExpansionUserId).Select(u => u.RealName),
125 125 customerName = it.CustomerName,
126 126 customerPhone = it.CustomerPhone,
127 127 buyNumber = it.BuyNumber,
... ... @@ -186,6 +186,7 @@ namespace NCC.Extend.LqTkjlb
186 186 MemberInfo.Sjh = input.customerPhone; // 设置手机号
187 187 MemberInfo.Khlx = MemberTypeEnum.线索.GetHashCode().ToString();
188 188 MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmss");
  189 + MemberInfo.Jdqd = "19.9卡";
189 190 //找到input.expansionUserId的用户信息
190 191 var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync();
191 192 //判断 岗位是否为健康师,如果是健康师,则设置拓客人员是健康师
... ...