From c4c9228d894b455327c76a6e286e394513ef542a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 25 十二月 2024 00:22:57 +0800
Subject: [PATCH] 生成入库单更新

---
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs                |    2 
 Tiger.Business.MES/iERP/MES_U9C.cs                                |   75 ++++++++++
 Tiger.Business.MES/Transaction/InStoreOrderNo.cs                  |  225 ++++++++++++++++++++++---------
 Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs       |   23 +++
 Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs |   90 ++++++++++++
 Tiger.IBusiness.MES/Transaction/IInStoreOrderNo.cs                |    5 
 6 files changed, 348 insertions(+), 72 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/InStoreOrderNo.cs b/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
index 78bb79d..ad37121 100644
--- a/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
+++ b/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
@@ -38,7 +38,7 @@
             OrgCode = input.OrgCode;
             pageSize = input.pageSize;
             _GetScannedList();
-            CurBatchNo = !inStoreInfos.IsNullOrEmpty() && inStoreInfos.InStoreScanInfos.Count>0? InStoreScanInfos[0].BATCH_NO: DateTime.Now.ToString("yyyyMMddHHmmss");
+            CurBatchNo = !inStoreInfos.IsNullOrEmpty() && inStoreInfos.InStoreScanInfos.Count > 0 ? InStoreScanInfos[0].BATCH_NO : DateTime.Now.ToString("yyyyMMddHHmmss");
             Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
             return this;
         }
@@ -66,8 +66,9 @@
 
         #region Functions
 
