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

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs |  124 +++++++++++++++++++++++++++--------------
 1 files changed, 81 insertions(+), 43 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 32b12da..9eee10d 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,7 +66,7 @@
                 // 鍙嶅簭鍒楀寲
                 var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
 
-                if (response.resultCode != "0")
+                if (response == null || response.resultCode != "0" || requestData == null)
                 {
                     // 璋冪敤寮傚父鎺ュ彛
                     SendErrorToUpstream(1, "", 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("鎵�鏈夊叆搴撳崟宸插瓨鍦紝鏃犻渶鏂板");
                 }
@@ -152,7 +155,7 @@
                         _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
                         SendErrorToUpstream(1, "", ex.Message, "");
-                        return responseContent.Error("鍚屾澶辫触: " + ex.Message);
+                        //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 };
                 return responseContent.OK("鍚屾鍏ュ簱鍗曟垚鍔�");
@@ -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
@@ -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("鎵�鏈夊嚭搴撳崟宸插瓨鍦紝鏃犻渶鏂板");
                 }
@@ -279,7 +283,7 @@
                         _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
                         SendErrorToUpstream(3, "", ex.Message, "");
-                        return responseContent.Error("鍚屾澶辫触: " + ex.Message);
+                        //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 }
                 return responseContent.OK($"鍚屾鍑哄簱鍗曟垚鍔燂紝鍏眥_DeliveryOrders.Count}鏉�");
@@ -536,39 +540,56 @@
             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
+                            {
+                                //_unitOfWorkManage.RollbackTran();
+                                SendErrorToUpstream(2, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", inorder);
+                                continue;
+                            }
                         }
                     }
                 }
                 #endregion
+                _unitOfWorkManage.CommitTran();
                 return responseContent.OK();
             }
             catch (Exception ex)
@@ -590,38 +611,55 @@
             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.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
+                            {
+                                //_unitOfWorkManage.RollbackTran();
+                                SendErrorToUpstream(4, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", outorder);
+                                continue;
+                            }
                         }
                     }
                 }
                 #endregion
-
+                _unitOfWorkManage.CommitTran();
                 return responseContent.OK();
             }
             catch (Exception ex)

--
Gitblit v1.9.3