From 17e3ef45fe0a6b6f8a147b50740834ac734f9317 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期二, 15 七月 2025 17:30:13 +0800 Subject: [PATCH] 1111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs | 74 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 1 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs index f7feec4..db06484 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs @@ -2,11 +2,14 @@ using HH.WCS.DaYang.dispatch; using HH.WCS.DaYang.util; using HH.WCS.DaYang.wms; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Security.Policy; using System.Threading; +using static HH.WCS.DaYang.api.ApiModel; +using static HH.WCS.DaYang.util.Settings; namespace HH.WCS.DaYang.process { @@ -60,7 +63,7 @@ for (int i = 0; i < plc.deviceNo.Length; i++) { var state = data.Substring(i * 2 + 1, 1); - //Console.WriteLine($"闂▄plc.deviceNo[i]}鐨勭姸鎬亄state}"); + //Console.WriteLine($"闂▄plc.DEVICENO[i]}鐨勭姸鎬亄state}"); if (doorStatus.Keys.Contains(plc.deviceNo[i])) { doorStatus[plc.deviceNo[i]].info = state; @@ -129,5 +132,74 @@ } } + + /// <summary> + /// 鍙犵洏鏈鸿ˉ绌烘墭 + /// </summary> + internal static void DijStatus() + { + var db = new SqlHelper<object>().GetInstance(); + HttpHelper httpHelper = new HttpHelper(); + TableUrl tableUrl = Settings.tableUrls.Find(a => a.id == 3); + string DiePanLoc = "CPDPJ-1-1"; + Location startloc = null; + if (tableUrl != null) + { + Result<DeviceStatusModel> DeviceStatu = httpHelper.GetDeviceStatus(new string[] { DiePanLoc }, tableUrl.url); + if (DeviceStatu.Data != null) + { + if (int.Parse(DeviceStatu.Data.CntrQty) > 0 && int.Parse(DeviceStatu.Data.CntrQty) < 4) + { + startloc = LocationHelper.GetLocByItemCodeOrderyTime("YCLLKQ", ""); + + } + else + { + + startloc = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 4).OrderByDescending(a => a.N_POS).First(); + + } + //鏍规嵁鎵樼洏鑾峰彇璧风偣淇℃伅 + var endloc = db.Queryable<Location>().Where(a => a.S_CODE == DiePanLoc).First(); + if (endloc == null) + { + return; + } + #region 鍒涘缓浠诲姟 + if (startloc != null && endloc != null) + { + //鑾峰彇鎵樼洏 + var Cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == startloc.S_CODE).ToList(); + if (Cntr == null) + { + return; + } + var wcsTask = new WMSTask + { + S_CODE = WMSHelper.GenerateTaskNo(), + S_TYPE = "绌烘墭鍑哄簱", + N_TYPE = 3, + S_START_LOC = startloc.S_CODE, + S_END_LOC = endloc.S_CODE, + S_START_WH = startloc.S_WH_CODE, + S_START_AREA = startloc.S_AREA_CODE, + S_END_WH = endloc.S_WH_CODE, + S_END_AREA = endloc.S_AREA_CODE, + + S_CNTR_CODE = JsonConvert.SerializeObject(Cntr.Select(a => a.S_CNTR_CODE).ToList()) + }; + LogHelper.Info("鍒涘缓鍏ュ钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); + if (WMSHelper.CreateTask(wcsTask)) + { + LocationHelper.LockLoc(startloc.S_CODE, 2); + LocationHelper.LockLoc(endloc.S_CODE, 1); + LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + + #endregion + } + } + } + } } } -- Gitblit v1.9.1