From 976d3ae1547b896cc5c7875408c09616d5c2ee55 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 26 十一月 2024 20:51:17 +0800
Subject: [PATCH] 箱数更新

---
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs               |    1 
 Tiger.Business.MES/iERP/MES_U9C.cs                               |  220 +++++++++++++++++++++---------------
 Tiger.Business.MES/Transaction/YadaPacking.cs                    |   42 +++++++
 Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs      |    2 
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs                             |   11 +
 Tiger.Business.MES/Transaction/Position.cs                       |    9 +
 Tiger.IBusiness.MES/Transaction/IYadaPacking.cs                  |    1 
 Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs   |   45 +++++++
 Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs |    9 +
 Tiger.IBusiness.MES/iERP/IMES_U9C.cs                             |    2 
 10 files changed, 242 insertions(+), 100 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index 83b2e39..d4055c7 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -703,7 +703,8 @@
             try
             {
                 //寰楀埌宸ュ崟鏉$爜璁板綍
-                var woSns = await Biz.Db.Queryable<BIZ_MES_WO_SN>().Where(q => q.OUTER_SN == code).ToListAsync();
+                var cartonSn = code.Split('|')[0];
+                var woSns = await Biz.Db.Queryable<BIZ_MES_WO_SN>().Where(q => q.OUTER_SN == cartonSn).ToListAsync();
                 if (woSns.Count == 0)
                 {
                     result.IsSuccessed = false;
@@ -717,6 +718,9 @@
                     result.LocaleMsg = new($"鏉$爜瀵瑰簲鐨勫伐鍗曚笉瀛樺湪");
                     return result;
                 }
+                //鍒ゆ柇宸ュ崟鏄惁宸茬粡鍏ㄩ儴鍏ュ簱
+
+
                 InStoreInfo inStoreInfo = new() {
                     ErpProdInBth= new() { 
                         WORK_ORDER = wo.ORDER_NO,
@@ -733,10 +737,11 @@
                         ITEM_CODE = wo.ITEM_CODE,
                         ITEM_NAME = wo.ItemInfo?.ITEM_DESC,
                         PLAN_QTY = wo.PLAN_QTY,
-                        SCAN_QTY = woSns.Count
+                        SCAN_QTY = woSns.Count,
+                        STATUS = "N" //Y-宸茬敓鎴愶紝N-鏈敓鎴愶紝F-澶辫触
                     },
                     InStoreScanInfo = new() { 
-                        SN = code,
+                        SN = cartonSn,
                         SALES_ORDER = wo.SALES_ORDER,
                         WORK_ORDER = wo.ORDER_NO,
                         BATCH_NO = woSns[0].BATCH_NO,
diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index f32f651..6bc6cc8 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -675,9 +675,14 @@
                                 case "GetXH":
                                     return "";
                                 case "GetCardNo":
-                                    return "";
+                                    return $"{Context["CurWaitShipmentCarton"].ToInt32() + 1}";
                                 case "GetCardTotal":
-                                    return "";
+                                    var total = "";
+                                    var _curaction = curAction is PackingAction ? curAction as PackingAction : null;
+                                    if (!_curaction.IsNullOrEmpty()) {
+                                        total = $"{Math.Ceiling(Context["CurShipQty"].ToDecimal()/_curaction.PkgRule.GetTotalQty().ToDecimal())}";
+                                    }
+                                    return total;
                                 case "GetModelSpec": //Model+绌烘牸+SPEC,
                                     return GetLabelVarWo(lv, $"{WorkBatch.Product.ExtInfo?.Model} {WorkBatch.Product.SPEC}");
                                 case "GetDATE":
diff --git a/Tiger.Business.MES/Transaction/YadaPacking.cs b/Tiger.Business.MES/Transaction/YadaPacking.cs
index c707902..5f40414 100644
--- a/Tiger.Business.MES/Transaction/YadaPacking.cs
+++ b/Tiger.Business.MES/Transaction/YadaPacking.cs
@@ -393,20 +393,44 @@
                     //璁剧疆褰撳墠鎸囦护涓烘甯镐骇鍝佽繃绔�
                     NodeCmd = "NodeSubmit";
                     curtime = DateTime.Now;  Logger.Console.Info($"{CurSN} : ***** 11 : {(curtime - prevtime).TotalSeconds}s", ConsoleColor.Green); prevtime = curtime;
+
                     //鑾峰彇鍑鸿揣鐘舵��
                     DbClient db = Biz.DataSource["YadaU9C"].Client;
                     var ship = db.Queryable<mes_ShipList>().Where(q => q.MoDoc == CurBatch.WO.ORDER_NO && q.Status == 2 && SqlFunc.DateIsSame(q.BusinessDate, DateTime.Now)).First();
+                    int CurShipQty = 0;
+                    int WaitShipmentCarton = 0;
                     if (ship.IsNullOrEmpty()) { IsPrintCustomerLabel = false; } else
                     {
+                        CurShipQty = ship.ShipQty;
                         SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { BATCH = CurBatch.Batch.BATCH_NO, NodeIdOrName = curNode.NODE_NAME });
                         var list = Biz.Db.Ado.UseStoredProcedure().GetDataTable("SP_MES_GET_NODE_BATCH_COUNT", pars).AsEnumerable().ToList();
                         if (!list.IsNullOrEmpty())
                         {
                             var batchCount = list.Where(q => q["ProdDate"].ToString() == "Whole").FirstOrDefault();
+                            WaitShipmentCarton = batchCount["WaitShipment"].ToInt32();
                             IsPrintCustomerLabel = batchCount.IsNullOrEmpty() ? false : batchCount["WaitShipment"].ToInt32() >= ship.ShipQty ? false : true;
                         }
                     }
                     ShippingOrder = IsPrintCustomerLabel ? ship?.ShipDoc ?? "" : "";
+                    //缂撳瓨鍑鸿揣鏁伴噺
+                    if (Context.ContainsKey("CurShipQty"))
+                    {
+                        Context["CurShipQty"] = CurShipQty;
+                    }
+                    else
+                    {
+                        Context.Add("CurShipQty", CurShipQty);
+                    }
+                    //缂撳瓨鍑鸿揣绠辨暟
+                    if (Context.ContainsKey("CurWaitShipmentCarton"))
+                    {
+                        Context["CurWaitShipmentCarton"] = WaitShipmentCarton;
+                    }
+                    else
+                    {
+                        Context.Add("CurWaitShipmentCarton", WaitShipmentCarton);
+                    }
+
                     curtime = DateTime.Now;  Logger.Console.Info($"{CurSN} : ***** 12 : {(curtime - prevtime).TotalSeconds}s", ConsoleColor.Green); prevtime = curtime;
                     //缁戝畾鏉$爜鍒板伐鍗�
                     foreach (var wipSN in wipSNs)
@@ -938,6 +962,24 @@
             return action;
         }
 
+        /// <summary>
+        /// 鑾峰彇鏄惁鎵撳嵃瀹㈡埛鏍囩杩樻槸鍏ュ簱鏍囩
+        /// </summary>
+        /// <returns></returns>
+        public async Task<ApiAction<ShipingInfo>> GetIsCustomerLabelAndShipQty()
+        {
+            var action = new ApiAction<ShipingInfo>();
+            try
+            {
+                action.Data = new ShipingInfo() { IsPrintCustomerLabel= IsPrintCustomerLabel,ShipQty = Context["CurShipQty"].ToInt32() };
+            }
+            catch (Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, $"鍖呰宸ュ簭锛氳幏鍙栨槸鍚︽墦鍗板鎴锋爣绛捐繕鏄叆搴撴爣绛惧紓甯�");
+            }
+            return action;
+        }
+
         #endregion Functions
 
         /// <summary>
diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs
index e1d0e1d..6c3009e 100644
--- a/Tiger.Business.MES/iERP/MES_U9C.cs
+++ b/Tiger.Business.MES/iERP/MES_U9C.cs
@@ -26,36 +26,32 @@
 {
     public partial class MES_U9C : IMES_U9C
     {
-        public static string U9CAuthLoginUrl { get; set; } = "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?";
+        public static string U9CAuthLoginUrl { get; set; } = Biz.SysParam["U9CAuthLoginUrl_Test", "U9CUrl"].PARAM_VALUE; // "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?"; 娴嬭瘯
+        //public static string U9CAuthLoginUrl { get; set; } = Biz.SysParam["U9CAuthLoginUrl", "U9CUrl"].PARAM_VALUE; //姝e紡
         public static string secret = "&entcode=02&orgcode=101&clientid=mes&clientsecret=12c8ee7e9bb74ad2a6a0fb3315c8af20";
         public static string RcvRptDocCreateUrl
-        { get; set; } = "http://172.16.80.20/u9C/webapi/RcvRptDoc/Create";
+        { get; set; } = Biz.SysParam["RcvRptDocCreateUrl_Test", "U9CUrl"].PARAM_VALUE;  //"http://172.16.80.20/u9C/webapi/RcvRptDoc/Create"; 娴嬭瘯
+        //public static string RcvRptDocCreateUrl
+        //{ get; set; } = Biz.SysParam["RcvRptDocCreateUrl", "U9CUrl"].PARAM_VALUE;  //姝e紡
 
         /// <summary>
         /// 鍏ュ簱鍗曟帴鍙�
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<ApiAction<List<InStorePrintJson>>> RcvRptDocCreate(RcvRptDocCreateInput input)
+        public async Task<ApiAction<RcvRptDocCreateInput>> RcvRptDocCreate(RcvRptDocCreateInput input)
         {
             Logger.Interface.Info($"/**\r\n *杩涘叆鍏ュ簱鍗曟帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
-            var action = new ApiAction<List<InStorePrintJson>>();
+            var action = new ApiAction<RcvRptDocCreateInput>();
             try
             {
-                //List<RcvRptDocCreateParam> param = new List<RcvRptDocCreateParam>();
-                //List<CompleteList> CompleteLists = new List<CompleteList>();
-                //param.Add(new RcvRptDocCreateParam
-                //{
-                //    CompleteList = CompleteLists
-                //});
-
                 //鍏堜繚瀛樻暟鎹�
                 bool IsSuccessed = true;
                 var db = Biz.Db;
                 var dbTran = db.UseTran(() =>
                 {
                     var s = db.Storageable(input.ErpProdInBths, "U9C_RcvRptDocCreate")
-                                .WhereColumns(t => new { t.ORDER_NO,t.WORK_ORDER, t.GHOST_ROW })
+                                .WhereColumns(t => new { t.ORDER_NO, t.WORK_ORDER, t.GHOST_ROW })
                                 .ToStorage();
                     s.AsInsertable.ExecuteCommand();
                     s.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
@@ -66,94 +62,130 @@
                     Logger.Interface.Error(action.Message);
                     IsSuccessed = false;
                 }
-                //淇濆瓨鎴愬姛锛岃皟鐢║9C鎺ュ彛
-                //int i = 1;
-                //foreach (var item in input.RcvRptDocBases)
-                //{
-                //    foreach (var p in input.PrintJsons)
-                //    {
-                //        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
-                //        if (!d.IsNullOrEmpty())
-                //        {
-                //            d.ORDER_NO = $"XX001-{i}";
-                //        }
-                //        i++;
-                //    }
-                //}
-                if (IsSuccessed)
+
+                //淇濆瓨鎴愬姛锛岃皟鐢║9C鎺ュ彛-娴嬭瘯鐢�
+                int i = 1;
+                List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>();
+                foreach (var item in input.RcvRptDocBases.Where(q => q.Status != "Y"))
                 {
-                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}");
-                    if (u9CLoginResult.Success)
+                    var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First();
+                    item.Status = "Y";
+                    if (!ErpProdInBth.IsNullOrEmpty())
                     {
-                        var token = u9CLoginResult.Data;
-                        Logger.Interface.Info($"U9C鐧诲綍token: {token}");
-                        List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>();
-                        foreach (var item in input.RcvRptDocBases)
+                        ErpProdInBth.ORDER_NO = $"XX001-{i}";
+                        ErpProdInBth.IS_HANDLED = "Y";
+                        ErpProdInBth.HANDLED_DATE = DateTime.Now;
+                        ErpProdInBths.Add(ErpProdInBth);
+                    }
+                    foreach (var p in input.PrintJsons)
+                    {
+                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
+                        if (!d.IsNullOrEmpty())
                         {
-                            List<RcvRptDocCreateParam> param = new() {
-                                new() {
-                                    CompleteList = new(){
-                                       new CompleteList
-                                       {
-                                            MOKey = new MOKey { DocNo = item.WorkOrder },
-                                            Wh = new Wh { Code = item.WhCode },
-                                            DescFlexField = new DescFlexField { PrivateDescSeg1 = item.PkgQty.ToString() },
-                                            Item = new Item { Code = item.ItemCode },
-                                            CompleteQty = item.CompleteQty,
-                                            OutputType = item.OutputType,
-                                            StorageType = item.StorageType,
-                                            DocState = item.DocState,
-                                       }
-                                    }
-                                }
-                            };
-                            var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } });
-                            var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
-                            if (result != null)
-                            {
-                                if (result.Success)
-                                {
-                                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
-                                    var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q=> q.WORK_ORDER == item.WorkOrder).First();
-                                    if (!ErpProdInBth.IsNullOrEmpty())
-                                    {
-                                        ErpProdInBth.ORDER_NO = result.Data[0].m_code;
-                                        ErpProdInBth.IS_HANDLED = "Y";
-                                        ErpProdInBth.HANDLED_DATE = DateTime.Now;
-                                        ErpProdInBths.Add(ErpProdInBth);
-                                    }
-                                    foreach (var p in input.PrintJsons)
-                                    {
-                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
-                                        if (!d.IsNullOrEmpty())
-                                        {
-                                            d.ORDER_NO = result.Data[0].m_code;
-                                        }
-                                    }
-                                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�");
-                                }
-                                else
-                                {
-                                    action.IsSuccessed = false;
-                                    action.LocaleMsg = new($"{result.Data[0].m_errorMsg}");
-                                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}");
-                                }
-                            }
-                        }
-                        var _db = Biz.Db;
-                        var _dbTran = _db.UseTran(() =>
-                        {
-                            _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand();
-                        });
-                        if (!dbTran.IsSuccess)
-                        {
-                            action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触");
-                            Logger.Interface.Error(action.Message);
-                            IsSuccessed = false;
+                            d.ORDER_NO = $"XX001-{i}";
+                            d.STATUS = "Y";
                         }
                     }
+                    i++;
                 }
