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 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

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