From 33b84a02e80c24e2106c67a388d9a3c1fa5f5603 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期二, 17 六月 2025 16:58:15 +0800
Subject: [PATCH] 完善ERP下发任务接口、创建任务与取货完成的信息回报功能

---
 api/DebugController.cs                                                              |   73 ++++
 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/fda7b9bf-81ae-418b-8902-2ec6312d7784.vsidx |    0 
 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/4aa3cdce-699e-4b56-8f66-713b5a23d340.vsidx |    0 
 models/TN_CG_Detail.cs                                                              |    2 
 core/Monitor.cs                                                                     |  113 +++++++
 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/594ceefb-7323-468d-a892-4c58118c09b5.vsidx |    0 
 /dev/null                                                                           |    0 
 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/74fd05ca-43f2-4ec8-8a4d-03ecad79beaa.vsidx |    0 
 api/ApiHelper.cs                                                                    |  118 ++++--
 config/config.json                                                                  |    4 
 api/ApiModel.cs                                                                     |  452 +++++++++++++++++++++++------
 core/WCSCore.cs                                                                     |   84 +++++
 12 files changed, 694 insertions(+), 152 deletions(-)

diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx
deleted file mode 100644
index 5cb9b4d..0000000
--- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/4aa3cdce-699e-4b56-8f66-713b5a23d340.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/4aa3cdce-699e-4b56-8f66-713b5a23d340.vsidx
new file mode 100644
index 0000000..dc82a33
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/4aa3cdce-699e-4b56-8f66-713b5a23d340.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/594ceefb-7323-468d-a892-4c58118c09b5.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/594ceefb-7323-468d-a892-4c58118c09b5.vsidx
new file mode 100644
index 0000000..7924587
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/594ceefb-7323-468d-a892-4c58118c09b5.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx
deleted file mode 100644
index 0ba4c07..0000000
--- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx
deleted file mode 100644
index 027c5ee..0000000
--- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/74fd05ca-43f2-4ec8-8a4d-03ecad79beaa.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/74fd05ca-43f2-4ec8-8a4d-03ecad79beaa.vsidx
new file mode 100644
index 0000000..5ce6f91
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/74fd05ca-43f2-4ec8-8a4d-03ecad79beaa.vsidx
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx
deleted file mode 100644
index 33bed14..0000000
--- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx
+++ /dev/null
Binary files differ
diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/fda7b9bf-81ae-418b-8902-2ec6312d7784.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/fda7b9bf-81ae-418b-8902-2ec6312d7784.vsidx
new file mode 100644
index 0000000..c7be364
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/fda7b9bf-81ae-418b-8902-2ec6312d7784.vsidx
Binary files differ
diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index 0279650..2c76ec6 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -1337,7 +1337,7 @@
         private static string GenerateOrderNo(string snType, string prefix) {
             var id = SYSHelper.GetSerialNumber(snType, prefix);
             var date = DateTime.Now.ToString("yyMMdd");
-            return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}";
+            return $"{prefix}{date}-{id.ToString().PadLeft(4, '0')}";
         }
 
         /// <summary>
