From 2aa6ffae020b4dab66ac30ee4436346aa15ff3cb Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期二, 15 七月 2025 17:26:54 +0800
Subject: [PATCH] 修复绑定解绑可能导致的信息丢失问题

---
 wms/LocationHelper.cs |   33 ++++++++-------------------------
 1 files changed, 8 insertions(+), 25 deletions(-)

diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index 20adf2f..be96181 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -105,22 +105,6 @@
                         {
                             site = Location.S_AGV_SITE;
                         }
-                        //if (Location.N_CURRENT_NUM == 1)
-                        //{
-                        //    site = Location.S_AGV_SITE2;
-                        //}
-                        //if (Location.N_CURRENT_NUM == 2)
-                        //{
-                        //    site = Location.S_AGV_SITE3;
-                        //}
-                        //if (Location.N_CURRENT_NUM == 3)
-                        //{
-                        //    site = Location.S_AGV_SITE4;
-                        //}
-                        //if (Location.N_CURRENT_NUM == 4)
-                        //{
-                        //    site = Location.S_AGV_SITE5;
-                        //}
                     }
                 }
             }
@@ -237,7 +221,8 @@
 
                     using (var tran = db.Ado.UseTran())
                     {
-                        if (db.Deleteable<TN_Loc_Container>().Where(it => cntrs.Contains(it.S_CNTR_CODE) && it.S_LOC_CODE == loc).ExecuteCommand() > 0)
+                        if (db.Deleteable<TN_Loc_Container>().Where(it => cntrs.Contains(it.S_CNTR_CODE) && it.S_LOC_CODE == loc).ExecuteCommand() > 0 && 
+                            db.Updateable<TN_CG_Detail>().SetColumns(d => d.S_LOC_CODE == null).Where(d => cntrs.Contains(d.S_CNTR_CODE)).ExecuteCommand() > 0) // ADD锛氳ˉ鍏呴拡瀵筆DA鍒嗘嫞
                         {
                             LogHelper.Info($"鍒犻櫎璐т綅瀹瑰櫒鍏崇郴琛ㄦ垚鍔燂紝{log}");
                         }
@@ -302,15 +287,18 @@
                 var bindLocCntList = new List<TN_Loc_Container>();
                 foreach (var item in cntrs)
                 {
-                    bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item });
+                    // 琛ュ厖閫昏緫锛氶伩鍏嶈В缁戝鑷寸殑淇℃伅涓㈠け (N_LOCK_STATE涓嶤G_Detail淇濇寔涓�嚧鎵�互鐩存帴璧嬪�灏辫锛汭MGURL璐т綅绉诲姩浜嗗氨鍒犻櫎锛屼篃寰堝悎鐞嗭級
+                    var cgDetail = db.Queryable<TN_CG_Detail>().Where(d => d.S_CNTR_CODE == item).First();
+                    //bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item, S_IMG_URL = "", N_LOCK_STATE = cgDetail?.N_LOCK_STATE ?? 1 });
+                    bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item, S_IMG_URL = "", N_LOCK_STATE = cgDetail?.N_LOCK_STATE ?? 0 });
                 }
-
 
                 var log = JsonConvert.SerializeObject(bindLocCntList);
 
                 using (var tran = db.Ado.UseTran())
                 {
-                    if (db.Insertable<TN_Loc_Container>(bindLocCntList).ExecuteCommand() > 0)
+                    if (db.Insertable<TN_Loc_Container>(bindLocCntList).ExecuteCommand() > 0 &&
+                        db.Updateable<TN_CG_Detail>().SetColumns(d => d.S_LOC_CODE == loc).Where(d => cntrs.Contains(d.S_CNTR_CODE)).ExecuteCommand() > 0) // ADD锛氳ˉ鍏呴拡瀵筆DA鍒嗘嫞
                     {
                         LogHelper.Info($"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄦ垚鍔燂紝{log}");
                     }
@@ -532,11 +520,6 @@
     public class EmptyUnBindInfo
     {
         public string cntID { get; set; }//瀹瑰櫒ID
-    }
-
-    public class CancleTaskInfo
-    {
-        public string taskNO { get; set; }//浠诲姟鍙�     }
 
     public class PDAFullInAreaInfo

--
Gitblit v1.9.1