-        public ApiAction<InStoreInfos> GetInStoreInfos() {
-            return new() { Data= inStoreInfos };
+        public ApiAction<InStoreInfos> GetInStoreInfos()
+        {
+            return new() { Data = inStoreInfos };
         }
         /// <summary>
         /// 鎵弿鏉$爜
@@ -230,7 +231,7 @@
                 RcvRptInput.labels = new();
                 RcvRptInput.ErpProdInBths = ErpProdInBths;
                 RcvRptInput.userId = UserCode;
-                inStoreInfos= new()
+                inStoreInfos = new()
                 {
                     ErpProdInBths = ErpProdInBths,
                     InStoreScanInfos = InStoreScanInfos,
@@ -294,7 +295,7 @@
                 {
                     foreach (var sn in ErpProdInSns)
                     {
-                        var d = action.Data.ErpProdInBths.Where(q=> q.WORK_ORDER == sn.SOURCECODE).FirstOrDefault();
+                        var d = action.Data.ErpProdInBths.Where(q => q.WORK_ORDER == sn.SOURCECODE).FirstOrDefault();
                         if (!d.IsNullOrEmpty())
                         {
                             sn.BUSINESSCODE = d.ORDER_NO;
@@ -345,12 +346,13 @@
         /// 鏌ヨ宸叉壂鎻忓垪琛�
         /// </summary>
         /// <returns></returns>
-        public async Task<ApiAction<RcvRptDocCreateInput>> GetScannedList()
+        public async Task<ApiAction<InStoreInfos>> GetScannedList()
         {
-            var action = new ApiAction<RcvRptDocCreateInput>();
+            var action = new ApiAction<InStoreInfos>();
             try
             {
-                action.Data = _GetScannedList();
+                _GetScannedList();
+                action.Data = inStoreInfos;
             }
             catch (Exception ex)
             {
@@ -366,40 +368,71 @@
         private RcvRptDocCreateInput _GetScannedList()
         {
             RcvRptInput.RcvRptDocBases = new();
+            RcvRptInput.ErpProdInBths = new();
             RcvRptInput.PrintJsons = new();
             RcvRptInput.labels = new();
             RcvRptInput.userId = UserCode;
-            if (RcvRptInput.ErpProdInBths.Count == 0)
+            ErpProdInSns.Clear();
+            ErpProdIns.Clear();
+            ErpProdInBths.Clear();
+            InStoreScanInfos.Clear();
+            RcvRptInput.ErpProdInBths = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>()
+                .Where(q => q.BATCH_NO == SqlFunc.Subqueryable<BIZ_ERP_PROD_IN_BTH>().Where(s => s.ORDER_NO == UserCode && s.GHOST_ROW == false).Select(s => s.BATCH_NO))
+                .IncludesAllFirstLayer().ToList();
+            foreach (var item in RcvRptInput.ErpProdInBths)
             {
-                RcvRptInput.ErpProdInBths = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>()
-                    .Where(q => q.BATCH_NO == SqlFunc.Subqueryable<BIZ_ERP_PROD_IN_BTH>().Where(s => s.ORDER_NO == UserCode).Select(s => s.BATCH_NO))
-                    .IncludesAllFirstLayer().ToList();
-                foreach (var item in RcvRptInput.ErpProdInBths)
+                var values = item.ProdInSns.GroupBy(x => x.CARTONNO)
+                    .Select(g => new InStoreScanInfo() { SN = g.Key, SALES_ORDER = item.SALES_ORDER, BATCH_NO = item.BATCH_NO, WORK_ORDER = item.WORK_ORDER, SCAN_QTY = g.Sum(x => x.Qty).ToDouble() });
+                foreach (var t in values)
                 {
-                    var values = item.ProdInSns.GroupBy(x => x.CARTONNO)
-                        .Select(g => new InStoreScanInfo() { SN = g.Key, SALES_ORDER = item.SALES_ORDER, BATCH_NO = item.BATCH_NO, WORK_ORDER = item.WORK_ORDER, SCAN_QTY = g.Sum(x => x.Qty).ToDouble() });
-                    foreach (var t in values)
+                    InStoreScanInfos.Add(t);
+                }
+                item.CartonQty = values.Count();
+
+                ErpProdIns.Add(new()
+                {
+                    AUTH_ORG = OrgCode,
+                    BILLCODE = UserCode,
+                    BILLDATE = DateTime.Now,
+                    STATUS = 0,
+                    HANDLED = -1,
+                    WAREHOUSECODE = "",
+                    SOURCECODE = item.WORK_ORDER,
+                    HANDLED_DATE = DateTime.Now,
+                });
+                ErpProdInSns.AddRange(item.ProdInSns);
+
+                //鐢熸垚鎵撳嵃瀹炰綋
+                if (RcvRptInput.PrintJsons.Count == 0)
+                {
+                    RcvRptInput.PrintJsons.Add(new()
                     {
-                        InStoreScanInfos.Add(t);
+                        ID = Guid.NewGuid().ToString("N"),
+                        Items = new() {
+                            item
+                        }
+                    });
+                }
+                else
+                {
+                    //鎷煎垎椤�
+                    bool isAdded = false;
+                    foreach (var p in RcvRptInput.PrintJsons)
+                    {
+                        if (!p.Items.Any(q => q.WORK_ORDER == item.WORK_ORDER))
+                        {
+                            if (p.Items.Count < pageSize)
+                            {
+                                p.Items.Add(item);
+                                isAdded = true;
+                            }
+                        }
+                        else
+                        {
+                            isAdded = true;
+                        }
                     }
-                    item.CartonQty = values.Count();
-
-                    BIZ_ERP_PROD_IN prodIn = new()
-                    {
-                        AUTH_ORG = OrgCode,
-                        BILLCODE = UserCode,
-                        BILLDATE = DateTime.Now,
-                        STATUS = 0,
-                        HANDLED = -1,
-                        WAREHOUSECODE = "",
-                        SOURCECODE = item.WORK_ORDER,
-                        HANDLED_DATE = DateTime.Now,
-                    };
-                    ErpProdIns.Add(prodIn);
-                    ErpProdInSns.AddRange(item.ProdInSns);
-
-                    //鐢熸垚鎵撳嵃瀹炰綋
-                    if (RcvRptInput.PrintJsons.Count == 0)
+                    if (!isAdded)
                     {
                         RcvRptInput.PrintJsons.Add(new()
                         {
@@ -409,40 +442,10 @@
                         }
                         });
                     }
-                    else
-                    {
-                        //鎷煎垎椤�
-                        bool isAdded = false;
-                        foreach (var p in RcvRptInput.PrintJsons)
-                        {
-                            if (!p.Items.Any(q => q.WORK_ORDER == item.WORK_ORDER))
-                            {
-                                if (p.Items.Count < pageSize)
-                                {
-                                    p.Items.Add(item);
-                                    isAdded = true;
-                                }
-                            }
-                            else
-                            {
-                                isAdded = true;
-                            }
-                        }
-                        if (!isAdded)
-                        {
-                            RcvRptInput.PrintJsons.Add(new()
-                            {
-                                ID = Guid.NewGuid().ToString("N"),
-                                Items = new() {
-                            item
-                        }
-                            });
-                        }
-                    }
                 }
-                ErpProdInBths = RcvRptInput.ErpProdInBths;
             }
-            
+            ErpProdInBths = RcvRptInput.ErpProdInBths;
+
             inStoreInfos = new()
             {
                 ErpProdInBths = ErpProdInBths,
@@ -451,6 +454,94 @@
             return RcvRptInput;
         }
 
+        /// <summary>
+        /// 鍒犻櫎绠�
+        /// </summary>
+        /// <param name="SN"></param>
+        /// <returns></returns>
+        public async Task<ApiAction> Delete(string CartonNo)
+        {
+            var action = new ApiAction();
+            try
+            {
+                var ErpProdInSn = ErpProdInSns.Where(s => s.CARTONNO == CartonNo).ToList();
+                BIZ_ERP_PROD_IN_BTH erpbth = new();
+                if (!ErpProdInSn.IsNullOrEmpty())
+                {
+                    erpbth = ErpProdInBths.Where(q => q.WORK_ORDER == ErpProdInSn[0].SOURCECODE).FirstOrDefault();
+                    if (!erpbth.IsNullOrEmpty())
+                    {
+                        erpbth.SCAN_QTY -= ErpProdInSn.Count(q => q.CARTONNO == CartonNo);
+                        erpbth.CartonQty--;
+                    }
+                }
+
+                //淇濆瓨鏁版嵁搴�
+                var db = Business.Biz.Db;
+                var dbTran = db.UseTran(() =>
+                {
+                    db.Deleteable<BIZ_ERP_PROD_IN_SN>().Where(x => x.BUSINESSCODE == UserCode && x.CARTONNO == CartonNo).ExecuteCommand();
+                    db.Updateable(erpbth, $"InStoreOrderNo_{UserCode}").ExecuteCommand();
+                    if (erpbth.CartonQty == 0)
+                    {
+                        db.Deleteable(erpbth).ExecuteCommand();
+                    }
+                });
+                if (!dbTran.IsSuccess)
+                {
+                    Logger.Default.Fatal(dbTran.ErrorException, "Database transaction delete exception");
+                    this.Close(!dbTran.IsSuccess);
+                    throw dbTran.ErrorException;
+                }
+            }
+            catch (Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, $"鏌ヨ宸叉壂鎻忓垪琛ㄥ紓甯�");
+            }
+            return action;
+        }
+
+        /// <summary>
+        /// 娓呴櫎
+        /// </summary>
+        /// <returns></returns>
+        public async Task<ApiAction> Clear()
+        {
+            var action = new ApiAction();
+            try
+            {
+                RcvRptInput = new();
+                ProdInBatchs = new() { };
+                ErpProdInBths = new() { };
+                ErpProdIns = new();
+                /// <summary>
+                /// 鎵弿鍒楄〃 
+                /// </summary>
+                InStoreScanInfos = new() { };
+                ErpProdInSns = new();
+                inStoreInfos = new() { };
+
+                //淇濆瓨鏁版嵁搴�
+                var db = Business.Biz.Db;
+                var dbTran = db.UseTran(() =>
+                {
+                    db.Deleteable<BIZ_ERP_PROD_IN_BTH>().Where(x => x.ORDER_NO == UserCode && x.IS_HANDLED == "N").ExecuteCommand();
+                    db.Deleteable<BIZ_ERP_PROD_IN_SN>().Where(x => x.BUSINESSCODE == UserCode).ExecuteCommand();
+                });
+                if (!dbTran.IsSuccess)
+                {
+                    Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception");
+                    this.Close(!dbTran.IsSuccess);
+                    throw dbTran.ErrorException;
+                }
+            }
+            catch (Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, $"鏌ヨ宸叉壂鎻忓垪琛ㄥ紓甯�");
+            }
+            return action;
+        }
+
         #endregion Functions
 
         public override bool Close(bool needSaveHistoryLog = false)
diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs
index f375315..8b8a297 100644
--- a/Tiger.Business.MES/iERP/MES_U9C.cs
+++ b/Tiger.Business.MES/iERP/MES_U9C.cs
@@ -26,13 +26,16 @@
 {
     public partial class MES_U9C : IMES_U9C
     {
-        public static string U9CAuthLoginUrl { get; set; } = Cache.SysParam["U9CAuthLoginUrl_Test", "U9CUrl"].PARAM_VALUE; // "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?"; 娴嬭瘯
+        public static string U9CAuthLoginUrl { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["U9CAuthLoginUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["U9CAuthLoginUrl", "U9CUrl"].PARAM_VALUE; // "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?"; 娴嬭瘯
         //public static string U9CAuthLoginUrl { get; set; } = Cache.SysParam["U9CAuthLoginUrl", "U9CUrl"].PARAM_VALUE; //姝e紡
         public static string secret = "&entcode=02&orgcode=101&clientid=mes&clientsecret=12c8ee7e9bb74ad2a6a0fb3315c8af20";
         public static string RcvRptDocCreateUrl
-        { get; set; } = Cache.SysParam["RcvRptDocCreateUrl_Test", "U9CUrl"].PARAM_VALUE;  //"http://172.16.80.20/u9C/webapi/RcvRptDoc/Create"; 娴嬭瘯
+        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["RcvRptDocCreateUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["RcvRptDocCreateUrl", "U9CUrl"].PARAM_VALUE;  //"http://172.16.80.20/u9C/webapi/RcvRptDoc/Create"; 娴嬭瘯
         //public static string RcvRptDocCreateUrl
         //{ get; set; } = Cache.SysParam["RcvRptDocCreateUrl", "U9CUrl"].PARAM_VALUE;  //姝e紡
+
+        public static string U9CBarcodeCreateUrl
+        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["U9CBarcodeCreateUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["U9CBarcodeCreateUrl", "U9CUrl"].PARAM_VALUE;
 
         /// <summary>
         /// 鍏ュ簱鍗曟帴鍙�
@@ -132,6 +135,15 @@
                                     }
                                 }
                                 Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�");
+
+                                //鏉$爜涓绘。
+                                BarcodeCreateInput barcodeCreateInput = new() { 
+                                    RevDocId = result.Data[0].m_iD,
+                                    userId = input.userId,
+                                    token = token,
+                                    IsLogin = false,
+                                };
+                                U9CBarcodeCreate(barcodeCreateInput);
                             }
                             else
                             {
@@ -179,6 +191,65 @@
             return action;
         }
 
+        /// <summary>
+        /// 鍏ュ簱鍗曟潯鐮佷富妗f帴鍙�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task<ApiAction<BarcodeCreateInput>> U9CBarcodeCreate(BarcodeCreateInput input)
+        {
+            Logger.Interface.Info($"/**\r\n *杩涘叆鍏ュ簱鍗曟潯鐮佷富妗f帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            var action = new ApiAction<BarcodeCreateInput>();
+            try
+            {
+                if (input.IsLogin)
+                {
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    if (u9CLoginResult.Success)
+                    {
+                        input.token = u9CLoginResult.Data;
+                        Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
+                    }
+                }
+                List<BarcodeCreateParam> param = new() {
+                     new() {
+                     CreateEntityKeys = new(){
+                                           new CreateEntityKeys
+                                           {
+                                                ID = input.RevDocId, //鍏ュ簱鍗旾D
+                                                EntityType="UFIDA.U9.Complete.RCVRpt.RcvRptDoc"
+                                           }
+                                        },
+                                        IsCreateHeadBarCode = true,
+                                        BarCodeRuleCode = "DJCPRK01",
+                                        GenerateCount = 1,
+                                        BCQty = 1,
+                     }
+                };
+                var response = await HttpHelper.PostAsync(U9CBarcodeCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", input.token } });
+                var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
+                if (result != null)
+                {
+                    if (result.Success && result.Data[0].m_isSucess)
+                    {
+                        Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟潯鐮佷富妗f帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
+                    }
+                    else
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟潯鐮佷富妗eけ璐�:{result.Data[0].m_errorMsg}");
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, "鐢熸垚鍏ュ簱鍗曟潯鐮佷富妗e紓甯�");
+            }
+            Logger.Interface.Info($"/* 鍏ュ簱鍗曟潯鐮佷富妗f帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
+            return action;
+        }
+
         private List<BAS_LABEL_TEMP> GetLabels(List<InStorePrintJson> printJsons)
         {
             List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>();
diff --git a/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs b/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
index 702d093..fdef6c1 100644
--- a/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
+++ b/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
@@ -238,5 +238,95 @@
             trans?.AddHistory(Request, action);
             return Ok(response);
         }
+
+        /// <summary>
+        /// 娓呴櫎
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/InStoreOrderNo/Clear")]
+        public async Task<IActionResult> InStoreOrderNo_ClearAsync([FromBody] ApiAction action)
+        {
+            ApiAction response;
+            IInStoreOrderNo trans = null;
+            try
+            {
+                if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID))
+                {
+                    trans = iBiz.MES.Context.GetTransDic()[action.ID] as IInStoreOrderNo;
+                    if (!trans.IsFinished)
+                    {
+                        if (action.IsAsync)
+                        {
+                            response = action.GetResponse(await trans.Clear());
+                        }
+                        else
+                        {
+                            lock (trans.TransLock) { response = action.GetResponse(trans.Clear().Result); }
+                        }
+                    }
+                    else
+                    {
+                        response = action.GetResponse($"Transaction Error: 鍏ュ簱鍗曚簨鍔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);
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/InStoreOrderNo/Delete")]
+        public async Task<IActionResult> InStoreOrderNo_DeleteAsync([FromBody] ApiAction action)
+        {
+            ApiAction response;
+            IInStoreOrderNo trans = null;
+            try
+            {
+                if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID))
+                {
+                    trans = iBiz.MES.Context.GetTransDic()[action.ID] as IInStoreOrderNo;
+                    if (!trans.IsFinished)
+                    {
+                        if (action.IsAsync)
+                        {
+                            response = action.GetResponse(await trans.Delete(action.Data?.ToString()));
+                        }
+                        else
+                        {
+                            lock (trans.TransLock) { response = action.GetResponse(trans.Delete(action.Data?.ToString()).Result); }
+                        }
+                    }
+                    else
+                    {
+                        response = action.GetResponse($"Transaction Error: 鍏ュ簱鍗曚簨鍔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/IInStoreOrderNo.cs b/Tiger.IBusiness.MES/Transaction/IInStoreOrderNo.cs
index 48fc340..44fd7cf 100644
--- a/Tiger.IBusiness.MES/Transaction/IInStoreOrderNo.cs
+++ b/Tiger.IBusiness.MES/Transaction/IInStoreOrderNo.cs
@@ -15,9 +15,10 @@
         public IInStoreOrderNo Init(string id, string apiHost, InstoreDocInput input);
         public Task<ApiAction<InStoreInfos>> Submit(string code);
         public Task<ApiAction<RcvRptDocCreateInput>> GenerateInStoreOrder();
-        public Task<ApiAction<RcvRptDocCreateInput>> GetScannedList();
+        public Task<ApiAction<InStoreInfos>> GetScannedList();
         public ApiAction<InStoreInfos> GetInStoreInfos();
-
+        public Task<ApiAction> Clear();
+        public Task<ApiAction> Delete(string CartonNo);
         public bool Close(bool needSaveHistoryLog = false);
     }
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
index f9d2bea..4aa8a11 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -97,6 +97,29 @@
         public int DocState { get; set; } = 1;
     }
 
+    public class BarcodeCreateInput
+    {
+        public string RevDocId { get; set; }
+        public string userId { get; set; }
+        public string token { get; set; }
+        public bool IsLogin { get; set; }
+    }
+
+    public class BarcodeCreateParam
+    {
+        public List<CreateEntityKeys> CreateEntityKeys { get; set; }
+        public bool IsCreateHeadBarCode { get; set; }
+        public string BarCodeRuleCode { get; set; }
+        public int GenerateCount { get; set; }
+        public int BCQty { get; set; }
+    }
+
+    public class CreateEntityKeys
+    {
+        public string ID { get; set; }
+        public string EntityType { get; set; }
+    }
+
     public class MOKey
     {
         public string DocNo { get; set; }
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 0ceba78..29f4e00 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
@@ -132,7 +132,7 @@
 		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_PROD_IN_BTHId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
 		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
-        [Navigate(NavigateType.OneToMany, nameof(BIZ_ERP_PROD_IN_SN.BUSINESSCODE), nameof(ORDER_NO), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疊IZ_MES_WO绫婚噷闈㈢殑澶栭敭ID瀛楁
+        [Navigate(NavigateType.OneToMany, nameof(BIZ_ERP_PROD_IN_SN.SOURCECODE), nameof(WORK_ORDER), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疊IZ_MES_WO绫婚噷闈㈢殑澶栭敭ID瀛楁
         public List<BIZ_ERP_PROD_IN_SN> ProdInSns { get; set; }
         #endregion
 

--
Gitblit v1.9.3