From cfea43fe783cdb99faa14f59845e41cfcda7d974 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 16 五月 2024 17:22:48 +0800 Subject: [PATCH] AGV任务删除功能,取空托任务逻辑优化,检测上料任务下发逻辑优化(AGV备料两个) --- 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 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 b6f94b8..12e45aa 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,13 +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())//琛ョ┖鎵樹换鍔� { + 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(2)) + else if (agvtask.agv_fromaddress == "" && DateTime.Now - agvtask.agv_createtime >= TimeSpan.FromMinutes(val)) { if (agvtask.agv_tasknum.Contains("_")) { @@ -174,7 +176,7 @@ } else if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() || agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())//澶栧崗搴撳叆搴�/AB搴撳叆搴� { - if (agvtask.agv_toaddress == "") + if (string.IsNullOrEmpty(agvtask.agv_toaddress)) { var stationinfo = stationinfoRepository.Find(x => x.stationCode == agvtask.agv_fromaddress).FirstOrDefault(); var work = workinfoRepository.Find(x => x.workOrder == stationinfo.Number && x.drawingNo == stationinfo.stationType && x.heatID == stationinfo.heatNumber && x.processCode == "17").FirstOrDefault(); @@ -203,14 +205,15 @@ { 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(); + //var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("S01001") && (x.tray_status == TrayStateEnum.EmptyTray.ToString() || x.location_state == LocationStateEnum.Empty.ToString()) && x.enable).ToList(); + var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("S01001") && x.enable).ToList(); foreach (var EmptyStation in EmptyStations) { if (agvtaskService.Find(x => x.agv_toaddress == EmptyStation.stationCode).Any()) continue; agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString(); agvtask.agv_toaddress = EmptyStation.stationCode; - EmptyStation.location_state = LocationStateEnum.Busy.ToString(); - stationinfoRepository.Update(EmptyStation, true); + //EmptyStation.location_state = LocationStateEnum.Busy.ToString(); + //stationinfoRepository.Update(EmptyStation, true); agvtaskService.Update(agvtask, true); WriteDBLog.Success("鏇存柊鍑哄簱闃熷垪浠诲姟", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS"); return; -- Gitblit v1.9.3