From 2f1e779af4d2ce4e38afb5b98f4a5198afc54a9d Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 14 十月 2024 15:04:30 +0800
Subject: [PATCH] 获取工单模板变量优化

---
 Tiger.Business.MES/BIZ/BizBasRule.cs |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BizBasRule.cs b/Tiger.Business.MES/BIZ/BizBasRule.cs
index 6be57a4..cce51a1 100644
--- a/Tiger.Business.MES/BIZ/BizBasRule.cs
+++ b/Tiger.Business.MES/BIZ/BizBasRule.cs
@@ -29,11 +29,17 @@
             var result = new ApiAction();
             try
             {
-                var ItemCusts = input.ItemCusts.Select(q => q.ID).ToList();
-                List<BAS_ITEM_CUST> list = await Biz.Db.Queryable<BAS_ITEM_CUST>().Where(q => !SqlFunc.ContainsArray(ItemCusts, q.ID)).ToListAsync();
+                var ItemCustIds = input.ItemCusts.Select(q => q.ID).ToList();
+                List<BAS_ITEM_CUST> list = ItemCustIds.Count>0? await Biz.Db.Queryable<BAS_ITEM_CUST>()
+                    .Where(q => !SqlFunc.ContainsArray(ItemCustIds, q.ID) && input.ItemCusts[0].ITEM_ID == q.ITEM_ID)
+                    .ToListAsync() : new();
                 var db = Biz.Db;
                 var dbTran = db.UseTran(() =>
                 {
+                    if (input.Item != null)
+                    {
+                        db.Updateable(input.Item).UpdateColumns(q => q.RULE_CODE).ExecuteCommand();
+                    }
                     var z = db.Storageable(input.ItemCusts)
                        .WhereColumns(t => new { t.ID, t.GHOST_ROW })
                        .ToStorage();
@@ -66,19 +72,16 @@
             try
             {
                 var pkgProds = input.PkgProd.Select(q => q.ID).ToList();
-                List<BAS_PKG_PROD> listPrd = await Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID)).ToListAsync();
+                List<BAS_PKG_PROD> listPrd = pkgProds.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_PROD>()
+                    .Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID) && q.PKG_RULE_ID == input.PkgProd[0].PKG_RULE_ID)
+                    .ToListAsync() : new();
+                var pkgDtl = input.PkgDtl.Select(q => q.ID).ToList();
+                List<BAS_PKG_DTL> listDtl = pkgDtl.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_DTL>()
+                    .Where(q => !SqlFunc.ContainsArray(pkgDtl, q.ID) && q.PKG_RULE_ID == input.PkgDtl[0].PKG_RULE_ID)
+                    .ToListAsync() : new();
                 var db = Biz.Db;
                 var dbTran = db.UseTran(() =>
                 {
-                    //if (input.PkgRule!=null)
-                    //{
-                    //    var y = db.Storageable(input.PkgRule)
-                    //       .WhereColumns(t => new { t.ID, t.GHOST_ROW })
-                    //       .ToStorage();
-                    //    y.AsInsertable.ExecuteCommand();
-                    //    y.AsUpdateable.ExecuteCommand();
-                    //}
-
                     var z = db.Storageable(input.PkgDtl)
                        .WhereColumns(t => new { t.ID, t.GHOST_ROW })
                        .ToStorage();
@@ -92,11 +95,12 @@
                     o.AsUpdateable.ExecuteCommand();
 
                     db.Deleteable(listPrd).ExecuteCommand();
+                    db.Deleteable(listDtl).ExecuteCommand();
                 });
                 if (!dbTran.IsSuccess)
                 {
                     result.IsSuccessed = false;
-                    result.Message = $"淇濆瓨鍖呰瑙勫垯寮傚父";
+                    result.LocaleMsg = new($"淇濆瓨鍖呰瑙勫垯寮傚父");
                 }
             }
             catch (Exception ex)

--
Gitblit v1.9.3