From 33b84a02e80c24e2106c67a388d9a3c1fa5f5603 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期二, 17 六月 2025 16:58:15 +0800 Subject: [PATCH] 完善ERP下发任务接口、创建任务与取货完成的信息回报功能 --- core/WCSCore.cs | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 104 insertions(+), 9 deletions(-) diff --git a/core/WCSCore.cs b/core/WCSCore.cs index 4c9ff87..e7b3f66 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -20,7 +20,7 @@ public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) { var result = new ReturnResult(); try { - if (model.state > 0 && model.state < 1000) { + if (model.state > 0) { // AGV 鎵ц浠诲姟鐨勯�杈戝鐞� if (!AgvTaskProcessOk(model)) { // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�@@ -38,7 +38,7 @@ } catch (Exception ex) { result.ResultCode = -1; - result.ResultMsg = $"鍙戠敓浜嗗紓甯革細+{ex.Message}"; + result.ResultMsg = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; LogHelper.Info(result.ResultMsg, "Error"); return result; } @@ -76,9 +76,9 @@ var nextOutboundTask = Task.Run(() => { UpdateOutboundTaskState(3); }); - //var pickUpReturnErpTask = Task.Run(() => { - // PickUpReturnErp(TN_Task); - //}); + var pickUpReturnErpTask = Task.Run(() => { + PickUpReturnErp(TN_Task); + }); } break; @@ -150,7 +150,17 @@ isInbound= true; } - var record = new TN_Record_Table { + //var needUpdateRecordTable = false; + var record = db.Queryable<TN_Record_Table>() + .Where(r => r.S_TASK_NO == task.S_CODE).First(); + if (record != null) { + //needUpdateRecordTable = true; + info = $"鍑哄叆搴撹褰曡〃涓凡缁忓瓨鍦ㄤ换鍔″彿{task.S_CODE}"; // 闃叉娴嬭瘯鏃跺弽澶嶈皟鐢�34562瀵艰嚧閲嶅璁板綍 + LogHelper.Info(info); + return; + } + + 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, @@ -323,13 +333,98 @@ } public static void PickUpReturnErp(TN_Task task) { + var db = new SqlHelper<object>().GetInstance(); + var info = ""; var httpH = new HttpHelper(); - var model = new OtherModel.PickUpReturnErpInfo(); - model.LocCode = task.S_START_LOC; + try { + var plan = db.Queryable<TN_Outbound_Plan>() + .Where(p => p.JHDH == task.S_BS_NO) + .First(); + + if (plan == null) { + info = $"璁″垝鍗曞彿{task.S_BS_NO}涓嶅瓨鍦紒"; + LogHelper.Info(info); + } + + var cgDetail = db.Queryable<TN_CG_Detail>() + .Where(d => d.S_CNTR_CODE == task.S_CNTR_CODE) + .First(); + + if (cgDetail == null) { + info = $"鐗╂枡缂栫爜涓嶅瓨鍦紒"; + LogHelper.Info(info); + } + + var model = new OtherModel.PickUpReturnErpInfo { + jhdh = plan.JHDH, // 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級 + ckzt = plan.CKZT, // 鍑哄簱鐘舵�锛堥渶瑕佽繑鍥烇級 + jhlb = plan.JHLB, // 璁″垝绫诲埆 + ckdh = plan.CKDH, // 鍙傝�鍗曞彿 + cph = plan.CPH, // 杞︾墝鍙�+ ysfs = plan.YSFS, // 杩愯緭鏂瑰紡 + cpzt = plan.CPZT, // 浜у搧鐘舵� + mddw = plan.MDDW, // 涔版柇鍗曚綅 + cpdm = plan.CPDM, // 浜у搧浠g爜 + cplb = plan.CPLB, // 浜у搧绫诲埆 + cplbmx = plan.CPLBMX, // 浜у搧绫诲埆鏄庣粏 + pp = plan.PP, // 鍝佺墝 + dj = plan.DJ, // 绛夌骇锛堥渶瑕佽繑鍥烇級 + gh = plan.GH, // 缃愬彿 + ph = plan.PH, // 鎵瑰彿锛堥渶瑕佽繑鍥烇級 + bzlx = plan.BZLX, // 鍖呰绫诲瀷 + pzdh = plan.PZDH, // 娲捐鍗曞彿 + pzd_dw = plan.PZD_DW, // 娲捐鍗曞崟浣�+ pzd_dybh = plan.PZD_DYBH, // 娲捐鍗曡皟杩愮紪鍙�+ pzjs = plan.PZJS, // 娲捐浠舵暟 + pzsl = plan.PZSL, // 娲捐鏁伴噺 + pz_rq = plan.PZ_RQ, // 娲捐鏃ユ湡(yyyy-mm-dd) + pz_czrq = plan.PZ_CZRQ, // 娲捐鎿嶄綔鏃ユ湡 + pz_zfbj = plan.PZ_ZFBJ, // 娲捐浣滃簾鏍囪 + pz_zfrq = plan.PZ_ZFRQ, // 娲捐浣滃簾鏃ユ湡 + pz_bz = plan.PZ_BZ, // 娲捐澶囨敞 + ckdbh = plan.CKDBH, // 鍑哄簱鍗曠紪鍙�+ sfjs = plan.SFJS, // 瀹炲彂浠舵暟锛堥渶瑕佽繑鍥烇級--鏇存柊 + sfsl = plan.SFSL, // 瀹炲彂鏁伴噺锛堥渶瑕佽繑鍥烇級--鏇存柊 + //sfcs = plan.SFCS , // 瀹炲彂杞︽暟锛堥渶瑕佽繑鍥烇級 + //zcsj = plan.ZCSJ , // 瑁呰溅鏃堕棿锛堥渶瑕佽繑鍥烇級 + //jldw = plan.JLDW , // 璁¢噺鍗曚綅锛堥渶瑕佽繑鍥烇級 + //fhrq = plan.FHRQ , // 鍙戣揣鏃ユ湡锛堥渶瑕佽繑鍥烇級 + //ckdm = plan.CKDM , // 浠撳簱浠g爜锛堥渶瑕佽繑鍥烇級 + //fhr = plan.FHR , // 鍙戣揣浜猴紙闇�杩斿洖锛�+ //czydm = plan.CZYDM , // 鎿嶄綔鍛橈紙闇�杩斿洖锛�+ shr_username = plan.SHR_USERNAME, // 瀹℃牳浜�+ shrq = plan.SHRQ, // 瀹℃牳鏃ユ湡 + zfbj = plan.ZFBJ, // 浣滃簾鏍囪 + zfrq = plan.ZFRQ, // 浣滃簾鏃ユ湡 + jsdw = plan.JSDW, // 缁撶畻鍗曚綅 + shdw = plan.SHDW, // 鏀惰揣鍗曚綅 + ysdw = plan.YSDW, // 杩愯緭鍗曚綅 + lxr = plan.LXR, // 鑱旂郴浜�+ //ry_zxg = plan.RY_ZXG , // 瑁呭嵏宸ワ紙闇�杩斿洖锛�+ //ry_ccsj = plan.RY_CCSJ , // 鍙夎溅鍙告満锛堥渶瑕佽繑鍥烇級 + erphx_jhdh = plan.ERPHX_JHDH, // erp浜よ揣鍗曞彿 + erphx_wlbm = plan.ERPHX_WLBM, // erp鐗╂枡缂栫爜 + erphx_wlmc = plan.ERPHX_WLMC, // erp鐗╂枡鍚嶇О + erphx_cjrq = plan.ERPHX_CJRQ, // erp鍒涘缓鏃ユ湡 + hw = plan.HW, // 璐т綅锛堥渶瑕佽繑鍥烇級 + hwzt = plan.HWZT // 璐т綅鐘舵�锛堥渶瑕佽繑鍥烇級 + }; + model.sfjs = cgDetail.N_ITEM_NUM; + model.sfsl = (decimal) cgDetail.F_QTY; // TEMP + model.hwzt = "宸插嚭搴�; + var jsonInfo = JsonConvert.SerializeObject(model); var result = httpH.WebPost(Settings.ErpApiUrl + "PickUpReturn", jsonInfo); - // TODO + + LogHelper.InfoApi($"鍙栬揣瀹屾垚鍙嶉ERP鎺ュ彛锛岀粨鏋�{result}锛岃皟鐢ㄥ弬鏁帮細", model); + + plan.SFJS = model.sfjs; + plan.SFSL = model.sfsl; + plan.HWZT = model.hwzt; + var success = db.Updateable<TN_Outbound_Plan>(plan).UpdateColumns(p => new { p.SFJS, p.SFSL, p.HWZT }).ExecuteCommand() > 0; + info = "鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触"); + LogHelper.Info(info); } catch (Exception ex) { LogHelper.InfoEx(ex); -- Gitblit v1.9.1