From 10775e2b00cee12fb4b405e18a507c629990051a Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期一, 04 八月 2025 17:26:15 +0800
Subject: [PATCH] 新增切换库位与切换货物状态功能

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 83abd14..b78c6e0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -305,11 +305,12 @@
                 //}
                 if (workTpe.Equals("In"))
                 {
-                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).OrderBy(v => v.CreateDate).First();
+                    //OrderBy(鍗囧簭鎺掑簭)
+                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).First();
                 }
                 else if (workTpe.Equals("Out"))
                 {
-                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || v.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu || v.TaskType == (int)TaskOutboundTypeEnum.Outbound || v.TaskType == (int)TaskOutboundTypeEnum.OutInventory) && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderBy(v => v.CreateDate).First();
+                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || v.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu || v.TaskType == (int)TaskOutboundTypeEnum.Outbound || v.TaskType == (int)TaskOutboundTypeEnum.OutInventory) && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderByDescending(v => v.Grade).First();
                 }
 
             }
@@ -1031,7 +1032,7 @@
                     stock.LocationCode = nawtask.TargetAddress;
                     stock.StockStatus = (int)stockEnum.Free;
                     stock.BatchNo = batck.InBatch;
-                    stock.Remark = 3;
+                    stock.Remark = (int)MateTypeEnum.TiChu;
                     //淇敼璐т綅淇℃伅
                     var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress);
                     location.LocationStatus = (int)LocationStatusEnum.InStock;
@@ -1356,6 +1357,11 @@
                 //{
                 //    throw new Exception($"鏁村舰鏈哄ぉ杞︽斁鏉夸俊鍙蜂负false");
                 //}
+                var location = _locationRepository.QueryFirst(v => v.LocationCode == wei);
+                if (location.LocationType != (int)LocationTypeEnum.Flat)
+                {
+                    return content.OK("5");
+                }
                 //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鍑哄簱浠诲姟锛屽嚭搴撲换鍔″彧鑳藉瓨鍦ㄤ竴鏉�
                 var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound);
                 if (oldtask != null)
@@ -1426,7 +1432,7 @@
                 if (oldhtytask == null)
                 {
                     task.Grade = 3;
-                    task.Remark = (int)MateTypeEnum.ZiChan;
+                    task.Remark = (int)MateTypeEnum.TiChu;
                     task.NextAddress = "text";
                     task.Roadway = "TC01";
                     task.TaskType = (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu;
@@ -1453,11 +1459,15 @@
             //{
             //    throw new Exception($"瑙勬暣鏈哄墧闄ゆ灦瀛愬彲鏀炬澘鎴栧墧闄や笂鏂欐ā寮忎俊鍙蜂负false");
             //}
-            //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鍑哄簱浠诲姟锛屽嚭搴撲换鍔″彧鑳藉瓨鍦ㄤ竴鏉�
+            var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound);
             var isout = _outStockRepository.QueryFirst(v => v.Id == 1);
             if (isout.isout == 0)
             {
-                var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound);
+                var location = _locationRepository.QueryFirst(v => v.LocationCode == wei);
+                if(location.LocationType != (int)LocationTypeEnum.Cube)
+                {
+                    return content.OK("5");
+                }
                 if (oldtask != null)
                 {
                     throw new Exception($"褰撳墠浠诲姟姹犱腑宸插瓨鍦ㄤ竴鏉″嚭搴撲换鍔�");
@@ -1482,7 +1492,7 @@
                 {
                     task.SourceAddress = wei;
                     task.Grade = 3;
-                    task.Remark = (int)MateTypeEnum.ZiChan;
+                    task.Remark = (int)MateTypeEnum.TiChu;
                     task.NextAddress = "text";
                     task.Roadway = "TC01";
                     task.TaskType = (int)TaskOutboundTypeEnum.TiChuChuKu;
@@ -1497,6 +1507,10 @@
                     _unitOfWorkManage.CommitTran();
                     return content.OK("2");
                 }
+            }
+            else
+            {
+                return content.OK("1");
             }   
             return content.OK("3");
         }
@@ -1512,6 +1526,11 @@
             var isout = _outStockRepository.QueryFirst(v => v.Id == 1);
             if (isout.isout == 0)
             {
+                var location = _locationRepository.QueryFirst(v => v.LocationCode == wei);
+                if (location.LocationType != (int)LocationTypeEnum.Cube)
+                {
+                    return content.OK("5");
+                }
                 //鍒ゆ柇搴撳瓨鏄惁鏈夎揣
                 //鏌ヨ璐т綅
                 Dt_LocationInfo huo = _LocationInfoRepository.QueryFirst(v => v.LocationCode == wei);
@@ -1527,7 +1546,7 @@
                 {
                     task.TargetAddress = wei;
                     task.Grade = 3;
-                    task.Remark = (int)MateTypeEnum.ZiChan;
+                    task.Remark = (int)MateTypeEnum.TiChu;
                     task.NextAddress = "text";
                     task.Roadway = "TC01";
                     task.TaskType = (int)TaskInboundTypeEnum.TiChuRuKu;

--
Gitblit v1.9.3