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 |   91 +++++++++++++++++++++++++++++++--------------
 1 files changed, 63 insertions(+), 28 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 955a9ba..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
 {
@@ -539,20 +540,16 @@
             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();
-                        // 璋冪敤涓婃父鎺ュ彛
-                        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")
+                        if (Orders.FirstOrDefault().Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
                         {
                             foreach (var item in Orders)
                             {
@@ -561,17 +558,38 @@
                                 item.Details = null;
                             }
                             _cabinOrderServices.Repository.DeleteAndMoveIntoHty(Orders, OperateTypeEnum.鑷姩瀹屾垚);
-                            // 鎻愪氦浜嬪姟
-                            _unitOfWorkManage.CommitTran();
                         }
                         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)
@@ -593,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