-                action.Data = input.PrintJsons;
+                var _db = Biz.Db;
+                var _dbTran = _db.UseTran(() =>
+                {
+                    _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand();
+                });
+                if (!dbTran.IsSuccess)
+                {
+                    action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触");
+                    Logger.Interface.Error(action.Message);
+                    IsSuccessed = false;
+                }
+                input.ErpProdInBths = ErpProdInBths;
+
+                //淇濆瓨鎴愬姛锛岃皟鐢║9C鎺ュ彛
+                //if (IsSuccessed)
+                //{
+                //    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}");
+                //    if (u9CLoginResult.Success)
+                //    {
+                //        var token = u9CLoginResult.Data;
+                //        Logger.Interface.Info($"U9C鐧诲綍token: {token}");
+                //        List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>();
+                //        foreach (var item in input.RcvRptDocBases.Where(q=>q.Status != "Y"))
+                //        {
+                //            List<RcvRptDocCreateParam> param = new() {
+                //                new() {
+                //                    CompleteList = new(){
+                //                       new CompleteList
+                //                       {
+                //                            MOKey = new MOKey { DocNo = item.WorkOrder },
+                //                            Wh = new Wh { Code = item.WhCode },
+                //                            DescFlexField = new DescFlexField { PrivateDescSeg1 = item.PkgQty.ToString() },
+                //                            Item = new Item { Code = item.ItemCode },
+                //                            CompleteQty = item.CompleteQty,
+                //                            OutputType = item.OutputType,
+                //                            StorageType = item.StorageType,
+                //                            DocState = item.DocState,
+                //                       }
+                //                    }
+                //                }
+                //            };
+                //            var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } });
+                //            var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
+                //            var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First();
+                //            if (result != null)
+                //            {
+                //                if (result.Success && result.Data[0].m_isSucess)
+                //                {
+                //                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
+                //                    item.Status = "Y";
+                //                    if (!ErpProdInBth.IsNullOrEmpty())
+                //                    {
+                //                        ErpProdInBth.ORDER_NO = result.Data[0].m_code;
+                //                        ErpProdInBth.IS_HANDLED = "Y";
+                //                        ErpProdInBth.HANDLED_DATE = DateTime.Now;
+                //                        ErpProdInBths.Add(ErpProdInBth);
+                //                    }
+                //                    foreach (var p in input.PrintJsons)
+                //                    {
+                //                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
+                //                        if (!d.IsNullOrEmpty())
+                //                        {
+                //                            d.ORDER_NO = result.Data[0].m_code;
+                //                        }
+                //                    }
+                //                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�");
+                //                }
+                //                else
+                //                {
+                //                    action.IsSuccessed = false;
+                //                    action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
+                //                    item.Status = "F";
+                //                    if (!ErpProdInBth.IsNullOrEmpty())
+                //                    {
+                //                        ErpProdInBth.REMARK = result.Data[0].m_errorMsg;
+                //                        ErpProdInBth.IS_HANDLED = "F";
+                //                        ErpProdInBth.HANDLED_DATE = DateTime.Now;
+                //                        ErpProdInBths.Add(ErpProdInBth);
+                //                    }
+                //                    Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}");
+                //                }
+                //            }
+                //        }
+                //        var _db = Biz.Db;
+                //        var _dbTran = _db.UseTran(() =>
+                //        {
+                //            _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand();
+                //        });
+                //        if (!dbTran.IsSuccess)
+                //        {
+                //            action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触");
+                //            Logger.Interface.Error(action.Message);
+                //            IsSuccessed = false;
+                //        }
+                //        input.ErpProdInBths = ErpProdInBths;
+                //    }
+                //}
+                action.Data = input;
             }
             catch (System.Exception ex)
             {
diff --git a/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs b/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs
index 3440350..b55fbae 100644
--- a/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs
+++ b/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs
@@ -321,5 +321,50 @@
             trans?.AddHistory(Request, action);
             return Ok(response);
         }
