From d471478f1b3373a9001ab9ebc4eb7f52384a4ec3 Mon Sep 17 00:00:00 2001 From: Tjiny <Tjinyu23@163.com> Date: 星期四, 29 五月 2025 17:11:37 +0800 Subject: [PATCH] 2025/5/29提交 --- HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs | 8 +++ HH.WCS.Mobox3.RiDong/models/Task.cs | 5 ++ HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml | 2 HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs | 26 ++++++++++++- HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs | 3 - HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs | 2 HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs | 11 ++++- HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs | 14 ++++++ 8 files changed, 60 insertions(+), 11 deletions(-) diff --git a/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml b/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml index b2bdec2..6c0b863 100644 --- a/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml +++ b/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> - <mapping directory="$PROJECT_DIR$/../.." vcs="Git" /> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs index eda1848..bde33f0 100644 --- a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs +++ b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs @@ -194,8 +194,19 @@ } db.Updateable(cntrItemDetails).UpdateColumns(p => new { p.N_ALR_ENTR }).ExecuteCommand(); + + var container = AdoSqlMethod<Container>.QueryFirst(p => p.S_CODE == task.S_CNTR_CODE); + + container.C_ENABLE = 'Y'; + container.N_DETAIL_COUNT = 0; + container.S_TYPE = null; + + AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE }); + OutWareHouseService.ResultDeterminationGuideOut(task); + + } // 鎸囧紩鍑哄簱 else if (task.N_TYPE == 7) @@ -209,8 +220,9 @@ container.C_ENABLE = 'Y'; container.N_DETAIL_COUNT = 0; + container.S_TYPE = null; - AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT }); + AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE }); } } diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs index bd9d9ed..315e901 100644 --- a/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs +++ b/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs @@ -24,8 +24,8 @@ /// <returns></returns> internal static string GenerateTaskNo(string snType, string prefix) { - var id = SYSHelper.GetSerialNumber(snType, prefix); var date = DateTime.Now.ToString("yyMMdd"); + var id = SYSHelper.GetSerialNumber(snType, prefix + date); return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}"; } diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs index 77d4303..52c1f39 100644 --- a/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs +++ b/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs @@ -173,7 +173,28 @@ // 鏌ヨ鍑烘墍鏈夎浼樺厛绾х殑鍙敤璐т綅 var locations = sqlSugarClient.Queryable<Location>() .Where(p => p.N_PRIORITY == priority && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList(); - + + // 浼樺厛鏌ヨ浠婃棩浠戒换鍔′腑鏈畬鎴愮殑锛堢瓑寰咃紝鎵ц涓級 + var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today); + + if (notQueryList.Count > 0) + { + var groupBy = notQueryList.GroupBy(p=>p.N_ROADWAY); + + foreach (var item in groupBy) + { + if (item.Key == 1 || item.Key == 2 || item.Key == 3 || + item.Key == 4) + { + locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList(); + } + else if (item.Key == 5 && item.ToList().Count >= 3) + { + locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList(); + } + } + } + // 瀛樺湪璇ヤ紭鍏堢骇鐨勫彲鐢ㄨ揣浣� if (locations.Count > 0) { @@ -199,7 +220,8 @@ .Where(p => p.N_PRIORITY == i && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList(); // 浼樺厛鏌ヨ浠婃棩浠戒换鍔′腑鏈畬鎴愮殑锛堢瓑寰咃紝鎵ц涓級 - var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today); + var notQueryList = AdoSqlMethod<Operation> + .QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today && (p.N_TYPE == 1 || p.N_TYPE == 3)); if (notQueryList.Count > 0) { diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs b/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs index 7aaf2c8..f5356b6 100644 --- a/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs +++ b/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs @@ -74,6 +74,8 @@ S_DC_NO = operation.S_DC_NO, // 浣滀笟绫诲瀷 S_OP_NAME = operation.S_OP_DEF_NAME, + // 宸烽亾 + N_ROADWAY = operation.N_ROADWAY, }; tasks.Add(task1); @@ -136,7 +138,8 @@ S_OP_NAME = operation.S_OP_DEF_NAME, // 閰嶇洏鍗曞彿 S_DC_NO = operation.S_DC_NO, - // 浠诲姟鍚嶇О + // 宸烽亾 + N_ROADWAY = operation.N_ROADWAY, }; tasks.Add(task1); @@ -169,7 +172,9 @@ // 浠诲姟鍚嶇О S_OP_NAME = operation.S_OP_DEF_NAME, // 閰嶇洏鍗曞彿 - S_DC_NO = operation.S_DC_NO + S_DC_NO = operation.S_DC_NO, + // 宸烽亾 + N_ROADWAY = operation.N_ROADWAY, }; tasks.Add(task2); @@ -470,7 +475,7 @@ { model.N_B_STATE = 2; model.S_B_STATE = "鍑哄簱浣滀笟宸插垱寤�; - + AdoSqlMethod<TN_Distribution_CNTR>.UpdateFirstTran(sqlSugarClient, model, p => new { p.N_B_STATE, p.S_B_STATE }); diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs index c523409..a5add26 100644 --- a/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs +++ b/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs @@ -3,6 +3,7 @@ using EasyModbus; using HH.WCS.Mobox3.RiDong.apiMethod; using HH.WCS.Mobox3.RiDong.models; +using HH.WCS.Mobox3.RiDong.util; using S7.Net.Types; using Task = HH.WCS.Mobox3.RiDong.models.Task; @@ -53,12 +54,17 @@ .QueryList(p => p.N_B_STATE == 0 && p.N_SCHEDULE_TYPE == 2 && (p.N_TYPE == 2 || p.N_TYPE == 4 || p.N_TYPE == 5 || p.N_TYPE == 6 || p.N_TYPE == 7)); + + + // 鎺掑簭 + tasks = tasks.OrderBy(p=>p.N_ROADWAY).ThenBy(p=>p.T_CREATE).ToList(); + foreach (var task in tasks) { // 鍒ゆ柇鏈夋病鏈夊凡鎺ㄩ�鐨勪换鍔★紝鏈夌殑璇濅笉鎺ㄩ�锛屾病鏈夊氨鎺ㄩ� // if(AdoSqlMethod<Task>.QueryCount(p=>(p.N_B_STATE == 1 || p.N_B_STATE == 2) && p.N_SCHEDULE_TYPE == 2 )) - + LogHelper.Info($"褰撳墠鎺ㄩ�浠诲姟鍦ㄧ{task.N_ROADWAY}宸烽亾"); // 鍑哄簱AGV涓嶅仛闄愬埗鐩存帴鎺ㄩ� if (TaskHelper.SendTaskFromAGV(task)) { diff --git a/HH.WCS.Mobox3.RiDong/models/Task.cs b/HH.WCS.Mobox3.RiDong/models/Task.cs index f6c8b8a..b1df4e7 100644 --- a/HH.WCS.Mobox3.RiDong/models/Task.cs +++ b/HH.WCS.Mobox3.RiDong/models/Task.cs @@ -109,6 +109,11 @@ /// </summary> public string S_DC_NO { get; set; } + /// <summary> + /// 宸烽亾 + /// </summary> + public int N_ROADWAY{ get; set; } + internal static string GetStateStr(int state) { //0绛夊緟 1宸叉帹閫� 2鎵ц 3瀹屾垚 4閿欒 diff --git a/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs b/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs index ace66e0..c7853eb 100644 --- a/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs +++ b/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs @@ -37,9 +37,8 @@ if (cntrInfo.C_ENABLE == 'N') { cntrInfo.C_ENABLE = 'Y'; - cntrInfo.S_TYPE = null; AdoSqlMethod<Container>.UpdateFirstTran(querySqlSugarClient, cntrInfo, - p => new { p.C_ENABLE, p.T_MODIFY, p.S_TYPE }); + p => new { p.C_ENABLE, p.T_MODIFY }); var cirList = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE == cntr).ToList(); -- Gitblit v1.9.1