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