From a770206c91e495b802b3e9371e06834586ad7715 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 30 十月 2025 20:17:30 +0800
Subject: [PATCH] 1

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs |  154 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 100 insertions(+), 54 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 9e2c326..5d99726 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"
@@ -15,6 +15,7 @@
 using WIDESEA_DTO.SquareCabin;
 using WIDESEA_Common;
 using System.Xml.Linq;
+using WIDESEA_Common.OrderEnum;
 
 namespace WIDESEA_WMSServer
 {
@@ -65,10 +66,10 @@
                 // 鍙嶅簭鍒楀寲
                 var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
 
-                if (response.resultCode != "0")
+                if (response == null || response.resultCode != "0" || requestData == null)
                 {
                     // 璋冪敤寮傚父鎺ュ彛
-                    SendErrorToUpstream(1, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
+                    //SendErrorToUpstream(1, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
                     return responseContent.Error(response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
                 }
 
@@ -76,8 +77,10 @@
                 {
                     return responseContent.OK("鏃犳柊鍏ュ簱鍗曟暟鎹�");
                 }
+                var ordernos = response.data.Select(x => x.order_no).ToList();
                 // 鑾峰彇鎵�鏈夊凡瀛樺湪鐨勫叆搴撳崟鍙�
                 var existingOrderNos = _cabinOrderServices.Db.Queryable<Dt_CabinOrder>()
+                    .Where(x => ordernos.Contains(x.Order_no))
                     .Select(x => x.Order_no)
                     .Distinct().ToList();
 
@@ -86,7 +89,7 @@
                     .Where(order => !existingOrderNos.Contains(order.order_no))
                     .ToList();
 
-                if (!newOrders.Any())
+                if (newOrders.Count < 1)
                 {
                     return responseContent.OK("鎵�鏈夊叆搴撳崟宸插瓨鍦紝鏃犻渶鏂板");
                 }
@@ -151,8 +154,8 @@
                     {
                         _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
-                        SendErrorToUpstream(1, "", ex.Message, "");
-                        return responseContent.Error("鍚屾澶辫触: " + ex.Message);
+                        //SendErrorToUpstream(1, "", ex.Message, "");
+                        //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 };
                 return responseContent.OK("鍚屾鍏ュ簱鍗曟垚鍔�");
@@ -161,7 +164,7 @@
             catch (Exception ex)
             {
                 // 鍏ㄥ眬寮傚父鏃讹紝涔熸帹閫佸紓甯哥粰涓婃父
-                SendErrorToUpstream(1, "", ex.Message, "");
+                //SendErrorToUpstream(1, "", ex.Message, "");
                 return responseContent.Error("鍚屾澶辫触: " + ex.Message);
             }
         }
@@ -174,8 +177,8 @@
             var responseContent = new WebResponseContent();
             try
             {
-                //var url = "http://121.37.118.63:80/GYZ2/95fck/outOrder";
-                var url = "http://127.0.0.1:4523/m1/5660322-5340849-default/GYZ2/95fck/outOrder";
+                var url = "http://121.37.118.63:80/GYZ2/95fck/outOrder";
+                //var url = "http://127.0.0.1:4523/m1/5660322-5340849-default/GYZ2/95fck/outOrder";
                 if (string.IsNullOrEmpty(SearchOutDate)) SearchOutDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 //// 璇锋眰鍙傛暟
                 var requestData = new
@@ -190,7 +193,7 @@
 
                 if (response.resultCode != "0")
                 {
-                    SendErrorToUpstream(3, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
+                    //SendErrorToUpstream(3, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
                     return responseContent.Error(response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
                 }
 
@@ -198,9 +201,10 @@
                 {
                     return responseContent.OK("鏃犳柊鍑哄簱鍗曟暟鎹�");
                 }
-
+                var ordernos = response.data.Select(x => x.order_no).ToList();
                 // 宸插瓨鍦ㄥ嚭搴撳崟鍙�
                 var existingOutOrderNos = _deliveryOrderServices.Db.Queryable<Dt_DeliveryOrder>()
+                    .Where(x => ordernos.Contains(x.Out_no))
                     .Select(x => x.Out_no)
                     .Distinct().ToList();
 
@@ -211,7 +215,7 @@
 
                 List<string> order_no = newOutOrders.Select(x => x.order_no).ToList();
 
-                if (!newOutOrders.Any())
+                if (newOutOrders.Count < 1)
                 {
                     return responseContent.OK("鎵�鏈夊嚭搴撳崟宸插瓨鍦紝鏃犻渶鏂板");
                 }
@@ -278,15 +282,15 @@
                     {
                         _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
-                        SendErrorToUpstream(3, "", ex.Message, "");
-                        return responseContent.Error("鍚屾澶辫触: " + ex.Message);
+                        //SendErrorToUpstream(3, "", ex.Message, "");
+                        //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 }
                 return responseContent.OK($"鍚屾鍑哄簱鍗曟垚鍔燂紝鍏眥_DeliveryOrders.Count}鏉�");
             }
             catch (Exception ex)
             {
-                SendErrorToUpstream(3, "", ex.Message, "");
+                //SendErrorToUpstream(3, "", ex.Message, "");
                 return responseContent.Error("鍚屾澶辫触: " + ex.Message);
             }
         }
@@ -391,7 +395,7 @@
                     }
                     else
                     {
-                        SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
+                        //SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
                         Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
                         return new WebResponseContent { Status = false, Message = "璁㈠崟鎺ㄩ�佸け璐�" };
                     }
@@ -480,8 +484,8 @@
                         };
 
                         // 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 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());
                         var resp = JsonConvert.DeserializeObject<TowcsDto.TowcsResponse<object>>(result);
@@ -503,14 +507,14 @@
                         }
                         else
                         {
-                            SendErrorToUpstream(3, order.Out_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
+                            //SendErrorToUpstream(3, order.Out_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
                             Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
                         }
                         //鍒犻櫎鍏ㄩ儴鐘朵负宸插畬鎴愮殑鏄庣粏鍜岃〃澶达紝绉诲叆鍘嗗彶琛�
                     }
                     catch (Exception ex)
                     {
-                        SendErrorToUpstream(3, order.Out_no, ex.Message, "");
+                        //SendErrorToUpstream(3, order.Out_no, ex.Message, "");
                         Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸紓甯革細{ex.Message}");
                     }
                 }
@@ -536,39 +540,61 @@
             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 = BaseDal.QueryData(x => x.Order_no == inorder);
                     var Orders = _cabinOrderServices.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == inorder).Includes(x => x.Details).ToList();
