From 3452d373f030b114aa20957efeba41bc8091d6f6 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 13 六月 2025 11:37:10 +0800
Subject: [PATCH] 更新gitignore文件,优化防呆

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 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 f3ea816..74436ca 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"
@@ -73,6 +73,8 @@
         private readonly IPalletTypeInfoRepository _palletTypeInfoRepository;
         private readonly IOutProStockInfoRepository _outProStockInfoRepository;
         private readonly IOutboundRepository _outboundRepository;
+        private readonly IProInStatisticsRepository _proInStatisticsRepository;
+        private readonly IProInStatisticsService _proInStatisticsService;
         public ITaskRepository Repository => BaseDal;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
@@ -85,7 +87,7 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList();
 
-        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IOutboundService outboundService, IStockService stockService, IBasicRepository basicRepository, IApiInfoRepository apiInfoRepository, IInvokeERPService invokeERPService, IInboundRepository inboundRepository, IInboundOrderService inboundOrderService, IPalletTypeInfoRepository palletTypeInfoRepository, IOutProStockInfoRepository outProStockInfoRepository, IOutboundRepository outboundRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IOutboundService outboundService, IStockService stockService, IBasicRepository basicRepository, IApiInfoRepository apiInfoRepository, IInvokeERPService invokeERPService, IInboundRepository inboundRepository, IInboundOrderService inboundOrderService, IPalletTypeInfoRepository palletTypeInfoRepository, IOutProStockInfoRepository outProStockInfoRepository, IOutboundRepository outboundRepository, IProInStatisticsRepository proInStatisticsRepository, IProInStatisticsService proInStatisticsService) : base(BaseDal)
         {
             _mapper = mapper;
             _unitOfWorkManage = unitOfWorkManage;
@@ -102,13 +104,15 @@
             _palletTypeInfoRepository = palletTypeInfoRepository;
             _outProStockInfoRepository = outProStockInfoRepository;
             _outboundRepository = outboundRepository;
+            _proInStatisticsRepository = proInStatisticsRepository;
+            _proInStatisticsService = proInStatisticsService;
         }
 
         /// <summary>
         /// 浠诲姟淇℃伅鎺ㄩ�佽嚦WCS
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent PushTasksToWCS(List<Dt_Task> tasks, string agvDescription = "")
+        public WebResponseContent PushTasksToWCS(List<Dt_Task> tasks, string agvDescription = "",string agvtaskNum="")
         {
             try
             {
@@ -116,6 +120,7 @@
                 taskDTOs.ForEach(x =>
                 {
                     x.AGVArea = agvDescription;
+                    x.AGVTaskNum = agvtaskNum;
                 });
                 string url = AppSettings.Get("WCS");
                 if (string.IsNullOrEmpty(url))
@@ -136,7 +141,7 @@
         /// </summary>
         /// <param name="code"></param>
         /// <returns></returns>
-        public WebResponseContent PutFinish(string code)
+        public WebResponseContent PutFinish(string code, string barCode = "", string taskNum = "")
         {
             try
             {
@@ -145,7 +150,7 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒癢CSAApi鍦板潃,璇锋鏌ラ厤缃枃浠�");
                 }
-                string response = HttpHelper.Post($"{url}/api/CTU_AGV/PutFinish?code=" + code);
+                string response = HttpHelper.Post($"{url}/api/CTU_AGV/PutFinish?code={code}&barCode={barCode}&taskNum={taskNum}" );
 
                 return JsonConvert.DeserializeObject<WebResponseContent>(response) ?? WebResponseContent.Instance.Error("杩斿洖閿欒");
             }
@@ -202,7 +207,9 @@
                     TaskType = TaskTypeEnum.OutAllocate.ObjToInt(),
                     TaskStatus = TaskStatusEnum.New.ObjToInt(),
                     WarehouseId = stockInfo.WarehouseId,
-                    PalletType = stockInfo.PalletType
+                    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,
                 };
                 _unitOfWorkManage.BeginTran();
                 BaseDal.AddData(newTask);
@@ -370,6 +377,7 @@
                 });
                 //鏇存柊浠诲姟鐘舵��
                 task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+                FeedBackWCSTaskCompleted(taskNum);
                 _unitOfWorkManage.BeginTran();
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
                 _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.InStock, stockInfo.WarehouseId);
@@ -503,6 +511,11 @@
                 {
                     x.ProOutDetailStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                 });
+
+                #region todo:涓存椂鏇存柊鎵�鏈夌爺鍙戣浆鎴愬搧
+                proStockInfo.ProStockAttribute=ProStockAttributeEnum.鎴愬搧.ObjToInt();
+                proStockInfo.WarehouseId = locationInfo.WarehouseId;
+                #endregion
                 //鏇存柊鍏ュ簱鐘舵��
                 task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
                 _unitOfWorkManage.BeginTran();
@@ -615,7 +628,7 @@
                 List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>();
                 List<Dt_MesOutboundOrder> mesOutboundOrders = new List<Dt_MesOutboundOrder>();
                 List<Dt_MesPPOutboundOrder> mesPPOutboundOrders = new List<Dt_MesPPOutboundOrder>();
-                if ((outStockLockInfos == null || outStockLockInfos.Count == 0) && warehouse.WarehouseCode != WarehouseEnum.HA64.ToString() && (task.TaskType != TaskTypeEnum.OutEmpty.ObjToInt()))
+                if ((outStockLockInfos == null || outStockLockInfos.Count == 0) &&(warehouse.WarehouseCode != WarehouseEnum.HA64.ToString()|| warehouse.WarehouseCode != WarehouseEnum.HA154.ToString()) && (task.TaskType != TaskTypeEnum.OutEmpty.ObjToInt()))
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撹鎯呬俊鎭�");
                 }
@@ -628,7 +641,7 @@
                             Dt_MesOutboundOrder mesOutboundOrder = _outboundService.MesOutboundOrderService.Repository.QueryFirst(x => x.TaskNo == item.OrderNo);
                             if (mesOutboundOrder != null)
                             {
-                                mesOutboundOrder.OverOutQuantity = item.AssignQuantity;
+                                mesOutboundOrder.OverOutQuantity += item.AssignQuantity;
                                 if (mesOutboundOrder.OverOutQuantity == mesOutboundOrder.OrderQuantity)
                                 {
                                     mesOutboundOrder.OrderStatus = OrderDetailStatusEnum.Over.ObjToInt();
@@ -668,6 +681,7 @@
                 }
 
                 task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+                FeedBackWCSTaskCompleted(taskNum);
                 _unitOfWorkManage.BeginTran();
 
                 if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() || task.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt() || task.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt())
@@ -683,6 +697,10 @@
                     {
                         x.Status = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt();
                     });
+                    if (stockInfo.StockLength>0)
+                    {
+                        stockInfo.StockLength = 0;
+                    }
                     _stockRepository.StockInfoRepository.UpdateData(stockInfo);
                     _stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details);
                 }
@@ -697,12 +715,16 @@
                     _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                     _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                 }
+                else if (warehouse.WarehouseCode == WarehouseEnum.HA154.ToString())
+                {
+                    _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+                    _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+                }
                 _outboundService.OutboundStockLockInfoService.Repository.UpdateData(outStockLockInfos);
 
                 int beforeStatus = locationInfo.LocationStatus;
                 locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                 _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Free, stockInfo.WarehouseId);
-
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
 
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);

--
Gitblit v1.9.3