From f9d7694d27475954449ce3073938af98a4798b07 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期五, 18 七月 2025 17:37:24 +0800
Subject: [PATCH] 修复去线边的任务,完成后自动解绑失败的问题

---
 wms/SpecHelper.cs |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/wms/SpecHelper.cs b/wms/SpecHelper.cs
index afce956..5ae0d67 100644
--- a/wms/SpecHelper.cs
+++ b/wms/SpecHelper.cs
@@ -280,14 +280,18 @@
         }
 
         /// <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("婊℃墭鍑哄簱涓婄嚎"))
+                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();
 
@@ -311,12 +315,11 @@
                                 return;
                             }
 
-                            var locCnt = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == endLoc.S_CODE);
+                            var locCnt = db.Queryable<TN_Loc_Container>().First(a => a.S_CNTR_CODE == tN_Task.S_CNTR_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)}");
@@ -328,6 +331,8 @@
                                     return;
                                 }
 
+                                var cgInfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == tN_Task.S_CNTR_CODE);
+
                                 if (cgInfo != null)
                                 {
                                     if (db.Deleteable<TN_CG_Detail>(cgInfo).ExecuteCommand() > 0)
@@ -337,6 +342,21 @@
                                     else
                                     {
                                         LogHelper.Info($"鍒犻櫎瀹瑰櫒璐у搧鏄庣粏澶辫触锛寋JsonConvert.SerializeObject(cgInfo)}");
+                                        tran.RollbackTran();
+                                        return;
+                                    }
+                                }
+
+                                var cnt = db.Queryable<TN_Container>().First(it => it.S_CODE == cgInfo.S_CNTR_CODE);
+                                if (cnt != null)
+                                {
+                                    if (db.Deleteable<TN_Container>(cnt).ExecuteCommand() > 0)
+                                    {
+                                        LogHelper.Info($"鍒犻櫎瀹瑰櫒鎴愬姛锛寋JsonConvert.SerializeObject(cnt)}");
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"鍒犻櫎瀹瑰櫒澶辫触锛寋JsonConvert.SerializeObject(cnt)}");
                                         tran.RollbackTran();
                                         return;
                                     }
@@ -405,13 +425,8 @@
 
                 if (model != null)
                 {
-                    var target = db.Queryable<TN_InventoryM>().First(o => o.RFID == model.RFID);
-                    if (target != null)
-                    {
-                        db.Deleteable<TN_InventoryM>(target).ExecuteCommand();
-                    }
                     model.EXPIRATION = System.DateTime.Now.AddHours(GetExportTime(model.SPEC));
-                    if (db.Insertable<TN_InventoryM>(model).ExecuteCommand() > 0)
+                    if (db.Storageable<TN_InventoryM>(model).ExecuteCommand() > 0)
                     {
                         LogHelper.Info($"鎻掑叆WMS搴撳瓨鏄庣粏鎴愬姛锛寋log}");
                     }

--
Gitblit v1.9.1