From 46dc31d4e66e45cde693b9c909691a710fabfcee Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期四, 10 七月 2025 17:31:14 +0800
Subject: [PATCH] mes接口修改

---
 dispatch/WcsTask.cs |   64 ++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 24 deletions(-)

diff --git a/dispatch/WcsTask.cs b/dispatch/WcsTask.cs
index cb47896..0fdfb0d 100644
--- a/dispatch/WcsTask.cs
+++ b/dispatch/WcsTask.cs
@@ -598,7 +598,6 @@
 
             try
             {
-            
                 var taskNo = "";
             
                 if (string.IsNullOrEmpty(model.requestPk))
@@ -618,6 +617,13 @@
                     throw new Exception("鏈煡璇㈠埌瀵瑰簲鐨勪换鍔�);
                 }
 
+                if (transportTask.S_B_STATE == "瀹屾垚" || transportTask.S_B_STATE == "鍙栨秷")
+                {
+                    throw new Exception($"{transportTask}浠诲姟宸瞷transportTask.S_B_STATE}锛屼笉鍏佽鎿嶄綔");
+                }
+
+
+             
                 TaskHelper.WcsAddActionRecord(model.requestPk, model.noticeType, "WCS");
 
                 switch (model.noticeType)
@@ -677,20 +683,20 @@
                                     if (agvTask == null)
                                     {
                                         LogHelper.Info($"RFID鏍¢獙澶辫触锛屾病鎵惧埌瀵瑰簲{transportTask.S_OP_CODE}鐨刟gv浠诲姟", "Wcs浠诲姟鎵ц閫氱煡");
-                                        throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴攞transportTask.S_OP_CODE }鐨刟gv浠诲姟");
+                                        throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴攞transportTask.S_OP_CODE}鐨刟gv浠诲姟");
                                     }
                                     var workFlow = TaskHelper.selectWorkFlowByType(agvTask.N_TYPE.ToString(), agvTask.TOOLSTYPE);
-                                  
-                                        if (workFlow == null)
-                                        {
-                                            LogHelper.Info($"RFID鏍¢獙澶辫触锛屾病鎵惧埌瀵瑰簲浣滀笟娴佺▼", "Wcs浠诲姟鎵ц閫氱煡");
-                                            throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴斾綔涓氭祦绋�);
-                                        }
+
+                                    if (workFlow == null)
+                                    {
+                                        LogHelper.Info($"RFID鏍¢獙澶辫触锛屾病鎵惧埌瀵瑰簲浣滀笟娴佺▼", "Wcs浠诲姟鎵ц閫氱煡");
+                                        throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴斾綔涓氭祦绋�);
+                                    }
                                     //鏌ユ壘缁堢偣
                                     var endList = LocationHelper.GetAllLocList1(workFlow.ERRORAREA);
 
                                     //var end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ERRORAREA,workFlow.ROADWAY);
-                                    var  end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA);
+                                    var end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA);
                                     LogHelper.Info($"RFID鏍¢獙澶辫触涓嬪彂寮傚父缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Wcs浠诲姟鎵ц閫氱煡");
 
 
@@ -709,12 +715,16 @@
                                     agvTask.S_TYPE = workFlow.FLOWNAME;
 
                                     newDb.BeginTran();
-                                    var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_END_LOC,it.S_END_AREA,it.S_TYPE,it.S_B_STATE, it.S_START_AREA_NAME, it.S_END_AREA_NAME }).ExecuteCommand();
+                                    var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA, it.S_END_LOC, it.S_END_AREA, it.S_TYPE, it.S_B_STATE, it.S_START_AREA_NAME, it.S_END_AREA_NAME }).ExecuteCommand();
                                     if (I == 0)
                                     {
                                         throw new Exception("淇敼浠诲姟琛ㄥけ璐�);
                                     }
                                     newDb.CommitTran();
+                                }
+                                else {
+                                    LogHelper.Info($"RFID鏍¢獙澶辫触锛岄�鐭cs鍙栨秷浠诲姟澶辫触", "Wcs浠诲姟鎵ц閫氱煡");
+                                    throw new Exception($"RFID鏍¢獙澶辫触锛岄�鐭cs鍙栨秷浠诲姟澶辫触");
                                 }
                             }
                             newDb.BeginTran();
@@ -734,11 +744,6 @@
 
                     //7鍙栨秷
                     case "7":
-                        if (transportTask.S_B_STATE=="瀹屾垚")
-                        {
-                            throw new Exception($"{transportTask}浠诲姟宸插畬鎴愶紝涓嶅厑璁稿彇娑�);
-                        }
-
                         LogHelper.Info($"浠诲姟鍙穥transportTask.S_CODE},鍙栨秷浠诲姟鎴愬姛", "Wcs浠诲姟鎵ц閫氱煡");
                         TaskHelper.Fail(transportTask);
                         TaskProcess.OperateStatus(transportTask, 7);
@@ -770,11 +775,13 @@
             }
             catch (Exception ex)
             {
-                newDb.RollbackTran();
+               
+
+                LogHelper.Info("Wcs浠诲姟鎵ц閫氱煡寮傚父" + ex.Message, "Wcs浠诲姟鎵ц閫氱煡");
                 result.msg = "Wcs浠诲姟鎵ц閫氱煡寮傚父";
                 result.code = "1";
                 result.requestPk = model.requestPk;
-                LogHelper.Info("Wcs浠诲姟鎵ц閫氱煡寮傚父" + ex.Message, "Wcs浠诲姟鎵ц閫氱煡");
+                newDb.RollbackTran();
                 return result;
             }
             return result;
@@ -1019,7 +1026,14 @@
                     else {
                         bit = mst.S_END_LOC;
                     }
-                   
+
+                    //閫�簱鍙栨秷鍙慳gv璧风偣
+                    if (LocationHelper.GetErroArea(mst.S_END_AREA))
+                    {
+                        bit = mst.S_START_LOC;
+                    }
+
+
                     Meshod = "AgvRequestCancel";
                     break;
             }
@@ -1208,8 +1222,11 @@
                             var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv");
                             if (agvTask != null)
                             {
+                                if (agvTask.S_B_STATE!="鏈墽琛�)
+                                {
+                                    NDCApi.CancelOrder(agvTask.S_CODE.Trim());
+                                }
                                 TaskHelper.Fail(agvTask);
-                                NDCApi.CancelOrder(agvTask.S_CODE.Trim());
                                 TaskProcess.CacheBitCancelUpdate(agvTask);
                             }
                         }
@@ -1248,8 +1265,10 @@
                         }
                     }
 
-                       
-
+                        result.msg = "Wcs鏀捐揣鏈夎揣/鍙栬揣鏃犺揣澶勭悊鎴愬姛";
+                        result.code = "0";
+                        result.requestPk = model.requestPk;
+                        return result;
                     }
                     catch (Exception ex)
                     {
@@ -1272,7 +1291,6 @@
             public static WcsWarningReurn agvResponse(agvResponseParme model) {
             var result = new WcsWarningReurn();
             var newDb = new SqlHelper<object>().GetInstance();
-
             try
             {
                 newDb.BeginTran();
@@ -1308,8 +1326,6 @@
                 return result;
             }
         }
-        
-
     }
     
     

--
Gitblit v1.9.1