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