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/Monitor.cs |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 112 insertions(+), 1 deletions(-)

diff --git a/core/Monitor.cs b/core/Monitor.cs
index 487f856..1e40a8d 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -4,6 +4,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
+using HH.WCS.Mobox3.DSZSH.api;
 using HH.WCS.Mobox3.DSZSH.device;
 using HH.WCS.Mobox3.DSZSH.models;
 using HH.WCS.Mobox3.DSZSH.util;
@@ -11,6 +12,8 @@
 using Microsoft.Win32;
 
 using Newtonsoft.Json;
+
+using Org.BouncyCastle.Asn1.X509;
 
 namespace HH.WCS.Mobox3.DSZSH.core {
     public class Monitor {
@@ -189,6 +192,8 @@
                     return;
                 }
 
+                Console.WriteLine(JsonConvert.SerializeObject(orderList)); // TEST
+
                 var detailList = new List<TN_Outbound_Detail>();
                 foreach (var order in orderList) {
                     var doingCount = db.Queryable<TN_Outbound_Detail>()
@@ -310,9 +315,16 @@
                         tran.CommitTran();
                         info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                         LogHelper.Info(info);
-                        continue;
+                        //continue;
                     }
 
+                    // 濡傛灉褰撳墠鍑哄簱鍗曟槑缁嗘槸ERP涓嬪彂鐨勶紝浠诲姟鍒涘缓瀹屾垚鍙嶉璐т綅淇℃伅
+                    if (detail.S_BS_TYPE == "ERP") {
+                        //var createTaskReturnErpTask = Task.Run(() => {
+                        //    CreateTaskReturnErp(task);
+                        //});
+                        CreateTaskReturnErp(task);
+                    }
                     
                 }
 
@@ -607,5 +619,104 @@
                 LogHelper.InfoEx(ex);
             }
         }
+
+        public static void CreateTaskReturnErp(TN_Task task) {
+            var db = new SqlHelper<object>().GetInstance();
+            var info = "";
+            var httpH = new HttpHelper();
+
+            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.CreateTaskReturnErpInfo {
+                    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.hw = task.S_START_LOC;
+                model.hwzt = "寰呭嚭搴�;
+                model.ph = cgDetail.S_BATCH_NO;
+
+                var jsonInfo = JsonConvert.SerializeObject(model);
+                var result = httpH.WebPost(Settings.ErpApiUrl + "CreateTaskReturn", jsonInfo);
+
+                LogHelper.InfoApi($"鍒涘缓浠诲姟瀹屾垚鍙嶉ERP鎺ュ彛锛岀粨鏋�{result}锛岃皟鐢ㄥ弬鏁帮細", model);
+
+                plan.HW = model.hw;
+                plan.HWZT = model.hwzt;
+                plan.PH = model.ph;
+                var success = db.Updateable<TN_Outbound_Plan>(plan).UpdateColumns(p => new { p.HW, p.HWZT, p.PH }).ExecuteCommand() > 0;
+                info = "鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触");
+                LogHelper.Info(info);
+            }
+            catch (Exception ex) {
+                LogHelper.InfoEx(ex);
+            }
+        }
     }
 }

--
Gitblit v1.9.1