From 554ebff8616f1ed2fc578cde80642791cfaff476 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 02 一月 2025 09:29:04 +0800
Subject: [PATCH] 出库完成等代码更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
index f1a3944..759f4e4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
@@ -34,7 +34,7 @@
                     return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡鐢熸垚浠诲姟");
                 }
 
-                if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskInStatusEnum.InNew.ObjToInt()) != null)
+                if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
                 {
                     return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
                 }
@@ -44,13 +44,17 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
                 }
-                if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())
+                if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
                 {
                     return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱");
                 }
                 if (!string.IsNullOrEmpty(stockInfo.LocationCode))
                 {
                     return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
+                }
+                if(warehouseId != stockInfo.WarehouseId)
+                {
+                    return WebResponseContent.Instance.Error($"浠撳簱涓嶆纭�");
                 }
 
                 Dt_Task newTask = new Dt_Task()
@@ -62,18 +66,26 @@
                     Roadway = "",
                     SourceAddress = stationCode,
                     TargetAddress = "",
-                    TaskType = TaskInboundTypeEnum.Inbound.ObjToInt(),
-                    TaskStatus = TaskInStatusEnum.InNew.ObjToInt(),
+                    TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+                    TaskStatus = TaskStatusEnum.New.ObjToInt(),
+                    WarehouseId = stockInfo.WarehouseId,
+                    PalletType = stockInfo.PalletType
                 };
 
-                stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
-
-                _unitOfWorkManage.BeginTran();
+                if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
+                {
+                    stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+                }
+                else
+                {
+                    stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+                }
+                    _unitOfWorkManage.BeginTran();
                 int taskId = BaseDal.AddData(newTask);
                 newTask.TaskId = taskId;
                 _stockRepository.StockInfoRepository.UpdateData(stockInfo);
                 _unitOfWorkManage.CommitTran();
-
+                PushTasksToWCS(new List<Dt_Task> { newTask });
                 return WebResponseContent.Instance.OK(data: newTask);
             }
             catch (Exception ex)
@@ -99,6 +111,11 @@
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌鍏ュ簱浠诲姟");
                 }
 
+                if(_basicRepository.LocationInfoRepository.QueryFirst(x=>x.LocationCode == task.TargetAddress) != null)
+                {
+                    return WebResponseContent.Instance.OK(data: task.TargetAddress);
+                }
+
                 Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayNo, (PalletTypeEnum)task.PalletType, task.WarehouseId);
                 if (locationInfo == null)
                 {
@@ -107,7 +124,7 @@
 
                 task.Roadway = roadwayNo;
                 task.TargetAddress = locationInfo.LocationCode;
-                task.TaskStatus = TaskInStatusEnum.SC_InExecute.ObjToInt();
+                task.TaskStatus = TaskStatusEnum.SC_Execute.ObjToInt();
 
                 LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
 

--
Gitblit v1.9.3