From 7b3b60e8e01a1cf2fb97af695639b18210a160c0 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期日, 20 七月 2025 14:39:16 +0800
Subject: [PATCH] 去线边的,取消任务收到4后直接删除物料容器

---
 wms/WCSHelper.cs       |   12 ++++++++++--
 Program.cs             |    2 +-
 core/Monitor.cs        |    2 +-
 process/TaskProcess.cs |   19 +++++++------------
 4 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/Program.cs b/Program.cs
index 679f891..f8a5e94 100644
--- a/Program.cs
+++ b/Program.cs
@@ -147,7 +147,7 @@
 
                 tasks.Add(GetTask(Monitor.CGOkCheck));// 鍦ㄥ妫�尯妫�祴鐗╁搧鍚堟牸锛屽悎鏍肩殑鐗╁搧鑷姩鍥炲簱
 
-                //tasks.Add(GetTask(Monitor.XBChekcFull));//绾胯竟婊℃墭璐т綅鑷姩瑙g粦
+                tasks.Add(GetTask(Monitor.XBChekcFull));//绾胯竟婊℃墭璐т綅鑷姩瑙g粦
 
                 Task.WaitAll(tasks.ToArray());
             }
diff --git a/core/Monitor.cs b/core/Monitor.cs
index 2d85a2e..f15790e 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -358,7 +358,7 @@
             var db = new SqlHelper<object>().GetInstance();
             try
             {
-                
+
             }
             catch (Exception ex)
             {
diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index bfcdf52..749ed00 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -51,26 +51,21 @@
                 CacheBitUpdate(mst, false);
                 WCSHelper.End(mst);//浠诲姟鐘舵�鏀规垚缁撴潫
             }
-            else 
+            else   // 娌℃湁寮�鍗歌揣
             {
-                // 娌℃湁寮�鍗歌揣
+              
                 WCSHelper.Fail(mst);//浠诲姟鐘舵�鏀规垚閿欒
                 var db = new SqlHelper<object>().GetInstance();
-                var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == mst.S_CNTR_CODE);
-                if (cginfo!= null)
-                {
-                    db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cginfo.S_ID || it.RFID == mst.S_CNTR_CODE).ExecuteCommand();
-                }
-                else
-                {
-                    db.Deleteable<TN_InventoryM>().Where(it => it.RFID == mst.S_CNTR_CODE).ExecuteCommand();
-                }
+                db.Deleteable<TN_CG_Detail>().Where(it => it.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand();
+                db.Deleteable<TN_InventoryM>().Where(it => it.RFID == mst.S_CNTR_CODE).ExecuteCommand();
+                db.Deleteable<TN_Loc_Container>().Where(it => it.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand();
+                db.Deleteable<TN_Container>().Where(it => it.S_CODE == mst.S_CNTR_CODE).ExecuteCommand();
                 //蹇呴』鍒犳帀
-                LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC, reqCode = 1 });
             }
             if (!WCSHelper.CheckActionRecordExist(mst.S_CODE, 4))
             {
                 LocationHelper.UnLockLoc(mst.S_START_LOC);//瑙i攣璧风偣
+                LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC, reqCode = 1 });
             }
            
             LocationHelper.UnLockLoc(mst.S_END_LOC);//瑙i攣缁堢偣
diff --git a/wms/WCSHelper.cs b/wms/WCSHelper.cs
index c3c44a0..3b63722 100644
--- a/wms/WCSHelper.cs
+++ b/wms/WCSHelper.cs
@@ -236,6 +236,7 @@
         public static void CancleTaskInfo(TN_Task tN_Task)
         {
             var HJ = Settings.Areas[1];
+            var db = new SqlHelper<object>().GetInstance();
             if (tN_Task.S_END_AREA == HJ || tN_Task.S_TYPE.Contains("婊℃墭涓嬬嚎鍏ュ簱"))//缁堢偣鏄弧鎵樼紦瀛樺簱鍖�             {
                 LogHelper.Info($"鍙栨秷浠诲姟: {tN_Task.S_CODE} 缁堢偣鏄弧鎵樼紦瀛樺簱鍖� {tN_Task.S_END_AREA}");
@@ -256,9 +257,16 @@
                 {
                     WCSHelper.End(tN_Task);//浠诲姟鐘舵�鏀规垚缁撴潫
 
-                    if (tN_Task.S_END_AREA != Settings.Areas[2])//鍘荤嚎杈圭殑涓嶇粦瀹氱粓鐐�+                    if (tN_Task.S_END_AREA != Settings.Areas[2])//涓嶅幓绾胯竟鐨勭粦瀹氱粓鐐�                     {
                         LocationHelper.BindingLoc(tN_Task.S_END_LOC, tN_Task.S_CNTR_CODE.Split(',').ToList());// 缁戝畾缁堢偣瀹瑰櫒璐т綅
+                    }
+                    else//鍘荤嚎杈圭殑鍏ㄩ儴鍒犻櫎
+                    {
+                        db.Deleteable<TN_CG_Detail>().Where(it => it.S_CNTR_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
+                        db.Deleteable<TN_InventoryM>().Where(it => it.RFID == tN_Task.S_CNTR_CODE).ExecuteCommand();
+                        db.Deleteable<TN_Loc_Container>().Where(it => it.S_CNTR_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
+                        db.Deleteable<TN_Container>().Where(it => it.S_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
                     }
 
                     LogHelper.Info($"鍙栨秷浠诲姟: {tN_Task.S_CODE} 鍙栬揣瀹屾垚锛屼换鍔$姸鎬佹敼鎴愮粨鏉燂紝缁戝畾缁堢偣瀹瑰櫒璐т綅");
@@ -278,7 +286,7 @@
                 {
                     WCSHelper.Fail(tN_Task);//浠诲姟鐘舵�鏀规垚閿欒
 
-                    var db = new SqlHelper<object>().GetInstance();
+
                     var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == tN_Task.S_CNTR_CODE);
                     if (cginfo != null)
                     {

--
Gitblit v1.9.1