From 48654bac6d758d6426a0e659a7d7bd08634acfc8 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期四, 12 六月 2025 17:15:49 +0800 Subject: [PATCH] 修复细节错误,优化报错信息 --- core/WCSCore.cs | 123 ++++++++++++++++++++++++++++++---------- 1 files changed, 92 insertions(+), 31 deletions(-) diff --git a/core/WCSCore.cs b/core/WCSCore.cs index a9985d1..4c9ff87 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -20,27 +20,15 @@ public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) { var result = new ReturnResult(); try { - switch (model.state) { - case 1023: - break; - case 1025: - break; - case 1012: - break; - case 1004: - break; - case 1103: - break; - default: - // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�- if (!AgvTaskProcessOk(model)) { - // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�- result.ResultCode = 1; - result.ResultMsg = $"鏍规嵁Model.No鏈壘鍒板搴旂殑浠诲姟锛寋model.task_no}"; - LogHelper.Info(result.ResultMsg, "API"); - return result; - } - break; + if (model.state > 0 && model.state < 1000) { + // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�+ if (!AgvTaskProcessOk(model)) { + // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�+ result.ResultCode = 1; + result.ResultMsg = $"鏍规嵁Model.No鏈壘鍒板搴旂殑浠诲姟锛寋model.task_no}"; + LogHelper.Info(result.ResultMsg, "API"); + return result; + } } result.ResultCode = 0; @@ -88,9 +76,9 @@ var nextOutboundTask = Task.Run(() => { UpdateOutboundTaskState(3); }); - var pickUpReturnErpTask = Task.Run(() => { - PickUpReturnErp(TN_Task); - }); + //var pickUpReturnErpTask = Task.Run(() => { + // PickUpReturnErp(TN_Task); + //}); } break; @@ -110,6 +98,10 @@ // }); //} + var recordTask = Task.Run(() => { + RecordTaskTable(TN_Task); + }); + break; case 7: // 寮傚父 TaskProcess.OperateStatus(TN_Task, 7); // 寮傚父澶勭悊 @@ -124,6 +116,78 @@ return true; } + private static void RecordTaskTable(TN_Task task) { + var db = new SqlHelper<object>().GetInstance(); + var info = ""; + + try { + var cgDetail = new TN_CG_Detail(); // 濡傛灉娌℃湁淇℃伅锛岄粯璁ゅ氨鏄┖鍊硷紝鍙互鐩存帴濉叆锛屼笉闇�鍒ゆ柇 + + //var emptyTask = false; // 绌烘墭/绌虹浠诲姟 + if (task.S_TYPE != TaskName.H濂借繍绠盻绌虹涓婄嚎 && task.S_TYPE != TaskName.H濂借繍绠盻绌虹鍏ュ簱 && + task.S_TYPE != TaskName.T鎵樼洏_绌烘墭涓婄嚎 && task.S_TYPE != TaskName.T鎵樼洏_绌烘墭鍏ュ簱) { + // 闈炵┖鎵�绌虹浠诲姟锛堢┖鎵�绌虹浠诲姟鏃犳硶鍦–GDetail鏌ュ埌鐗╂枡淇℃伅锛�+ //emptyTask= true; + cgDetail = db.Queryable<TN_CG_Detail>() + .Where(d => d.S_CNTR_CODE == task.S_CNTR_CODE) + .First(); + + if (cgDetail == null) { + info = $"浠诲姟{task.S_CODE}瀹屾垚锛岃褰曞嚭鍏ュ簱瀛樺湪闂锛氭棤娉曞湪瀹瑰櫒璐у搧鏄庣粏琛ㄤ腑鎵惧埌鎵樼洏{task.S_CNTR_CODE}瀵瑰簲鐨勭墿鏂�; + LogHelper.Info(info); + //return; + cgDetail = new TN_CG_Detail() ; + cgDetail.S_ITEM_CODE = "寮傚父"; + } + } + + var isInbound = false; // 鍏ュ簱绫诲瀷鐨勪换鍔★紙鍖呮嫭绉诲簱绫讳换鍔★級 + var inboundTasks = new List<string> { + TaskName.H濂借繍绠盻婊$涓嬬嚎鍏ュ簱, TaskName.H濂借繍绠盻绌虹鍏ュ簱, TaskName.T鎵樼洏_婊℃墭涓嬬嚎鍏ュ簱, TaskName.T鎵樼洏_绌烘墭鍏ュ簱, + TaskName.C鎶芥_鍚堟牸鍥炲簱, TaskName.C鎶芥_涓嶅悎鏍肩Щ搴� TaskName.Y绉诲簱 + }; + if (inboundTasks.Contains(task.S_TYPE)) { + isInbound= true; + } + + var record = new TN_Record_Table { + S_ITEM_CODE = cgDetail.S_ITEM_CODE, + S_BATCH_NO = cgDetail.S_BATCH_NO, + S_ITEM_NAME = cgDetail.S_ITEM_NAME, + S_LOC_CODE = isInbound ? task.S_END_LOC : task.S_START_LOC, // 鍏ュ簱璁板綍缁堢偣璐т綅锛屽嚭搴撹褰曡捣鐐硅揣浣�+ S_CNTR_CODE = task.S_CNTR_CODE, + S_ITEM_SPEC = cgDetail.S_ITEM_SPEC, + S_NET_WEIGHT = cgDetail.S_NET_WEIGHT, + S_QUALITY_GRADE = cgDetail.S_QUALITY_GRADE, + S_STANDARD = cgDetail.S_STANDARD, + S_TASK_NO = task.S_CODE, + T_RECORD_TIME = DateTime.Now, + S_TYPE = task.S_TYPE, + S_BS_CODE = task.S_BS_NO, // ERP鍗曞彿锛岄粯璁や负绌�+ N_QTY = cgDetail.N_ITEM_NUM, + S_NO = task.S_OP_CODE, // 鍑哄簱/鎶芥/绉诲簱鍗�+ }; + + // 鏁版嵁搴撴搷浣�+ if (db.Insertable<TN_Record_Table>(record).ExecuteCommand() <= 0) { + info = "鎻掑叆鍑哄叆搴撹褰曡〃澶辫触锛� + JsonConvert.SerializeObject(record); + LogHelper.Info(info); + return; + } + + info = "鎻掑叆鍑哄叆搴撹褰曡〃鎴愬姛"; + LogHelper.Info(info); + } + catch (Exception ex) { + LogHelper.InfoEx(ex); + } + } + + /// <summary> + /// AGV浜х嚎瀹夊叏浜や簰閫昏緫瀹炵幇 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> public static ReturnResult SafetyInteraction(SafetyInteractionInfo model) { var db = new SqlHelper<object>().GetInstance(); var info = ""; @@ -185,7 +249,6 @@ info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿鎴愬姛"; LogHelper.Info(info); return NewReturnResult(0, info); - } else if (model.apply_code == "1") { // 璇锋眰鍗歌揣 if (prodLineDevice.AllowAgvPlacePallet != 1) { @@ -226,7 +289,7 @@ .First(d => d.N_B_STATE == 2); if (detail == null) { - LogHelper.Info($"{taskName}--AGV鍙栬揣--鏌ヨ鏄庣粏鍗曪細褰撳墠娌℃湁鎵ц涓殑鏄庣粏鍗�); + LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氭煡璇㈡槑缁嗗崟锛氬綋鍓嶆病鏈夋墽琛屼腑鐨勬槑缁嗗崟"); return; } @@ -234,14 +297,14 @@ detail.N_B_STATE = spotStateCode; if (db.Updateable<TN_Outbound_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) { tran.RollbackTran(); - LogHelper.Info($"{taskName}--AGV鍙栬揣锛氫慨鏀规槑缁嗗崟鐘舵�涓�浠诲姟鎵ц瀹屾垚--澶辫触锛�); + LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氫慨鏀规槑缁嗗崟鐘舵�涓恒�3浠诲姟鎵ц瀹屾垚銆戝け璐ワ紒"); return; } var finishedCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO && d.N_B_STATE == 3); var allCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO); - LogHelper.Info($"{taskName}--AGV鍙栬揣--缁熻浠诲姟宸插畬鎴愶細{finishedCount}/{allCount}"); + LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氱粺璁′换鍔″凡瀹屾垚锛歿finishedCount}/{allCount}"); if (finishedCount == allCount) { // 褰撳墠鍑哄簱鍗曚笅鐨勬墍鏈夋槑缁嗗崟锛屼换鍔¢兘宸茬粡瀹屾垚 @@ -250,7 +313,7 @@ .ExecuteCommand() <= 0) { tran.RollbackTran(); - LogHelper.Info($"{taskName}--AGV鍙栬揣--鎵�湁浠诲姟瀹屾垚鏃讹細淇敼鍗曟嵁鐘舵�涓�浠诲姟鎵ц瀹屾垚--澶辫触锛�); + LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氭墍鏈変换鍔″畬鎴愭椂锛氫慨鏀瑰崟鎹姸鎬佷负3浠诲姟鎵ц瀹屾垚--澶辫触锛�); return; } } @@ -291,8 +354,6 @@ else { LogHelper.Info("鏆傛棤浠诲姟"); } - - } } } -- Gitblit v1.9.1