From 85094861794e433f1c99a0f571b0e2785f9d671c Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 06 五月 2024 14:17:08 +0800
Subject: [PATCH] 出库任务限制一次一条

---
 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs                    |    3 +++
 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs |   21 +++++++++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs"
index 9b62cbd..1af8221 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs"
@@ -19,6 +19,27 @@
     public class GetStation
     {
         /// <summary>
+        /// 褰撳墠搴撲綅澶栬竟鐨勮揣浣嶆槸鍚﹂兘涓虹┖
+        /// </summary>
+        /// <param name="StationCode"></param>
+        /// <returns></returns>
+        public static bool QueueStation(string StationCode)
+        {
+            bool OK = false;
+            try
+            {
+                VOLContext Context = new VOLContext();
+                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
+                var station = stationinfoRepository.Find(x => x.stationCode == StationCode).FirstOrDefault();
+                OK = stationinfoRepository.Find(x => x.area == station.area && x.line == station.line && x.column > station.column && x.location_state != LocationStateEnum.Empty.ToString()).Any();
+            }
+            catch (Exception ex)
+            {
+
+            }
+            return OK;
+        }
+        /// <summary>
         /// 鎵惧彲鍏ュ簱绌烘墭浣�
         /// </summary>
         public static void EmptyStation()
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..132ea1d 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"
@@ -200,6 +200,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 +220,7 @@
                 {
                     if (agvtask.agv_toaddress == "")
                     {
+                        if (GetStation.QueueStation(agvtask.agv_fromaddress)) return;//闄愬埗涓�琛屼竴娆″彧鑳藉嚭涓�涓换鍔�
                         var TargetLocation = StationTask.GetEmptyLocation(stationinfoRepository);
                         if (TargetLocation != null)
                         {

--
Gitblit v1.9.3