From 8accda250de2a637336a40e04085e1a0cb556c5c Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期一, 23 六月 2025 17:30:36 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs | 104 ++++++++++++++++------------------------------------ 1 files changed, 32 insertions(+), 72 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs index 8977c7f..a788b46 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs @@ -35,84 +35,16 @@ } /// <summary> - /// 閬嶅巻鍒嗘嫞鍗曟槑缁嗗垱寤哄嚭搴撲綔涓�- /// </summary> - internal static void CheckSortingTask() - { - var db = new SqlHelper<object>().GetInstance(); - //new SortingOrder().N_B_STATE - //閬嶅巻N_B_STATE = 3鐨勫垎鎷e崟鍒涘缓浣滀笟 - //鎴�閬嶅巻鍒嗘嫞鍗曟槑缁嗗垱寤哄垎鎷d綔涓氾紝鍥犱负涓�釜鍒嗘嫞鍗曢噷闈㈢殑鏄庣粏閮芥槸鎵归噺鐢熸垚鐨�- var list = WMSHelper.GetWaitingSortingOperationList(); - LogHelper.Info($"鑾峰彇閰嶇洏鏁伴噺 {list.Count}"); - if (list.Count > 0) - { - list.ForEach(a => - { - var startloc = db.Queryable<Location>().Where(it => it.S_CODE == a.S_LOC_CODE).First(); - if (startloc != null && startloc.S_LOCK_STATE == "鍏跺畠閿�) - { - - Location endbit = null; - - //璁$畻鎵樼洏杩涜鍑哄簱 - - if (endbit != null) - { - var optask = new WMSTask - { - S_CODE = WMSHelper.GenerateTaskNo(), - S_START_LOC = a.S_LOC_CODE, - S_START_AREA = startloc.S_AREA_CODE, - S_START_WH = startloc.S_WH_CODE, - S_END_LOC = endbit.S_CODE, - S_END_AREA = endbit.S_AREA_CODE, - S_END_WH = endbit.S_WH_CODE, - S_STATION_LOC = a.S_OUT_TO, - S_TYPE = "鍑哄簱", - N_TYPE = 2, - N_B_STATE = 0, - S_CNTR_CODE = a.S_CNTR_CODE, - S_OP_DEF_NAME = a.S_BS_TYPE - }; - var note = Settings.Tasktypes.Where(it => it.StartArea == optask.S_START_AREA && it.EndArea == optask.S_END_AREA).FirstOrDefault(); - if (note != null) - { - optask.S_NOTE = note.TaskType; - } - var res = db.Insertable(optask).ExecuteCommand() > 0; - if (res) - { - startloc.N_LOCK_STATE = 2; - startloc.S_LOCK_STATE = "鍑哄簱閿�; - db.Updateable(startloc).UpdateColumns(it => new { it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); - LocationHelper.LockLoc(endbit.S_CODE, 1); - a.N_B_STATE = 2; - a.S_B_STATE = "浣滀笟鍚姩"; - db.Updateable(a).UpdateColumns(it => new { it.S_B_STATE, it.N_B_STATE }).ExecuteCommand(); - } - } - else LogHelper.Info($"閰嶇洏 鏈壘鍒板彲鐢ㄥ垎鎷h揣浣�); - } - else LogHelper.Info($"閰嶇洏 鏈壘鍒板嚭搴撳彛搴撳尯缂栫爜{a.S_EXIT_AREA_CODE} 瀵瑰簲鐨勯厤缃枃浠�); - - }); - } - - - } - - /// <summary> /// 浣滀笟鍚姩锛屽垱寤哄瓙浠诲姟 /// </summary> internal static void Start() { - LogHelper.Info($"浣滀笟鍚姩 鍒涘缓瀛愪换鍔�); + //LogHelper.Info($"浣滀笟鍚姩 鍒涘缓瀛愪换鍔�); var db = new SqlHelper<object>().GetInstance(); List<WMSTask> list = WMSHelper.GetWaitingOperationList(); - LogHelper.Info($"鑾峰彇浠诲姟鏁版嵁 鏁伴噺{list.Count}"); if (list.Count > 0) { + LogHelper.Info($"鑾峰彇浠诲姟鏁版嵁 鏁伴噺{list.Count}"); //濡傛灉鏄嚭搴撶殑浣滀笟閿佸畾鎵樼洏鐨勬椂鍊欏凡缁忔槑纭捣鐐逛簡锛屽鏋滃彂璐у崟鎴栧垎鎷e崟鎸囧畾浜嗙粓鐐癸紝 //濡傛灉娌℃湁浣滀笟銆佷换鍔$殑椤哄簭闄愬埗灏卞彲浠ュ惎鍔紝鍒涘缓瀛愪换鍔′簡 foreach (var a in list) @@ -131,6 +63,23 @@ LocationHelper.LockLoc(end.S_CODE, 1); var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == a.S_START_LOC).First(); var endinfo = db.Queryable<Location>().Where(it => it.S_CODE == end.S_CODE).First(); + int startLayer = startinfo.N_CURRENT_NUM; + int endlayer = endinfo.N_CURRENT_NUM + 1; + if(a.S_OP_DEF_NAME == "鐡跺澂闈炴�浜цˉ婊℃" || a.S_OP_DEF_NAME == "鐡剁洊闈炴�浜цˉ婊℃" || a.S_OP_DEF_NAME == "鐡跺澂闈炴�浜цˉ绌烘" || a.S_OP_DEF_NAME == "鐡剁洊闈炴�浜цˉ绌烘") + { + startLayer = 1; + endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site; + } + if(a.S_OP_DEF_NAME == "娉ㄥ鍗充骇婊℃墭涓嬬嚎锛堢摱鍧級") + { + endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site; + } + + if (a.S_OP_DEF_NAME == "鎺ラ┏浣嶅叆搴� || a.S_OP_DEF_NAME == "鐡剁洊绌烘墭鍏ュ簱") + { + startLayer = 1; + endlayer = 1; + } var wcsTask = new WCSTask { S_OP_CODE = a.S_CODE, @@ -144,10 +93,15 @@ S_END_AREA = endinfo.S_AREA_CODE, S_END_WH = endinfo.S_WH_CODE, S_SCHEDULE_TYPE = "NDC", + S_WORK_MODE = "agv", N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, N_START_LAYER = startinfo.N_CURRENT_NUM, - N_END_LAYER = endinfo.N_CURRENT_NUM + 1 + N_END_LAYER = endinfo.N_CURRENT_NUM + 1, + S_TRAY_TYPE = a.S_TRAY_TYPE, + S_WORK_NO = a.S_WORK_NO, + S_ITEM_CODE = a.S_ITEM_CODE, + S_NOTE = a.S_NOTE }; if (WCSHelper.CreateTask(wcsTask)) { @@ -188,11 +142,17 @@ S_END_AREA = endinfo.S_AREA_CODE, S_END_WH = endinfo.S_WH_CODE, S_SCHEDULE_TYPE = "NDC", + S_WORK_MODE = "agv", N_CNTR_COUNT = 1, S_CNTR_CODE = a.S_CNTR_CODE, N_START_LAYER = startinfo.N_CURRENT_NUM, - N_END_LAYER = endinfo.N_CURRENT_NUM + 1 + N_END_LAYER = endinfo.N_CURRENT_NUM + 1, + S_TRAY_TYPE = a.S_TRAY_TYPE, + S_WORK_NO = a.S_WORK_NO, + S_ITEM_CODE = a.S_ITEM_CODE, + S_NOTE = a.S_NOTE }; + if (WCSHelper.CreateTask(wcsTask)) { -- Gitblit v1.9.1