From 76eef0389848065963a295c66163a630697054fa Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期日, 07 七月 2024 09:47:01 +0800
Subject: [PATCH] PDA
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs | 137 +++++++++++++++------------------------------
1 files changed, 47 insertions(+), 90 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..f7996da 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,11 @@
锘縰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.Common.AGVTask;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
@@ -31,11 +24,14 @@
Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
AGVRespone respone = new AGVRespone();
UpdateTasteInfo tasteInfo = new();
+ string remark = "AGV鍙嶉浠诲姟鐘舵�侊細";
try
{
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);
@@ -44,104 +40,65 @@
if (tasteInfo.TASK_State < 1 || tasteInfo.TASK_State > 4)
throw new Exception("鏈畾涔夌殑浠诲姟鐘舵��:" + tasteInfo.TASK_State);
var StateName = Enum.GetName(typeof(AGVTaskStateEnum), tasteInfo.TASK_State);
- if (task.agv_taskstate == StateName)
+ if (task.agv_taskstate == StateName && task.agv_taskstate != AGVTaskStateEnum.Complete1.ToString())
{
respone.success = 2;
respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State;
return respone;
}
- if (tasteInfo.TASK_State == 1)
- task.agv_executingBeginTime = DateTime.Now;
- if (tasteInfo.TASK_State == 2)
- task.agv_executingEndTime = DateTime.Now;
- if (tasteInfo.TASK_State == 3)
- task.agv_completeBeginTime = DateTime.Now;
+
+ #region 鍒ゆ柇浠诲姟鐘舵��
+ //List<string> list = new List<string>() { AGVTaskStateEnum.Executing.ToString(), AGVTaskStateEnum.Complete.ToString(), AGVTaskStateEnum.Executing1.ToString(), AGVTaskStateEnum.Complete1.ToString() };
+ //var index = list.IndexOf(task.agv_taskstate) + 1;
+ //if (tasteInfo.TASK_State < index)
+ // throw new Exception("浠诲姟鐘舵�佹洿鏂板紓甯革紒褰撳墠浠诲姟鐘舵�佷负锛�" + index + ";璇锋眰鏇存柊鐘舵�佷负锛�" + tasteInfo.TASK_State);
+ #endregion
+
task.agv_taskstate = StateName;
+ if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing)
+ {
+ remark = remark + "璧风偣鎵ц涓�";
+ task.agv_executingBeginTime = DateTime.Now;
+ }
+ else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete)
+ {
+ remark = remark + "璧风偣宸插畬鎴�";
+ HandleTask.AutoUpdateHCJState(task);
+ task.agv_executingEndTime = DateTime.Now;
+ }
+ else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1)
+ {
+ remark = remark + "缁堢偣鎵ц涓�";
+ task.agv_completeBeginTime = DateTime.Now;
+ }
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)
+ {
+ remark = remark + "缁堢偣宸插畬鎴�";
+ task.agv_finishedtime = DateTime.Now;
-
+ HandleTask.Updateinventory(task);
+ #region 鍚屾MES鍑哄叆搴撲俊鎭�
+ HandleTask_Mes.UploadMESInfo(task);
+ #endregion
+ HandleTask.AutoUpdateHCJState(task);
+ HandleTask.AddHtyTask(task);
+ }
+ respone.success = 1;
+ return respone;
}
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), remark, "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