From c2d2f4eb78c54bdfdb6ffb0df5932751d538ed14 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期一, 14 七月 2025 17:35:02 +0800
Subject: [PATCH] 新增PDA搬送,线边空托到原材料上线口

---
 wms/SpecHelper.cs |  111 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 104 insertions(+), 7 deletions(-)

diff --git a/wms/SpecHelper.cs b/wms/SpecHelper.cs
index 9803712..539ffa8 100644
--- a/wms/SpecHelper.cs
+++ b/wms/SpecHelper.cs
@@ -280,6 +280,94 @@
         }
 
         /// <summary>
+        /// 閲嶇疆缁堢偣璐т綅锛屽彧閽堝鍘荤嚎杈圭殑璐у搧鍜屽幓鍘熸潗鏂欎骇绾跨殑绌烘墭
+        /// </summary>
+        /// <param name="tN_Task"></param>
+        internal static void RestEndLoc(TN_Task tN_Task)
+        {
+            try
+            {
+                if (
+                    tN_Task.S_END_AREA == Settings.Areas[2] || tN_Task.S_TYPE.Contains("婊℃墭鍑哄簱涓婄嚎") ||
+                    Settings.ProductionLines.Select(a=>a.PointIn).ToList().Contains(tN_Task.S_END_LOC) ||
+                    tN_Task.S_TYPE.Contains("绾胯竟绌烘墭涓婄嚎")
+                    )
+                {
+                    var db = new SqlHelper<object>().GetInstance();
+
+                    using (var tran = db.Ado.UseTran())
+                    {
+                        var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == tN_Task.S_END_LOC);
+                        if (endLoc != null)
+                        {
+                            endLoc.N_CURRENT_NUM = 0;
+                            endLoc.N_LOCK_STATE = 0;
+                            endLoc.S_LOCK_STATE = "鏃�;
+
+                            if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { it.N_CURRENT_NUM, it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() > 0)
+                            {
+                                LogHelper.Info($"鏇存柊缁堢偣璐т綅鎴愬姛锛寋JsonConvert.SerializeObject(endLoc)}");
+                            }
+                            else
+                            {
+                                LogHelper.Info($"鏇存柊缁堢偣璐т綅澶辫触锛寋JsonConvert.SerializeObject(endLoc)}");
+                                tran.RollbackTran();
+                                return;
+                            }
+
+                            var locCnt = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == endLoc.S_CODE);
+
+                            if (locCnt != null)
+                            {
+                                var cgInfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == locCnt.S_CNTR_CODE);
+
+                                if (db.Deleteable<TN_Loc_Container>(locCnt).ExecuteCommand() > 0)
+                                {
+                                    LogHelper.Info($"鍒犻櫎璐т綅瀹瑰櫒缁戝畾鍏崇郴鎴愬姛锛寋JsonConvert.SerializeObject(locCnt)}");
+                                }
+                                else
+                                {
+                                    LogHelper.Info($"鍒犻櫎璐т綅瀹瑰櫒缁戝畾鍏崇郴澶辫触锛寋JsonConvert.SerializeObject(locCnt)}");
+                                    tran.RollbackTran();
+                                    return;
+                                }
+
+                                if (cgInfo != null)
+                                {
+                                    if (db.Deleteable<TN_CG_Detail>(cgInfo).ExecuteCommand() > 0)
+                                    {
+                                        LogHelper.Info($"鍒犻櫎瀹瑰櫒璐у搧鏄庣粏鎴愬姛锛寋JsonConvert.SerializeObject(cgInfo)}");
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"鍒犻櫎瀹瑰櫒璐у搧鏄庣粏澶辫触锛寋JsonConvert.SerializeObject(cgInfo)}");
+                                        tran.RollbackTran();
+                                        return;
+                                    }
+                                }
+                            }
+                        }
+
+                        tran.CommitTran();
+                        LogHelper.Info($"閲嶇疆缁堢偣璐т綅锛屾垚鍔燂紝{JsonConvert.SerializeObject(tN_Task)}");
+                        return;
+                    }
+                }
+                else
+                {
+                    LogHelper.Info($"褰撳墠浠诲姟缁堢偣璐т綅涓嶆槸鍘荤嚎杈癸紝涓嶉渶瑕侀噸缃粓鐐硅揣浣嶏紝{JsonConvert.SerializeObject(tN_Task)}");
+                    return;
+                }
+
+              
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error("閲嶇疆缁堢偣璐т綅锛屽彧閽堝鍘荤嚎杈圭殑璐у搧 澶辫触", ex);
+            }
+        }
+
+        /// <summary>
         /// 鏇存柊浣欐枡鍥炲簱鏄庣粏
         /// </summary>
         public static void UpdateSurplusDetail(string taskNo,float weight)
@@ -354,7 +442,7 @@
                 var target = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == cntId);
                 if (target != null)
                 {
-                    var targetM = db.Queryable<TN_InventoryM>().First(a => a.S_ID == target.S_ID);
+                    var targetM = db.Queryable<TN_InventoryM>().First(a => a.S_ID == target.S_ID || a.RFID == cntId);
 
                     if (targetM != null)
                     {
@@ -387,23 +475,32 @@
         /// <summary>
         /// 鍒犻櫎WMS搴撳瓨鏄庣粏
         /// </summary>
-        public static void DeleteInventoryM(string cg_SID)
+        public static void DeleteInventoryM(TN_Task taskTn)
         {
             try
             {
-                var db = new SqlHelper<object>().GetInstance();
-                if(db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cg_SID).ExecuteCommand() > 0)
+                if (taskTn.S_START_AREA == Settings.Areas[1] || taskTn.S_TYPE.Contains("婊℃墭鍑哄簱涓婄嚎")) //涓嶆槸浠庢弧鎵樼紦瀛樺簱鍖虹Щ鍑哄氨涓嶅垹闄�                 {
-                    LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屾垚鍔燂紝鐗╂枡涓婚敭锛歿cg_SID}");
+                    var db = new SqlHelper<object>().GetInstance();
+
+                    if (db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == taskTn.S_ID || it.RFID == taskTn.S_CNTR_CODE).ExecuteCommand() > 0)
+                    {
+                        LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屾垚鍔燂紝鐗╂枡涓婚敭锛歿taskTn.S_ID}锛屽鍣ㄥ彿锛歿taskTn.S_CNTR_CODE}");
+                    }
+                    else
+                    {
+                        LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屽け璐ワ紝鐗╂枡涓婚敭锛歿taskTn.S_ID}锛屽鍣ㄥ彿锛歿taskTn.S_CNTR_CODE}");
+                    }
                 }
                 else
                 {
-                    LogHelper.Info($"鍒犻櫎WMS搴撳瓨鏄庣粏锛屽け璐ワ紝鐗╂枡涓婚敭锛歿cg_SID}");
+                    LogHelper.Info($"涓嶆槸浠庢弧鎵樼紦瀛樺簱鍖烘惉鍑虹殑璐т綅锛屼笉闇�鍒犻櫎搴撳瓨鏄庣粏锛岀墿鏂欎富閿細{taskTn.S_ID}锛屽鍣ㄥ彿锛歿taskTn.S_CNTR_CODE}");
+                    return;
                 }
             }
             catch (Exception ex)
             {
-                LogHelper.Error("鏇存柊WMS搴撳瓨鏄庣粏鐨勮繃鏈熸椂闂村け璐�, ex);
+                LogHelper.Error("鍒犻櫎WMS搴撳瓨鏄庣粏", ex);
             }
         }
 

--
Gitblit v1.9.1