From 50fd5cc9cfad08714c4daa6d481c5293ff2ae6b1 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 31 一月 2024 18:55:28 +0800
Subject: [PATCH] 逻辑完善

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs |  103 ++++++++-------------------------------------------
 1 files changed, 16 insertions(+), 87 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
index a090f04..1a470f2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
@@ -1,18 +1,10 @@
 锘縰sing Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Security.Policy;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml.Linq;
 using WIDESEA_Comm.LogInfo;
 using WIDESEA_Common;
 using WIDESEA_Core.EFDbContext;
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_Entity.ToAGV;
+using WIDESEA_WMS.Common;
 using WIDESEA_WMS.IRepositories;
 using WIDESEA_WMS.Repositories;
 
@@ -36,6 +28,8 @@
                 if (string.IsNullOrEmpty(json) || json == "null")
                     throw new Exception("鏈幏鍙栧埌璇锋眰鍙傛暟鏁版嵁");
                 tasteInfo = JsonConvert.DeserializeObject<UpdateTasteInfo>(json);
+                if (tasteInfo == null)
+                    throw new Exception("璇锋眰鍙傛暟鏍煎紡涓嶅锛�");
                 if (string.IsNullOrEmpty(tasteInfo.TASK_NO))
                     throw new Exception("鏈幏鍙栧埌浠诲姟鍙�!");
                 var task = repository.FindFirst(x => x.agv_tasknum == tasteInfo.TASK_NO);
@@ -50,98 +44,33 @@
                     respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State;
                     return respone;
                 }
-                if (tasteInfo.TASK_State == 1)
+                if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing)
                     task.agv_executingBeginTime = DateTime.Now;
-                if (tasteInfo.TASK_State == 2)
+                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete)
                     task.agv_executingEndTime = DateTime.Now;
-                if (tasteInfo.TASK_State == 3)
+                else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1)
                     task.agv_completeBeginTime = DateTime.Now;
                 task.agv_taskstate = StateName;
                 var count = repository.Update(task, true);
                 if (count < 1)
                     throw new Exception("浠诲姟鐘舵�佹洿鏂板け璐ワ紒浠诲姟ID锛�" + tasteInfo.TASK_NO + "锛涗换鍔$姸鎬侊細" + tasteInfo.TASK_State);
-                if (tasteInfo.TASK_State == 4)
-                    Task.AddHtyTask(task);
-
-
+                if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1)
+                {
+                    HandleTask.AddHtyTask(task);
+                    HandleTask.Updateinventory(task);
+                    HandleTask.AutoUpdateHCJState(task);
+                }
             }
             catch (Exception ex)
             {
                 respone.success = 3;
                 respone.Message = ex.Message;
             }
-            WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message);
+            finally
+            {
+                WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message);
+            }
             return respone;
-        }
-
-        /// <summary>
-        /// 涓嬪彂AGV浠诲姟
-        /// </summary>
-        /// <param name="agvtask"></param>
-        public static void SendAGVTask(dt_agvtask agvtask)
-        {
-            if (agvtask == null) return;
-            VOLContext context = new VOLContext();
-            Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
-            AGVRespone respone = new AGVRespone();
-            RequestTask requestTask = new RequestTask();
-            string postJson = string.Empty;
-            string report = string.Empty;
-            try
-            {
-                requestTask.TASK_NO = agvtask.agv_tasknum;
-                requestTask.FROM_POSITION = agvtask.agv_fromaddress;
-                requestTask.TO_POSITION = agvtask.agv_toaddress;
-                requestTask.Material = agvtask.agv_materielid;
-                requestTask.Priority = agvtask.agv_grade;
-                postJson = JsonConvert.SerializeObject(requestTask);
-                report = RequestData(postJson);
-                respone = JsonConvert.DeserializeObject<AGVRespone>(report);
-                if (respone.success != 1)
-                    throw new Exception(respone.Message);
-                agvtask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
-                agvtask.agv_realesstime = DateTime.Now;
-                repository.Update(agvtask, true);
-            }
-            catch (Exception ex)
-            {
-                respone.Message = ex.Message;
-            }
-            WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Message);
-        }
-
-        /// <summary>
-        /// post璇锋眰
-        /// </summary>
-        /// <param name="postData">鍙傛暟</param>
-        /// <param name="address">璺緞</param>
-        /// <returns></returns>
-        public static string RequestData(string postData, string address = "")
-        {
-            string reponse = string.Empty;
-            try
-            {
-                //string tmp = "";
-                //if (null != postData)
-                //    tmp = JsonConvert.SerializeObject(postData);
-                byte[] param = Encoding.UTF8.GetBytes(postData);
-                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
-                request.Method = "POST";
-                request.ContentType = "application/json";
-                request.GetRequestStream().Write(param, 0, param.Length);
-                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
-                {
-                    Stream stream = response.GetResponseStream();
-                    StreamReader streamReader = new StreamReader(stream);
-                    string webResponse = streamReader.ReadToEnd();
-                    reponse = webResponse;
-                }
-            }
-            catch (Exception ex)
-            {
-                reponse = ex.Message;
-            }
-            return reponse;
         }
     }
 }

--
Gitblit v1.9.3