From 3ca1401ff81f256f54533110b48c68e7fa6bfca5 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 01 十一月 2025 00:50:53 +0800
Subject: [PATCH] 整体流程代码优化
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs | 426 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 286 insertions(+), 140 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
index c66b08c..7ce1d60 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
@@ -17,24 +17,28 @@
using System.Xml.Linq;
using WIDESEA_Common.OrderEnum;
using static WIDESEA_DTO.SquareCabin.AlarmDto;
+using OfficeOpenXml.Style;
+using System.Security.Policy;
-namespace WIDESEA_WMSServer
+namespace WIDESEA_SquareCabinServices
{
- public class Business : IBusiness
+ public partial class Business : IBusiness
{
private readonly ICabinOrderServices _cabinOrderServices;
private readonly ICabinOrderDetailServices _cabinDetailServices;
private readonly IDeliveryOrderServices _deliveryOrderServices;
private readonly IDeliveryOrderDetailServices _deliveryOrderDetailServices;
+ private readonly IMaterielInfoService _materielInfoService;
private readonly IMessageInfoService _messageInfoService;
private readonly IUnitOfWorkManage _unitOfWorkManage;
- public Business(IDeliveryOrderServices deliveryOrderServices, IUnitOfWorkManage unitOfWorkManage, IDeliveryOrderDetailServices deliveryOrderDetailServices, ICabinOrderServices cabinOrderServices, ICabinOrderDetailServices cabinDetailServices, IMessageInfoService messageInfoService)
+ public Business(IDeliveryOrderServices deliveryOrderServices, IUnitOfWorkManage unitOfWorkManage, IDeliveryOrderDetailServices deliveryOrderDetailServices, ICabinOrderServices cabinOrderServices, ICabinOrderDetailServices cabinDetailServices, IMaterielInfoService materielInfoService, IMessageInfoService messageInfoService)
{
_deliveryOrderServices = deliveryOrderServices;
_unitOfWorkManage = unitOfWorkManage;
_deliveryOrderDetailServices = deliveryOrderDetailServices;
_cabinOrderServices = cabinOrderServices;
_cabinDetailServices = cabinDetailServices;
+ _materielInfoService = materielInfoService;
_messageInfoService = messageInfoService;
}
#region 鑾峰彇ERP鍏ュ簱鍗�
@@ -67,7 +71,7 @@
// 鍙嶅簭鍒楀寲
var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
- if (response == null || response.resultCode != "0" )
+ if (response == null || response.resultCode != "0")
{
// 璋冪敤寮傚父鎺ュ彛
//SendErrorToUpstream(1, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
@@ -111,7 +115,7 @@
if (!responseContent.Status) throw new Exception(responseContent.Message);
List<Dt_CabinOrder>? dt_CabinOrders = responseContent.Data as List<Dt_CabinOrder>;
if (dt_CabinOrders != null)
- _cabinOrderServices.Db.CopyNew().InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
+ _cabinOrderServices.Db.InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
}
else if (order.order_type == "3")//鍏ュ簱閫�鏂�
{
@@ -189,7 +193,7 @@
var result = HttpHelper.Post(url, requestData.ToJsonString());
var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstramOutOrderInfo>>(result);
- if (response==null||response.resultCode != "0")
+ if (response == null || response.resultCode != "0")
{
//SendErrorToUpstream(3, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
return responseContent.Error(response?.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
@@ -296,44 +300,23 @@
{
try
{
- //2.鏌ヨ绗﹀悎鏉′欢鐨勮鍗曪紙琛ㄥご = 鏂板缓 && 鍖呭惈鏈夋晥鏄庣粏锛�
- //var orders = BaseDal.Db.Queryable<Dt_CabinOrder>()
- // .Where(o => o.OdrderStatus == "鏂板缓")
- // .Includes(o => o.Details, d => d.MedicineGoods)
- // .ToList();
- //鏌ュ嚭鍖呭惈鍏ㄩ儴鐨勫叆搴撳崟锛屽寘鍚叏閮ㄦ槑缁�+涓�涓槑缁嗗搴斾竴涓晢鍝�
var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
- var orders = _cabinOrderServices.Db.CopyNew()
- .Queryable<Dt_CabinOrder>()
- .Where(o => o.OdrderStatus == "鏂板缓" && o.Warehouse_no == reslut)
- .Includes(o => o.Details, d => d.MedicineGoods)
- .ToList();
- // 3. 鍐嶈繃婊ゆ帀涓嶇鍚堟潯浠剁殑鏄庣粏锛堝彧淇濈暀 Status=0锛�
+ var orders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "鏂板缓" && x.Warehouse_no == reslut);
+ if (orders.Count < 1) return WebResponseContent.Instance.OK();
+ string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
+ var cabinOrderDetails = _cabinDetailServices.Repository.QueryData(x => orders.Select(x => x.Id).ToList().Contains(x.OrderId));
+ var materielInfos = _materielInfoService.Repository.QueryData(x => cabinOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode));
foreach (var order in orders)
{
- //Console.WriteLine($"璁㈠崟 {order.Order_no} 鍘熸槑缁嗘暟锛歿order.Details.Count}");
- order.Details = order.Details.Where(d => d.Status == 0).ToList();
- //Console.WriteLine($"璁㈠崟 {order.Order_no} 杩囨护鍚庢槑缁嗘暟锛歿order.Details.Count}");
- }
-
-
- if (orders.Count < 1)
- {
- //Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
- return WebResponseContent.Instance.Error("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
- }
-
- // 4. 閬嶅巻璁㈠崟锛岀粍瑁� DTO 骞舵帹閫�
- foreach (var order in orders)
- {
- // 浠庣涓�涓湁 MedicineGoods 鐨勬槑缁嗕腑鍙栧嚭 MaterielErpType
- string materialCode = order.Details
- .Select(d => d.MedicineGoods?.MaterielErpType)
- .FirstOrDefault(x => !string.IsNullOrEmpty(x)) ?? "YY"; // 榛樿鍊糦Y
-
+ order.Details = cabinOrderDetails.Where(x => x.OrderId == order.Id).ToList();
+ foreach (var item in order.Details)
+ {
+ item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
+ }
+ #region 涓嬪彂WCS
+ string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY";
var ediDto = new ToediInInfo
{
-
//瀹㈡埛浠g爜
customerCode = "905",
//鐗╂枡绫诲瀷
@@ -353,62 +336,234 @@
//浜у搧
productCode = d.Goods_no,
//sku鍚嶇О
- productName = d.MedicineGoods?.MaterielName,
+ productName = d.MedicineGoods.MaterielName,
//sku瑙勬牸
- productSpecifications = d.MedicineGoods?.MaterielSpec,
+ productSpecifications = d.MedicineGoods.MaterielSpec,
//鏁伴噺
quantity = (int)d.Order_qty,
//鏁堟湡
validityPeriod = d.Exp_date,
//鐢熶骇鍘傚
- manufacturer = d.MedicineGoods?.Factory,
+ manufacturer = d.MedicineGoods.Factory,
//鎴垮彿
libraryNo = order.Warehouse_no,
}).ToList()
};
-
- var url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
- //var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/363019549";
var result = HttpHelper.Post(url, ediDto.ToJsonString());
var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-
if (resp != null && resp.code == "0")
{
- // 鏇存柊琛ㄥご鐘舵��
- _cabinOrderServices.Db.Updateable<Dt_CabinOrder>()
- .SetColumns(o => new Dt_CabinOrder { OdrderStatus = "寮�濮�" })
- .Where(o => o.Id == order.Id)
- .ExecuteCommand();
-
- // 鏇存柊鏄庣粏鐘舵�佷负宸插悓姝� //杩欓噷瑕佹槸灏嗘柊寤�--銆嬪紑濮嬬姸鎬�,鍦ㄥ悗绔帴鍙h繑鍥炴垜浠殑鏃跺�欏湪杩斿洖宸插畬鎴�
- _cabinDetailServices.Db.Updateable<Dt_CabinOrderDetail>()
- .SetColumns(d => new Dt_CabinOrderDetail { Status = 1, OrderDetailStatus = "寮�濮�" })
- .Where(d => d.OrderId == order.Id && d.Status == 0)
- .ExecuteCommand();
-
- Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佹垚鍔�");
+ order.OdrderStatus = "寮�濮�";
+ foreach (var item in cabinOrderDetails.Where(x => x.OrderId == order.Id))
+ {
+ item.Status = 1;
+ item.OrderDetailStatus = "寮�濮�";
+ }
}
- else
- {
- continue;
- //SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
- //Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
- //return new WebResponseContent { Status = false, Message = "璁㈠崟鎺ㄩ�佸け璐�" };
- }
+ #endregion
}
- return new WebResponseContent { Status = true, Message = "鎺ㄩ�佹垚鍔�" };
+ _cabinOrderServices.UpdateData(orders);
+ _cabinDetailServices.UpdateData(cabinOrderDetails);
+ return WebResponseContent.Instance.OK();
}
catch (Exception ex)
{
-
- Console.WriteLine("EdiIn 寮傚父锛�" + ex.Message);
- return new WebResponseContent { Status = false, Message = ex.Message };
+ Console.WriteLine("涓嬪彂WCS鍏ュ簱鍗曞紓甯革細" + ex.Message);
+ return WebResponseContent.Instance.Error(ex.Message);
}
}
+ #region MyRegion
+
+ //public WebResponseContent EdiIn1()
+ //{
+ // try
+ // {
+ // //2.鏌ヨ绗﹀悎鏉′欢鐨勮鍗曪紙琛ㄥご = 鏂板缓 && 鍖呭惈鏈夋晥鏄庣粏锛�
+ // //var orders = BaseDal.Db.Queryable<Dt_CabinOrder>()
+ // // .Where(o => o.OdrderStatus == "鏂板缓")
+ // // .Includes(o => o.Details, d => d.MedicineGoods)
+ // // .ToList();
+ // //鏌ュ嚭鍖呭惈鍏ㄩ儴鐨勫叆搴撳崟锛屽寘鍚叏閮ㄦ槑缁�+涓�涓槑缁嗗搴斾竴涓晢鍝�
+ // var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
+ // var orders = _cabinOrderServices.Db.CopyNew()
+ // .Queryable<Dt_CabinOrder>()
+ // .Where(o => o.OdrderStatus == "鏂板缓" && o.Warehouse_no == reslut)
+ // .Includes(o => o.Details, d => d.MedicineGoods)
+ // .ToList();
+ // // 3. 鍐嶈繃婊ゆ帀涓嶇鍚堟潯浠剁殑鏄庣粏锛堝彧淇濈暀 Status=0锛�
+ // foreach (var order in orders)
+ // {
+ // //Console.WriteLine($"璁㈠崟 {order.Order_no} 鍘熸槑缁嗘暟锛歿order.Details.Count}");
+ // order.Details = order.Details.Where(d => d.Status == 0).ToList();
+ // //Console.WriteLine($"璁㈠崟 {order.Order_no} 杩囨护鍚庢槑缁嗘暟锛歿order.Details.Count}");
+ // }
+
+
+ // if (orders.Count < 1)
+ // {
+ // //Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
+ // return WebResponseContent.Instance.Error("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
+ // }
+ // List<Dt_CabinOrderDetail> cabinOrderDetails = new List<Dt_CabinOrderDetail>();
+ // var url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
+ // // 4. 閬嶅巻璁㈠崟锛岀粍瑁� DTO 骞舵帹閫�
+ // foreach (var order in orders)
+ // {
+ // // 浠庣涓�涓湁 MedicineGoods 鐨勬槑缁嗕腑鍙栧嚭 MaterielErpType
+ // string materialCode = order.Details
+ // .Select(d => d.MedicineGoods?.MaterielErpType)
+ // .FirstOrDefault(x => !string.IsNullOrEmpty(x)) ?? "YY"; // 榛樿鍊糦Y
+
+ // var ediDto = new ToediInInfo
+ // {
+
+ // //瀹㈡埛浠g爜
+ // customerCode = "905",
+ // //鐗╂枡绫诲瀷
+ // materialCode = materialCode,
+ // //鍏ュ簱鍗曞彿
+ // externalOrderNo = order.Order_no,
+ // //鍏ュ簱鍗曠被鍨�
+ // inOrderType = order.Order_type == "5" ? "20" : "10",
+ // //浼樺厛绾�
+ // priority = 0,
+ // //鏄惁鍙栨秷
+ // Is_cancel = 0,
+ // details = order.Details.Select(d => new ToediInDetail
+ // {
+ // //鎵瑰彿
+ // batchNo = d.Batch_num,
+ // //浜у搧
+ // productCode = d.Goods_no,
+ // //sku鍚嶇О
+ // productName = d.MedicineGoods?.MaterielName,
+ // //sku瑙勬牸
+ // productSpecifications = d.MedicineGoods?.MaterielSpec,
+ // //鏁伴噺
+ // quantity = (int)d.Order_qty,
+ // //鏁堟湡
+ // validityPeriod = d.Exp_date,
+ // //鐢熶骇鍘傚
+ // manufacturer = d.MedicineGoods?.Factory,
+ // //鎴垮彿
+ // libraryNo = order.Warehouse_no,
+ // }).ToList()
+ // };
+
+ // //var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/363019549";
+ // var result = HttpHelper.Post(url, ediDto.ToJsonString());
+ // var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+
+ // if (resp != null && resp.code == "0")
+ // {
+ // order.OdrderStatus = "寮�濮�";
+ // foreach (var item in order.Details)
+ // {
+ // item.Status = 1;
+ // item.OrderDetailStatus = "寮�濮�";
+ // }
+ // cabinOrderDetails.AddRange(order.Details);
+ // // 鏇存柊琛ㄥご鐘舵��
+ // //_cabinOrderServices.Db.Updateable<Dt_CabinOrder>()
+ // // .SetColumns(o => new Dt_CabinOrder { OdrderStatus = "寮�濮�" })
+ // // .Where(o => o.Id == order.Id)
+ // // .ExecuteCommand();
+
+ // // 鏇存柊鏄庣粏鐘舵�佷负宸插悓姝� //杩欓噷瑕佹槸灏嗘柊寤�--銆嬪紑濮嬬姸鎬�,鍦ㄥ悗绔帴鍙h繑鍥炴垜浠殑鏃跺�欏湪杩斿洖宸插畬鎴�
+ // //_cabinDetailServices.Db.Updateable<Dt_CabinOrderDetail>()
+ // // .SetColumns(d => new Dt_CabinOrderDetail { Status = 1, OrderDetailStatus = "寮�濮�" })
+ // // .Where(d => d.OrderId == order.Id && d.Status == 0)
+ // // .ExecuteCommand();
+
+ // //Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佹垚鍔�");
+ // }
+ // else
+ // {
+ // continue;
+ // //SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
+ // //Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
+ // //return new WebResponseContent { Status = false, Message = "璁㈠崟鎺ㄩ�佸け璐�" };
+ // }
+ // }
+ // _cabinOrderServices.UpdateData(orders);
+ // _cabinDetailServices.UpdateData(cabinOrderDetails);
+ // return new WebResponseContent { Status = true, Message = "鎺ㄩ�佹垚鍔�" };
+ // }
+ // catch (Exception ex)
+ // {
+
+ // Console.WriteLine("EdiIn 寮傚父锛�" + ex.Message);
+ // return new WebResponseContent { Status = false, Message = ex.Message };
+ // }
+ //}
+ #endregion
#endregion
#region 涓嬪彂绔嬪簱鍑哄簱鍗�
public WebResponseContent EdiOut()
+ {
+ try
+ {
+ var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
+ var orders = _deliveryOrderServices.Repository.QueryData(x => x.OutStatus == "鏂板缓" && x.Warehouse_no == reslut);
+ if (orders.Count < 1) return WebResponseContent.Instance.OK();
+ string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
+ var deliveryOrderDetails = _deliveryOrderDetailServices.Repository.QueryData(x => orders.Select(x => x.Id).ToList().Contains(x.DeliveryOrderId));
+ var materielInfos = _materielInfoService.Repository.QueryData(x => deliveryOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode));
+ foreach (var order in orders)
+ {
+ order.Details = deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id).ToList();
+ foreach (var item in order.Details)
+ {
+ item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
+ }
+ #region 涓嬪彂WCS
+ string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY";
+ var ediDto = new ToediOutInfo
+ {
+ //瀹㈡埛浠g爜
+ customerCode = "905",
+ //鐗╂枡绫诲瀷
+ materialCode = materialCode,
+ externalOrderNo = order.Out_no,
+ outOrderType = order.Out_type,
+ priority = 1,
+ Is_cancel = 0,
+ details = order.Details.Select(d => new ToeOutdiInDetail
+ {
+ batchNo = d.Batch_num,
+ productCode = d.Goods_no,
+ productName = d.MedicineGoods.MaterielName,
+ productSpecifications = d.MedicineGoods.MaterielModel,
+ quantity = (int)d.Order_qty,
+ }).ToList()
+ };
+ var result = HttpHelper.Post(url, ediDto.ToJsonString());
+ var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+ if (resp != null && resp.code == "0")
+ {
+ order.OutStatus = "寮�濮�";
+ foreach (var item in deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id))
+ {
+ item.Status = 1;
+ item.OotDetailStatus = "寮�濮�";
+ }
+ }
+ #endregion
+ }
+ _deliveryOrderServices.UpdateData(orders);
+ _deliveryOrderDetailServices.UpdateData(deliveryOrderDetails);
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("涓嬪彂WCS鍑哄簱鍗曞紓甯革細" + ex.Message);
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ #region MyRegion
+ public WebResponseContent EdiOut1()
{
var responseContent = new WebResponseContent();
var WarehouseLk = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
@@ -431,7 +586,8 @@
//Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
return responseContent.Error("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
}
-
+ List<Dt_DeliveryOrderDetail> deliveryOrderDetails = new List<Dt_DeliveryOrderDetail>();
+ var url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
foreach (var order in outOrders)
{
try
@@ -480,7 +636,6 @@
};
// 4. 璋冪敤鎺ュ彛
- var url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
//var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/363076920";
var result = HttpHelper.Post(url, ediDto.ToJsonString());
@@ -488,18 +643,25 @@
if (resp != null && resp.code == "0")
{
+ order.OutStatus = "寮�濮�";
+ foreach (var item in order.Details)
+ {
+ item.Status = 1;
+ item.OotDetailStatus = "寮�濮�";
+ }
+ deliveryOrderDetails.AddRange(order.Details);
// 鏇存柊琛ㄥご鐘舵��
- _cabinDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrder>()
- .SetColumns(o => new Dt_DeliveryOrder { OutStatus = "寮�濮�" })
- .Where(o => o.Id == order.Id)
- .ExecuteCommand();
+ //_cabinDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrder>()
+ // .SetColumns(o => new Dt_DeliveryOrder { OutStatus = "寮�濮�" })
+ // .Where(o => o.Id == order.Id)
+ // .ExecuteCommand();
// 鏇存柊鏄庣粏鐘舵��
- _deliveryOrderDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrderDetail>()
- .SetColumns(d => new Dt_DeliveryOrderDetail { Status = 1, OotDetailStatus = "寮�濮�" })
- .Where(d => d.DeliveryOrderId == order.Id && d.Status == 0)
- .ExecuteCommand();
- Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佹垚鍔�");
+ //_deliveryOrderDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrderDetail>()
+ // .SetColumns(d => new Dt_DeliveryOrderDetail { Status = 1, OotDetailStatus = "寮�濮�" })
+ // .Where(d => d.DeliveryOrderId == order.Id && d.Status == 0)
+ // .ExecuteCommand();
+ //Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佹垚鍔�");
}
else
{
@@ -515,7 +677,8 @@
//Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸紓甯革細{ex.Message}");
}
}
-
+ _deliveryOrderServices.UpdateData(outOrders);
+ _deliveryOrderDetailServices.UpdateData(deliveryOrderDetails);
return responseContent.OK("鍑哄簱璁㈠崟鎺ㄩ�佸畬鎴�");
}
catch (Exception ex)
@@ -524,6 +687,7 @@
return responseContent.Error("鍑哄簱璁㈠崟鎺ㄩ�佸け璐ワ細" + ex.Message);
}
}
+ #endregion
#endregion
#region 鍏ュ簱瀹屾垚涓婃姤ERP
@@ -537,66 +701,55 @@
var responseContent = new WebResponseContent();
try
{
- _unitOfWorkManage.BeginTran();
#region 鏌ユ壘鎵�鏈夊凡瀹屾垚鍏ュ簱鍗�
var inorders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "宸插畬鎴�").Select(x => x.Order_no).Distinct().ToList();
- foreach (var inorder in inorders)
+ var Orders = _cabinOrderServices.Db.Queryable<Dt_CabinOrder>().Where(x => inorders.Contains(x.Order_no)).Includes(x => x.Details).ToList();
+ List<Dt_CabinOrder> cabinOrders = new List<Dt_CabinOrder>();
+ List<Dt_CabinOrderDetail> cabinOrderDetails = new List<Dt_CabinOrderDetail>();
+ var url = "http://121.37.118.63:80/GYZ2/95fck/inOrderOk";
+ foreach (var item in Orders.GroupBy(x => x.Order_no))
{
- var Orders = _cabinOrderServices.Db.CopyNew().Queryable<Dt_CabinOrder>().Where(x => x.Order_no == inorder).Includes(x => x.Details).ToList();
-
- if (!Orders.Where(x => x.OdrderStatus != "宸插畬鎴�").Any())
+ if (!item.Where(x => x.OdrderStatus != "宸插畬鎴�").Any())
{
- if (Orders.FirstOrDefault().Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
+ if (item.First().Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
{
- foreach (var item in Orders)
+ foreach (var a in item)
{
- if (item.Details != null)
- _cabinDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
- item.Details = null;
+ if (a.Details != null) cabinOrderDetails.AddRange(a.Details);
+ a.Details = null;
+ cabinOrders.Add(a);
}
- _cabinOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
}
else
{
- // 璋冪敤涓婃父鎺ュ彛
- var url = "http://121.37.118.63:80/GYZ2/95fck/inOrderOk";
-
-
-
- var result = HttpHelper.Post(url, new { order_no = inorder }.ToJsonString());
+ var result = HttpHelper.Post(url, new { order_no = item.Key }.ToJsonString());
var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
- if (response != null&&response.resultCode == "0")
+ if (response != null && response.resultCode == "0")
{
- foreach (var item in Orders)
+ foreach (var a in item)
{
- if (item.Details != null)
- _cabinDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
- item.Details = null;
+ if (a.Details != null) cabinOrderDetails.AddRange(a.Details);
+ a.Details = null;
+ cabinOrders.Add(a);
}
- _cabinOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
- // 鎻愪氦浜嬪姟
}
else
{
string mess = "涓婃姤ERP鏃犲搷搴�";
if (response != null) mess = response.resultMsg;
- _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, $"鍏ュ簱鍗曞彿銆恵inorder}銆戝畬鎴愪笂鎶RP澶辫触", mess);
- //_unitOfWorkManage.RollbackTran();
- //SendErrorToUpstream(2, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", inorder);
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, $"鍏ュ簱鍗曞彿銆恵item.Key}銆戝畬鎴愪笂鎶RP澶辫触", mess);
continue;
}
}
-
-
}
}
+ _cabinDetailServices.Repository.DeleteAndMoveIntoHty(cabinOrderDetails, OperateTypeEnum.鑷姩瀹屾垚);
+ _cabinOrderServices.Repository.DeleteAndMoveIntoHty(cabinOrders, OperateTypeEnum.鑷姩瀹屾垚);
#endregion
- _unitOfWorkManage.CommitTran();
return responseContent.OK();
}
catch (Exception ex)
{
- _unitOfWorkManage.RollbackTran();
return responseContent.Error("鎵归噺澶勭悊澶辫触锛�" + ex.Message);
}
}
@@ -613,63 +766,56 @@
var responseContent = new WebResponseContent();
try
{
- _unitOfWorkManage.BeginTran();
#region 鏌ユ壘鎵�鏈夊凡瀹屾垚鍑哄簱鍗�
var outorders = _deliveryOrderServices.Repository.QueryData(x => x.OutStatus == "宸插畬鎴�").Select(x => x.Out_no).Distinct().ToList();
- foreach (var outorder in outorders)
+ var Orders = _deliveryOrderServices.Db.Queryable<Dt_DeliveryOrder>().Where(x => outorders.Contains(x.Out_no)).Includes(x => x.Details).ToList();
+ List<Dt_DeliveryOrder> cabinOrders = new List<Dt_DeliveryOrder>();
+ List<Dt_DeliveryOrderDetail> cabinOrderDetails = new List<Dt_DeliveryOrderDetail>();
+ var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
+ foreach (var item in Orders.GroupBy(x => x.Out_no))
{
- var Orders = _deliveryOrderServices.Db.CopyNew().Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == outorder).Includes(x => x.Details).ToList();
-
- if (!Orders.Where(x => x.OutStatus != "宸插畬鎴�").Any())
+ if (!item.Where(x => x.OutStatus != "宸插畬鎴�").Any())
{
- if (Orders.FirstOrDefault().Out_type == OutOrderTypeEnum.Allocate.ObjToInt().ToString())
+ if (item.First().Out_type == OutOrderTypeEnum.Allocate.ObjToInt().ToString())
{
- foreach (var item in Orders)
+ foreach (var a in item)
{
- if (item.Details != null)
- _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
- item.Details = null;
+ if (a.Details != null) cabinOrderDetails.AddRange(a.Details);
+ a.Details = null;
+ cabinOrders.Add(a);
}
- _deliveryOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
}
else
{
- var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
- var requestDate = new
- {
- order_no = outorder
- };
- var result = HttpHelper.Post(url, requestDate.ToJsonString());
+ var result = HttpHelper.Post(url, new { order_no = item.Key }.ToJsonString());
var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
if (response != null && response.resultCode == "0")
{
- foreach (var item in Orders)
+ foreach (var a in item)
{
- if (item.Details != null)
- _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
- item.Details = null;
+ if (a.Details != null) cabinOrderDetails.AddRange(a.Details);
+ a.Details = null;
+ cabinOrders.Add(a);
}
- _deliveryOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
}
else
{
string mess = "涓婃姤ERP鏃犲搷搴�";
if (response != null) mess = response.resultMsg;
- _messageInfoService.AddMessageInfo(MessageGroupByEnum.OutOrderAlarm, $"鍑哄簱鍗曞彿銆恵outorder}銆戝畬鎴愪笂鎶RP澶辫触", mess);
- //_unitOfWorkManage.RollbackTran();
- //SendErrorToUpstream(4, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", outorder);
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, $"鍑哄簱鍗曞彿銆恵item.Key}銆戝畬鎴愪笂鎶RP澶辫触", mess);
continue;
}
}
}
}
+ _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(cabinOrderDetails, OperateTypeEnum.鑷姩瀹屾垚);
+ _deliveryOrderServices.Repository.DeleteAndMoveIntoHty(cabinOrders, OperateTypeEnum.鑷姩瀹屾垚);
+
#endregion
- _unitOfWorkManage.CommitTran();
return responseContent.OK();
}
catch (Exception ex)
{
- _unitOfWorkManage.RollbackTran();
return responseContent.Error("鎵归噺澶勭悊澶辫触锛�" + ex.Message);
}
}
--
Gitblit v1.9.3