From f80938e8a03d9343672b4fb3179836b019f6b9d8 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期六, 28 六月 2025 21:38:46 +0800 Subject: [PATCH] 0628 --- wms/TaskHelper.cs | 255 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 155 insertions(+), 100 deletions(-) diff --git a/wms/TaskHelper.cs b/wms/TaskHelper.cs index 489a7b9..bf54db7 100644 --- a/wms/TaskHelper.cs +++ b/wms/TaskHelper.cs @@ -219,6 +219,7 @@ CreateOneTask(operation); break; case 7: + //鍑哄簱涓ゆ浠诲姟 CreateOutTowTask(operation); break; case 9: @@ -412,9 +413,9 @@ if (CreateTask(task1) && CreateTask(task2)) { - LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2); - LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1); - LocationHelper.LockLoc(operation.CONNECTION, "鍏朵粬閿�, 3); + //LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2); + //LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1); + //LocationHelper.LockLoc(operation.CONNECTION, "鍏朵粬閿�, 3); LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟"); var db = new SqlHelper<object>().GetInstance(); db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); @@ -437,107 +438,115 @@ var ConnectionLoc = LocationHelper.GetLocOne(operation.CONNECTION); - - // 浠诲姟1 - var task1 = new WMSTask() + var count = LocationHelper.GetConnectionTaskCount(operation.CONNECTION); + LogHelper.Info($"CreateOneTask 浣滀笟:{operation.S_CODE},鎺ラ┏浣�{operation.CONNECTION}锛屼换鍔℃暟閲忥細{count}", "浠诲姟"); + if (count<=2) { - // 浣滀笟缂栫爜 - S_OP_CODE = operation.S_CODE, - // 浠诲姟鍙�- S_CODE = operation.S_CODE + "_1", - // 浠诲姟绫诲瀷 - N_TYPE = operation.N_TYPE, - // 浠诲姟绫诲瀷 - S_TYPE = operation.S_TYPE, - // 璧风偣璐т綅 - S_START_LOC = operation.S_START_LOC, - // 璧风偣搴撳尯 - S_START_AREA = operation.S_START_AREA, - // 缁堢偣璐т綅 - S_END_LOC = operation.CONNECTION, - // 缁堢偣搴撳尯 - S_END_AREA = ConnectionLoc.S_AREA_CODE, - // 璁惧绫诲瀷 - N_SCHEDULE_TYPE = 2, - // 璁惧绫诲瀷 - S_SCHEDULE_TYPE = "wcs", - // 瀹瑰櫒缂栫爜 - S_CNTR_CODE = operation.S_CNTR_CODE, - //浠诲姟鐘舵� - S_B_STATE = "鏈墽琛�, - // 浼樺厛绾�- N_PRIORITY = operation.N_PRIORITY, - //宸ヨ绫诲瀷 - TOOLSTYPE = operation.TOOLSTYPE, - //璧风偣搴撳尯鍚嶇О - S_START_AREA_NAME = operation.S_START_AREA_NAME, - //缁堢偣搴撳尯鍚嶇О - S_END_AREA_NAME = operation.CONNECTION_AREA, - }; - // 浠诲姟2 - var task2 = new WMSTask() - { - // 浣滀笟缂栫爜 - S_OP_CODE = operation.S_CODE, - // 浠诲姟鍙�- S_CODE = operation.S_CODE + "_2", - // 浠诲姟绫诲瀷 - N_TYPE = operation.N_TYPE, - // 浠诲姟绫诲瀷 - S_TYPE = operation.S_TYPE, - // 璧风偣璐т綅 - S_START_LOC = operation.CONNECTION, - // 璧风偣搴撳尯 - S_START_AREA = ConnectionLoc.S_AREA_CODE, - // 缁堢偣璐т綅 - S_END_LOC = operation.S_END_LOC, - // 缁堢偣搴撳尯 - S_END_AREA = operation.S_END_AREA, - // 璁惧绫诲瀷 - N_SCHEDULE_TYPE = 3, - // 璁惧绫诲瀷 - S_SCHEDULE_TYPE = "agv", - // 瀹瑰櫒缂栫爜 - S_CNTR_CODE = operation.S_CNTR_CODE, - //浠诲姟鐘舵� - S_B_STATE = "鏈墽琛�, - // 浼樺厛绾�- N_PRIORITY = operation.N_PRIORITY, - //宸ヨ绫诲瀷 - TOOLSTYPE = operation.TOOLSTYPE, - //璧风偣搴撳尯鍚嶇О - S_START_AREA_NAME = operation.CONNECTION_AREA, - //缁堢偣搴撳尯鍚嶇О - S_END_AREA_NAME = operation.S_END_AREA_NAME, - }; - - try - { - // 淇敼浣滀笟鐘舵�涓烘墽琛屼腑 - operation.N_B_STATE = 1; - operation.S_B_STATE = "鎵ц"; - - if (CreateTask(task1) && CreateTask(task2)) + // 浠诲姟1 + var task1 = new WMSTask() { - LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2); - LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1); - LocationHelper.LockLoc(operation.CONNECTION, "鍏ュ簱閿�, 1); - LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟"); - var db = new SqlHelper<object>().GetInstance(); - db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); - } - else - { - LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓澶辫触", "浠诲姟"); - } + // 浣滀笟缂栫爜 + S_OP_CODE = operation.S_CODE, + // 浠诲姟鍙�+ S_CODE = operation.S_CODE + "_1", + // 浠诲姟绫诲瀷 + N_TYPE = operation.N_TYPE, + // 浠诲姟绫诲瀷 + S_TYPE = operation.S_TYPE, + // 璧风偣璐т綅 + S_START_LOC = operation.S_START_LOC, + // 璧风偣搴撳尯 + S_START_AREA = operation.S_START_AREA, + // 缁堢偣璐т綅 + S_END_LOC = operation.CONNECTION, + // 缁堢偣搴撳尯 + S_END_AREA = ConnectionLoc.S_AREA_CODE, + // 璁惧绫诲瀷 + N_SCHEDULE_TYPE = 2, + // 璁惧绫诲瀷 + S_SCHEDULE_TYPE = "wcs", + // 瀹瑰櫒缂栫爜 + S_CNTR_CODE = operation.S_CNTR_CODE, + //浠诲姟鐘舵� + S_B_STATE = "鏈墽琛�, + // 浼樺厛绾�+ N_PRIORITY = operation.N_PRIORITY, + //宸ヨ绫诲瀷 + TOOLSTYPE = operation.TOOLSTYPE, + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = operation.S_START_AREA_NAME, + //缁堢偣搴撳尯鍚嶇О + S_END_AREA_NAME = operation.CONNECTION_AREA, + }; + // 浠诲姟2 + var task2 = new WMSTask() + { + // 浣滀笟缂栫爜 + S_OP_CODE = operation.S_CODE, + // 浠诲姟鍙�+ S_CODE = operation.S_CODE + "_2", + // 浠诲姟绫诲瀷 + N_TYPE = operation.N_TYPE, + // 浠诲姟绫诲瀷 + S_TYPE = operation.S_TYPE, + // 璧风偣璐т綅 + S_START_LOC = operation.CONNECTION, + // 璧风偣搴撳尯 + S_START_AREA = ConnectionLoc.S_AREA_CODE, + // 缁堢偣璐т綅 + S_END_LOC = operation.S_END_LOC, + // 缁堢偣搴撳尯 + S_END_AREA = operation.S_END_AREA, + // 璁惧绫诲瀷 + N_SCHEDULE_TYPE = 3, + // 璁惧绫诲瀷 + S_SCHEDULE_TYPE = "agv", + // 瀹瑰櫒缂栫爜 + S_CNTR_CODE = operation.S_CNTR_CODE, + //浠诲姟鐘舵� + S_B_STATE = "鏈墽琛�, + // 浼樺厛绾�+ N_PRIORITY = operation.N_PRIORITY, + //宸ヨ绫诲瀷 + TOOLSTYPE = operation.TOOLSTYPE, + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = operation.CONNECTION_AREA, + //缁堢偣搴撳尯鍚嶇О + S_END_AREA_NAME = operation.S_END_AREA_NAME, + }; + + try + { + // 淇敼浣滀笟鐘舵�涓烘墽琛屼腑 + operation.N_B_STATE = 1; + operation.S_B_STATE = "鎵ц"; + + if (CreateTask(task1) && CreateTask(task2)) + { + //LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2); + //LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1); + //LocationHelper.LockLoc(operation.CONNECTION, "鍏ュ簱閿�, 1); + LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟"); + var db = new SqlHelper<object>().GetInstance(); + db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); + } + else + { + LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓澶辫触", "浠诲姟"); + } + + } + catch (Exception e) + { + LogHelper.Info("CreateOneTask寮傚父淇℃伅" + e.Message, "浠诲姟"); + throw; + } } - catch (Exception e) - { - LogHelper.Info("CreateOneTask寮傚父淇℃伅" + e.Message, "浠诲姟"); - throw; - } + + + } @@ -975,7 +984,7 @@ var db = new SqlHelper<object>().GetInstance(); - return db.Queryable<UnlimitedLoc>().ToList(); + return db.Queryable<UnlimitedLoc>().Where(a=>a.Enable=="Y").ToList(); } @@ -990,7 +999,53 @@ return db.Queryable<InPri>().Where(a=>a.Enable=="Y") .ToList(); } + /// <summary> + /// 鑾峰彇鍑哄簱鎻愰珮浼樺厛绾ц〃 + /// </summary> + /// <returns></returns> + internal static OutMinutePriority GetOutMinutePriority() + { + + var db = new SqlHelper<object>().GetInstance(); + + return db.Queryable<OutMinutePriority>().Where(a => a.Enable == "Y").First(); + } + + + /// <summary> + /// 娣诲姞agv鍔ㄤ綔缂撳瓨 + /// </summary> + /// <param name="agv"></param> + /// <returns></returns> + internal static bool CreateAgvActionState(AgvActionState agv) + { + try + { + var db = new SqlHelper<object>().GetInstance(); + return db.Insertable<AgvActionState>(agv).ExecuteCommand() > 0; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + throw; + } + } + + + /// <summary> + /// 鑾峰彇agv鍔ㄤ綔 + /// </summary> + /// <returns></returns> + internal static List<AgvActionState> GetAgvActionState( string taskNo) + { + + var db = new SqlHelper<object>().GetInstance(); + + return db.Queryable<AgvActionState>().Where(a => a.task_no==taskNo).ToList(); + } + + } } -- Gitblit v1.9.1