From b928a2f0011fc867d7d219cfff4b764250f5b778 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 09 七月 2025 17:03:08 +0800
Subject: [PATCH] 修复查交互表更新终点的流程,添加绑定货位写入物料明细表

---
 dispatch/GZRobot.cs |   66 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 8 deletions(-)

diff --git a/dispatch/GZRobot.cs b/dispatch/GZRobot.cs
index 465007f..4fffff2 100644
--- a/dispatch/GZRobot.cs
+++ b/dispatch/GZRobot.cs
@@ -1,11 +1,17 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.IdentityModel.Protocols.WSTrust;
+using System.Linq;
+using System.Security.Policy;
 using System.Threading.Tasks;
-using HH.WCS.Mobox3.AnGang.util;
+
 using HH.WCS.Mobox3.AnGang.core;
 using HH.WCS.Mobox3.AnGang.models;
+using HH.WCS.Mobox3.AnGang.util;
+
 using Newtonsoft.Json;
+
+using static System.Net.WebRequestMethods;
 using static HH.WCS.Mobox3.AnGang.api.ApiModel;
 
 namespace HH.WCS.Mobox3.AnGang.dispatch {
@@ -26,7 +32,7 @@
             var result = apiHelper.Post(baseUrl + "api/engine/tasks/iostates/", JsonConvert.SerializeObject(data));
             var dataResult = JsonConvert.DeserializeObject<gzResult<IOStatesInfoResult>>(result);
         }
-
+        
         // DOC 1.	鍒涘缓璁㈠崟 WMS->RCS
         public static int CreateOrder(string taskNo, int priority, string param, string ts = "churuku", string created_user = "hanhe") {
             LogHelper.Info($"CreateOrder鍙傛暟淇℃伅:taskNo:{taskNo},priority:{priority},param:{param},ts:{ts}锛宑reated_user锛歿created_user}", "API");
@@ -41,7 +47,14 @@
             if (response != "") {
                 try {
                     var dataResult = JsonConvert.DeserializeObject<gzResult<OrderInfoResult>>(response);
-                    if (dataResult.code == 0) {
+                    // 鍘熶唬鐮侀儴鍒�+                    //if (dataResult.code == 0) {
+                    //    orderId = dataResult.data[0].in_order_id;
+                    //}
+                    // 灏婇噸鏂囨。鐨勭増鏈�+                    // 杩斿洖鍙傛暟涓紝code鐩墠涓嶅啀浣跨敤锛屽彲閫氳繃msg瀛楁鍒ゆ柇鏄惁鎴愬姛锛屽鏋渕sg涓衡�success鈥濆垯琛ㄧず鎴愬姛锛屽惁鍒欎负鎶ラ敊淇℃伅鎴栦笉瀛樺湪銆俬ttp code涓�22鏃跺�鐨勬姤閿欎负绯荤粺鎶ラ敊锛屽叾涓殑msg鏃犳硶鍏ㄩ儴鑾峰彇銆�+                    // SELFNOTE: 鐩存帴璋冪敤HttpHelper.Post鏂规硶锛屾棤娉曡幏鍙杊eader锛屾殏鏃朵笉鑰冭檻
+                    if (dataResult.msg == "success") {
                         orderId = dataResult.data[0].in_order_id;
                     }
                 }
@@ -117,7 +130,7 @@
         /// </summary>
         /// <returns></returns>
         public static GzResult orderStatusReport(orderStatusReportParme model) {
-            LogHelper.Info("RCS鍥借嚜AGV浠诲姟鐘舵�鍥炴姤锛� + JsonConvert.SerializeObject(model), "HosttoagvTask");
+            LogHelper.Info("orderStatusReport锛歊CS鍥借嚜AGV浠诲姟鐘舵�鍥炴姤锛� + JsonConvert.SerializeObject(model), "HosttoagvTask");
             GzResult result = new GzResult();
             AgvTaskState agv = new AgvTaskState();
 
@@ -133,6 +146,10 @@
                     break;
                 case "waiting":
                     agv.state = 1;
+                    break;
+                case "dispatched":
+                    //璋冨害娲捐溅锛堝紑濮嬪彇璐э級NEW ADDED
+                    agv.state = 3;
                     break;
                 case "source_finish":
                     //鍙栬揣瀹屾垚
@@ -240,7 +257,32 @@
             return list;
         }
 
-        // DOC 澶囩敤
+        /// <summary>
+        /// 鏍规嵁娌℃湁interaction_info_name锛坱ask.S_CODE锛夎幏鍙杋nteraction_info_id
+        /// </summary>
+        /// <param name="taskCode"></param>
+        /// <param name="infoId"></param>
+        /// <returns></returns>
+        public static bool TryGetInteractionInfoId(string taskCode, out int infoId) {
+            var list = QueryInteractInfo(3);
+            if (list.Count == 0) {
+                LogHelper.Info($"鏌ヤ氦浜掕〃澶辫触锛佹病鏈夎鍙栧埌浜や簰琛紒");
+                infoId = 0;
+                return false;
+            }
+            
+            var data = list.Where(i => i.interaction_info_name == taskCode).FirstOrDefault();
+            if (data == null) {
+                LogHelper.Info($"鏌ヤ氦浜掕〃澶辫触锛佹病鏈塱nteraction_info_name='{taskCode}'鐨勫�锛� + JsonConvert.SerializeObject(list));
+                infoId = 0;
+                return false;
+            }
+
+            infoId = data.interaction_info_id;
+            return true;
+        }
+
+        // DOC 6.	浜や簰琛ㄦ煡璇紙鏇存柊缁堢偣璐т綅锛�         public static bool UpdateInteractInfo(UpdateInteractInfo interactInfo) {
             string msg = "";
             var result = false;
@@ -253,21 +295,28 @@
             }
             else {
                 msg = "[guozi-UpdateInteractInfo]鏇存柊浜や簰淇℃伅澶辫触";
-                Console.WriteLine(msg);
+                //Console.WriteLine(msg);
+                LogHelper.Info(msg);
             }
             return result;
         }
 
+
         // DOC 5.	绉伴噸淇℃伅鏌ヨ
         public static List<CustomData> CustomBuf() {
             var res = new List<CustomData>();
+            
             string msg = "";
-            var result = apiHelper.Get(baseUrl + $"/api/engine/agvs/custom-buf/");
+            //var result = apiHelper.Get(baseUrl + $"/api/engine/agvs/custom-buf/", "application/json");
+            LogHelper.Info($"姝e湪璇锋眰GET: \"/api/engine/agvs/custom-buf/\"", "API");
+            var result = apiHelper.GetNew(baseUrl + $"api/engine/agvs/custom-buf/");
             if (!string.IsNullOrEmpty(result)) {
                 Console.WriteLine(result);
                 
                 try {
+                    LogHelper.Info($"绉伴噸淇℃伅锛� + result);
                     var data = JsonConvert.DeserializeObject<gzResult<CustomData>>(result);
+                    
                     if (data.data != null) {
                         res = data.data;
                     }
@@ -420,8 +469,9 @@
     public class UpdateInteractInfo
     {
         public int interaction_info_id { get; set; }
+        public string type_name { get; set; } = "GET_DST";
         public string info_status { get; set; }
-        public string return_value { get; set; }
+        public string return_value { get; set; } = "";
     }
     public class interaction_state
     {

--
Gitblit v1.9.1