|
|
@@ -125,10 +125,11 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
125
|
125
|
var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
|
|
126
|
126
|
int num = dtExcel.Rows.Count;
|
|
127
|
127
|
var cols = dtExcel.Columns;
|
|
128
|
|
- int colnum = cols.Count;
|
|
|
128
|
+ int colnu5m = cols.Count;
|
|
129
|
129
|
string errmsg = string.Empty;
|
|
130
|
130
|
string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
|
|
131
|
131
|
List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
|
|
|
132
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
132
|
133
|
if (num > 0)
|
|
133
|
134
|
{
|
|
134
|
135
|
int index = 1;
|
|
|
@@ -136,6 +137,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
136
|
137
|
{
|
|
137
|
138
|
|
|
138
|
139
|
T_Bus_Order modelOrder = new T_Bus_Order();
|
|
|
140
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
139
|
141
|
if (dr.Table.Columns.Contains("订单号"))
|
|
140
|
142
|
{
|
|
141
|
143
|
if (!string.IsNullOrEmpty(dr["订单号"].ToString()))
|
|
|
@@ -169,21 +171,39 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
169
|
171
|
return Error("模板错误,请选择正确的模板");
|
|
170
|
172
|
}
|
|
171
|
173
|
}
|
|
172
|
|
- else
|
|
|
174
|
+ else if (state == 1)
|
|
173
|
175
|
{
|
|
174
|
176
|
modelOrder.F_State = 1;
|
|
175
|
177
|
}
|
|
|
178
|
+ else
|
|
|
179
|
+ {
|
|
|
180
|
+ if (dr.Table.Columns.Contains("退回说明"))
|
|
|
181
|
+ {
|
|
|
182
|
+ modelOrder.F_CheckRemark = dr["退回说明"].ToString();
|
|
|
183
|
+ }
|
|
|
184
|
+ else
|
|
|
185
|
+ {
|
|
|
186
|
+ return Error("模板错误,请选择正确的模板");
|
|
|
187
|
+ }
|
|
|
188
|
+ modelOrder.F_State = 9;
|
|
|
189
|
+ }
|
|
176
|
190
|
modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
|
|
177
|
191
|
modelOrder.F_CheckUserName = UserLogin.UserName;
|
|
178
|
192
|
modelOrder.F_CheckTime = DateTime.Now;
|
|
179
|
193
|
orderLIst.Add(modelOrder);
|
|
180
|
|
-
|
|
|
194
|
+ t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
|
|
|
195
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "退回订单";
|
|
|
196
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
197
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
198
|
+ t_Bus_Orderlogs.F_WoState = modelOrder.F_State;
|
|
|
199
|
+ logs.Add(t_Bus_Orderlogs);
|
|
181
|
200
|
index++;
|
|
182
|
201
|
|
|
183
|
202
|
}
|
|
184
|
203
|
|
|
185
|
204
|
if (!await bus_OrderRepository.UpdateList (orderLIst))
|
|
186
|
205
|
{
|
|
|
206
|
+ await busOrderlogsRepository.AddAndUpdateList(logs);
|
|
187
|
207
|
if (!string.IsNullOrEmpty(errmsg))
|
|
188
|
208
|
{
|
|
189
|
209
|
errmsg = errmsg + "导入失败!";
|
|
|
@@ -221,11 +241,12 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
221
|
241
|
string msg = "";
|
|
222
|
242
|
string[] ids = orderids.Split(',');
|
|
223
|
243
|
List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
|
|
|
244
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
224
|
245
|
foreach (var it in ids)
|
|
225
|
246
|
{
|
|
226
|
247
|
|
|
227
|
248
|
T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
|
|
228
|
|
-
|
|
|
249
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
229
|
250
|
modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
|
|
230
|
251
|
modelOrder.F_CheckUserName = UserLogin.UserName;
|
|
231
|
252
|
modelOrder.F_CheckTime = DateTime.Now;
|
|
|
@@ -234,14 +255,26 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
234
|
255
|
modelOrder.F_CheckRemark = remark;
|
|
235
|
256
|
modelOrder.F_State = 2;
|
|
236
|
257
|
}
|
|
237
|
|
- else
|
|
|
258
|
+ else if (state == 1)
|
|
238
|
259
|
{
|
|
239
|
260
|
modelOrder.F_State = 1;
|
|
240
|
261
|
}
|
|
|
262
|
+ else
|
|
|
263
|
+ {
|
|
|
264
|
+ modelOrder.F_CheckRemark = remark;
|
|
|
265
|
+ modelOrder.F_State = 9;
|
|
|
266
|
+ }
|
|
|
267
|
+ t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
|
|
|
268
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "退回订单";
|
|
|
269
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
270
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
271
|
+ t_Bus_Orderlogs.F_WoState = modelOrder.F_State;
|
|
|
272
|
+ logs.Add(t_Bus_Orderlogs);
|
|
241
|
273
|
orderLIst.Add(modelOrder);
|
|
242
|
274
|
}
|
|
243
|
275
|
if (await bus_OrderRepository.UpdateList(orderLIst))
|
|
244
|
276
|
{
|
|
|
277
|
+ await busOrderlogsRepository.AddAndUpdateList(logs);
|
|
245
|
278
|
return Success("退回成功");
|
|
246
|
279
|
}
|
|
247
|
280
|
else
|
|
|
@@ -517,7 +550,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
517
|
550
|
}
|
|
518
|
551
|
|
|
519
|
552
|
|
|
520
|
|
-
|
|
|
553
|
+
|
|
521
|
554
|
|
|
522
|
555
|
#endregion
|
|
523
|
556
|
RefAsync<int> recordCount = 0;
|
|
|
@@ -854,8 +887,20 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
854
|
887
|
#endregion
|
|
855
|
888
|
//更新所选订单的快递,并标记为客服已分配快递
|
|
856
|
889
|
string[] ids = orderids.Split(',');
|
|
|
890
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
|
891
|
+ foreach (var it in ids)
|
|
|
892
|
+ {
|
|
|
893
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
|
894
|
+ t_Bus_Orderlogs.F_WoID = it;
|
|
|
895
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分快递,"+ express;
|
|
|
896
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
897
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
898
|
+ t_Bus_Orderlogs.F_WoState = 3;
|
|
|
899
|
+ logs.Add(t_Bus_Orderlogs);
|
|
|
900
|
+ }
|
|
857
|
901
|
if (await bus_OrderRepository.Update(s => new T_Bus_Order() { F_Express = express, F_IsExpress = 1 }, q => ids.Contains(q.F_Id)))
|
|
858
|
902
|
{
|
|
|
903
|
+ await busOrderlogsRepository.AddAndUpdateList(logs);
|
|
859
|
904
|
return Success("成功");
|
|
860
|
905
|
}
|
|
861
|
906
|
|
|
|
@@ -884,26 +929,35 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
884
|
929
|
modelscore.F_StartDebit = 1;
|
|
885
|
930
|
modelscore.F_DebitPercent = 1000;
|
|
886
|
931
|
}
|
|
887
|
|
- string msg="";
|
|
|
932
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
|
933
|
+
|
|
|
934
|
+ string msg="";
|
|
888
|
935
|
string[] ids = orderids.Split(',');
|
|
889
|
936
|
List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
|
|
890
|
937
|
if (stock =="无货")
|
|
891
|
938
|
{
|
|
892
|
939
|
foreach (var it in ids)
|
|
893
|
940
|
{
|
|
|
941
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
894
|
942
|
T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
|
|
895
|
943
|
modelOrder.F_CheckUserName = UserLogin.UserName;
|
|
896
|
944
|
modelOrder.F_CheckTime = DateTime.Now;
|
|
897
|
945
|
modelOrder.F_Stock = stock;
|
|
898
|
946
|
modelOrder.F_State = 4;
|
|
899
|
947
|
orderLIst.Add(modelOrder);
|
|
|
948
|
+ t_Bus_Orderlogs.F_WoID = it;
|
|
|
949
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,无货";
|
|
|
950
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
951
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
952
|
+ t_Bus_Orderlogs.F_WoState = 4;
|
|
|
953
|
+ logs.Add(t_Bus_Orderlogs);
|
|
900
|
954
|
}
|
|
901
|
955
|
}
|
|
902
|
956
|
else
|
|
903
|
957
|
{
|
|
904
|
958
|
foreach (var it in ids)
|
|
905
|
959
|
{
|
|
906
|
|
-
|
|
|
960
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
907
|
961
|
T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
|
|
908
|
962
|
if (modelscore.F_Start == 1)
|
|
909
|
963
|
{
|
|
|
@@ -929,12 +983,22 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
929
|
983
|
{
|
|
930
|
984
|
msg += "订单" + modelOrder.F_Id + strStock;
|
|
931
|
985
|
modelOrder.F_State = 4;
|
|
|
986
|
+ t_Bus_Orderlogs.F_WoState = 4;
|
|
|
987
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,无货";
|
|
932
|
988
|
// { return Error(strStock); }
|
|
933
|
989
|
}
|
|
934
|
990
|
else
|
|
935
|
991
|
{
|
|
936
|
992
|
modelOrder.F_State = 8;
|
|
|
993
|
+ t_Bus_Orderlogs.F_WoState = 8;
|
|
|
994
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,"+ stock;
|
|
937
|
995
|
}
|
|
|
996
|
+ t_Bus_Orderlogs.F_WoID = it;
|
|
|
997
|
+
|
|
|
998
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
999
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
1000
|
+
|
|
|
1001
|
+ logs.Add(t_Bus_Orderlogs);
|
|
938
|
1002
|
orderLIst.Add(modelOrder);
|
|
939
|
1003
|
}
|
|
940
|
1004
|
}
|
|
|
@@ -949,9 +1013,6 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
949
|
1013
|
else
|
|
950
|
1014
|
return Error("分仓失败"+ msg);
|
|
951
|
1015
|
|
|
952
|
|
-
|
|
953
|
|
-
|
|
954
|
|
-
|
|
955
|
1016
|
}
|
|
956
|
1017
|
|
|
957
|
1018
|
[HttpPost("checkordermoney")]
|
|
|
@@ -1078,6 +1139,155 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
1078
|
1139
|
|
|
1079
|
1140
|
|
|
1080
|
1141
|
/// <summary>
|
|
|
1142
|
+ /// 客服提交订单
|
|
|
1143
|
+ /// </summary>
|
|
|
1144
|
+ /// <param name="orderids"></param>
|
|
|
1145
|
+ /// <param name="stock"></param>
|
|
|
1146
|
+ /// <returns></returns>
|
|
|
1147
|
+ [HttpPost("Submit")]
|
|
|
1148
|
+ public async Task<IActionResult> Submit(string orderids)
|
|
|
1149
|
+ {
|
|
|
1150
|
+
|
|
|
1151
|
+ if (string.IsNullOrEmpty(orderids))
|
|
|
1152
|
+ return Error("请选择订单号");
|
|
|
1153
|
+
|
|
|
1154
|
+ string msg = "";int res = 0;
|
|
|
1155
|
+ string[] ids = orderids.Split(',');
|
|
|
1156
|
+ List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
|
|
|
1157
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
|
1158
|
+ foreach (var it in ids)
|
|
|
1159
|
+ {
|
|
|
1160
|
+ T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
|
|
|
1161
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
|
1162
|
+ if (modelOrder.F_IsExpress<=0|| modelOrder.F_State !=3)
|
|
|
1163
|
+ {
|
|
|
1164
|
+ msg += "订单" + modelOrder.F_Id + "未分物流";
|
|
|
1165
|
+ continue;
|
|
|
1166
|
+ }
|
|
|
1167
|
+ modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
|
|
|
1168
|
+ modelOrder.F_CheckUserName = UserLogin.UserName;
|
|
|
1169
|
+ modelOrder.F_CheckTime = DateTime.Now;
|
|
|
1170
|
+ modelOrder.F_State = 5;
|
|
|
1171
|
+ orderLIst.Add(modelOrder);
|
|
|
1172
|
+ t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
|
|
|
1173
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "提交订单";
|
|
|
1174
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
1175
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
1176
|
+ t_Bus_Orderlogs.F_WoState = 5;
|
|
|
1177
|
+ logs.Add(t_Bus_Orderlogs);
|
|
|
1178
|
+ }
|
|
|
1179
|
+
|
|
|
1180
|
+
|
|
|
1181
|
+ if (await bus_OrderRepository.UpdateList(orderLIst))
|
|
|
1182
|
+ {
|
|
|
1183
|
+ await busOrderlogsRepository.AddAndUpdateList(logs);
|
|
|
1184
|
+ if (msg == "")
|
|
|
1185
|
+ return Success("分仓成功");
|
|
|
1186
|
+ else
|
|
|
1187
|
+ return Success(msg);
|
|
|
1188
|
+ }
|
|
|
1189
|
+ else
|
|
|
1190
|
+ return Error("订单分仓失败" + msg);
|
|
|
1191
|
+
|
|
|
1192
|
+
|
|
|
1193
|
+
|
|
|
1194
|
+
|
|
|
1195
|
+ }
|
|
|
1196
|
+
|
|
|
1197
|
+
|
|
|
1198
|
+ /// <summary>
|
|
|
1199
|
+ /// 上传文件并导入数据库批量导入快递信息
|
|
|
1200
|
+ /// </summary>
|
|
|
1201
|
+ /// <returns></returns>
|
|
|
1202
|
+ [HttpPost("importordersubmitexcel")]
|
|
|
1203
|
+ public async Task<IActionResult> importordersubmitexcel(int headrow = 0)
|
|
|
1204
|
+ {
|
|
|
1205
|
+ Microsoft.AspNetCore.Http.IFormFile _upfile = Request.Form.Files[0];
|
|
|
1206
|
+ if (!_upfile.ContentType.Equals("application/vnd.ms-excel") && !_upfile.ContentType.Equals("application/x-xls") && !_upfile.ContentType.Equals("application/x-xlsx") && !_upfile.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") && !_upfile.ContentType.Equals("application/octet-stream"))
|
|
|
1207
|
+ return Error($"请正确上传Excel文件:file.ContentType={_upfile.ContentType}");
|
|
|
1208
|
+ NPOIHelper npoi = new NPOIHelper();
|
|
|
1209
|
+ var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
|
|
|
1210
|
+ int num = dtExcel.Rows.Count;
|
|
|
1211
|
+ var cols = dtExcel.Columns;
|
|
|
1212
|
+ int colnum = cols.Count;
|
|
|
1213
|
+ string errmsg = string.Empty;
|
|
|
1214
|
+ string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
|
|
|
1215
|
+ List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
|
|
|
1216
|
+ List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
|
|
|
1217
|
+ if (num > 0)
|
|
|
1218
|
+ {
|
|
|
1219
|
+ int index = 1;
|
|
|
1220
|
+ foreach (DataRow dr in dtExcel.Rows)
|
|
|
1221
|
+ {
|
|
|
1222
|
+
|
|
|
1223
|
+ T_Bus_Order modelOrder = new T_Bus_Order();
|
|
|
1224
|
+ T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
|
|
|
1225
|
+ if (dr.Table.Columns.Contains("订单号"))
|
|
|
1226
|
+ {
|
|
|
1227
|
+ if (!string.IsNullOrEmpty(dr["订单号"].ToString()))
|
|
|
1228
|
+ {
|
|
|
1229
|
+ modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == dr["订单号"].ToString());
|
|
|
1230
|
+ if (modelOrder == null)
|
|
|
1231
|
+ {
|
|
|
1232
|
+ errmsg = errmsg + "\r\n第" + index + "行导入失败!订单不存在";
|
|
|
1233
|
+ continue;
|
|
|
1234
|
+ }
|
|
|
1235
|
+ }
|
|
|
1236
|
+ else
|
|
|
1237
|
+ {
|
|
|
1238
|
+ errmsg = errmsg + "\r\n第" + index + "行导入失败!订单不存在";
|
|
|
1239
|
+ continue;
|
|
|
1240
|
+ }
|
|
|
1241
|
+ }
|
|
|
1242
|
+ else
|
|
|
1243
|
+ {
|
|
|
1244
|
+ return Error("模板错误,请选择正确的模板");
|
|
|
1245
|
+ }
|
|
|
1246
|
+ if (modelOrder.F_IsExpress <= 0 || modelOrder.F_State != 3)
|
|
|
1247
|
+ {
|
|
|
1248
|
+ errmsg = errmsg + "\r\n第" + index + "行导入失败!该订单未分物流";
|
|
|
1249
|
+ continue;
|
|
|
1250
|
+ }
|
|
|
1251
|
+ modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
|
|
|
1252
|
+ modelOrder.F_CheckUserName = UserLogin.UserName;
|
|
|
1253
|
+ modelOrder.F_CheckTime = DateTime.Now;
|
|
|
1254
|
+ modelOrder.F_State = 5;
|
|
|
1255
|
+ orderLIst.Add(modelOrder);
|
|
|
1256
|
+ t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
|
|
|
1257
|
+ t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "提交订单";
|
|
|
1258
|
+ t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
|
|
|
1259
|
+ t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
|
|
|
1260
|
+ t_Bus_Orderlogs.F_WoState = 5;
|
|
|
1261
|
+ logs.Add(t_Bus_Orderlogs);
|
|
|
1262
|
+ index++;
|
|
|
1263
|
+ }
|
|
|
1264
|
+
|
|
|
1265
|
+ if (!await bus_OrderRepository.UpdateList(orderLIst))
|
|
|
1266
|
+ {
|
|
|
1267
|
+ await busOrderlogsRepository.AddAndUpdateList(logs);
|
|
|
1268
|
+ if (!string.IsNullOrEmpty(errmsg))
|
|
|
1269
|
+ {
|
|
|
1270
|
+ errmsg = errmsg + "导入失败!";
|
|
|
1271
|
+ }
|
|
|
1272
|
+ else
|
|
|
1273
|
+ {
|
|
|
1274
|
+ errmsg = "导入失败!";
|
|
|
1275
|
+ }
|
|
|
1276
|
+ }
|
|
|
1277
|
+ }
|
|
|
1278
|
+ else
|
|
|
1279
|
+ {
|
|
|
1280
|
+ return Error("文件中无数据");
|
|
|
1281
|
+ }
|
|
|
1282
|
+
|
|
|
1283
|
+ if (!string.IsNullOrEmpty(errmsg))
|
|
|
1284
|
+ {
|
|
|
1285
|
+ return Error(errmsg);
|
|
|
1286
|
+ }
|
|
|
1287
|
+
|
|
|
1288
|
+ return Success("导入成功");
|
|
|
1289
|
+ }
|
|
|
1290
|
+ /// <summary>
|
|
1081
|
1291
|
/// 根据分页获取售后列表 待退款 退货 仓库确认收到货 补差额 不需要仓库确认
|
|
1082
|
1292
|
/// </summary>
|
|
1083
|
1293
|
/// <param name="input"></param>
|