From a15ae8a6b341558ca6cf3cf9631210728ef9c181 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 13 五月 2024 19:27:08 +0800
Subject: [PATCH] 优化空托入库逻辑

---
 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs"
index 83dd24b..908a517 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs"
@@ -153,11 +153,15 @@
             VOLContext Context = new VOLContext();
             Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
             IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(Context);
+            Idt_management_timeRepository timeRepository = new dt_management_timeRepository(Context);
             try
             {
-                if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())//绌烘墭浠诲姟
+                if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())//琛ョ┖鎵樹换鍔�
                 {
-                    if (agvtask.agv_fromaddress == "" && DateTime.Now - agvtask.agv_createtime >= TimeSpan.FromMinutes(2))
+                    var val = timeRepository.Find(x => x.management_name == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString()).FirstOrDefault().management_numericalvalue;
+                    if (agvtask.agv_fromaddress == "" && agvtask.agv_toaddress.Contains("W"))
+                        GetStation.EmptyPalletStation(agvtask);
+                    else if (agvtask.agv_fromaddress == "" && DateTime.Now - agvtask.agv_createtime >= TimeSpan.FromMinutes(val))
                     {
                         if (agvtask.agv_tasknum.Contains("_"))
                         {
@@ -167,9 +171,8 @@
                         }
                         else
                             GetStation.EmptyPalletStation(agvtask);
-
-                        WriteDBLog.Success("鏇存柊绌烘墭闃熷垪浠诲姟", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS");
                     }
+                    WriteDBLog.Success("鏇存柊绌烘墭闃熷垪浠诲姟", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS");
                 }
                 else if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() || agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())//澶栧崗搴撳叆搴�/AB搴撳叆搴�
                 {
@@ -200,6 +203,8 @@
                 {
                     if (agvtask.agv_toaddress == "")
                     {
+                        if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString())
+                            if (GetStation.QueueStation(agvtask.agv_fromaddress)) return;//闄愬埗涓�琛屼竴娆″彧鑳藉嚭涓�涓换鍔�
                         var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("S01001") && (x.tray_status == TrayStateEnum.EmptyTray.ToString() || x.location_state == LocationStateEnum.Empty.ToString()) && x.enable).ToList();
                         foreach (var EmptyStation in EmptyStations)
                         {
@@ -218,6 +223,7 @@
                 {
                     if (agvtask.agv_toaddress == "")
                     {
+                        if (GetStation.QueueStation(agvtask.agv_fromaddress)) return;//闄愬埗涓�琛屼竴娆″彧鑳藉嚭涓�涓换鍔�
                         var TargetLocation = StationTask.GetEmptyLocation(stationinfoRepository);
                         if (TargetLocation != null)
                         {

--
Gitblit v1.9.3