From 49efcc39ef399f8f3b170f6b06ffc2177643f1b2 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期二, 27 五月 2025 17:27:39 +0800
Subject: [PATCH] 优化空托上线通过物料类型检查容器的功能

---
 core/Monitor.cs |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/core/Monitor.cs b/core/Monitor.cs
index ccb2fd5..b31eb12 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -66,6 +66,21 @@
                         S_CNTR_CODE = cntrCode,
                     };
 
+                    // TODO 姣忔杞閮芥鏌ュ搴斿鍣ㄦ槸鍚﹀凡鐧昏锛岀櫥璁板垯鏇存柊锛屾湭鐧昏鍒欐彃鍏�+                    var cntrItemRel = db.Queryable<TN_Container_Item>()
+                        .Where(i => i.S_CNTR_CODE == cntrCode).First();
+
+                    var insertTable = cntrItemRel == null;
+
+                    if (insertTable) {
+                        // 鏆傚畾鍦ㄦ弧鎵樹笅绾垮叆搴撶殑鏃跺�锛岀櫥璁版墭鐩樺鍣�鐗╂枡鍙峰叧绯伙紙鍚庨潰鍙兘浼氭敼鎴愮郴缁熺淮鎶わ級
+                        cntrItemRel = new TN_Container_Item {
+                            S_ITEM_CODE = itemCode,
+                            S_CNTR_CODE = cntrCode,
+                        };
+                    }
+                    // END TODO
+
                     var startLoc = db.Queryable<TN_Location>()
                         .Where(l => l.S_CODE == startLocCode) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿
                         .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣
@@ -93,7 +108,6 @@
                     //    //return;
                     //}
 
-                    // TODO 婊$鍏ュ簱绠楁硶寰呬紭鍖�                     var endLoc = db.Queryable<TN_Location>()
                         .Where(a => Settings.AreaMap[AreaName.绌烘墭瀛樻斁鍖篯.Contains(a.S_AREA_CODE))
                         .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣
@@ -120,6 +134,25 @@
                             LogHelper.Info(info);
                             continue;
                         }
+
+                        // TODO 鎻掑叆鎴栨洿鏂板鍣ㄤ笌鐗╂枡绫诲瀷鐨勭粦瀹氳〃
+                        if (insertTable) {
+                            if (db.Insertable<TN_Container_Item>(cntrItemRel).ExecuteCommand() <= 0) {
+                                tran.RollbackTran();
+                                info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}";
+                                LogHelper.Info(info);
+                                continue;
+                            }
+                        }
+                        else {
+                            if (db.Updateable<TN_Container_Item>(cntrItemRel).ExecuteCommand() <= 0) {
+                                tran.RollbackTran();
+                                info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}";
+                                LogHelper.Info(info);
+                                continue;
+                            }
+                        }
+                        // END TODO
 
                         if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
@@ -206,7 +239,7 @@
                     }
 
                     var lastDetail = db.Queryable<TN_Outbound_Detail>()
-                        .Where(d => d.S_OO_NO == order.S_NO && d.N_B_STATE == 2) // TODO 鎴栬�鏀规垚鏌ask
+                        .Where(d => d.S_OO_NO == order.S_NO && d.N_B_STATE == 2) // [NOTE] 鎴栬�鏀规垚鏌ask
                         .First();
 
                     if (lastDetail != null) {

--
Gitblit v1.9.1