@@ -1437,15 +1437,23 @@
             var info = "";
             try {
                 // 鍙傛暟鍚堟硶鎬х‘璁ら儴鍒嗭細閿欒缂栫爜锛�00
-                if (model.pzsl <= 0) {
-                    info = $"鐗╂枡鏁伴噺(pzsl){model.pzsl}涓嶅悎娉曪細鐗╂枡鏁伴噺搴旇澶т簬 0";
+                if (model.pzjs <= 0) {
+                    info = $"鐗╂枡鏁伴噺(pzjs){model.pzjs}涓嶅悎娉曪細鐗╂枡鏁伴噺搴旇澶т簬 0";
                     LogHelper.Info(info);
                     return NewErpResult(400, info);
                 }
 
-                var outboundPlan = new TN_Outbound_Plan {
+                var outboundPlan = db.Queryable<TN_Outbound_Plan>()
+                    .Where(p => p.JHDH == model.jhdh).First();
+                if (outboundPlan != null) {
+                    info = $"璁″垝鍗曞彿{model.jhdh}宸插湪鏁版嵁搴撲腑瀛樺湪";
+                    LogHelper.Info(info);
+                    return NewErpResult(1, info);
+                }
+
+                outboundPlan = new TN_Outbound_Plan {
                     JHDH = model.jhdh, // 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級
-                    CKZT = model.ckzt, // 鍑哄簱鐘舵�
+                    CKZT = model.ckzt, // 鍑哄簱鐘舵�锛堥渶瑕佽繑鍥烇級
                     JHLB = model.jhlb, // 璁″垝绫诲埆
                     CKDH = model.ckdh, // 鍙傝�鍗曞彿
                     CPH = model.cph, // 杞︾墝鍙�@@ -1456,9 +1464,9 @@
                     CPLB = model.cplb, // 浜у搧绫诲埆
                     CPLBMX = model.cplbmx, // 浜у搧绫诲埆鏄庣粏
                     PP = model.pp, // 鍝佺墝
-                    DJ = model.dj, // 绛夌骇
+                    DJ = model.dj, // 绛夌骇锛堥渶瑕佽繑鍥烇級
                     GH = model.gh, // 缃愬彿
-                    PH = model.ph, // 鎵瑰彿
+                    PH = model.ph, // 鎵瑰彿锛堥渶瑕佽繑鍥烇級
                     BZLX = model.bzlx, // 鍖呰绫诲瀷
                     PZDH = model.pzdh, // 娲捐鍗曞彿
                     PZD_DW = model.pzd_dw, // 娲捐鍗曞崟浣�@@ -1471,15 +1479,15 @@
                     PZ_ZFRQ = model.pz_zfrq, // 娲捐浣滃簾鏃ユ湡
                     PZ_BZ = model.pz_bz, // 娲捐澶囨敞
                     CKDBH = model.ckdbh, // 鍑哄簱鍗曠紪鍙�-                    SFJS = model.sfjs, // 瀹炲彂浠舵暟
-                    SFSL = model.sfsl, // 瀹炲彂鏁伴噺
-                    SFCS = model.sfcs, // 瀹炲彂杞︽暟
-                    ZCSJ = model.zcsj, // 瑁呰溅鏃堕棿
-                    JLDW = model.jldw, // 璁¢噺鍗曚綅
-                    FHRQ = model.fhrq, // 鍙戣揣鏃ユ湡
-                    CKDM = model.ckdm, // 浠撳簱浠g爜
-                    FHR = model.fhr, // 鍙戣揣浜�-                    CZYDM = model.czydm, // 鎿嶄綔鍛�+                    SFJS = model.sfjs, // 瀹炲彂浠舵暟锛堥渶瑕佽繑鍥烇級
+                    SFSL = model.sfsl, // 瀹炲彂鏁伴噺锛堥渶瑕佽繑鍥烇級
+                    SFCS = model.sfcs, // 瀹炲彂杞︽暟锛堥渶瑕佽繑鍥烇級
+                    ZCSJ = model.zcsj, // 瑁呰溅鏃堕棿锛堥渶瑕佽繑鍥烇級
+                    JLDW = model.jldw, // 璁¢噺鍗曚綅锛堥渶瑕佽繑鍥烇級
+                    FHRQ = model.fhrq, // 鍙戣揣鏃ユ湡锛堥渶瑕佽繑鍥烇級
+                    CKDM = model.ckdm, // 浠撳簱浠g爜锛堥渶瑕佽繑鍥烇級
+                    FHR = model.fhr, // 鍙戣揣浜猴紙闇�杩斿洖锛�+                    CZYDM = model.czydm, // 鎿嶄綔鍛橈紙闇�杩斿洖锛�                     SHR_USERNAME = model.shr_username, // 瀹℃牳浜�                     SHRQ = model.shrq, // 瀹℃牳鏃ユ湡
                     ZFBJ = model.zfbj, // 浣滃簾鏍囪
@@ -1488,52 +1496,74 @@
                     SHDW = model.shdw, // 鏀惰揣鍗曚綅
                     YSDW = model.ysdw, // 杩愯緭鍗曚綅
                     LXR = model.lxr, // 鑱旂郴浜�-                    RY_ZXG = model.ry_zxg, // 瑁呭嵏宸�-                    RY_CCSJ = model.ry_ccsj, // 鍙夎溅鍙告満
+                    RY_ZXG = model.ry_zxg, // 瑁呭嵏宸ワ紙闇�杩斿洖锛�+                    RY_CCSJ = model.ry_ccsj, // 鍙夎溅鍙告満锛堥渶瑕佽繑鍥烇級
                     ERPHX_JHDH = model.erphx_jhdh, // erp浜よ揣鍗曞彿
                     ERPHX_WLBM = model.erphx_wlbm, // erp鐗╂枡缂栫爜
                     ERPHX_WLMC = model.erphx_wlmc, // erp鐗╂枡鍚嶇О
                     ERPHX_CJRQ = model.erphx_cjrq, // erp鍒涘缓鏃ユ湡
-                    HW = model.hw, // 璐т綅
-                    HWZT = model.hwzt // 璐т綅鐘舵�
+                    HW = model.hw, // 璐т綅锛堥渶瑕佽繑鍥烇級
+                    HWZT = model.hwzt // 璐т綅鐘舵�锛堥渶瑕佽繑鍥烇級
                 };
 
-                var cgDetailList = SelectCgByTotalQty(
-                    qty: (int)model.pzsl,
-                    itemCode: model.cpdm,
-                    batchNo: model.ph
-                    );
+                //var cgDetailList = SelectCgByTotalQty(
+                //    qty: (int)model.pzsl,
+                //    itemCode: model.cpdm,
+                //    batchNo: model.ph
+                //    );
 
-                if (cgDetailList.Count == 0) {
-                    info = "娌℃湁鍚堥�鐨勭墿鏂欏彲浠ュ嚭搴�;
+                //if (cgDetailList.Count == 0) {
+                //    info = "娌℃湁鍚堥�鐨勭墿鏂欏彲浠ュ嚭搴�;
+                //    LogHelper.Info(info);
+                //    return NewErpResult(3, info);
+                //}
+
+                var cgDetail = db.Queryable<TN_CG_Detail>()
+                    .Where(d => d.S_ITEM_CODE == model.cpdm && d.N_ITEM_NUM >= model.pzjs).First();
+                if (cgDetail == null ) {
+                    info = $"娌℃湁鍚堥�鐨勭墿鏂欏彲浠ユ弧瓒筹細鐗╂枡缂栫爜={model.cpdm}锛岀墿鏂欐暟閲�={model.pzjs}";
                     LogHelper.Info(info);
-                    return NewErpResult(3, info);
+                    return NewErpResult(2, info);
                 }
 
                 var order = new TN_Outbound_Order {
                     S_NO = orderNo,
+                    //S_ITEM_CODE = model.cpdm,
+                    //S_BATCH = model.ph,
+                    //N_END_NUM = (int)model.pzsl,
                     S_ITEM_CODE = model.cpdm,
-                    S_BATCH = model.ph,
-                    N_END_NUM = (int)model.pzsl,
+                    S_BATCH = cgDetail.S_BATCH_NO,
+                    N_END_NUM = (int)model.pzjs,
                     S_END_AREA = "QCCKQ", // ERP涓嬪彂鍑哄簱浠诲姟涓烘苯杞﹀嚭搴撳尯
                     S_BS_NO = model.jhdh,
                     S_BS_TYPE = "ERP",
                 };
 
                 var detailList = new List<TN_Outbound_Detail>();
-                foreach (var cgDetail in cgDetailList) {
-                    var detail = new TN_Outbound_Detail {
-                        S_OO_NO = orderNo,
-                        S_ITEM_CODE = cgDetail.S_ITEM_CODE,
-                        S_BATCH_NO = cgDetail.S_BATCH_NO,
-                        S_CNTR_CODE = cgDetail.S_CNTR_CODE,
-                        N_COUNT = cgDetail.N_ITEM_NUM,
-                        S_END_AREA = order.S_END_AREA, // order涓篸etail鐨勬瘡涓�釜璐т綅璁剧疆缁堢偣鍊�-                        S_BS_NO = order.S_BS_NO,
-                        S_BS_TYPE= order.S_BS_TYPE,
-                    };
-                    detailList.Add(detail);
-                }
+                //foreach (var cgDetail in cgDetailList) {
+                //    var detail = new TN_Outbound_Detail {
+                //        S_OO_NO = orderNo,
+                //        S_ITEM_CODE = cgDetail.S_ITEM_CODE,
+                //        S_BATCH_NO = cgDetail.S_BATCH_NO,
+                //        S_CNTR_CODE = cgDetail.S_CNTR_CODE,
+                //        N_COUNT = cgDetail.N_ITEM_NUM,
+                //        S_END_AREA = order.S_END_AREA, // order涓篸etail鐨勬瘡涓�釜璐т綅璁剧疆缁堢偣鍊�+                //        S_BS_NO = order.S_BS_NO,
+                //        S_BS_TYPE= order.S_BS_TYPE,
+                //    };
+                //    detailList.Add(detail);
+                //}
+                var detail = new TN_Outbound_Detail {
+                    S_OO_NO = orderNo,
+                    S_ITEM_CODE = cgDetail.S_ITEM_CODE,
+                    S_BATCH_NO = cgDetail.S_BATCH_NO,
+                    S_CNTR_CODE = cgDetail.S_CNTR_CODE,
+                    N_COUNT = cgDetail.N_ITEM_NUM,
+                    S_END_AREA = order.S_END_AREA, // order涓篸etail鐨勬瘡涓�釜璐т綅璁剧疆缁堢偣鍊�+                    S_BS_NO = order.S_BS_NO,
+                    S_BS_TYPE = order.S_BS_TYPE,
+                };
+                detailList.Add(detail);
 
                 using (var tran = db.Ado.UseTran()) {
                     if (db.Insertable<TN_Outbound_Order>(order).ExecuteCommand() <= 0) {
@@ -1560,7 +1590,7 @@
                     tran.CommitTran();
                 }
 
-                info = $"鐢熸垚鍑哄簱鍗曟垚鍔�;
+                info = $"鐢熸垚鍑哄簱鍗曟垚鍔燂細" + JsonConvert.SerializeObject(order) + "\n鍑哄簱鍗曟槑缁嗭細" +JsonConvert.SerializeObject(detail);
                 LogHelper.Info(info);
                 return NewErpResult(0, info);
             }
diff --git a/api/ApiModel.cs b/api/ApiModel.cs
index efdf074..57560c4 100644
--- a/api/ApiModel.cs
+++ b/api/ApiModel.cs
@@ -440,262 +440,262 @@
             /// <summary>
             /// 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級
             /// </summary>
-            public string jhdh { get; set; }
+            public string jhdh { get; set; } = string.Empty;
 
             /// <summary>
             /// 鍑哄簱鐘舵�
             /// </summary>
-            public string ckzt { get; set; }
+            public string ckzt { get; set; } = string.Empty;// 闇�杩斿洖
 
             /// <summary>
             /// 璁″垝绫诲埆
             /// </summary>
-            public string jhlb { get; set; }
+            public string jhlb { get; set; } = string.Empty;
 
             /// <summary>
             /// 鍙傝�鍗曞彿
             /// </summary>
-            public string ckdh { get; set; }
+            public string ckdh { get; set; } = string.Empty;
 
             /// <summary>
             /// 杞︾墝鍙�             /// </summary>
-            public string cph { get; set; }
+            public string cph { get; set; } = string.Empty;
 
             /// <summary>
             /// 杩愯緭鏂瑰紡
             /// </summary>
-            public string ysfs { get; set; }
+            public string ysfs { get; set; } = string.Empty;
 
             /// <summary>
             /// 浜у搧鐘舵�
             /// </summary>
-            public string cpzt { get; set; }
+            public string cpzt { get; set; } = string.Empty;
 
             /// <summary>
             /// 涔版柇鍗曚綅
             /// </summary>
-            public string mddw { get; set; }
+            public string mddw { get; set; } = string.Empty;
 
             /// <summary>
             /// 浜у搧浠g爜
             /// </summary>
-            public string cpdm { get; set; }
+            public string cpdm { get; set; } = string.Empty;
 
             /// <summary>
             /// 浜у搧绫诲埆
             /// </summary>
-            public string cplb { get; set; }
+            public string cplb { get; set; } = string.Empty;
 
             /// <summary>
             /// 浜у搧绫诲埆鏄庣粏
             /// </summary>
-            public string cplbmx { get; set; }
+            public string cplbmx { get; set; } = string.Empty;
 
             /// <summary>
             /// 鍝佺墝
             /// </summary>
-            public string pp { get; set; }
+            public string pp { get; set; } = string.Empty;
 
             /// <summary>
             /// 绛夌骇
             /// </summary>
-            public string dj { get; set; }
+            public string dj { get; set; } = string.Empty;// 闇�杩斿洖
 
             /// <summary>
             /// 缃愬彿
             /// </summary>
-            public string gh { get; set; }
+            public string gh { get; set; } = string.Empty;
 
             /// <summary>
             /// 鎵瑰彿
             /// </summary>
-            public string ph { get; set; }
+            public string ph { get; set; } = string.Empty;// 闇�杩斿洖
 
             /// <summary>
             /// 鍖呰绫诲瀷
             /// </summary>
-            public string bzlx { get; set; }
+            public string bzlx { get; set; } = string.Empty;
 
             /// <summary>
             /// 娲捐鍗曞彿
             /// </summary>
-            public string pzdh { get; set; }
+            public string pzdh { get; set; } = string.Empty;
 
             /// <summary>
             /// 娲捐鍗曞崟浣�             /// </summary>
-            public string pzd_dw { get; set; }
+            public string pzd_dw { get; set; } = string.Empty;
 
             /// <summary>
             /// 娲捐鍗曡皟杩愮紪鍙�             /// </summary>
-            public string pzd_dybh { get; set; }
+            public string pzd_dybh { get; set; } = string.Empty;
 
             /// <summary>
             /// 娲捐浠舵暟
             /// </summary>
-            public double pzjs { get; set; }
+            public double pzjs { get; set; } = 0;
 
             /// <summary>
             /// 娲捐鏁伴噺
             /// </summary>
-            public decimal pzsl { get; set; }
+            public decimal pzsl { get; set; } = 0;
 
             /// <summary>
             /// 娲捐鏃ユ湡(yyyy-mm-dd)
             /// </summary>
-            public string pz_rq { get; set; }
+            public string pz_rq { get; set; } = string.Empty;
 
             /// <summary>
             /// 娲捐鎿嶄綔鏃ユ湡
             /// </summary>
-            public long pz_czrq { get; set; }
+            public long pz_czrq { get; set; } = 0;
 
             /// <summary>
             /// 娲捐浣滃簾鏍囪
             /// </summary>
-            public int pz_zfbj { get; set; }
+            public int pz_zfbj { get; set; } = 0;
 
             /// <summary>
             /// 娲捐浣滃簾鏃ユ湡
             /// </summary>
-            public long pz_zfrq { get; set; }
+            public long pz_zfrq { get; set; } = 0;
 
             /// <summary>
             /// 娲捐澶囨敞
             /// </summary>
-            public string pz_bz { get; set; }
+            public string pz_bz { get; set; } = string.Empty;
 
             /// <summary>
             /// 鍑哄簱鍗曠紪鍙�             /// </summary>
-            public string ckdbh { get; set; }
+            public string ckdbh { get; set; } = string.Empty;
 
             /// <summary>
             /// 瀹炲彂浠舵暟
             /// </summary>
-            public double sfjs { get; set; }
+            public double sfjs { get; set; } = 0; // 闇�杩斿洖
 
             /// <summary>
             /// 瀹炲彂鏁伴噺
             /// </summary>
-            public decimal sfsl { get; set; }
+            public decimal sfsl { get; set; } = 0; // 闇�杩斿洖
 
             /// <summary>
             /// 瀹炲彂杞︽暟
             /// </summary>
-            public int sfcs { get; set; }
+            public int sfcs { get; set; } = 0; // 闇�杩斿洖
 
             /// <summary>
             /// 瑁呰溅鏃堕棿
             /// </summary>
-            public string zcsj { get; set; }
+            public string zcsj { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 璁¢噺鍗曚綅
             /// </summary>
-            public string jldw { get; set; }
+            public string jldw { get; set; } = string.Empty;// 闇�杩斿洖
 
             /// <summary>
             /// 鍙戣揣鏃ユ湡
             /// </summary>
-            public long fhrq { get; set; }
+            public long fhrq { get; set; } = 0; // 闇�杩斿洖
 
             /// <summary>
             /// 浠撳簱浠g爜
             /// </summary>
-            public string ckdm { get; set; }
+            public string ckdm { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 鍙戣揣浜�             /// </summary>
-            public string fhr { get; set; }
+            public string fhr { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 鎿嶄綔鍛�             /// </summary>
-            public string czydm { get; set; }
+            public string czydm { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 瀹℃牳浜�             /// </summary>
-            public string shr_username { get; set; }
+            public string shr_username { get; set; } = string.Empty;
 
             /// <summary>
             /// 瀹℃牳鏃ユ湡
             /// </summary>
-            public long shrq { get; set; }
+            public long shrq { get; set; } = 0;
 
             /// <summary>
             /// 浣滃簾鏍囪
             /// </summary>
-            public long zfbj { get; set; }
+            public long zfbj { get; set; } = 0;
 
             /// <summary>
             /// 浣滃簾鏃ユ湡
             /// </summary>
-            public long zfrq { get; set; }
+            public long zfrq { get; set; } = 0;
 
             /// <summary>
             /// 缁撶畻鍗曚綅
             /// </summary>
-            public string jsdw { get; set; }
+            public string jsdw { get; set; } = string.Empty;
 
             /// <summary>
             /// 鏀惰揣鍗曚綅
             /// </summary>
-            public string shdw { get; set; }
+            public string shdw { get; set; } = string.Empty;
 
             /// <summary>
             /// 杩愯緭鍗曚綅
             /// </summary>
-            public string ysdw { get; set; }
+            public string ysdw { get; set; } = string.Empty;
 
             /// <summary>
             /// 鑱旂郴浜�             /// </summary>
-            public string lxr { get; set; }
+            public string lxr { get; set; } = string.Empty;
 
             /// <summary>
             /// 瑁呭嵏宸�             /// </summary>
-            public string ry_zxg { get; set; }
+            public string ry_zxg { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 鍙夎溅鍙告満
             /// </summary>
-            public string ry_ccsj { get; set; }
+            public string ry_ccsj { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// erp浜よ揣鍗曞彿
             /// </summary>
-            public string erphx_jhdh { get; set; }
+            public string erphx_jhdh { get; set; } = string.Empty;
 
             /// <summary>
             /// erp鐗╂枡缂栫爜
             /// </summary>
-            public string erphx_wlbm { get; set; }
+            public string erphx_wlbm { get; set; } = string.Empty;
 
             /// <summary>
             /// erp鐗╂枡鍚嶇О
             /// </summary>
-            public string erphx_wlmc { get; set; }
+            public string erphx_wlmc { get; set; } = string.Empty;
 
             /// <summary>
             /// erp鍒涘缓鏃ユ湡
             /// </summary>
-            public string erphx_cjrq { get; set; }
+            public string erphx_cjrq { get; set; } = string.Empty;
 
             /// <summary>
             /// 璐т綅
             /// </summary>
-            public string hw { get; set; }
+            public string hw { get; set; } = string.Empty; // 闇�杩斿洖
 
             /// <summary>
             /// 璐т綅鐘舵�
             /// </summary>
-            public string hwzt { get; set; }
+            public string hwzt { get; set; } = string.Empty; // 闇�杩斿洖
         }
 
         public class PickUpReturnErpInfo {
@@ -707,7 +707,7 @@
             /// <summary>
             /// 鍑哄簱鐘舵�
             /// </summary>
-            public string ckzt { get; set; }
+            public string ckzt { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 璁″垝绫诲埆
@@ -762,7 +762,7 @@
             /// <summary>
             /// 绛夌骇
             /// </summary>
-            public string dj { get; set; }
+            public string dj { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 缃愬彿
@@ -772,7 +772,7 @@
             /// <summary>
             /// 鎵瑰彿
             /// </summary>
-            public string ph { get; set; }
+            public string ph { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 鍖呰绫诲瀷
@@ -837,47 +837,47 @@
             /// <summary>
             /// 瀹炲彂浠舵暟
             /// </summary>
-            public double sfjs { get; set; }
+            public double sfjs { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 瀹炲彂鏁伴噺
             /// </summary>
-            public decimal sfsl { get; set; }
+            public decimal sfsl { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 瀹炲彂杞︽暟
-            /// </summary>
-            public int sfcs { get; set; }
+            ///// <summary>
+            ///// 瀹炲彂杞︽暟
+            ///// </summary>
+            //public int sfcs { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 瑁呰溅鏃堕棿
-            /// </summary>
-            public string zcsj { get; set; }
+            ///// <summary>
+            ///// 瑁呰溅鏃堕棿
+            ///// </summary>
+            //public string zcsj { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 璁¢噺鍗曚綅
-            /// </summary>
-            public string jldw { get; set; }
+            ///// <summary>
+            ///// 璁¢噺鍗曚綅
+            ///// </summary>
+            //public string jldw { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 鍙戣揣鏃ユ湡
-            /// </summary>
-            public long fhrq { get; set; }
+            ///// <summary>
+            ///// 鍙戣揣鏃ユ湡
+            ///// </summary>
+            //public long fhrq { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 浠撳簱浠g爜
-            /// </summary>
-            public string ckdm { get; set; }
+            ///// <summary>
+            ///// 浠撳簱浠g爜
+            ///// </summary>
+            //public string ckdm { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 鍙戣揣浜�-            /// </summary>
-            public string fhr { get; set; }
+            ///// <summary>
+            ///// 鍙戣揣浜�+            ///// </summary>
+            //public string fhr { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 鎿嶄綔鍛�-            /// </summary>
-            public string czydm { get; set; }
+            ///// <summary>
+            ///// 鎿嶄綔鍛�+            ///// </summary>
+            //public string czydm { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 瀹℃牳浜�@@ -919,15 +919,15 @@
             /// </summary>
             public string lxr { get; set; }
 
-            /// <summary>
-            /// 瑁呭嵏宸�-            /// </summary>
-            public string ry_zxg { get; set; }
+            ///// <summary>
+            ///// 瑁呭嵏宸�+            ///// </summary>
+            //public string ry_zxg { get; set; } // 闇�杩斿洖
 
-            /// <summary>
-            /// 鍙夎溅鍙告満
-            /// </summary>
-            public string ry_ccsj { get; set; }
+            ///// <summary>
+            ///// 鍙夎溅鍙告満
+            ///// </summary>
+            //public string ry_ccsj { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// erp浜よ揣鍗曞彿
@@ -952,12 +952,274 @@
             /// <summary>
             /// 璐т綅
             /// </summary>
-            public string hw { get; set; }
+            public string hw { get; set; } // 闇�杩斿洖
 
             /// <summary>
             /// 璐т綅鐘舵�
             /// </summary>
-            public string hwzt { get; set; }
+            public string hwzt { get; set; } // 闇�杩斿洖
+        }
+
+        public class CreateTaskReturnErpInfo {
+            /// <summary>
+            /// 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級
+            /// </summary>
+            public string jhdh { get; set; }
+
+            /// <summary>
+            /// 鍑哄簱鐘舵�
+            /// </summary>
+            public string ckzt { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// 璁″垝绫诲埆
+            /// </summary>
+            public string jhlb { get; set; }
+
+            /// <summary>
+            /// 鍙傝�鍗曞彿
+            /// </summary>
+            public string ckdh { get; set; }
+
+            /// <summary>
+            /// 杞︾墝鍙�+            /// </summary>
+            public string cph { get; set; }
+
+            /// <summary>
+            /// 杩愯緭鏂瑰紡
+            /// </summary>
+            public string ysfs { get; set; }
+
+            /// <summary>
+            /// 浜у搧鐘舵�
+            /// </summary>
+            public string cpzt { get; set; }
+
+            /// <summary>
+            /// 涔版柇鍗曚綅
+            /// </summary>
+            public string mddw { get; set; }
+
+            /// <summary>
+            /// 浜у搧浠g爜
+            /// </summary>
+            public string cpdm { get; set; }
+
+            /// <summary>
+            /// 浜у搧绫诲埆
+            /// </summary>
+            public string cplb { get; set; }
+
+            /// <summary>
+            /// 浜у搧绫诲埆鏄庣粏
+            /// </summary>
+            public string cplbmx { get; set; }
+
+            /// <summary>
+            /// 鍝佺墝
+            /// </summary>
+            public string pp { get; set; }
+
+            /// <summary>
+            /// 绛夌骇
+            /// </summary>
+            public string dj { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// 缃愬彿
+            /// </summary>
+            public string gh { get; set; }
+
+            /// <summary>
+            /// 鎵瑰彿
+            /// </summary>
+            public string ph { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// 鍖呰绫诲瀷
+            /// </summary>
+            public string bzlx { get; set; }
+
+            /// <summary>
+            /// 娲捐鍗曞彿
+            /// </summary>
+            public string pzdh { get; set; }
+
+            /// <summary>
+            /// 娲捐鍗曞崟浣�+            /// </summary>
+            public string pzd_dw { get; set; }
+
+            /// <summary>
+            /// 娲捐鍗曡皟杩愮紪鍙�+            /// </summary>
+            public string pzd_dybh { get; set; }
+
+            /// <summary>
+            /// 娲捐浠舵暟
+            /// </summary>
+            public double pzjs { get; set; }
+
+            /// <summary>
+            /// 娲捐鏁伴噺
+            /// </summary>
+            public decimal pzsl { get; set; }
+
+            /// <summary>
+            /// 娲捐鏃ユ湡(yyyy-mm-dd)
+            /// </summary>
+            public string pz_rq { get; set; }
+
+            /// <summary>
+            /// 娲捐鎿嶄綔鏃ユ湡
+            /// </summary>
+            public long pz_czrq { get; set; }
+
+            /// <summary>
+            /// 娲捐浣滃簾鏍囪
+            /// </summary>
+            public int pz_zfbj { get; set; }
+
+            /// <summary>
+            /// 娲捐浣滃簾鏃ユ湡
+            /// </summary>
+            public long pz_zfrq { get; set; }
+
+            /// <summary>
+            /// 娲捐澶囨敞
+            /// </summary>
+            public string pz_bz { get; set; }
+
+            /// <summary>
+            /// 鍑哄簱鍗曠紪鍙�+            /// </summary>
+            public string ckdbh { get; set; }
+
+            ///// <summary>
+            ///// 瀹炲彂浠舵暟
+            ///// </summary>
+            //public double sfjs { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 瀹炲彂鏁伴噺
+            ///// </summary>
+            //public decimal sfsl { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 瀹炲彂杞︽暟
+            ///// </summary>
+            //public int sfcs { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 瑁呰溅鏃堕棿
+            ///// </summary>
+            //public string zcsj { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 璁¢噺鍗曚綅
+            ///// </summary>
+            //public string jldw { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 鍙戣揣鏃ユ湡
+            ///// </summary>
+            //public long fhrq { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 浠撳簱浠g爜
+            ///// </summary>
+            //public string ckdm { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 鍙戣揣浜�+            ///// </summary>
+            //public string fhr { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 鎿嶄綔鍛�+            ///// </summary>
+            //public string czydm { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// 瀹℃牳浜�+            /// </summary>
+            public string shr_username { get; set; }
+
+            /// <summary>
+            /// 瀹℃牳鏃ユ湡
+            /// </summary>
+            public long shrq { get; set; }
+
+            /// <summary>
+            /// 浣滃簾鏍囪
+            /// </summary>
+            public long zfbj { get; set; }
+
+            /// <summary>
+            /// 浣滃簾鏃ユ湡
+            /// </summary>
+            public long zfrq { get; set; }
+
+            /// <summary>
+            /// 缁撶畻鍗曚綅
+            /// </summary>
+            public string jsdw { get; set; }
+
+            /// <summary>
+            /// 鏀惰揣鍗曚綅
+            /// </summary>
+            public string shdw { get; set; }
+
+            /// <summary>
+            /// 杩愯緭鍗曚綅
+            /// </summary>
+            public string ysdw { get; set; }
+
+            /// <summary>
+            /// 鑱旂郴浜�+            /// </summary>
+            public string lxr { get; set; }
+
+            ///// <summary>
+            ///// 瑁呭嵏宸�+            ///// </summary>
+            //public string ry_zxg { get; set; } // 闇�杩斿洖
+
+            ///// <summary>
+            ///// 鍙夎溅鍙告満
+            ///// </summary>
+            //public string ry_ccsj { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// erp浜よ揣鍗曞彿
+            /// </summary>
+            public string erphx_jhdh { get; set; }
+
+            /// <summary>
+            /// erp鐗╂枡缂栫爜
+            /// </summary>
+            public string erphx_wlbm { get; set; }
+
+            /// <summary>
+            /// erp鐗╂枡鍚嶇О
+            /// </summary>
+            public string erphx_wlmc { get; set; }
+
+            /// <summary>
+            /// erp鍒涘缓鏃ユ湡
+            /// </summary>
+            public string erphx_cjrq { get; set; }
+
+            /// <summary>
+            /// 璐т綅
+            /// </summary>
+            public string hw { get; set; } // 闇�杩斿洖
+
+            /// <summary>
+            /// 璐т綅鐘舵�
+            /// </summary>
+            public string hwzt { get; set; } // 闇�杩斿洖
         }
     }
 }
diff --git a/api/DebugController.cs b/api/DebugController.cs
index 4bee184..28e9bed 100644
--- a/api/DebugController.cs
+++ b/api/DebugController.cs
@@ -14,6 +14,7 @@
 using SqlSugar;
 
 using static HH.WCS.Mobox3.DSZSH.api.ApiModel;
+using static HH.WCS.Mobox3.DSZSH.api.OtherModel;
 using static HH.WCS.Mobox3.DSZSH.core.Monitor;
 
 namespace HH.WCS.Mobox3.DSZSH.api {
@@ -196,9 +197,9 @@
             try {
                 var db = new SqlHelper<object>().GetInstance();
 
-                var entityTypes = new Type[] { 
-                };
+                var entityTypes = new Type[] { };
 
+                //db.CodeFirst.InitTables(entityTypes);
             }
             catch (Exception ex) {
                 LogHelper.Info($"鍙戠敓浜嗗紓甯�);
@@ -327,6 +328,74 @@
                 return ex.Message;
             }
         }
+
+        [HttpPost]
+        [Route("TestErpSendOutboundPlan")]
+        public ErpResult TestErpSendOutboundPlan(TestErpSendOutboundPlanInfo model) {
+            var apiName = "ERP涓嬪彂鍑哄簱璁″垝鍗�;
+            //LogHelper.InfoApi(apiName, model);
+
+            var erpModel = new ErpSendOutboundPlanInfo();
+            erpModel.jhdh = model.PlanNo;
+            erpModel.cpdm = model.ItemCode;
+            erpModel.pzjs = model.ItemNum;
+
+            LogHelper.InfoApi(apiName, erpModel);
+
+            return ApiHelper.ErpSendOutboundPlan(erpModel);
+        }
+
+        [HttpPost]
+        [Route("PickUpReturn")]
+        public TestErpResult PickUpReturn(PickUpReturnErpInfo model) {
+            if (model.sfjs == 0) {
+                return new TestErpResult {
+                    code = 1,
+                    message = "瀹炲彂浠舵暟鏈‘瀹�
+                };
+            }
+
+            return new TestErpResult {
+                code = 0,
+                message = "success"
+            };
+        }
+
+        [HttpPost]
+        [Route("CreateTaskReturn")]
+        public TestErpResult CreateTaskReturn(CreateTaskReturnErpInfo model) {
+            if (model.hw == "") {
+                return new TestErpResult {
+                    code = 1,
+                    message = "璐т綅淇℃伅鏈彁渚�
+                };
+            }
+
+            return new TestErpResult {
+                code = 0,
+                message = "success"
+            };
+        }
+    }
+
+    public class TestErpSendOutboundPlanInfo {
+        /// <summary>
+        /// 鍑哄簱璁″垝鍗曞彿锛堣鍒掑崟鍙�jhdh锛�+        /// </summary>
+        public string PlanNo { get; set; } = string.Empty;
+        /// <summary>
+        /// 鐗╂枡缂栫爜锛堜骇鍝佷唬鐮�cpdm锛�+        /// </summary>
+        public string ItemCode { get; set; } = string.Empty;
+        /// <summary>
+        /// 鐗╂枡鏁伴噺锛堟淳瑁呬欢鏁�pzjs锛�+        /// </summary>
+        public float ItemNum { get; set; } = 0;
+    }
+
+    public class TestErpResult {
+        public int code { get; set; }
+        public string message { get; set; }
     }
 
     public class AddInboundTaskInfo {
diff --git a/config/config.json b/config/config.json
index 8622675..047441b 100644
--- a/config/config.json
+++ b/config/config.json
@@ -1,8 +1,8 @@
 {
     "WebApiUrl": "http://127.0.0.1:8901",
     "NdcApiUrl": "http://127.0.0.1:5201/api/order/",
-    "ErpApiUrl": "http://127.0.0.1:8085/api/",
-    "SqlServer": "Data Source=(local);Initial Catalog=DSZSHTest;User ID=sa;Password=123456;",
+    "ErpApiUrl": "http://127.0.0.1:8901/api/",
+    "SqlServer": "Data Source=192.168.1.87;Initial Catalog=AMS_OIMobox;User ID=sa;Password=123456;",
     "TcpServerIp": "127.0.0.1",
     "TcpServerPort": 8085,
     "Areas": [
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);
+            }
+        }
     }
 }
diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 662ba22..e7b3f66 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -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,
@@ -345,18 +355,76 @@
                     info = $"鐗╂枡缂栫爜涓嶅瓨鍦紒";
                     LogHelper.Info(info);
                 }
-                
-                // TODO
-                var model = new OtherModel.PickUpReturnErpInfo();
+
+                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 = 0;
-                //model.hw = task.S_START_LOC;
-                //model.hwzt = "";
+                model.sfsl = (decimal) cgDetail.F_QTY; // TEMP
+                model.hwzt = "宸插嚭搴�;
 
                 var jsonInfo = JsonConvert.SerializeObject(model);
                 var result = httpH.WebPost(Settings.ErpApiUrl + "PickUpReturn", jsonInfo);
 
-                LogHelper.InfoApi("鍙栬揣瀹屾垚鍙嶉ERP鎺ュ彛", model);
+                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);
diff --git a/models/TN_CG_Detail.cs b/models/TN_CG_Detail.cs
index 18feb05..959c3a6 100644
--- a/models/TN_CG_Detail.cs
+++ b/models/TN_CG_Detail.cs
@@ -47,6 +47,8 @@
         /// </summary>
         public int N_ITEM_NUM { get; set; } = 0;
 
+        public float F_QTY { get; set; } = 0f;
+
         /// <summary>
         /// 鐗╂枡瑙勬牸
         /// </summary>

--
Gitblit v1.9.1