From 8f392cc88b0768b74efca3b68785cf5aa1c38e70 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 06 十一月 2024 14:28:20 +0800 Subject: [PATCH] 代码更新 --- wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkZJ.cs | 123 ++++++++++++++++++++--------------------- 1 files changed, 60 insertions(+), 63 deletions(-) diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkZJ.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkZJ.cs index f1988a8..be63a5f 100644 --- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkZJ.cs +++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkZJ.cs @@ -9,6 +9,7 @@ using WIDESEA_Common.LoctionEnum; using WIDESEA_Common.Tools; using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.Extensions; using WIDESEA_Core.Utilities; using WIDESEA_Entity.DomainModels; using WIDESEA_Services.IRepositories; @@ -18,21 +19,21 @@ using static FreeSql.Internal.GlobalFilter; namespace WIDESEA_WCS.SchedulerExecute.AGV -{ +{ public partial class AGVSchedulerExecute { /// <summary> /// 杈婂垎涓嬫枡缂撳瓨鏋惰壇鍝佹枡鑷姩鎼繍鏋佸簱 /// </summary> public static async void AgvAndEquiWorkZJ() - { + { WebResponseContent content = new WebResponseContent(); VOLContext Context = new VOLContext(); Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context); Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context); Ibase_ware_locationRepository ibase_Ware_Location = new base_ware_locationRepository(Context); - List<base_ware_location> ware_Locatiolist = ibase_Ware_Location.Find(d => d.upper_code.Contains("GFHCJ")&&d.logic_col==1&&d.task==2 && d.status == 1&& d.geartype != "鏆傛棤").ToList(); + List<base_ware_location> ware_Locatiolist = ibase_Ware_Location.Find(d => d.upper_code.Contains("GFHCJ") && d.logic_col == 1 && d.task == 2 && d.status == 1 && d.geartype != "鏆傛棤").ToList(); //if (ware_Locatio == null) //{ @@ -40,73 +41,69 @@ //} foreach (var listloction in ware_Locatiolist) { - List<base_ware_location> gfloction = new List<base_ware_location>(); - List<base_routing_table> routing_table = routingRepository.Find(v => v.route_began == listloction.upper_code).ToList(); - if (routing_table.Count > 0) - { - foreach (var item in routing_table) + List<base_ware_location> gfloction = new List<base_ware_location>(); + List<base_routing_table> routing_table = routingRepository.Find(v => v.route_began == listloction.upper_code).ToList(); + if (routing_table.Count > 0) { - base_ware_location ware_Location = ibase_Ware_Location.FindFirst(d => d.upper_code == item.route_end && d.location_state == LoctionStateEnum.LocationState_Empty.ToString() && d.logic_col == 0 && d.tpgd == 0 && d.status == 1 && d.task == 2 && d.geartype== "鏆傛棤"); - if (ware_Location != null) + foreach (var item in routing_table) { - gfloction.Add(ware_Location); + base_ware_location ware_Location = ibase_Ware_Location.FindFirst(d => d.upper_code == item.route_end && d.location_state == LoctionStateEnum.LocationState_Empty.ToString() && d.logic_col == 0 && d.tpgd == 0 && d.status == 1 && d.task == 2 && d.geartype == "鏆傛棤"); + if (ware_Location != null) + { + gfloction.Add(ware_Location); + } } - } - if (gfloction.Count > 0) - { - base_ware_location ware_Locatio = ibase_Ware_Location.FindFirst(d => d.upper_code == listloction.upper_code); + if (gfloction.Count > 0) + { + base_ware_location ware_Locatio = ibase_Ware_Location.FindFirst(d => d.upper_code == listloction.upper_code); if (ware_Locatio == null) { continue; } - base_ware_location lotion = gfloction.OrderBy(d => d.order_num).FirstOrDefault(); - dt_agvtask agvtask = new dt_agvtask - { - agv_id = Guid.NewGuid(), - agv_tasknum = "KH-" + IdenxManager.GetTaskNo(), - agv_fromaddress = ware_Locatio.upper_code, - agv_toaddress = lotion.upper_code, - agv_code = "缁勮AGV璋冨害", - agv_remark = "杈婂垎涓嬫枡鍛煎彨", - agv_taskstate = AGVTaskStateEnum.Create.ToString(), - agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(), - agv_worktype = 1,//宸ヤ綔绫诲瀷 - agv_materielid = "", - agv_qty = 1, - agv_createtime = DateTime.Now, - agv_grade = 0,//浠诲姟浼樺厛绾� - agv_userid = "WCS", - agv_barcode = "" - }; - listloction.update_time = DateTime.Now; - ware_Locatio.logic_col = 1;//璁剧疆鑹搧鐗╂枡 - ware_Locatio.task = 1;//璁剧疆浠诲姟鐢熸垚1 - ware_Locatio.light_color = "鏃�"; - var entrys = ibase_Ware_Location.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault(); - if (entrys != null) - { - entrys.State = EntityState.Detached; - } - int begin= ibase_Ware_Location.Update(ware_Locatio, d => new { d.logic_col, d.task, d.update_time, d.light_color }, true); + base_ware_location lotion = gfloction.OrderBy(d => d.order_num).FirstOrDefault(); + dt_agvtask agvtask = new dt_agvtask + { + agv_id = Guid.NewGuid(), + agv_tasknum = "KH-" + IdenxManager.GetTaskNo(), + agv_fromaddress = ware_Locatio.upper_code, + agv_toaddress = lotion.upper_code, + agv_code = "缁勮AGV璋冨害", + agv_remark = "杈婂垎涓嬫枡鍛煎彨", + agv_taskstate = AGVTaskStateEnum.Create.ToString(), + agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(), + agv_worktype = 1,//宸ヤ綔绫诲瀷 + agv_materielid = "", + agv_qty = 1, + agv_createtime = DateTime.Now, + agv_grade = 0,//浠诲姟浼樺厛绾� + agv_userid = "WCS", + agv_barcode = "" + }; + listloction.update_time = DateTime.Now; + ware_Locatio.logic_col = 1;//璁剧疆鑹搧鐗╂枡 + ware_Locatio.task = 1;//璁剧疆浠诲姟鐢熸垚1 + ware_Locatio.light_color = "鏃�"; + var entrys = ibase_Ware_Location.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault(); + if (entrys != null) + { + entrys.State = EntityState.Detached; + } + int begin = ibase_Ware_Location.Update(ware_Locatio, d => new { d.logic_col, d.task, d.update_time, d.light_color }, true); - lotion.update_time = DateTime.Now; - lotion.logic_col = 1; - lotion.task = 1; - lotion.geartype = ware_Locatio.geartype; - var entry = ibase_Ware_Location.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault(); - if (entry != null) - { - entry.State = EntityState.Detached; - } - int end= ibase_Ware_Location.Update(lotion, d => new { d.logic_col, d.task, d.update_time, d.geartype }, true); - if (begin==1&&end==1) - { - agvRepository.Add(agvtask, true);//浠诲姟鐢熸垚 - WriteDBLog.Info($"杈婂垎鍒版瀬搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"杈婂垎鍒版瀬搴撲换鍔$敓鎴�"); - WriteDBLog.Info($"杈婂垎鍒版瀬搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵ware_Locatio.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{ware_Locatio.tpgd},-1鍏夌數锛歿ware_Locatio.gd2}锛�-2鍏夌數:{ware_Locatio.gd1},-3鍏夌數锛歿ware_Locatio.gd4}锛�-4鍏夌數锛歿ware_Locatio.gd3},鐘舵�侊細{ware_Locatio.location_state},鏇存柊鏃堕棿锛歿ware_Locatio.wireless_time}", $"杈婂垎鍒版瀬搴撲换鍔$敓鎴�"); - WriteDBLog.Info($"杈婂垎鍒版瀬搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵lotion.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{lotion.tpgd},鐘舵�侊細{lotion.location_state},鏇存柊鏃堕棿锛歿lotion.wireless_time}", $"杈婂垎鍒版瀬搴撲换鍔$敓鎴�"); - WriteDBLog.Info($"杈婂垎鍒版瀬搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"杈婂垎鍒版瀬搴撲换鍔$敓鎴�"); - return; + lotion.update_time = DateTime.Now; + lotion.logic_col = 1; + lotion.task = 1; + lotion.geartype = ware_Locatio.geartype; + var entry = ibase_Ware_Location.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault(); + if (entry != null) + { + entry.State = EntityState.Detached; + } + int end = ibase_Ware_Location.Update(lotion, d => new { d.logic_col, d.task, d.update_time, d.geartype }, true); + if (begin == 1 && end == 1) + { + agvRepository.Add(agvtask, true);//浠诲姟鐢熸垚 + return; + } } } - } } } } -- Gitblit v1.9.3