+
                     if (!Orders.Where(x => x.OdrderStatus != "宸插畬鎴�").Any())
                     {
-                        _unitOfWorkManage.BeginTran();
-                        foreach (var item in Orders)
+                        if (Orders.FirstOrDefault().Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
                         {
-                            if (item.Details != null)
-                                _cabinDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
-                            item.Details = null;
-                        }
-                        _cabinOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
-                        // 璋冪敤涓婃父鎺ュ彛
-                        var url = "http://121.37.118.63:80/GYZ2/95fck/inOrderOk";
-                        var result = HttpHelper.Post(url, new { order_no = inorder }.ToJsonString());
-                        var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
-                        if (response.resultCode == "0")
-                        {
-                            // 鎻愪氦浜嬪姟
-                            _unitOfWorkManage.CommitTran();
+                            foreach (var item in Orders)
+                            {
+                                if (item.Details != null)
+                                    _cabinDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
+                                item.Details = null;
+                            }
+                            _cabinOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
                         }
                         else
                         {
-                            _unitOfWorkManage.RollbackTran();
-                            SendErrorToUpstream(2, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", inorder);
+                            // 璋冪敤涓婃父鎺ュ彛
+                            var url = "http://121.37.118.63:80/GYZ2/95fck/inOrderOk";
+
+
+
+                            var result = HttpHelper.Post(url, new { order_no = inorder }.ToJsonString());
+                            var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
+                            if (response.resultCode == "0")
+                            {
+                                foreach (var item in Orders)
+                                {
+                                    if (item.Details != null)
+                                        _cabinDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
+                                    item.Details = null;
+                                }
+                                _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);
+                                continue;
+                            }
                         }
+                        
+
                     }
                 }
                 #endregion
+                _unitOfWorkManage.CommitTran();
                 return responseContent.OK();
             }
             catch (Exception ex)
@@ -590,38 +616,58 @@
             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 => x.Out_no == outorder).Includes(x => x.Details).ToList();
+
                     if (!Orders.Where(x => x.OutStatus != "宸插畬鎴�").Any())
                     {
-                        _unitOfWorkManage.BeginTran();
-                        foreach (var item in Orders)
+                        if (Orders.FirstOrDefault().Out_type == OutOrderTypeEnum.Allocate.ObjToInt().ToString())
                         {
-                            if (item.Details != null)
-                                _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
-                            item.Details = null;
+                            foreach (var item in Orders)
+                            {
+                                if (item.Details != null)
+                                    _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
+                                item.Details = null;
+                            }
+                            _deliveryOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
                         }
-                        _deliveryOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
-                        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 response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
-                        if (response.resultCode == "0") _unitOfWorkManage.CommitTran();
                         else
                         {
-                            _unitOfWorkManage.RollbackTran();
-                            SendErrorToUpstream(4, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", outorder);
+                            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 response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
+                            if (response != null && response.resultCode == "0")
+                            {
+                                foreach (var item in Orders)
+                                {
+                                    if (item.Details != null)
+                                        _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.鑷姩瀹屾垚);
+                                    item.Details = null;
+                                }
+                                _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);
+                                continue;
+                            }
                         }
                     }
                 }
                 #endregion
-
+                _unitOfWorkManage.CommitTran();
                 return responseContent.OK();
             }
             catch (Exception ex)

--
Gitblit v1.9.3