From 4e2242741688e1da1399166b1ada9874f472b819 Mon Sep 17 00:00:00 2001 From: pulg <plg@Haninfo> Date: 星期三, 11 六月 2025 17:54:59 +0800 Subject: [PATCH] 1 --- HH.WCS.QingXiNongfu/settings.xml | 2 HH.WCS.QingXiNongfu/wms/TaskHelper.cs | 13 ++++-- HH.WCS.QingXiNongfu/core/Monitor.cs | 56 ++++++++++++++++++++++++--- 3 files changed, 58 insertions(+), 13 deletions(-) diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs index 7fac184..cc5e417 100644 --- a/HH.WCS.QingXiNongfu/core/Monitor.cs +++ b/HH.WCS.QingXiNongfu/core/Monitor.cs @@ -3513,6 +3513,8 @@ } public static void AutoRun13TSJ() { + var list = new List<string>() { "YWLAQWJ", "YWLBQWJ", "YWLCQSX", "YWLDQWJ" }; + var WorkOrder = new List<YWLWorkOrder>(); foreach (var PLC in Settings.GetDeviceInfoList().FindAll(X => X.deviceType == 13 && X.enable == 1)) { string pline = PLC.deviceName; @@ -3531,10 +3533,39 @@ if (locs.Find(x => x.N_CURRENT_NUM > 0) != null) //鎷嗗灈鏈夎揣 涓嶅垽鏂� continue; can = true; + + foreach (var item in list) + { + YWLWorkOrder source = new YWLWorkOrder(); + var source1 = orkOrd.FirstOrDefault(); + source.SQL_PLineNo = source1.SQL_PLineNo; + source.FuLe_PLine_No = source1.FuLe_PLine_No; + source.SQL_LinkLineNO = source1.SQL_LinkLineNO; + source.SQL_Area = source1.SQL_Area; + source.SQL_UsingNow = source1.SQL_UsingNow; + source.SQL_State = source1.SQL_State; + source.SQL_WorkNo = source1.SQL_WorkNo; + source.SQL_ItemCode = source1.SQL_ItemCode; + source.SQL_ItemName = source1.SQL_ItemName; + source.SQL_charge = source1.SQL_charge; + source.SQL_Total = source1.SQL_Total; + source.SQL_PLAN_END = source1.SQL_PLAN_END; + source.SQL_Modify_TIme = source1.SQL_Modify_TIme; + source.OutNum = source1.OutNum; + source.WorkType = source1.WorkType; + source.MidArea = source1.MidArea; + source.TagOver = source1.TagOver; + source.TagOverTime = source1.TagOverTime; + source.S_BQ_TRAY_TYPE = source1.S_BQ_TRAY_TYPE; + source.S_CJ_NAME = source1.S_CJ_NAME; + source.S_ROW = item; + WorkOrder.Add(source); + } } ReadCCK = can; if (orkOrd.Any()) - foreach (var od in orkOrd.OrderByDescending(x => x.OutNum)) + // foreach (var od in orkOrd.OrderByDescending(x => x.OutNum)) + foreach (var od in WorkOrder) { ///姹囨�浠撳簱閲屾渶澶у眰鏄嚑灞傘� Dictitems Lart = null; @@ -3572,12 +3603,15 @@ _clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE); //鏉垮瀷鐩稿悓 var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First(); - LogHelper.Info(rl.S_LOC_CODE + "璇嗗埆鎵樼洏绫诲瀷銆�); + LogHelper.Info(rl.S_LOC_CODE + "璇嗗埆鎵樼洏绫诲瀷銆� + JsonConvert.SerializeObject(_clrel0)); var _clcntitem = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE.Trim()).FirstOrDefault(); + LogHelper.Info(rl.S_LOC_CODE + "璇嗗埆鎵樼洏涓婄殑鐗╂枡淇℃伅銆� + JsonConvert.SerializeObject(_clcntitem)); if (_clcntitem != null) { + LogHelper.Info("鐩镐簰鏄惁鍖归厤 _clcntitem S_ITEM_CODE:" + _clcntitem.S_ITEM_CODE + " od" + od.SQL_ItemCode + " _clcntitem S_ITEM_NAME:" + _clcntitem.S_ITEM_NAME + "od: " + od.SQL_ItemName); if (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName) { + StartBit = rl; break; } @@ -3608,7 +3642,11 @@ var EndBit = Endbit.S_LOC_CODE; if (od.S_ROW == "YWLCQSX" || od.S_ROW == "YWLDQWJ") { - EndBit = "YWLWJJB"; + var locs1 = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLWJJB" && x.S_LOCK_STATE != "鎶ュ簾" && x.S_LOCK_STATE == "鏃� && x.N_CURRENT_NUM == 0).ToList(); + if (locs1.Count() > 0) + { + EndBit = locs1.FirstOrDefault().S_LOC_CODE; + } } var b = TaskProcess.CreateTransport(od.SQL_WorkNo, StartBit.S_LOC_CODE, EndBit, "鍘熺墿鏂欐惉杩�绾哥", crs, StartBit.N_CURRENT_NUM - crs.Count + 1, 1, crs.Count, PLC.taskPri, Endbit.S_LOC_CODE); if (b) @@ -3658,10 +3696,14 @@ pline = "T2鎻愬崌鏈�绾哥"; var orkOrd = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == pline && x.WorkType == 6 && x.SQL_State == "鎵ц涓�); if (orkOrd.Any()) - foreach (var ork in orkOrd) - { - list = list.Concat(ork.S_ROW.Split('$')).ToList(); - } + { + list = new List<string>() { "YWLAQWJ", "YWLBQWJ", "YWLCQSX", "YWLDQWJ" }; + //foreach (var ork in orkOrd) + //{ + // list = list.Concat(ork.S_ROW.Split('$')).ToList(); + //} + } + } foreach (var area in list.Distinct()) { diff --git a/HH.WCS.QingXiNongfu/settings.xml b/HH.WCS.QingXiNongfu/settings.xml index 87b2cf0..fe40669 100644 --- a/HH.WCS.QingXiNongfu/settings.xml +++ b/HH.WCS.QingXiNongfu/settings.xml @@ -75,7 +75,7 @@ {"address":"10.140.3.155","deviceName":"涓�ゼ鎼�妤�,"deviceNo":[],"location":["韪㈣涪韪�],"deviceType":11,"enable":1}, {"address":"10.140.3.196","deviceName":"闂╬lc12","deviceNo":["6"],"location":[""],"deviceType":1,"enable":1}, - {"address":"192.168.10.86","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1}, + {"address":"192.168.1.142","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1}, {"address":"192.168.10.86","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLSXBQTSJ"],"areaPriy":[],"deviceType":13,"enable":1}, ]]]> diff --git a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs index cfb02d7..889efdc 100644 --- a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs +++ b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs @@ -104,10 +104,13 @@ LogHelper.Info($"CreateTransport- CreateTask Error" + $"璧风偣鎴栫粓鐐硅揣浣嶆暟鎹畁ull"); return false; } - if (fromLoc.S_LOCK_STATE.Trim() != "鏃� || endLoc.S_LOCK_STATE.Trim() != "鏃�) + if (fromLoc.S_AREA_CODE != "YWLWJJB") { - LogHelper.Info($"CreateTransport- CreateTask Error" + $"璧风偣 {fromLoc.S_LOCK_STATE}鎴栫粓鐐箋endLoc.S_LOCK_STATE}鐘舵�涓嶄负 鏃�"); - return false; + if (fromLoc.S_LOCK_STATE.Trim() != "鏃� || endLoc.S_LOCK_STATE.Trim() != "鏃�) + { + LogHelper.Info($"CreateTransport- CreateTask Error" + $"璧风偣 {fromLoc.S_LOCK_STATE}鎴栫粓鐐箋endLoc.S_LOCK_STATE}鐘舵�涓嶄负 鏃�"); + return false; + } } } WMSTask wmsTask = new WMSTask() @@ -218,7 +221,7 @@ task.T_END_TIME = DateTime.Now; db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand(); } - if (task.S_END_LOC == "YWLWJJB") + if (task.S_END_LAREA == "YWLWJJB") { var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_NOTE, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY); } @@ -269,7 +272,7 @@ LogHelper.Info(wmsTask.S_START_LOC + "LockLoc:閿佺粨鏋� + res); model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == wmsTask.S_END_LOC).First(); - if (wmsTask.S_START_LOC != "YWLWJJB") + if (wmsTask.S_START_LAREA != "YWLWJJB") { model.S_LOCK_STATE = "鍏ュ簱閿�; res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0; -- Gitblit v1.9.1