From 16d2162a833cebeae72c363962917bb9da8145ef Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期五, 06 六月 2025 17:34:47 +0800 Subject: [PATCH] 福建佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/api/ApiHelper.cs | 141 +++++++++++++++------------------------------- 1 files changed, 47 insertions(+), 94 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/api/ApiHelper.cs index e51ab71..6c0af1a 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/api/ApiHelper.cs @@ -46,42 +46,18 @@ WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"WMS绯荤粺鏈煡璇㈠埌缁堢偣璐т綅锛歿model.endLocCode}"); throw new BusinessException($"WMS绯荤粺鏈煡璇㈠埌缁堢偣璐т綅锛歿model.endLocCode},璇锋鏌ョ粓鐐硅揣浣嶇紪鐮佹槸鍚︽纭�); } - else + + var areaCodes = Settings.getRelAreaCodes(endLoc.S_AREA_CODE); + if (areaCodes.Count == 0) { - if (endLoc.C_ENABLE == "Y") - { - if (endLoc.N_LOCK_STATE != 0) - { - var existTask = WCSHelper.GetTaskByStartOrEnd(model.endLocCode); - if (existTask != null) - { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"缁堢偣璐т綅锛歿model.endLocCode} 宸叉湁浠诲姟"); - throw new BusinessException($"缁堢偣璐т綅锛歿model.endLocCode} 宸叉湁浠诲姟"); - } - else - { - LocationHelper.UnLockLoc(model.endLocCode); // 娌℃湁浠诲姟灏憋紝鑷姩瑙i攣缁堢偣璐т綅 - } - } - } - else - { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"缁堢偣璐т綅锛歿model.endLocCode} 宸茬鐢紝璇疯仈绯荤鐞嗕汉鍛樿В闄ょ鐢�); - throw new BusinessException($"缁堢偣璐т綅锛歿model.endLocCode} 宸茬鐢紝璇疯仈绯荤鐞嗕汉鍛樿В闄ょ鐢�); - } + WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"鏈厤缃簱鍖�{endLoc.S_AREA_CODE}鐨勫叧鑱斿叧绯�); + throw new BusinessException($"鏈厤缃簱鍖�{endLoc.S_AREA_CODE}鐨勫叧鑱斿叧绯�); } - var transfeRelevance = WMSHelper.GetTransfeRelevance(model.endLocCode); // 鎺ラ┏璐т綅鍏宠仈灞炴� - if (transfeRelevance == null) - { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"缁堢偣璐т綅锛歿model.endLocCode},缂哄皯閰嶇疆灞炴�锛岃鑱旂郴绠$悊浜哄憳杩涜閰嶇疆灞炴�"); - throw new BusinessException($"缁堢偣璐т綅锛歿model.endLocCode},缂哄皯閰嶇疆灞炴�锛岃鑱旂郴绠$悊浜哄憳杩涜閰嶇疆灞炴�"); - } - - Location startLoc = WMSHelper.getOutStockStartLoc(transfeRelevance.S_RELE_AREA, null); + Location startLoc = WMSHelper.getOutStockStartLoc(areaCodes[0], null); if (startLoc == null) { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"鏈煡璇㈠埌绌哄伐瑁咃紝绔嬪簱鍙兘缂哄皯绌哄伐瑁�); + WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"搴撳尯:{areaCodes[0]}鏈煡璇㈠埌绌哄伐瑁�); throw new BusinessException($"鏈煡璇㈠埌绌哄伐瑁咃紝绔嬪簱鍙兘缂哄皯绌哄伐瑁�); } @@ -98,7 +74,7 @@ S_END_LOC = endLoc.S_CODE, S_END_AREA = endLoc.S_AREA_CODE, S_TYPE = "绌哄伐瑁呭嚭搴撲换鍔�, - S_OP_DEF_NAME = "绌哄伐瑁呭嚭搴撶紦瀛樹綅", + S_OP_DEF_NAME = "绌哄伐瑁呭嚭搴�, N_PRIORITY = 10, T_START_TIME = DateTime.Now, }; @@ -144,10 +120,10 @@ /// <summary> /// WCS璇荤爜璇锋眰娴佺▼ - /// 1.鍒ゆ柇RFID 鏄惁璇诲彇鎴愬姛锛堟墭鐩樺彿鏄惁涓虹┖锛�- /// 2.鏌ヨ鍏充簬RFID鐨勯鍒涘缓浠诲姟 - /// 3.濡傛灉璇诲彇鎴愬姛锛屽垯婵�椿棰勫垱寤轰换鍔�- /// 4.濡傛灉璇诲彇涓嶆垚鍔燂紝鏌ョ湅寮傚父鍖烘槸鍚︽湁绌鸿揣浣嶏紝鏈夊垯鍒涘缓鎼繍寮傚父鍖轰换鍔★紝鏃犲垯锛岃褰曞紓甯告縺娲婚鍒涘缓浠诲姟 + /// 涓氬姟鍦烘櫙锛氳鐮佸叆搴撱�璇荤爜鍑哄簱 + /// 1.鍒ゆ柇RFID鏄惁瀛樺湪WMS绯荤粺涓紝鍚︼紝鍒欓粯璁や负RFID鏃犳硶璇嗗埆 + /// 2.鍒ゆ柇RFID鏄惁涓庝换鍔FID鏄惁涓�嚧 + /// 3.璁板綍RFID寮傚父淇℃伅 /// </summary> /// <param name="request"></param> /// <returns></returns> @@ -155,47 +131,24 @@ ResponseResult responseResult = new ResponseResult(); Location loc = LocationHelper.GetLoc(request.loc); - if (loc == null) + if (loc != null) { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"璇荤爜浣�{request.loc},娌℃湁鍦╓MS绯荤粺涓綍鍏�); - throw new BusinessException($"璇荤爜浣�{request.loc},娌℃湁鍦╓MS绯荤粺涓綍鍏�); - } - - var locCntrRels = LocationHelper.GetLocCntr(request.loc); - if (locCntrRels.Count > 0) - { - string taskCntrCode = locCntrRels[0].S_CNTR_CODE; - // 2.鏌ヨ鍏充簬RFID鐨勯鍒涘缓浠诲姟 - var cst = WCSHelper.GetPreCreatedTaskByCntr(taskCntrCode); + var cst = WCSHelper.GetTask(request.taskNo); if (cst != null) { - bool errFlag = true; - // 1.鍒ゆ柇RFID 鏄惁璇诲彇鎴愬姛锛堟墭鐩樺彿鏄惁涓虹┖锛�- if (request.cntrNo != null) + var container = ContainerHelper.GetCntr(request.cntrNo); + if (container != null) { - if (request.cntrNo == taskCntrCode) + if (cst.S_CNTR_CODE == request.cntrNo) { - Container container = ContainerHelper.GetCntr(request.cntrNo); - if (container.N_E_STATE == 0) - { - errFlag = false; - WCSHelper.ActivatePreCreateTask(cst.S_OP_CODE); - } - } - else - { - ContainerHelper.UpdateCntrState(taskCntrCode, 1,"WCS鍙嶉RFID涓庝换鍔FID涓嶄竴鑷�); + ContainerHelper.UpdateCntrState(cst.S_CNTR_CODE, 1); + WMSHelper.addRfidAnomalyRecord(cst.S_CNTR_CODE, 2, request.loc, cst.S_CODE); } } - else + else { - ContainerHelper.UpdateCntrState(taskCntrCode, 1,"WCS鍙嶉RFID涓簄ull"); - } - - // 鏂规1 4.婵�椿棰勫垱寤轰换鍔�- if (errFlag) - { - WCSHelper.ActivatePreCreateTask(cst.S_OP_CODE,1); + ContainerHelper.UpdateCntrState(cst.S_CNTR_CODE, 1); + WMSHelper.addRfidAnomalyRecord(cst.S_CNTR_CODE, 1, request.loc, cst.S_CODE); } // 鏂规2 4.濡傛灉璇诲彇涓嶆垚鍔燂紝鏌ョ湅寮傚父鍖烘槸鍚︽湁绌鸿揣浣� @@ -233,15 +186,15 @@ WCSHelper.ActivatePreCreateTask(cst.S_OP_CODE); }*/ } - else + else { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"璇荤爜浣�{request.loc}瑙﹀彂璇荤爜璇锋眰锛岃鐮佷綅涓婂鍣�{taskCntrCode}娌℃湁棰勫垱寤轰换鍔�); + WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"娌℃湁鏌ヨ鍒拌鐮佺殑浠诲姟锛屼换鍔″彿:{request.taskNo}"); } } else { - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"璇荤爜浣�{request.loc},娌℃湁鏌ヨ鍒板鍣�); - throw new BusinessException($"璇荤爜浣�{request.loc},娌℃湁鏌ヨ鍒板鍣�); + WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"璇荤爜浣�{request.loc},娌℃湁鍦╓MS绯荤粺涓綍鍏�); + throw new BusinessException($"璇荤爜浣�{request.loc},娌℃湁鍦╓MS绯荤粺涓綍鍏�); } return responseResult; } @@ -267,43 +220,40 @@ /// <returns></returns> public static ResponseResult offLineProcess(OffLineRequest model) { ResponseResult responseResult = new ResponseResult(); + + // 鏌ヨ璧风偣璐т綅鏄惁瀛樺湪宸插瓨鍦ㄤ换鍔★紝闃叉浠诲姟閲嶅鍙戣捣 var existWmsTask = WMSHelper.GetWmsTaskByStart(model.loc); if (existWmsTask == null) { - // 鍒ゆ柇婊℃枡鎺ラ┏浣嶅搴旂殑绌哄伐瑁呯紦瀛樹綅鐘舵�锛堟煡璇㈢嚎浣撳厜鐢碉級 + // 鏌ヨ瀵瑰簲鏈哄彴鐨勭墿鏂欎笅绾块厤缃俊鎭� var logicConfig = WMSHelper.getLogicConfigByJtCode(model.jtNo); if (logicConfig != null) { + // 鏍规嵁鐗╂枡涓嬬嚎閰嶇疆淇℃伅锛屽垽鏂换鍔$被鍨嬫槸鐩磋繛涓嬬嚎杩樻槸闈炵洿杩炰笅绾� if (logicConfig.S_TASK_TYPE == "1" || logicConfig.S_TASK_TYPE == "2") { - // 婊℃枡涓嬬嚎锛堢洿杩烇級 + // 鐩磋繛涓嬬嚎锛岄渶瑕佸垽鏂牎楠孯FID LjMesTask mesTask = null; - if (model.cntrNo != null && model.cntrNo != "") + var container = ContainerHelper.GetCntr(model.cntrNo); + if (container != null) { - var container = ContainerHelper.GetCntr(model.cntrNo); - if (container == null) + mesTask = WMSHelper.getLjMesTaskByCntr(model.cntrNo); + if (mesTask == null) { - ContainerHelper.AddCntr(model.cntrNo); - ContainerHelper.UpdateCntrState(model.cntrNo, 1, $"婊℃枡涓嬬嚎锛堢洿杩烇級,WCS鍙嶉鐨凴FID:{model.cntrNo}鍦╓MS绯荤粺涓笉瀛樺湪"); - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"婊℃枡涓嬬嚎锛堢洿杩烇級,WCS鍙嶉鐨凴FID:{model.cntrNo}鍦╓MS绯荤粺涓笉瀛樺湪"); - } - else - { - ContainerHelper.UpdateCntrState(model.cntrNo, 0, ""); - mesTask = WMSHelper.getLjMesTaskByCntr(model.cntrNo); - if (mesTask == null) - { - ContainerHelper.UpdateCntrState(model.cntrNo, 1, $"鏈煡璇㈠埌MES浠诲姟"); - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "浣�, $"婊℃枡涓嬬嚎锛堢洿杩烇級,瀹瑰櫒:{model.cntrNo}鏈煡璇㈠埌MES浠诲姟"); - } + ContainerHelper.UpdateCntrState(model.cntrNo, 1); + WMSHelper.addRfidAnomalyRecord(model.cntrNo, 3, model.loc, null); } } else { - model.cntrNo = ContainerHelper.GenerateCntrNo(); + model.isNormal = false; + } + + if (!model.isNormal) + { ContainerHelper.AddCntr(model.cntrNo); - ContainerHelper.UpdateCntrState(model.cntrNo, 1, $"WCS鍙嶉鐨凴FID:{model.cntrNo} 涓虹┖"); - WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"WCS鍙嶉鐨凴FID:{model.cntrNo} 涓虹┖"); + ContainerHelper.UpdateCntrState(model.cntrNo, 1); + WMSHelper.addRfidAnomalyRecord(model.cntrNo, 1, model.loc, null); } triggerItemOffLineFlow(model.loc, model.cntrNo, logicConfig, mesTask); } @@ -2194,6 +2144,7 @@ { public string reqId { get; set; } public string reqTime { get; set; } + public string taskNo { get; set; } // 鎵樼洏鍙� public string loc { get; set; } // 璐т綅 涓婃枡鐐广�涓嬫枡鐐广�璇荤爜浣嶃�绉伴噸浣嶏紙蹇呭~锛� public string cntrNo { get; set; } // 鎵樼洏鍙� public int signalType { get; set; } //璇锋眰绫诲瀷 1:涓嬬嚎璇锋眰 2锛氬彨鏂欒姹�3锛氳鐮佽姹傦紙蹇呭~锛�@@ -2218,6 +2169,7 @@ public string loc { get; set; } // 璐т綅 涓婃枡鐐广�涓嬫枡鐐广�璇荤爜浣嶃�绉伴噸浣嶏紙蹇呭~锛� public string cntrNo { get; set; } // 鎵樼洏鍙� public string jtNo { get; set; } // 鏈哄彴鍙�+ public bool isNormal { get; set; } //鏄惁寮傚父 } /// <summary> @@ -2227,6 +2179,7 @@ { public string loc { get; set; } // 璐т綅 涓婃枡鐐广�涓嬫枡鐐广�璇荤爜浣嶃�绉伴噸浣嶏紙蹇呭~锛� public string cntrNo { get; set; } // 鎵樼洏鍙�+ public string taskNo { get; set; } // 浠诲姟鍙� } public class AddTaskModel { -- Gitblit v1.9.1