+
+        /// <summary>
+        /// 闆呰揪瑁呯宸ュ簭锛氭墦鍗版祴璇曟爣绛�
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/YadaPacking/GetIsCustomerLabelAndShipQty")]
+        public async Task<IActionResult> YadaPacking_GetIsCustomerLabelAndShipQtyAsync([FromBody] ApiAction action)
+        {
+            ApiAction response;
+            IYadaPacking trans = null;
+            try
+            {
+                if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID))
+                {
+                    trans = iBiz.MES.Context.GetTransDic()[action.ID] as IYadaPacking;
+                    if (!trans.IsFinished)
+                    {
+                        if (action.IsAsync)
+                        {
+                            response = action.GetResponse(await trans.GetIsCustomerLabelAndShipQty());
+                        }
+                        else
+                        {
+                            lock (trans.TransLock) { response = action.GetResponse(trans.GetIsCustomerLabelAndShipQty().Result); }
+                        }
+                    }
+                    else
+                    {
+                        response = action.GetResponse($"Transaction Error: 宀椾綅[{trans.PostCode}]鐨勯泤杈捐绠卞伐搴忎簨鍔ID:{action.ID}]宸茬粡鍏抽棴", false);
+                    }
+                }
+                else
+                {
+                    response = action.GetResponse($"Transaction Error: 宀椾綅鐨勯泤杈捐绠卞伐搴忎簨鍔ID:{action.ID}]宸茬粡琚叧闂�", false);
+                }
+            }
+            catch (System.Exception ex)
+            {
+                response = action.GetResponse().CatchExceptionWithLog(ex);
+            }
+            trans?.AddHistory(Request, action);
+            return Ok(response);
+        }
     }
 }
