From febcd0c73b51b17f484ff9a9a189b1f85130c2f7 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 17 三月 2026 13:52:06 +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