From 5b8bf171b9afda52fa366a72e54eedbd9e6d4d17 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期六, 01 十一月 2025 19:54:25 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/FangCangZhiNeng

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs |   46 ++++++++++++++++++++++++++++------------------
 1 files changed, 28 insertions(+), 18 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index 2267064..44d2925 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -464,22 +464,29 @@
                             //_supplyTaskService.AddData(supplyTasks);
                         }
                     }
-                    _unitOfWorkManage.BeginTran();
-                    _supplyTaskService.AddData(supplyTasks);
-                    _inventory_BatchServices.UpdateData(batchesUp);
-                    _inventoryInfoService.UpdateData(inventoryInfosUp);
-                    if (entityOrder.Details.Count > 0)
-                        BaseDal.Db.CopyNew().InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
-                    if (entityOrderLK.Details.Count > 0)
-                        BaseDal.Db.CopyNew().InsertNav(entityOrderLK).Include(x => x.Details).ExecuteCommand();
-                    _unitOfWorkManage.CommitTran();
+                    try
+                    {
+                        _unitOfWorkManage.BeginTran();
+                        _supplyTaskService.AddData(supplyTasks);
+                        _inventory_BatchServices.UpdateData(batchesUp);
+                        _inventoryInfoService.UpdateData(inventoryInfosUp);
+                        if (entityOrder.Details.Count > 0)
+                            BaseDal.Db.CopyNew().InsertNav(entityOrder).Include(x => x.Details).ExecuteCommand();
+                        if (entityOrderLK.Details.Count > 0)
+                            BaseDal.Db.CopyNew().InsertNav(entityOrderLK).Include(x => x.Details).ExecuteCommand();
+                        _unitOfWorkManage.CommitTran();
+                    }
+                    catch (Exception ex)
+                    {
+                        _unitOfWorkManage.RollbackTran();
+                    }
                     #endregion
                 }
                 webResponseContent.OK();
             }
             catch (Exception ex)
             {
-                _unitOfWorkManage.RollbackTran();
+                _messageInfoService.AddMessageInfo(MessageGroupByEnum.OutOrderAlarm, (outorder.order_type == "3" ? "鍏ュ簱閫�璐�" : "姝e父鍑哄簱") + $"锛氬崟鍙枫�恵outorder.order_no}銆�", ex.Message);
                 webResponseContent.Error(ex.Message);
             }
             return webResponseContent;
@@ -979,12 +986,6 @@
                     inventory_Batch.OutboundQuantity -= supplyTask.StockQuantity;
                 }
                 #endregion
-                if (supplyTask.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000"))
-                {
-                    materielInfo.Business_qty -= supplyTask.StockQuantity;
-                    if (materielInfo.Business_qty < materielInfo.MinQty)
-                        CreateAllocatInOut(materielInfo);//鍒涘缓璋冩嫧浠诲姟
-                }
                 supplyTask.TaskStatus = SupplyStatusEnum.OutFinish.ObjToInt();
 
                 _unitOfWorkManage.BeginTran();
@@ -1000,13 +1001,21 @@
                 if (location != null) _locationInfoService.UpdateData(location);
                 _deliveryOrderDetailServices.UpdateData(cabinOrderDetail);
                 _supplyTaskService.Repository.DeleteAndMoveIntoHty(supplyTask, OperateTypeEnum.浜哄伐瀹屾垚);
-                _unitOfWorkManage.CommitTran();
 
                 #region 鍒ゆ柇璇︽儏鏄惁鍏ㄩ儴瀹屾垚
                 if (!_deliveryOrderDetailServices.Repository.QueryData(x => x.DeliveryOrderId == deliveryOrder.Id && x.OotDetailStatus != "宸插畬鎴�").Any())
                     deliveryOrder.OutStatus = "宸插畬鎴�";
                 BaseDal.UpdateData(deliveryOrder);
+                if (supplyTask.WarehouseCode == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000"))
+                {
+                    materielInfo.Business_qty -= supplyTask.StockQuantity;
+                    if (materielInfo.Business_qty < materielInfo.MinQty)
+                        CreateAllocatInOut(materielInfo);//鍒涘缓璋冩嫧浠诲姟
+                }
                 #endregion
+                _unitOfWorkManage.CommitTran();
+
+                content.OK();
             }
             catch (Exception ex)
             {
@@ -1144,6 +1153,7 @@
                 else
                 {
                     var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
+                    if (deliveryOrder.Out_type == "3") url = "http://121.37.118.63:80/GYZ2/95fck/inOrderOk";
                     var requestDate = new
                     {
                         order_no = deliveryOrder.Out_no
@@ -1151,7 +1161,7 @@
                     var result = HttpHelper.Post(url, requestDate.ToJsonString());
                     var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
                     if (response == null) throw new Exception("涓婃姤ERP鍑哄簱鍗曞畬鎴愬け璐ワ紒");
-                    if (response.resultCode != "0") throw new Exception(response.resultMsg);
+                    if (response.resultCode != "0" && response.resultMsg != "鏈壘鍒板悎娉曞崟鎹�") throw new Exception(response.resultMsg);
                     _deliveryOrderDetailServices.Repository.DeleteAndMoveIntoHty(deliveryOrderDetails, OperateTypeEnum.浜哄伐瀹屾垚);
                     BaseDal.DeleteAndMoveIntoHty(deliveryOrders, OperateTypeEnum.浜哄伐瀹屾垚);
                 }

--
Gitblit v1.9.3