From ba528c7a15058967ee3af7364035209aa0048025 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期一, 07 七月 2025 17:30:14 +0800 Subject: [PATCH] 测试优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs | 105 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 69 insertions(+), 36 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs index 41b25d5..8b14353 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs @@ -1,5 +1,6 @@ 锘縰sing HH.WCS.DaYang.util; using HH.WCS.DaYang.wms; +using Opc.Ua; using System; using System.Collections.Generic; using System.Linq; @@ -55,7 +56,11 @@ { if (!string.IsNullOrEmpty(a.S_END_LOC)) { - string JbwLoc = ""; + var jbwloc = db.Queryable<Location>().Where(b => b.S_CODE == "XTGKW-1-1").First(); + if (jbwloc == null) + { + LogHelper.Info("鍒涘缓鍑哄簱浠诲姟鏈壘鍒版帴椹充綅璐т綅缂栫爜锛岃鍋囨煡鎺ラ┏浣嶇疆璐т綅"); + } //鍒涘缓agv鎼繍浠诲姟 var wcsTask1 = new WCSTask { @@ -64,7 +69,9 @@ S_CODE = WCSHelper.GenerateTaskNo(), S_TYPE = "绌烘墭鍥炲簱", S_START_LOC = a.S_START_LOC, - S_END_LOC = JbwLoc, + S_START_AREA = a.S_START_AREA, + S_END_LOC = jbwloc.S_CODE, + S_END_AREA = jbwloc.S_AREA_CODE, N_SCHEDULE_TYPE = 1, N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, @@ -77,8 +84,10 @@ S_OP_NAME = "鍏ュ簱", S_CODE = WCSHelper.GenerateTaskNo(), S_TYPE = "绌烘墭鍥炲簱", - S_START_LOC = JbwLoc, + S_START_LOC = jbwloc.S_CODE, + S_START_AREA = jbwloc.S_AREA_CODE, S_END_LOC = a.S_END_LOC, + S_END_AREA = a.S_END_AREA, N_SCHEDULE_TYPE = 2, N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, @@ -100,44 +109,64 @@ { #region MyRegion //鍒ゆ柇澶栦晶鏈夋病鏈夋墭鐩橈紝闇�笉闇�绉诲簱 - var StartLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == a.S_START_AREA && b.S_CODE == a.S_START_LOC).First(); - var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == StartLoc.S_AREA_CODE && b.N_LAYER == StartLoc.N_LAYER && b.N_POS == 1 && b.N_CURRENT_NUM == 1 && b.N_LOCK_STATE == 0).First(); - if (OutLoc != null) + var StartLoc = db.Queryable<Location>().Where(b => b.S_CODE == a.S_START_LOC).First(); + if (StartLoc.N_POS == 1) { - var YiKuLoc = LocationHelper.InStorage(OutLoc); - if (YiKuLoc != null) + var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == StartLoc.S_AREA_CODE && b.N_LAYER == StartLoc.N_LAYER && b.N_POS == 2 && b.N_CURRENT_NUM == 1 && b.N_LOCK_STATE == 0).First(); + if (OutLoc != null) { - var wcsTask = new WCSTask + //鏍规嵁璧风偣鑾峰彇鎵樼洏鍜屾墭鐩樼墿鏂欑粦瀹氬叧绯�+ string itemCode = ""; + var cntrLoc = LocationHelper.GetLocCntr(OutLoc.S_CODE).FirstOrDefault(); + if (cntrLoc != null) { - S_OP_CODE = a.S_CODE, - S_OP_NAME = "鍑哄簱", - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = "绉诲簱", - S_START_LOC = OutLoc.S_CODE, - S_END_LOC = YiKuLoc.S_CODE, - N_SCHEDULE_TYPE = 2, - N_CNTR_COUNT = 1, - S_CNTR_CODE = a.S_CNTR_CODE, - - }; - if (WCSHelper.CreateTask(wcsTask) ) - { - //鏇存柊浣滀笟鐘舵�涓烘墽琛� - LocationHelper.LockLoc(OutLoc.S_CODE, 2); - LocationHelper.LockLoc(YiKuLoc.S_CODE, 1); + //鑾峰彇鎵樼洏鐗╂枡缁戝畾鍏崇郴 + var cntrItem = db.Queryable<CntrItemDetail>().Where(b => b.S_CNTR_CODE == cntrLoc.S_CNTR_CODE).First(); + if (cntrItem != null) + { + itemCode = cntrItem.S_ITEM_CODE; + } } + + var YiKuLoc = LocationHelper.InStorage(itemCode); + if (YiKuLoc != null) + { + var wcsTask = new WCSTask + { + S_OP_CODE = a.S_CODE, + S_OP_NAME = "鍑哄簱", + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = "绉诲簱", + S_START_LOC = OutLoc.S_CODE, + S_END_LOC = YiKuLoc.S_CODE, + N_SCHEDULE_TYPE = 2, + N_CNTR_COUNT = 1, + S_CNTR_CODE = a.S_CNTR_CODE, + + }; + if (WCSHelper.CreateTask(wcsTask)) + { + //鏇存柊浣滀笟鐘舵�涓烘墽琛� + LocationHelper.LockLoc(OutLoc.S_CODE, 2); + LocationHelper.LockLoc(YiKuLoc.S_CODE, 1); + } + } + else + { + LogHelper.Info($"浣滀笟锛歿a.S_CODE}澶栦晶璐т綅{OutLoc.S_CODE}锛屾湭璁$畻鍒扮Щ搴撹揣浣�浣滀笟涓嶅惎鍔�); + return; + } + } - else - { - LogHelper.Info($"浣滀笟锛歿a.S_CODE}澶栦晶璐т綅{OutLoc.S_CODE}锛屾湭璁$畻鍒扮Щ搴撹揣浣�浣滀笟涓嶅惎鍔�); - return; - } - ; } #endregion - string JbwLoc = ""; - + // string JbwLoc = "XTGKW-1-1"; + var jbwloc= db.Queryable<Location>().Where(b => b.S_CODE == "XTGKW-1-1").First(); + if (jbwloc == null) + { + LogHelper.Info("鍒涘缓鍑哄簱浠诲姟鏈壘鍒版帴椹充綅璐т綅缂栫爜锛岃鍋囨煡鎺ラ┏浣嶇疆璐т綅"); + } //鍒涘缓wcs浠诲姟 var wcsTask1 = new WCSTask { @@ -146,21 +175,25 @@ S_CODE = WCSHelper.GenerateTaskNo(), S_TYPE = "鍑哄簱", S_START_LOC = a.S_START_LOC, - S_END_LOC = JbwLoc, + S_START_AREA = a.S_START_AREA, + S_END_LOC = jbwloc.S_CODE, + S_END_AREA = jbwloc.S_AREA_CODE, N_SCHEDULE_TYPE = 2, N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, }; - //鍒涘缓wcs鍥炲簱浠诲姟 + //鍒涘缓agv鍑哄簱浠诲姟 var wcsTask2 = new WCSTask { S_OP_CODE = a.S_CODE, S_OP_NAME = "鍑哄簱", S_CODE = WCSHelper.GenerateTaskNo(), S_TYPE = "鍑哄簱", - S_START_LOC = JbwLoc, + S_START_LOC = jbwloc.S_CODE, + S_START_AREA = jbwloc.S_AREA_CODE, S_END_LOC = a.S_END_LOC, + S_END_AREA = a.S_END_AREA, N_SCHEDULE_TYPE = 1, N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, -- Gitblit v1.9.1