From e4b92180e4336d777ac323c0395a043bde1285d3 Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期五, 30 五月 2025 17:18:13 +0800 Subject: [PATCH] 印尼佳通-胚胎到硫化的出入库功能开发 --- HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs | 109 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 83 insertions(+), 26 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs index cb0e21e..834f081 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs @@ -49,6 +49,17 @@ { foreach (var item in itemInfos) { + // 灏哅ES鐨勭墿鏂欑姸鎬佽浆鍖栨垚WMS鍙瘑鍒殑鐗╂枡鐘舵� + if (item.jdge == "" || item.jdge == null) + { + item.jdge = "OK"; + } + else if(item.jdge != "OK") + { + item.jdge = "HOLD"; + } + + // 璁$畻鐢熸晥鏃堕棿銆佸け鏁堟椂闂� var overage = WMSHelper.getOverage(item.bc_entried); if (overage != null) { @@ -120,6 +131,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = model.taskType, S_OP_DEF_CODE = model.taskNo, + S_OP_DEF_NAME = "鍗婂埗鍝�浣欐枡/绌烘墭涓嬪彂鍏ュ簱浠诲姟", N_PRIORITY = model.priority, T_START_TIME = DateTime.Now, }; @@ -231,6 +243,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "绌烘墭鍑哄簱浠诲姟", S_OP_DEF_CODE = model.taskNo, + S_OP_DEF_NAME = "绌烘墭鍑哄簱浠诲姟", N_PRIORITY = model.priority, T_START_TIME = DateTime.Now, }; @@ -323,7 +336,7 @@ else { result.ResultCode = 1; - result.ResultMsg = "搴撳唴娌℃湁鏌ュ埌姝ょ墿鏂�; + result.ResultMsg = "搴撳唴娌℃湁婊¤冻鏉′欢鐨勭墿鏂�; return result; } @@ -340,6 +353,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "鎴愬瀷鏈哄彨鏂欏嚭搴撲换鍔�, S_OP_DEF_CODE = model.taskNo, + S_OP_DEF_NAME = "鎴愬瀷鏈哄彨鏂欏嚭搴撲换鍔�, N_PRIORITY = model.priority, T_START_TIME = DateTime.Now, }; @@ -399,8 +413,18 @@ { foreach (var item in model.itemInfo) { + // 灏哅ES鐨勭墿鏂欑姸鎬佽浆鍖栨垚WMS鍙瘑鍒殑鐗╂枡鐘舵� + if (item.jdge == "" || item.jdge == null) + { + item.jdge = "OK"; + } + else if (item.jdge != "OK") + { + item.jdge = "HOLD"; + } + var overage = WMSHelper.getOverage(item.bc_entried); - if (overage != null) + if (overage != null && overage.OVERAGE != 0) { DateTime txndate = DateTime.Parse(item.txndate); DateTime minTime = txndate.AddHours(overage.MINHOUR); @@ -442,6 +466,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "浜哄伐鍏ュ簱浠诲姟", S_OP_DEF_CODE = model.taskNo, + S_OP_DEF_NAME = "浜哄伐鍏ュ簱浠诲姟", N_PRIORITY = model.priority, T_START_TIME = DateTime.Now, }; @@ -538,6 +563,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "浜哄伐鍑哄簱浠诲姟", S_OP_DEF_CODE = model.taskNo, + S_OP_DEF_NAME = "浜哄伐鍑哄簱浠诲姟", N_PRIORITY = model.priority, T_START_TIME = DateTime.Now, }; @@ -576,7 +602,7 @@ else { result.ResultCode = 1; - result.ResultMsg = "搴撳唴娌℃湁姝ょ墿鏂�; + result.ResultMsg = "搴撳唴娌℃湁婊¤冻鏉′欢鐨勭墿鏂�; } } catch (Exception ex) @@ -633,6 +659,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "姣嶆嫋鍏ュ簱浠诲姟", S_OP_DEF_CODE = taskNo, + S_OP_DEF_NAME = "姣嶆嫋鍏ュ簱浠诲姟", N_PRIORITY = 1, T_START_TIME = DateTime.Now, }; @@ -694,15 +721,15 @@ ReturnResult result = new ReturnResult(); try { - var mst = WMSHelper.GetWmsTask(wmsTaskNo); - if (mst != null && mst.N_B_STATE < 2) + var cst = WCSHelper.GetTaskByStart(loc); + if (cst == null) { Location startLoc = LocationHelper.GetLoc(loc); Location endLoc = LocationHelper.GetLoc(Settings.baseTrayInBufferLoc); - if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0)) + if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0)) { endLoc = WMSHelper.GetInstockEndLoc(0, loc, 2); - } + } if (endLoc != null && startLoc != null) { @@ -727,8 +754,7 @@ // 鍒涘缓涓�鍏ュ簱浠诲姟 WCSTask wcsTask = new WCSTask() { - S_OP_NAME = mst.S_OP_DEF_NAME, - S_OP_CODE = mst.S_CODE, + S_OP_CODE = wmsTaskNo, S_CODE = WCSHelper.GenerateTaskNo(), S_CNTR_CODE = trayCode, S_TYPE = "姣嶆嫋鍏ュ簱浠诲姟", @@ -771,13 +797,13 @@ /// <param name="loc"></param> /// <param name="taskNo"></param> /// <returns></returns> - public static ReturnResult baseTrayOutStock(string loc ,string taskNo) + public static ReturnResult baseTrayOutStock(string loc ,string taskNo ,int exclude = 1) { LogHelper.Info("銆愭瘝鎷栧嚭搴撲换鍔°�寮�涓嬪彂姣嶆嫋鍑哄簱浠诲姟", "WMS"); ReturnResult result = new ReturnResult(); try { - Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0, 1); + Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0, exclude); Location endLoc = LocationHelper.GetLoc(loc); var agvJBLoc = Settings.getAgvJBLoc(loc); @@ -801,6 +827,7 @@ S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "姣嶆嫋鍑哄簱浠诲姟", S_OP_DEF_CODE = taskNo, + S_OP_DEF_NAME = "姣嶆嫋鍑哄簱浠诲姟", N_PRIORITY = 1, T_START_TIME = DateTime.Now, }; @@ -864,10 +891,10 @@ ReturnResult result = new ReturnResult(); try { - var mst = WMSHelper.GetWmsTask(wmsTaskNo); - if (mst != null && mst.N_B_STATE < 2) + var cst = WCSHelper.GetTaskByEnd(loc); + if (cst == null) { - Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0,0); + Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0, 0); Location endLoc = LocationHelper.GetLoc(loc); if (startLoc != null) @@ -884,8 +911,7 @@ // 鍒涘缓鍏ュ簱浠诲姟 WCSTask wcsTask = new WCSTask() { - S_OP_NAME = mst.S_OP_DEF_NAME, - S_OP_CODE = mst.S_CODE, + S_OP_CODE = wmsTaskNo, S_CODE = WCSHelper.GenerateTaskNo(), S_CNTR_CODE = trayCode, S_TYPE = "姣嶆嫋鍑哄簱浠诲姟", @@ -966,10 +992,9 @@ TaskProcess.OperateStatus(cst, 6); break; case 7: - WCSHelper.UpdateStatus(cst, "寮傚父鍙栨秷"); + WCSHelper.Cancel(cst); + WCSHelper.UpdateStatus(cst, "鍙栨秷"); TaskProcess.OperateStatus(cst, 7); - mst.N_B_STATE = 3; - WMSHelper.UpdateTaskState(mst); break; case 8: WCSHelper.UpdateStatus(cst, "寮哄埗瀹屾垚"); @@ -997,6 +1022,35 @@ } } return responseResult; + } + + /// <summary> + /// 璐т綅鐘舵�鍙嶉 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public static bool locStateFeedBack(LocStateFeedBackModel model) + { + bool result = false; + var task = WCSHelper.GetTask(model.req_no); + if (task != null) + { + TaskAction taskAction = null; + if (model.type == "1") + { + taskAction = WCSHelper.getActionRecord(task.S_CODE, 1101); + } + if (model.type == "2") + { + taskAction = WCSHelper.getActionRecord(task.S_CODE, 1103); + } + if (taskAction != null) + { + taskAction.N_S_STATUS = 1; + result = WCSHelper.updateActionRecord(taskAction); + } + } + return result; } /// <summary> @@ -1106,9 +1160,6 @@ BOM3 = matl.bom3, S_FOVRAGE = matl.fovrage, S_JDGE = matl.jdge, - S_WMS_JDGE = matl.WMS_jdge, - EFFECTIVE_TIME = matl.effective_time, - EXPIRATION_TIME = matl.expiration_time, LAST_MODIFY_TIME = matl.last_modify_time }; itemBarcodeInfos.Add(itemBarcodeInfo); @@ -1151,7 +1202,6 @@ if (overages != null && overages.Count > 0) { List<Overage> overageList = new List<Overage>(); - foreach (var item in overages) { Overage overage = new Overage @@ -1159,8 +1209,9 @@ MCNGRP = item.mcngrp, ITEMPATT = item.itempatt, OVERAGE = item.overage, - MINHOUR = int.Parse(item.minhour.ToString()) , + MINHOUR = float.Parse(item.minhour.ToString()), FLAG_STS = item.flag_sts, + RECID = item.recid, }; overageList.Add(overage); } @@ -1192,7 +1243,7 @@ if (!bo) { responseResult.ResultCode = 1; - responseResult.ResultMsg = "鍚屾鐗╂枡鐘舵�淇℃伅澶辫触"; + responseResult.ResultMsg = "璁板綍鏁版嵁鍚屾鏃堕棿澶辫触"; } return responseResult; } @@ -1207,7 +1258,13 @@ { ReturnResult responseResult = new ReturnResult(); var synDataTime = WMSHelper.getLastDataSynTime(recordTable); - responseResult.data = synDataTime; + if (synDataTime != null) + { + Dictionary<string, string> map = new Dictionary<string, string>(); + map.Add("S_SYN_TIME", synDataTime.S_SYN_TIME); + map.Add("RECORD_TABLE", synDataTime.RECORD_TABLE); + responseResult.data = map; + } return responseResult; } -- Gitblit v1.9.1