From a96e763c96401cbc7695acbcd6b18770d8aedf8d Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 06 十一月 2024 15:35:25 +0800
Subject: [PATCH] 单独解绑更新

---
 Tiger.Business/MES/Biz.Route.cs      |   29 ++++++++++++++++++++++-------
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs |    3 ++-
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index 43b2b5c..999eeb1 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -636,7 +636,8 @@
             var result = new ApiAction();
             try
             {
-                var wipList = await Biz.Db.Queryable<MES_WIP_DATA>().Where(q => q.SN.Equals(input.SN) || q.FLOW_SN.Equals(input.SN) || q.CARTON_SN == input.SN).ToListAsync();
+                var cartonSn = input.SN.Split('|')[0];
+                var wipList = await Biz.Db.Queryable<MES_WIP_DATA>().Where(q => q.SN.Equals(input.SN) || q.FLOW_SN.Equals(input.SN) || q.CARTON_SN == cartonSn).ToListAsync();
                 if (wipList.Count == 0)
                 {
                     result.IsSuccessed = false;
diff --git a/Tiger.Business/MES/Biz.Route.cs b/Tiger.Business/MES/Biz.Route.cs
index f1f4a08..6aa4079 100644
--- a/Tiger.Business/MES/Biz.Route.cs
+++ b/Tiger.Business/MES/Biz.Route.cs
@@ -508,12 +508,12 @@
                 {
                     var expable = Expressionable.Create<MES_PROD_ACTION>();
                     var expableOper = Expressionable.Create<MES_PROD_OPER>();
-                    if (!string.IsNullOrEmpty(input.rotId))
+                    if (!input.rotId.IsNullOrEmpty())
                     {
                         expable.And(x => x.ROT_ID == input.rotId);
                         expableOper.And(x => x.ROT_ID == input.rotId);
                     }
-                    else if (!string.IsNullOrEmpty(input.rotCode))
+                    else if (!input.rotCode.IsNullOrEmpty())
                     {
                         var item = await Db.Queryable<MES_ROUTE>().Where(x => x.ROT_CODE == input.rotCode).FirstAsync();
                         if (item != null)
@@ -522,17 +522,32 @@
                             expableOper.And(x => x.ROT_ID == item.ID);
                         }
                     }
-                    string _custCode = input.custCode ?? "";
-                    expable.And(x => x.PROD_CODE == input.prodCode && (x.CUST_CODE == _custCode));
-                    expableOper.And(x => x.PROD_CODE == input.prodCode && x.CUST_CODE == _custCode);
+                    if (!input.prodCode.IsNullOrEmpty())
+                    {
+                        expable.And(x => x.PROD_CODE == input.prodCode );
+                        expableOper.And(x => x.PROD_CODE == input.prodCode);
+                    }
+                    if (!input.custCode.IsNullOrEmpty())
+                    {
+                        expable.And(x => x.CUST_CODE == input.custCode);
+                        expableOper.And(x => x.CUST_CODE == input.custCode);
+                    }
 
                     var exp = expable.ToExpression();
                     var expOper = expableOper.ToExpression();
                     var db = Db;
                     var dbTran = db.UseTran(() =>
                     {
-                        db.Deleteable<MES_PROD_ACTION>().Where(exp).ExecuteCommand();
-                        db.Deleteable<MES_PROD_OPER>().Where(expOper).ExecuteCommand();
+                        if (!input.prodCode.IsNullOrEmpty())
+                        {
+                            db.Deleteable<MES_PROD_ACTION>().Where(exp).ExecuteCommand();
+                            db.Deleteable<MES_PROD_OPER>().Where(expOper).ExecuteCommand();
+                        }
+                        if (input.prodCode.IsNullOrEmpty() && !input.custCode.IsNullOrEmpty())
+                        {
+                            db.Updateable<MES_PROD_ACTION>().SetColumns(x => x.CUST_CODE == "").Where(exp).ExecuteCommand();
+                            db.Updateable<MES_PROD_OPER>().SetColumns(x => x.CUST_CODE == "").Where(expOper).ExecuteCommand();
+                        }
                     });
                     if (!dbTran.IsSuccess)
                     {

--
Gitblit v1.9.3