From 99d001bbf2a0371373e15c97d3c6c7dcf45e97e3 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 13 六月 2025 15:44:22 +0800
Subject: [PATCH] 修复空托上线与满托下线联调的逻辑错误

---
 core/WCSCore.cs |   43 +++++++++++++++----------------------------
 1 files changed, 15 insertions(+), 28 deletions(-)

diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 77251ee..4c9ff87 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -20,27 +20,15 @@
         public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) {
             var result = new ReturnResult();
             try {
-                switch (model.state) {
-                    case 1023:
-                        break;
-                    case 1025:
-                        break;
-                    case 1012:
-                        break;
-                    case 1004:
-                        break;
-                    case 1103:
-                        break;
-                    default:
-                        // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�-                        if (!AgvTaskProcessOk(model)) {
-                            // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�-                            result.ResultCode = 1;
-                            result.ResultMsg = $"鏍规嵁Model.No鏈壘鍒板搴旂殑浠诲姟锛寋model.task_no}";
-                            LogHelper.Info(result.ResultMsg, "API");
-                            return result;
-                        }
-                        break;
+                if (model.state > 0 && model.state < 1000) {
+                    // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�+                    if (!AgvTaskProcessOk(model)) {
+                        // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�+                        result.ResultCode = 1;
+                        result.ResultMsg = $"鏍规嵁Model.No鏈壘鍒板搴旂殑浠诲姟锛寋model.task_no}";
+                        LogHelper.Info(result.ResultMsg, "API");
+                        return result;
+                    }
                 }
 
                 result.ResultCode = 0;
@@ -175,12 +163,12 @@
                     S_TASK_NO = task.S_CODE,
                     T_RECORD_TIME = DateTime.Now,
                     S_TYPE = task.S_TYPE,
-                    S_BS_CODE = task.S_BS_TYPE,
+                    S_BS_CODE = task.S_BS_NO, // ERP鍗曞彿锛岄粯璁や负绌�                     N_QTY = cgDetail.N_ITEM_NUM,
+                    S_NO = task.S_OP_CODE, // 鍑哄簱/鎶芥/绉诲簱鍗�                 };
 
                 // 鏁版嵁搴撴搷浣�-
                 if (db.Insertable<TN_Record_Table>(record).ExecuteCommand() <= 0) {
                     info = "鎻掑叆鍑哄叆搴撹褰曡〃澶辫触锛� + JsonConvert.SerializeObject(record);
                     LogHelper.Info(info);
@@ -261,7 +249,6 @@
                     info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿鎴愬姛";
                     LogHelper.Info(info);
                     return NewReturnResult(0, info);
-
                 }
                 else if (model.apply_code == "1") { // 璇锋眰鍗歌揣
                     if (prodLineDevice.AllowAgvPlacePallet != 1) {
@@ -302,7 +289,7 @@
                 .First(d => d.N_B_STATE == 2);
 
             if (detail == null) {
-                LogHelper.Info($"{taskName}--AGV鍙栬揣--鏌ヨ鏄庣粏鍗曪細褰撳墠娌℃湁鎵ц涓殑鏄庣粏鍗�);
+                LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氭煡璇㈡槑缁嗗崟锛氬綋鍓嶆病鏈夋墽琛屼腑鐨勬槑缁嗗崟");
                 return;
             }
 
@@ -310,14 +297,14 @@
                 detail.N_B_STATE = spotStateCode;
                 if (db.Updateable<TN_Outbound_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                     tran.RollbackTran();
-                    LogHelper.Info($"{taskName}--AGV鍙栬揣锛氫慨鏀规槑缁嗗崟鐘舵�涓�浠诲姟鎵ц瀹屾垚--澶辫触锛�);
+                    LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氫慨鏀规槑缁嗗崟鐘舵�涓恒�3浠诲姟鎵ц瀹屾垚銆戝け璐ワ紒");
                     return;
                 }
 
                 var finishedCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO && d.N_B_STATE == 3);
                 var allCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO);
 
-                LogHelper.Info($"{taskName}--AGV鍙栬揣--缁熻浠诲姟宸插畬鎴愶細{finishedCount}/{allCount}");
+                LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氱粺璁′换鍔″凡瀹屾垚锛歿finishedCount}/{allCount}");
 
                 if (finishedCount == allCount) { // 褰撳墠鍑哄簱鍗曚笅鐨勬墍鏈夋槑缁嗗崟锛屼换鍔¢兘宸茬粡瀹屾垚
 
@@ -326,7 +313,7 @@
                         .ExecuteCommand() <= 0) {
 
                         tran.RollbackTran();
-                        LogHelper.Info($"{taskName}--AGV鍙栬揣--鎵�湁浠诲姟瀹屾垚鏃讹細淇敼鍗曟嵁鐘舵�涓�浠诲姟鎵ц瀹屾垚--澶辫触锛�);
+                        LogHelper.Info($"{taskName}锛欰GV鍙栬揣锛氭墍鏈変换鍔″畬鎴愭椂锛氫慨鏀瑰崟鎹姸鎬佷负3浠诲姟鎵ц瀹屾垚--澶辫触锛�);
                         return;
                     }
                 }

--
Gitblit v1.9.1