From d8db1698c125618c1b5f62b009204ddc5d4eed5a Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 19 三月 2025 20:34:08 +0800
Subject: [PATCH] 成品代码更新....

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index b6057e6..5bbabf2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -88,17 +88,17 @@
                 int pageNo = saveModel.MainData["pageNo"].ObjToInt();
                 string? orderNo = saveModel.MainData["orderNo"].ToString();
                 int warehouseId = saveModel.MainData["warehouseId"].ObjToInt();
-                List<Dt_OutboundOrder> dt_ReceiveOrders = new List<Dt_OutboundOrder>();
+                List<Dt_OutboundOrder> _OutboundOrders = new List<Dt_OutboundOrder>();
                 if (string.IsNullOrEmpty(orderNo))
                 {
-                    dt_ReceiveOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderStatus < OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5);
+                    _OutboundOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderStatus < OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5);
                 }
                 else
                 {
-                    dt_ReceiveOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => (x.OrderNo.Contains(orderNo)) && x.OrderStatus < OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5);
+                    _OutboundOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => (x.OrderNo.Contains(orderNo)) && x.OrderStatus < OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5);
                 }
 
-                content.OK(data: dt_ReceiveOrders);
+                content.OK(data: _OutboundOrders);
             }
             catch (Exception ex)
             {
@@ -283,19 +283,21 @@
         {
             try
             {
+                Dt_OutboundOrder oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == model.OrderNo && x.OrderStatus < OutOrderStatusEnum.鍏抽棴.ObjToInt()).Includes(x => x.Details).OrderBy(x => x.CreateDate).First();
                 Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == model.MCode);
+
                 if (materielInfo == null)
                 {
+                    DelOutOrder(oldOutboundOrder);
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
                 }
 
                 Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == model.WaId);
                 if (warehouse == null)
                 {
+                    DelOutOrder(oldOutboundOrder);
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌浠撳簱淇℃伅");
                 }
-
-                Dt_OutboundOrder oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == model.OrderNo).Includes(x => x.Details).First();
 
                 if (model.Way == 1)
                 {
@@ -303,10 +305,12 @@
                     {
                         if (oldOutboundOrder.Details.FirstOrDefault(x => x.RowNo == Convert.ToInt32(model.RowNo)) != null)
                         {
+                            DelOutOrder(oldOutboundOrder);
                             return WebResponseContent.Instance.Error($"璇ユ槑缁嗚鍙峰凡瀛樺湪");
                         }
                         if (oldOutboundOrder.WarehouseId != warehouse.WarehouseId)
                         {
+                            DelOutOrder(oldOutboundOrder);
                             return WebResponseContent.Instance.Error($"浠撳簱涓嶄竴鑷�");
                         }
                         else
@@ -412,6 +416,28 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+        /// <summary>
+        /// 璇ュ崟鎹け璐ヨ繘琛屽垹闄�
+        /// </summary>
+        /// <returns></returns>
+        public void DelOutOrder(Dt_OutboundOrder outboundOrder)
+        {
+            try
+            {
+                if (outboundOrder != null && outboundOrder.Details.Count > 0)
+                {
+                    _unitOfWorkManage.BeginTran();
+                    _outboundOrderRepository.DeleteAndMoveIntoHty(outboundOrder, OperateTypeEnum.鑷姩鍒犻櫎);
+                    _outboundOrderDetailRepository.DeleteAndMoveIntoHty(outboundOrder.Details, OperateTypeEnum.鑷姩鍒犻櫎);
+                    _unitOfWorkManage.CommitTran();
+                }
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                throw new Exception(ex.Message);
+            }
+        }
         //涓婃姤鍑哄簱瀹屾垚
         public WebResponseContent TestOutUpload(int id, List<Dt_OutStockLockInfo>? outStockLockInfos)
         {

--
Gitblit v1.9.3