From a4342e58b21d24428285f78abb95d6a87ccf5979 Mon Sep 17 00:00:00 2001
From: 陈勇 <竞男@ASUNA>
Date: 星期一, 30 三月 2026 16:02:36 +0800
Subject: [PATCH] 同步

---
 项目代码/WMS/WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs |   48 +++++++++++++++++++++++++-----------------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
index 13f72e2..637e876 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
@@ -39,6 +39,7 @@
     private readonly IDt_BDCConfigurationService _bdcConfigurationService;
     private readonly IDt_RoadWayRepository _roadWayRepository;
     private readonly IDt_RoadWayInfoRepository _roadWayInfoRepository;
+    private readonly IDt_CarBodyInfo_htyRepository _carBodyInfo_HtyRepository;
 
     public Dt_TaskService(IDt_TaskRepository BaseDal,
                                 IUnitOfWorkManage unitOfWorkManage,
@@ -48,7 +49,7 @@
                                 ITaskExecuteDetailRepository taskExecuteDetailRepository,
                                 ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository,
                                 IDt_StationManagerRepository stationManagerRepository,
-                                ISys_ConfigService configService, IDt_PalletStockInfoRepository palletStockInfoRepository, IDt_PalletStockInfo_htyRepository palletStockInfo_HtyRepository, IDt_CarBodyInfoRepository carBodyRepository, IDt_BDCConfigurationRepository bdcConfigurationRepository, IDt_BDCConfigurationService bDCConfigurationService, IDt_RoadWayRepository roadWayRepository, IDt_RoadWayInfoRepository roadWayInfoRepository) : base(BaseDal)
+                                ISys_ConfigService configService, IDt_PalletStockInfoRepository palletStockInfoRepository, IDt_PalletStockInfo_htyRepository palletStockInfo_HtyRepository, IDt_CarBodyInfoRepository carBodyRepository, IDt_BDCConfigurationRepository bdcConfigurationRepository, IDt_BDCConfigurationService bDCConfigurationService, IDt_RoadWayRepository roadWayRepository, IDt_RoadWayInfoRepository roadWayInfoRepository, IDt_CarBodyInfo_htyRepository carBodyInfo_HtyRepository) : base(BaseDal)
 
     {
         _unitOfWorkManage = unitOfWorkManage;
@@ -66,6 +67,7 @@
         _bdcConfigurationService = bDCConfigurationService;
         _roadWayRepository = roadWayRepository;
         _roadWayInfoRepository = roadWayInfoRepository;
+        _carBodyInfo_HtyRepository = carBodyInfo_HtyRepository;
     }
 
     #region 澶栭儴鎺ュ彛鏂规硶
@@ -157,25 +159,26 @@
             stockInfo_Hty.FinishTime = DateTime.Now;
             stockInfo_Hty.OperateType = (int)OperateTypeEnum.鑷姩瀹屾垚;
 
-            var boxinfo = _carBodyRepository.QueryFirst(x => x.PalletCode == task.PalletCode);
-
+            var carInfo = _carBodyRepository.QueryFirst(x => x.PalletCode == task.PalletCode);
+            carInfo.BodyStatus = 2;
             // 浜嬪姟澶勭悊
             await _unitOfWorkManage.UseTranAsync(async () =>
             {
                 var isLocationUpdate = await _locationRepository.UpdateDataAsync(loc);                      //鏇存柊搴撲綅
                 var isPalletHty = await _palletStockInfo_HtyRepository.AddDataAsync(stockInfo_Hty);         //娣诲姞鍘嗗彶搴撳瓨璁板綍
                 var isTaskUpdated = await BaseDal.DeleteDataByIdAsync(task.TaskId);                       //鍒犻櫎浠诲姟
-                //await BaseDal.UpdateDataAsync(task);                                                        //鍙栨秷鍒犻櫎浠诲姟锛屾敼涓哄畬鎴愮姸鎬侊紱骞禬MS鐣岄潰鐢变汉宸ョ‘璁ゅ畬鎴�
                 var isTaskAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;                        //鍔犲叆鍘嗗彶浠诲姟
                 var isDelete = await _palletStockInfoRepository.DeleteDataAsync(stock);                     //鍒犻櫎搴撳瓨
-                //await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);                                  //鍒犻櫎搴撳瓨鏄庣粏
-                //if (boxinfo != null)
-                //{
-                //    var isDeleteBoxing = await _boxingInfoRepository.Db.DeleteNav<DtBoxingInfo>(x => x.Id == boxinfo.Id)
-                //                         .Include(x => x.BoxingInfoDetails)
-                //                         .ExecuteCommandAsync();                                           //鍒犻櫎缁勭洏
-                //}
-
+                if (task.CarType != 2)//闈炲僵杞﹁韩鍑哄簱鍚� 娓呴櫎缁勭洏鏁版嵁
+                {
+                    //鍒犻櫎缁勭洏
+                    Dt_CarBodyInfo_hty carInfo_Hty = carInfo.Adapt<Dt_CarBodyInfo_hty>();
+                    carInfo_Hty.FinishTime = DateTime.Now;
+                    carInfo_Hty.FinishType = (int)OperateTypeEnum.鑷姩瀹屾垚;
+                    carInfo_Hty.sourceID = carInfo.Id;
+                    await _carBodyInfo_HtyRepository.AddDataAsync(carInfo_Hty);
+                    await _carBodyRepository.DeleteDataAsync(carInfo);
+                }
             });
 
             return content.OK("浠诲姟瀹屾垚鎴愬姛", task.Remark);