diff --git a/Tiger.IBusiness.MES/Transaction/IYadaPacking.cs b/Tiger.IBusiness.MES/Transaction/IYadaPacking.cs
index 644dc4b..90181cb 100644
--- a/Tiger.IBusiness.MES/Transaction/IYadaPacking.cs
+++ b/Tiger.IBusiness.MES/Transaction/IYadaPacking.cs
@@ -45,5 +45,6 @@
         /// <param name="input"></param>
         /// <returns></returns>
         public Task<ApiAction<PackingActionOutput>> TestPrint();
+        public Task<ApiAction<ShipingInfo>> GetIsCustomerLabelAndShipQty();
     }
 }
diff --git a/Tiger.IBusiness.MES/iERP/IMES_U9C.cs b/Tiger.IBusiness.MES/iERP/IMES_U9C.cs
index 3d697f1..be8fe61 100644
--- a/Tiger.IBusiness.MES/iERP/IMES_U9C.cs
+++ b/Tiger.IBusiness.MES/iERP/IMES_U9C.cs
@@ -12,6 +12,6 @@
 {
     public interface IMES_U9C
     {
-        public Task<ApiAction<List<InStorePrintJson>>> RcvRptDocCreate(RcvRptDocCreateInput input);
+        public Task<ApiAction<RcvRptDocCreateInput>> RcvRptDocCreate(RcvRptDocCreateInput input);
     }
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
index 44db428..0ec700f 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -322,4 +322,13 @@
         public string Message { get; set; }
     }
 
+    /// <summary>
+    /// 鍑鸿揣淇℃伅
+    /// </summary>
+    public class ShipingInfo
+    {
+        public bool IsPrintCustomerLabel { get; set; }
+        public int ShipQty { get; set; }
+    }
+
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
index d120597..ebc4ac6 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -53,6 +53,7 @@
     {
         public string ORDER_NO { get; set; }
         public string SALES_ORDER { get; set; }
+        public string STATUS { get; set; }
         public string BATCH_NO { get; set; }
         public string WORK_ORDER { get; set; }
         public string ITEM_CODE { get; set; }
@@ -71,6 +72,7 @@
         public int OutputType { get; set; } = 0;
         public int StorageType { get; set; } = 4;
         public int DocState { get; set; } = 1;
+        public string Status { get; set; }
     }
 
     public class RcvRptDocCreateParam
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
index dedf9b8..dedf712 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
@@ -147,6 +147,7 @@
 		[DisplayName("入库单号")]
         public string ORDER_NO { get; set; }
         public string SALES_ORDER { get; set; }
+        public string STATUS { get; set; }
         /// <summary>
         /// 工单批次号
         /// </summary>

--
Gitblit v1.9.3