From a8756c3526832332db4ef5685348d9b188c2bf2b Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 13 九月 2025 08:36:44 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   84 ++++++++++++++++++++++++++++-------------
 1 files changed, 57 insertions(+), 27 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index b453a70..8b82537 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -139,29 +139,6 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-        /// <summary>
-        /// 鏀捐揣瀹屾垚
-        /// </summary>
-        /// <param name="code"></param>
-        /// <returns></returns>
-        public WebResponseContent PutFinish(string code, string barCode = "", string taskNum = "")
-        {
-            try
-            {
-                string url = AppSettings.Get("WCS");
-                if (string.IsNullOrEmpty(url))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢CSAApi鍦板潃,璇锋鏌ラ厤缃枃浠�");
-                }
-                string response = HttpHelper.Post($"{url}/api/CTU_AGV/PutFinish?code={code}&barCode={barCode}&taskNum={taskNum}" );
-
-                return JsonConvert.DeserializeObject<WebResponseContent>(response) ?? WebResponseContent.Instance.Error("杩斿洖閿欒");
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
 
         public WebResponseContent AGVTasks(SaveModel saveModel)
         {
@@ -213,6 +190,7 @@
                     PalletType = stockInfo.PalletType,
                     MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
                     Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
+                    BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo
                 };
                 _unitOfWorkManage.BeginTran();
                 BaseDal.AddData(newTask);
@@ -824,6 +802,7 @@
                 switch (task.TaskType)
                 {
                     case (int)TaskTypeEnum.OutProduct:
+                    case (int)TaskTypeEnum.OutSendProduct:
                         content = OutProductCompleted(task);
                         break;
                     case (int)TaskTypeEnum.OutMesRworkProduct:
@@ -935,9 +914,12 @@
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                 _unitOfWorkManage.CommitTran();
                 //MES鎴愬搧鍑哄簱鍚屾
-                MesShipmentOrderSync shipmentOrderSync = MesOutSync(outProStockInfo, proOutOrderDetail, proStockInfoDetails);
-                ShipmentOrderSync(shipmentOrderSync);
-                ShipmentOrderMESSync(shipmentOrderSync);
+                if (task.TaskType!= TaskTypeEnum.OutSendProduct.ObjToInt())
+                {
+                    MesShipmentOrderSync shipmentOrderSync = MesOutSync(outProStockInfo, proOutOrderDetail, proStockInfoDetails);
+                    ShipmentOrderSync(shipmentOrderSync);
+                    ShipmentOrderMESSync(shipmentOrderSync);
+                }
                 content.OK();
             }
             catch (Exception ex)
@@ -1073,7 +1055,6 @@
                 }
                 proStockInfoDetails.ForEach(x =>
                 {
-                    x.OutboundQuantity = 0;
                     x.ProOutDetailStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt();
                 });
                 proStockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt();
@@ -1087,6 +1068,7 @@
                 //璐т綅鍙樺姩璁板綍
                 int beforeStatus = locationInfo.LocationStatus;
                 locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
+                _outboundRepository.ErpProScrapDetailRepository.UpdateData(erpProScrapSheetDetail);
                 _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, proStockInfo.PalletType, LocationStatusEnum.Free, locationInfo.WarehouseId);
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, erpProScrapSheet?.ProScrapSheetOrderNo ?? "", task.TaskNum);
                 _stockRepository.ProStockInfoRepository.UpdateData(proStockInfo);
@@ -1173,5 +1155,53 @@
             }
             return content;
         }
+
+        public WebResponseContent InboundTaskHandCancel(int taskNum, int warehouseId)
+        {
+            try
+            {
+                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅");
+                }
+                Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == task.PalletCode && x.WarehouseId == task.WarehouseId).Includes(x => x.Details).First();
+                if (stockInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樺搴旂殑缁勭洏淇℃伅");
+                }
+                if (stockInfo.Details.Count == 0 && stockInfo.PalletType != PalletTypeEnum.Empty.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌鎵樼洏搴撳瓨鏄庣粏淇℃伅");
+                }
+                if (task.TaskType == TaskTypeEnum.MesPalletLargeReturn.ObjToInt() || task.TaskType == TaskTypeEnum.MesPalletSmallReturn.ObjToInt())
+                {
+                    task.TaskStatus = TaskStatusEnum.Cancel.ObjToInt();
+                    _unitOfWorkManage.BeginTran();
+                    BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐鍒犻櫎 : OperateTypeEnum.鑷姩鍒犻櫎);
+                    _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩鍒犻櫎 : OperateTypeEnum.浜哄伐鍒犻櫎);
+                    _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.鑷姩鍒犻櫎 : OperateTypeEnum.浜哄伐鍒犻櫎);
+                    _unitOfWorkManage.CommitTran();
+                    return WebResponseContent.Instance.OK();
+                }
+                Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
+                if (locationInfo != null)
+                {
+                    if (locationInfo.LocationStatus == LocationStatusEnum.InStock.ObjToInt())
+                    {
+                        return WebResponseContent.Instance.Error($"璐т綅鐘舵�佷笉姝g‘");
+                    }
+
+                    LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
+                    locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
+                }
+                return WebResponseContent.Instance.OK();
+                
+            }
+            catch(Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3