From 6373a5ee748898cb5db477035dca66c6e4194dfc Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 23 七月 2025 17:34:46 +0800
Subject: [PATCH] 产品入库添加物料名称描述数量输入框和货位解绑功能, 手动添加物料信息功能

---
 wms/LocationHelper.cs |   44 ++++++++++++++++++++++++++++++++------------
 1 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index 6de64e2..d03cf2f 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -210,7 +210,6 @@
                 }
                 cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList();
 
-
                 var log = JsonConvert.SerializeObject(cntrs);
                 var location = db.Queryable<TN_Location>().First(a => a.S_CODE == loc);
                 if (location != null)
@@ -219,14 +218,19 @@
                     location.S_LOCK_STATE = "鏃�;
                     location.N_LOCK_STATE = 0;
 
+                    var updateCgDetalList = db.Queryable<TN_CG_Detail>().Where(d => cntrs.Contains(d.S_CNTR_CODE)).ToList();
+                    if (updateCgDetalList.Count == 0) {
+                        LogHelper.Info($"娌℃湁鏇存柊鐨勭墿鏂欏垪琛�);
+                    }
+
                     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 && 
-                            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}");
+                        if (updateCgDetalList.Count > 0 && db.Updateable(updateCgDetalList).ExecuteCommand() <= 0) {
+                            tran.RollbackTran();
+                            return "鏇存柊鐗╂枡淇℃伅鍒楄〃澶辫触"; // ADD锛氳ˉ鍏呴拡瀵筆DA鍒嗘嫞
                         }
-                        else
+
+                        if (lcrList.Count > 0 && db.Deleteable<TN_Loc_Container>().Where(it => cntrs.Contains(it.S_CNTR_CODE) && it.S_LOC_CODE == loc).ExecuteCommand() <= 0) 
                         {
                             tran.RollbackTran();
 
@@ -289,24 +293,40 @@
                 {
                     // 琛ュ厖閫昏緫锛氶伩鍏嶈В缁戝鑷寸殑淇℃伅涓㈠け (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 = cgDetail?.S_EXT_ATTR5 ?? "", N_LOCK_STATE = cgDetail?.N_LOCK_STATE ?? 0 });
+                    if (cgDetail == null) {
+                        bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item, S_IMG_URL = "", N_LOCK_STATE = 0 });
+                    }
+                    else {
+                        bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item, S_IMG_URL = cgDetail.S_EXT_ATTR5, N_LOCK_STATE = cgDetail.N_LOCK_STATE });
+                    }
+                    
                 }
 
                 var log = JsonConvert.SerializeObject(bindLocCntList);
 
+                var updateCgDetalList = db.Queryable<TN_CG_Detail>().Where(d => cntrs.Contains(d.S_CNTR_CODE)).ToList();
+                if (updateCgDetalList.Count == 0) {
+                    LogHelper.Info($"娌℃湁鏇存柊鐨勭墿鏂欏垪琛�);
+                }
+
                 using (var tran = db.Ado.UseTran())
                 {
-                    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鍒嗘嫞
+                    if (db.Insertable<TN_Loc_Container>(bindLocCntList).ExecuteCommand() > 0) 
                     {
                         LogHelper.Info($"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄦ垚鍔燂紝{log}");
                     }
                     else
                     {
-                        db.RollbackTran();
+                        tran.RollbackTran();
                         LogHelper.Info($"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐ワ紝{log}");
                         return "璐т綅缁戝畾瀹瑰櫒澶辫触锛� + logs;
                     }
+
+                    if (updateCgDetalList.Count > 0 && db.Updateable(updateCgDetalList).ExecuteCommand() <= 0) {
+                        tran.RollbackTran();
+                        return "鏇存柊鐗╂枡淇℃伅鍒楄〃澶辫触";
+                    }
+
 
                     var location = db.Queryable<TN_Location>().First(a => a.S_CODE == loc);
                     if (location != null)
@@ -318,13 +338,13 @@
 
                         if (db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand() > 0)
                         {
-                            db.CommitTran();
+                            tran.CommitTran();
 
                             LogHelper.Info($"鏇存柊璐т綅琛ㄦ垚鍔燂紝{log}");
                         }
                         else
                         {
-                            db.RollbackTran();
+                            tran.RollbackTran();
 
                             LogHelper.Info($"鏇存柊璐т綅琛ㄥけ璐ワ紝{log}");
 

--
Gitblit v1.9.1