From 9b8a448988bab3fe685e2a6d6d02a6e0efbe5654 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 23 十一月 2024 00:08:25 +0800
Subject: [PATCH] 一些优化

---
 Tiger.Business/MES/Biz.Route.cs                                       |    6 ++++++
 Tiger.Model.Net/Entitys/MES/ParameterEntity/BizBasPkgRuleParameter.cs |    1 +
 Tiger.Business.MES/iERP/MES_U9C.cs                                    |   29 +++++++++++++++++------------
 Tiger.IBusiness.MES/iERP/IMES_U9C.cs                                  |    2 +-
 Tiger.Business.MES/BIZ/BizBasRule.cs                                  |    2 +-
 5 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BizBasRule.cs b/Tiger.Business.MES/BIZ/BizBasRule.cs
index 39a2754..33c308f 100644
--- a/Tiger.Business.MES/BIZ/BizBasRule.cs
+++ b/Tiger.Business.MES/BIZ/BizBasRule.cs
@@ -121,7 +121,7 @@
             var result = new ApiAction();
             try
             {
-                result.Data = Biz.CodeRule[input.Code]?.Generate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? "";
+                result.Data = input.IsTry == "Y" ? Biz.CodeRule[input.Code]?.TryGenerate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? "" : Biz.CodeRule[input.Code]?.Generate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? "";
             }
             catch (Exception ex)
             {
diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs
index 9635204..b8948e9 100644
--- a/Tiger.Business.MES/iERP/MES_U9C.cs
+++ b/Tiger.Business.MES/iERP/MES_U9C.cs
@@ -36,26 +36,31 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<ApiAction> RcvRptDocCreate(RcvRptDocCreateInput input)
+        public async Task<ApiAction> RcvRptDocCreate(List<RcvRptDocCreateInput> input)
         {
             Logger.Interface.Info($"/**\r\n *杩涘叆鍏ュ簱鍗曟帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
             var action = new ApiAction();
             try
             {
                 List<RcvRptDocCreateParam> param = new List<RcvRptDocCreateParam>();
+                List<CompleteList> CompleteLists = new List<CompleteList>();
+                foreach (var item in input) {
+                    CompleteList completeList = 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,
+                    };
+                    CompleteLists.Add(completeList);
+                }
                 param.Add(new RcvRptDocCreateParam
                 {
-                    CompleteList = new List<CompleteList> { new CompleteList
-                    {
-                        MOKey = new MOKey { DocNo = input.WorkOrder },
-                        Wh = new Wh { Code = input.WhCode },
-                        DescFlexField = new DescFlexField { PrivateDescSeg1 = input.PkgQty.ToString() },
-                        Item = new Item { Code = input.ItemCode },
-                        CompleteQty = input.CompleteQty,
-                        OutputType = input.OutputType,
-                        StorageType = input.StorageType,
-                        DocState = input.DocState,
-                    } }
+                    CompleteList = CompleteLists
                 });
 
                 var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}");
diff --git a/Tiger.Business/MES/Biz.Route.cs b/Tiger.Business/MES/Biz.Route.cs
index 6aa4079..24cc730 100644
--- a/Tiger.Business/MES/Biz.Route.cs
+++ b/Tiger.Business/MES/Biz.Route.cs
@@ -442,6 +442,12 @@
                 try
                 {
                     //鏌ヨ鏄惁宸茬粡鏈夊伐鍗曞湪鐢ㄦ垨鑰呮湁缁戝畾浜у搧
+                    if (Biz.Db.Queryable<MES_PROD_OPER>().Any(q=>q.ROT_ID == routeId))
+                    {
+                        result.IsSuccessed = false;
+                        result.LocaleMsg = new($"宸ヨ壓璺嚎宸茬粡缁戝畾浜嗕骇鍝侊紝涓嶈兘鍒犻櫎宸ヨ壓璺嚎");
+                        return result;
+                    }
 
                     var db = Db;
                     var dbTran = db.UseTran(() =>
diff --git a/Tiger.IBusiness.MES/iERP/IMES_U9C.cs b/Tiger.IBusiness.MES/iERP/IMES_U9C.cs
index 03c4ef2..6221086 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> RcvRptDocCreate(RcvRptDocCreateInput input);
+        public Task<ApiAction> RcvRptDocCreate(List<RcvRptDocCreateInput> input);
     }
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizBasPkgRuleParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizBasPkgRuleParameter.cs
index 298e08c..1e86ba8 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizBasPkgRuleParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizBasPkgRuleParameter.cs
@@ -25,5 +25,6 @@
         public string Prefix { get; set; }
         public string BatchNo { get; set; }
         public string Qty { get; set; }
+        public string IsTry { get; set; }
     }
 }

--
Gitblit v1.9.3