From 8741f7e84dc7c0a1150c92758ebb2cf4b7d18c73 Mon Sep 17 00:00:00 2001 From: pulg <plg@Haninfo> Date: 星期五, 18 七月 2025 14:49:30 +0800 Subject: [PATCH] 1 --- HH.WCS.QingXiNongfu/wms/TaskHelper.cs | 105 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 67 insertions(+), 38 deletions(-) diff --git a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs index 8ac43a7..cae6c27 100644 --- a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs +++ b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs @@ -1,4 +1,5 @@ -锘縰sing HH.WCS.QingXigongchang.process; +锘縰sing HH.WCS.QingXigongchang.dispatch; +using HH.WCS.QingXigongchang.process; using HH.WCS.QingXigongchang.util; using Newtonsoft.Json; using SqlSugar; @@ -86,18 +87,19 @@ { var fromLoc = LocationHelper.GetLoc(from); var endLoc = LocationHelper.GetLoc(to); - + var chi = new SqlHelper<object>().GetInstance(); + var newDb = chi.CopyNew(); //NDCHelper.ChangeParam(taskNo, agvsite, 2); //NDCHelper.ChangeParam(taskNo, 2, 6); if (fromLoc.S_AREA_CODE == "YWLRGDD") { //鏌ヨ浠诲姟琛� 瑕佹眰鏄彧鑳界敓鎴愪袱涓换鍔�璧风偣搴撳尯涓篩WLRGDD hh_plg 2025骞�鏈�鏃� - List<string> TaskState = new List<string>() { "瀹屾垚", "鍙栨秷" }; - var TaskListNum = LocationHelper.GetList<WMSTask>(x => x.S_START_LAREA == "YWLRGDD" && !TaskState.Contains(x.S_B_STATE)); - if (TaskListNum.Count() >= 2) + + var TaskListNum = newDb.Queryable<Location>().Where(l => l.S_AREA_CODE == "YWLRGDD" && l.S_LOCK_STATE == "鍑哄簱閿�).ToList(); + if (TaskListNum.Count() >= 3) { - LogHelper.Info($"CreateTransport- CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�); + LogHelper.Info($"CreateTransport- CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪笁涓换鍔�); return false; } } @@ -238,43 +240,70 @@ } internal static void End(WMSTask task) { - var db = new SqlHelper<WMSTask>().GetInstance(); + var db = new SqlHelper<object>().GetInstance(); - - //plg 2025骞�鏈�3鏃�10:42:24 - if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC)) + if (task.S_START_LOC == "YWLT1TSJCD-1" && task.N_START_LAYER == 2) { - var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First(); - if (model != null) - { - //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�- db.Ado.BeginTran(); - try - { - model.S_LOCK_STATE = "鏃�; - var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0; - LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res); - db.Ado.CommitTran(); - } - catch (Exception ex) - { - db.Ado.RollbackTran(); - LogHelper.Info("CreateTask 澶辫触 " + ex.Message); - } + var _clrel = LocationHelper.GetLocCntrRel(task.S_START_LOC); - LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�"); - var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY); - //if (b) - //{ - // if (task != null) - // { - // task.S_B_STATE = "瀹屾垚"; - // task.T_END_TIME = DateTime.Now; - // db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand(); - // } - //} + if (_clrel != null) + { + var sta = db.Queryable<Location>().Where(l => l.S_LOC_CODE == task.S_START_LOC).First(); + if (sta.N_CURRENT_NUM > 0 && sta.S_LOCK_STATE == "鏃�) + { + var sign = Settings.GetTimeStamp(); + var res = TaskProcess.CreateTransport(sign, task.S_START_LOC, task.S_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sta.N_CURRENT_NUM, 1, 1, 60); + } } } + + if (task.S_END_LAREA == "YWLYLTKQ" || task.S_END_LAREA == "YWLTKKTQ") + { + //鏌ヨ鍑哄簱閿乊WLWJJB + var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLWJJB" && x.S_LOCK_STATE == "鍑哄簱閿�); + if (ls.Any()) + { + var tas = db.Queryable<WMSTask>().Where(a => a.S_START_LOC == ls.First().S_LOC_CODE).ToList().FirstOrDefault(); + if (tas.S_B_STATE == "宸叉帹閫�) + { + NDC.ChangeParamPri(tas.S_TASK_NO, 70); + } + } + } + ////plg 2025骞�鏈�3鏃�10:42:24 + //if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC)) + //{ + // var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First(); + // if (model != null) + // { + // //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�+ // db.Ado.BeginTran(); + // try + // { + // model.S_LOCK_STATE = "鏃�; + // var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0; + // LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res); + // db.Ado.CommitTran(); + // } + // catch (Exception ex) + // { + // db.Ado.RollbackTran(); + // LogHelper.Info("CreateTask 澶辫触 " + ex.Message); + // } + + // LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�"); + // var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY); + // //if (b) + // //{ + // // if (task != null) + // // { + // // task.S_B_STATE = "瀹屾垚"; + // // task.T_END_TIME = DateTime.Now; + // // db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand(); + // // } + // //} + // } + //} if (task != null) { task.S_B_STATE = "瀹屾垚"; -- Gitblit v1.9.1