From 1f1daf8fd3b6fd0759d17facc0ad97562e516a3a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 10 九月 2024 17:38:13 +0800
Subject: [PATCH] 包装规则保存

---
 Tiger.Business/MES/Biz.Route.cs |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/Tiger.Business/MES/Biz.Route.cs b/Tiger.Business/MES/Biz.Route.cs
index 6f8873b..771a429 100644
--- a/Tiger.Business/MES/Biz.Route.cs
+++ b/Tiger.Business/MES/Biz.Route.cs
@@ -273,20 +273,26 @@
                 try
                 {
                     var _route = Db.Queryable<MES_ROUTE>().Where(x => x.ROT_CODE == route.ROT_CODE).First();
-                    if (_route != null && Db.Queryable<MES_ROUTE_NODE>().Where(x => x.ROT_ID == _route.ID).Any())
+                    //if (_route != null && Db.Queryable<MES_ROUTE_NODE>().Where(x => x.ROT_ID == _route.ID).Any())
+                    //{
+                    //    result.IsSuccessed = false;
+                    //    result.LocaleMsg = new($"宸ヨ壓璺嚎宸茬粡鏈夎璁¤褰曪紝涓嶈兘淇濆瓨锛�");
+                    //    return result;
+                    //}
+                    if (_route != null && Db.Queryable<MES_PROD_OPER>().Where(x => x.ROT_ID == _route.ID).Any())
                     {
                         result.IsSuccessed = false;
-                        result.LocaleMsg = new($"宸ヨ壓璺嚎宸茬粡鏈夎璁¤褰曪紝涓嶈兘淇濆瓨锛�");
+                        result.LocaleMsg = new($"宸ヨ壓璺嚎宸茬粡鏈夌粦瀹氳褰曪紝涓嶈兘淇濆瓨锛�");
                         return result;
                     }
                     var db = Db;
                     var dbTran = db.UseTran(() =>
                     {
                         var y = db.Storageable(route)
-                           .WhereColumns(t => new { t.ROT_CODE, t.GHOST_ROW })
+                           //.WhereColumns(t => new { t.ROT_CODE, t.GHOST_ROW })
                            .ToStorage();
                         y.AsInsertable.ExecuteCommand();
-                        y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
+                        y.AsUpdateable.ExecuteCommand();
                     });
                     if (!dbTran.IsSuccess)
                     {
@@ -379,8 +385,11 @@
                             y.AsInsertable.ExecuteCommand();
                             y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
                         }
-                        db.Deleteable<MES_PROD_OPER>().Where(x => x.PROD_CODE == routeData.route.PROD_CODE && !SqlFunc.ContainsArray(nodeIds, x.NODE_ID)).ExecuteCommand();
-                        db.Deleteable<MES_PROD_ACTION>().Where(x => x.PROD_CODE == routeData.route.PROD_CODE && !SqlFunc.ContainsArray(actIds, x.ACT_ID)).ExecuteCommand();
+                        if (!routeData.route.PROD_CODE.IsNullOrEmpty())
+                        {
+                            db.Deleteable<MES_PROD_OPER>().Where(x => x.PROD_CODE == routeData.route.PROD_CODE && !SqlFunc.ContainsArray(nodeIds, x.NODE_ID)).ExecuteCommand();
+                            db.Deleteable<MES_PROD_ACTION>().Where(x => x.PROD_CODE == routeData.route.PROD_CODE && !SqlFunc.ContainsArray(actIds, x.ACT_ID)).ExecuteCommand();
+                        }
                         db.Deleteable<MES_ROUTE_NODE>(false).Where(x => x.ROT_ID == routeData.route.ID).ExecuteCommand();
                         db.Deleteable<MES_ROUTE_EDGE>(false).Where(x => x.ROT_ID == routeData.route.ID).ExecuteCommand();
                         db.Deleteable<MES_ROUTE_NODE_ACT>(false).Where(x => x.ROT_ID == routeData.route.ID).ExecuteCommand();
@@ -396,13 +405,16 @@
                         {
                             db.Insertable(routeData.acts).ExecuteCommand();
                         }
-                        if (operList.Count > 0)
+                        if (!routeData.route.PROD_CODE.IsNullOrEmpty())
                         {
-                            db.Insertable(operList).ExecuteCommand();
-                        }
-                        if (actList.Count > 0)
-                        {
-                            db.Insertable(actList).ExecuteCommand();
+                            if (operList.Count > 0)
+                            {
+                                db.Insertable(operList).ExecuteCommand();
+                            }
+                            if (actList.Count > 0)
+                            {
+                                db.Insertable(actList).ExecuteCommand();
+                            }
                         }
                     });
                     if (!dbTran.IsSuccess)

--
Gitblit v1.9.3