From ae6a8a95861a75ee580c75451f57e0504d2c367a Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期一, 09 六月 2025 17:16:49 +0800
Subject: [PATCH] 针对ERP提供的字段,完善部分出库逻辑

---
 api/ApiHelper.cs |  155 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 108 insertions(+), 47 deletions(-)

diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index f8188fb..2bb2e4b 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -1479,7 +1479,7 @@
             }
         }
 
-        public static ErpResult ErpSendOutboundOrder(ErpSendOutboundOrderInfo model) {
+        public static ErpResult ErpSendOutboundPlan(ErpSendOutboundPlanInfo model) {
             var db = new SqlHelper<object>().GetInstance();
             var orderNo = GenerateOrderNo("鍑哄簱鍗曞彿", "ON");
             var info = "";
@@ -1490,59 +1490,120 @@
                     return NewErpResult(2, info);
                 }
 
-                var cgDetailList = SelectCgByTotalQty(new FinishedOutboundInfo {
-                    BatchNo = model.BatchNo,
-                    CntrType= model.CntrType,
-                    ItemCode= model.ItemCode,
-                    EndArea= model.EndArea,
-                    ForcedOut= model.ForcedOut,
-                    Qty= model.Qty,
-                    Spe = model.Spe
-                });
-
-                if (cgDetailList.Count == 0) {
-                    info = "娌℃湁鍚堥�鐨勭墿鏂欏彲浠ュ嚭搴�;
-                    LogHelper.Info(info);
-                    return NewErpResult(3, info);
-                }
-
-                var order = new TN_Outbound_Order {
-                    S_NO = orderNo,
-                    S_ITEM_CODE = model.ItemCode,
-                    S_BATCH = model.BatchNo,
-                    N_END_NUM = model.Qty,
-                    //F_OUT_QTY = cgDetailList.Sum(a => a.N_QTY),
-                    S_END_AREA = model.EndArea,
-                    S_BS_NO = model.ErpNo,
-                    S_BS_TYPE = "ERP",
+                var outboundPlan = new TN_Outbound_Plan {
+                    jhdh = model.jhdh,
+                    ckzt = model.ckzt,
+                    jhlb = model.jhlb,
+                    ckdh = model.ckdh,
+                    cph = model.cph,
+                    ysfs = model.ysfs,
+                    cpzt = model.cpzt,
+                    mddw = model.mddw,
+                    cpdm = model.cpdm,
+                    cplb = model.cplb,
+                    cplbmx = model.cplbmx,
+                    pp = model.pp,
+                    dj = model.dj,
+                    gh = model.gh,
+                    ph = model.ph,
+                    bzlx = model.bzlx,
+                    pzdh = model.pzdh,
+                    pzd_dw = model.pzd_dw,
+                    pzd_dybh = model.pzd_dybh,
+                    pzjs = model.pzjs,
+                    pzsl = model.pzsl,
+                    pz_rq = model.pz_rq,
+                    pz_czrq = model.pz_czrq,
+                    pz_zfbj = model.pz_zfbj,
+                    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,
+                    fhr = model.fhr,
+                    czydm = model.czydm,
+                    shr_username = model.shr_username,
+                    shrq = model.shrq,
+                    zfbj = model.zfbj,
+                    zfrq = model.zfrq,
+                    jsdw = model.jsdw,
+                    shdw = model.shdw,
+                    ysdw = model.ysdw,
+                    lxr = model.lxr,
+                    ry_zxg = model.ry_zxg,
+                    ry_ccsj = model.ry_ccsj,
+                    erphx_jhdh = model.erphx_jhdh,
+                    erphx_wlbm = model.erphx_wlbm,
+                    erphx_wlmc = model.erphx_wlmc,
+                    erphx_cjrq = model.erphx_cjrq,
+                    hw = model.hw,
+                    hwzt = model.hwzt
                 };
 
-                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 = model.EndArea
-                    };
-                    detailList.Add(detail);
-                }
+                //var cgDetailList = SelectCgByTotalQty(new FinishedOutboundInfo {
+                //    BatchNo = model.BatchNo,
+                //    CntrType= model.CntrType,
+                //    ItemCode= model.ItemCode,
+                //    EndArea= model.EndArea,
+                //    ForcedOut= model.ForcedOut,
+                //    Qty= model.Qty,
+                //    Spe = model.Spe
+                //});
+
+                //if (cgDetailList.Count == 0) {
+                //    info = "娌℃湁鍚堥�鐨勭墿鏂欏彲浠ュ嚭搴�;
+                //    LogHelper.Info(info);
+                //    return NewErpResult(3, info);
+                //}
+
+                //var order = new TN_Outbound_Order {
+                //    S_NO = orderNo,
+                //    S_ITEM_CODE = model.ItemCode,
+                //    S_BATCH = model.BatchNo,
+                //    N_END_NUM = model.Qty,
+                //    //F_OUT_QTY = cgDetailList.Sum(a => a.N_QTY),
+                //    S_END_AREA = model.EndArea,
+                //    S_BS_NO = model.ErpNo,
+                //    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 = model.EndArea
+                //    };
+                //    detailList.Add(detail);
+                //}
 
                 using (var tran = db.Ado.UseTran()) {
-                    if (db.Insertable<TN_Outbound_Order>(order).ExecuteCommand() <= 0) {
-                        tran.RollbackTran();
-                        info = "鐢熸垚鍑哄簱鍗曞け璐ワ細" + JsonConvert.SerializeObject(order);
-                        LogHelper.Info(info);
-                        return NewErpResult(2, info);
-                    }
+                    //if (db.Insertable<TN_Outbound_Order>(order).ExecuteCommand() <= 0) {
+                    //    tran.RollbackTran();
+                    //    info = "鐢熸垚鍑哄簱鍗曞け璐ワ細" + JsonConvert.SerializeObject(order);
+                    //    LogHelper.Info(info);
+                    //    return NewErpResult(2, info);
+                    //}
 
-                    if (db.Insertable<TN_Outbound_Detail>(detailList).ExecuteCommand() <= 0) {
+                    //if (db.Insertable<TN_Outbound_Detail>(detailList).ExecuteCommand() <= 0) {
+                    //    tran.RollbackTran();
+                    //    info = "鐢熸垚鍑哄簱鍗曟槑缁嗗け璐�;
+                    //    LogHelper.Info(info);
+                    //    return NewErpResult(4, info);
+                    //}
+                    if (db.Insertable<TN_Outbound_Plan>(outboundPlan).ExecuteCommand() <= 0) {
                         tran.RollbackTran();
-                        info = "鐢熸垚鍑哄簱鍗曟槑缁嗗け璐�;
+                        info = "鐢熸垚鍑哄簱鍗曡鍒掕褰曡〃澶辫触";
                         LogHelper.Info(info);
-                        return NewErpResult(4, info);
+                        return NewErpResult(500, info);
                     }
 
                     tran.CommitTran();

--
Gitblit v1.9.1