From 1935fd1b234adbe582ee54172dd3d8b01e5b4b4c Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 05 六月 2024 09:22:39 +0800
Subject: [PATCH] 优化AGV和桁架防呆逻辑,优化空托出库逻辑

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
index ea0743b..6d67997 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs"
@@ -8,7 +8,9 @@
 using WIDESEA_Common;
 using WIDESEA_Core.EFDbContext;
 using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IRepositories;
 using WIDESEA_WCS.JobsPart.Common;
+using WIDESEA_WCS.Repositories;
 using WIDESEA_WMS.IRepositories;
 using WIDESEA_WMS.Repositories;
 using static System.Collections.Specialized.BitVector32;
@@ -28,17 +30,20 @@
                 VOLContext Context = new VOLContext();
                 Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(Context);
                 Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
+                Idt_management_timeRepository timeRepository = new dt_management_timeRepository(Context);
 
                 #region 鍙犵洏鍖烘弧5涓叆搴� 闇�浼樺寲
                 var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.enable).ToList();
                 var EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 5).FirstOrDefault();
                 if (EmptyD != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyD);
-                //EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0&&x.lastUpdateTime.).FirstOrDefault();//鏃堕棿瓒呰繃6灏忔椂鍏ュ簱
+                var val = timeRepository.Find(x => x.management_name == "StackingArea").FirstOrDefault().management_numericalvalue;
+                EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity < 5 && x.lastUpdateTime.AddHours(val) < DateTime.Now).FirstOrDefault();
+                if (EmptyD != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyD);
                 #endregion
 
                 var agv_tasks = agvtaskRepository.Find(x => x.agv_taskstate == AGVTaskStateEnum.Queue.ToString() && x.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString() && string.IsNullOrEmpty(x.agv_toaddress)).OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).ToList();
                 foreach (var agv_task in agv_tasks)
-                {
+               {
                     try
                     {
                         tasknum = agv_task.agv_tasknum;
@@ -89,6 +94,7 @@
                             agv_task.agv_toaddress = EmptyStation.stationCode;
                             agvtaskRepository.Update(agv_task, true);
                             EmptyStation.location_state = LocationStateEnum.Busy.ToString();
+                            EmptyStation.tray_status = TrayStateEnum.EmptyTray.ToString();
                             stationinfoRepository.Update(EmptyStation, true);
                             WriteDBLog.Success("鏇存柊鑷姩鍙栫┖鎵橀槦鍒椾换鍔�", $"浠诲姟缂栧彿锛歿agv_task.agv_tasknum}", "WMS");
                         }

--
Gitblit v1.9.3