From 291185b6c286ab72f3b90208a61cbed78fdbd9ce Mon Sep 17 00:00:00 2001 From: zxx <Zxx@HanInfo> Date: 星期三, 04 六月 2025 17:17:32 +0800 Subject: [PATCH] jushi --- HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs | 44 ++++++++++++++++++++++++++++++++------------ 1 files changed, 32 insertions(+), 12 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs index 5f6880f..5c14bb5 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs @@ -807,7 +807,7 @@ { //鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏 var list = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == area).OrderByDescending(a => a.N_ROW).ToList(); - LogHelper.Info($"鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏锛歿JsonConvert.SerializeObject(list)}"); + //LogHelper.Info($"鏌ヨ杩欎釜搴撳尯鐨勭┖鎵樼洏涓庢弧鎵樼洏锛歿JsonConvert.SerializeObject(list)}"); if (list.Count > 0) { List<string> loca = new List<string>(); @@ -824,22 +824,36 @@ { list.RemoveAll(s => loca.Contains(s.S_CODE)); } - //杩囨护涓�笅 鍏佽杩涘叆鐨勬墠鍒嗛厤 - var reservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "绔嬪簱鍏ュ簱鍖�).FirstOrDefault(); - if (reservoirs.areaCode.Equals(area)) + // 3. 濡傛灉鏄珛搴撳叆搴撳尯锛屾鏌�PLC 鏄惁鍏佽鍗歌浇 + var reservoirs = Settings.ReservoirAreas.FirstOrDefault(s => s.areaName == "绔嬪簱鍏ュ簱鍖�); + if (reservoirs != null && reservoirs.areaCode.Equals(area)) { var plcDeviceTable = S7Helper.plcDeviceTables; - foreach (var l in list) + // 鍏堟敹闆嗚绉婚櫎鐨勮揣浣嶏紝閬垮厤鍦ㄩ亶鍘嗘椂淇敼闆嗗悎 + List<Location> locationsToRemove = new List<Location>(); + + foreach (var location in list) { - var safeInteraction = Settings.SafeInteractions.Where(s => s.location == l.S_CODE).FirstOrDefault(); - var res = int.Parse(plcDeviceTable.RGVAllowUnload[safeInteraction.code].ToString().Substring(1, 1)); - if (res!=1) + var safeInteraction = Settings.SafeInteractions.FirstOrDefault(s => s.location == location.S_CODE); + if (safeInteraction != null) { - list.Remove(l); + // 妫�煡 PLC 鏄惁鍏佽鍗歌浇锛堝彇绗簩浣嶆暟瀛楋紝鍒ゆ柇鏄惁涓�1锛�+ string allowUnloadStr = plcDeviceTable.RGVAllowUnload[safeInteraction.code].ToString(); + int allowUnload = int.Parse(allowUnloadStr.Substring(1, 1)); + + if (allowUnload != 1) + { + locationsToRemove.Add(location); // 涓嶅厑璁稿嵏杞斤紝鍔犲叆寰呯Щ闄ゅ垪琛�+ } } } + + // 閬嶅巻缁撴潫鍚庯紝鍐嶇粺涓�Щ闄や笉绗﹀悎鏉′欢鐨勮揣浣�+ foreach (var locToRemove in locationsToRemove) + { + list.Remove(locToRemove); + } } - //绗﹀悎鏉′欢鐨勬帓搴忛�绗竴涓� 鍏堟壘绗竴涓� if (list.Count > 0) @@ -1676,6 +1690,7 @@ { var db = new SqlHelper<Location>().GetInstance(); + LogHelper.Info($"tcpOffline=====鍙傛暟:璧风偣璐т綅{startLoc}缁堢偣搴撳尯{endArea}"); try { //鏍¢獙璧风偣璐т綅鏄惁瀛樺湪/閿佷綇 @@ -1711,6 +1726,11 @@ // itemCode = model.S_ITEM_CODE; // wlName = db.Queryable<TN_Material>().Where(b => b.S_ITEM_CODE == model.S_ITEM_CODE).First().S_ITEM_NAME; //} + if (OutLoc==null) + { + LogHelper.Info($"缁堢偣璐т綅涓嶅瓨鍦�, "鎸夐挳鐩掍笅绾�); + return false; + } ContainerHelper.BindLocCntrs(OutLoc.S_CODE, trayCode, itemCode, wlName); //鍒涘缓浠诲姟 LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc}缁堢偣:{OutLoc.S_CODE}", "鎸夐挳鐩掍笅绾�); @@ -1719,8 +1739,8 @@ } catch (Exception ex) { - Console.WriteLine("materialOffline:" + ex.Message + ex.StackTrace); - LogHelper.Error("materialOffline:" + ex.Message, ex); + Console.WriteLine("tcpOffline:" + ex.Message + ex.StackTrace); + LogHelper.Error("tcpOffline:" + ex.Message, ex); throw; } } -- Gitblit v1.9.1