@@ -241,6 +244,7 @@
                 return await CompleteInboundTaskAsync(task);
 
             case (int)TaskOutboundTypeEnum.Outbound:
+            case (int)TaskOutboundTypeEnum.OutTray:
                 LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
                 return await CompleteStackTaskAsync(task);
             default:
@@ -335,7 +339,7 @@
         try
         {
             string palletCode = saveModel.MainData["palletCode"].ToString();
-            string station = saveModel.MainData["station"].ToString();
+            //string station = saveModel.MainData["station"].ToString();
 
             var barcode = JsonConvert.DeserializeObject<List<string>>(saveModel.MainData["palletCode"].ToString());
 
@@ -351,7 +355,7 @@
                     return content.Error("鏈煡璇㈠埌瀵瑰簲鐨勫簱瀛樹俊鎭�");
                 }
 
-                if (stockInfo.StockStatus != 0) return content.Error($"鎸囧畾澶辫触锛氭墭鐩榹item}褰撳墠鐘舵�佷笉鍏佽鎸囧畾鍑哄簱");
+                if (stockInfo.StockStatus != 0) return content.Error($"鎸囧畾澶辫触锛氬簱瀛樻粦姗噞item}宸查攣瀹氫笉鍏佽鎸囧畾鍑哄簱");
 
                 stockInfo.StockStatus = 1;
 
@@ -399,19 +403,17 @@
                 //}
                 //var stationInfo = stationInfos.FirstOrDefault();
 
-
-
                 // 鍒涘缓骞舵坊鍔犱换鍔″埌鏁版嵁搴�
                 task = new Dt_Task
                 {
                     Grade = 1,
                     Roadway = Outstation.Roadway,
-                    TargetAddress = "RB043",
+                    TargetAddress = carBody.CarType == 2 ? "RB043" : Outstation.stationChildCode,
                     Dispatchertime = DateTime.Now,
                     NextAddress = Outstation.stationChildCode,
                     OrderNo = null,
                     PalletCode = carBody.PalletCode,
-                    PVI = carBody.PVI,
+                    PVI = carBody.RFID,
                     SourceAddress = stockInfo.LocationCode,
                     CurrentAddress = stockInfo.LocationCode,
                     TaskState = (int)TaskOutStatusEnum.OutNew,
@@ -420,6 +422,8 @@
                     Creater = "System",
                     CreateDate = DateTime.Now,
                     TaskId = 0,
+                    CarType = carBody.CarType,
+                    RoadwayNo = stockInfo.RoadwayNo
                 };
 
                 // 鍒涘缓浠诲姟浼犺緭鐢ㄧ殑DTO瀵硅薄
@@ -431,7 +435,6 @@
                 {
                     throw new InvalidOperationException("WMS IP 鏈厤缃�");
                 }
-
 
                 var tasks = new List<WMSTaskDTO>() { taskDTO };
                 // 鍙戦�佷换鍔¤姹傚埌WMS
@@ -463,7 +466,6 @@
     }
     #endregion 鎸囧畾浠诲姟鍑哄簱
 
-
     /// <summary>
     /// 鍒涘缓浠诲姟DTO
     /// </summary>
@@ -481,7 +483,8 @@
             Id = 0,
             TaskType = task.TaskType,
             pvi = task.PVI,
-            NextAddress = task.NextAddress
+            NextAddress = task.NextAddress,
+            CarType = task.CarType
 
         };
     }
@@ -787,8 +790,7 @@
             {
                 // 鍒涘缓WebResponseContent瀵硅薄
                 var content = new WebResponseContent();
-
-                var carInfo = _carBodyRepository.QueryFirst(x => x.PalletCode == task.PalletCode );
+                var carInfo = _carBodyRepository.QueryFirst(x => x.PalletCode == task.PalletCode);
                 var stationInfo = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
                 // 鑾峰彇搴撲綅;
                 var location = RequestLocation(stationInfo.RoadwayNo, carInfo.CarType);

--
Gitblit v1.9.3