| | |
| | | using HH.WCS.JiaTong.api; |
| | | using HH.WCS.JiaTong.core; |
| | | using HH.WCS.JiaTong.device; |
| | | using HH.WCS.JiaTong.dispatch; |
| | | using HH.WCS.JiaTong.LISTA.models; |
| | | using HH.WCS.JiaTong.LISTA.process; |
| | | using HH.WCS.JiaTong.util; |
| | | using HH.WCS.JiaTong.wms; |
| | | using HH.WCS.JiaTong_DCJ.api; |
| | | using HH.WCS.JiaTong_DCJ.core; |
| | | using HH.WCS.JiaTong_DCJ.device; |
| | | using HH.WCS.JiaTong_DCJ.dispatch; |
| | | using HH.WCS.JiaTong_DCJ.LISTA.models; |
| | | using HH.WCS.JiaTong_DCJ.LISTA.process; |
| | | using HH.WCS.JiaTong_DCJ.util; |
| | | using HH.WCS.JiaTong_DCJ.wms; |
| | | using Microsoft.Owin.BuilderProperties; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | |
| | | using System.Security.Cryptography; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | using static HH.WCS.JiaTong.api.ApiModel; |
| | | using static HH.WCS.JiaTong.LISTA.process.HttpModel; |
| | | using static HH.WCS.JiaTong_DCJ.api.ApiModel; |
| | | using static HH.WCS.JiaTong_DCJ.LISTA.process.HttpModel; |
| | | using static System.Collections.Specialized.BitVector32; |
| | | |
| | | namespace HH.WCS.JiaTong.process |
| | | namespace HH.WCS.JiaTong_DCJ.process |
| | | { |
| | | internal class TaskProcess |
| | | { |
| | |
| | | |
| | | if (TN_Task != null) |
| | | { |
| | | int type = 0; |
| | | //请æ±åè´§ï¼ |
| | | |
| | | int type = 1; |
| | | string loc = ""; |
| | | if (model.state == 1101) |
| | | { |
| | | |
| | | //请æ±åè´§ï¼ |
| | | type = 1; |
| | | loc = TN_Task.S_START_LOC; |
| | | if (name == "Mes") |
| | | { |
| | | if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | if (model.state == 1102) |
| | | { |
| | | type = 3; |
| | | if (TN_Task.Z_TYPE == 4)//åææåºå½èªå®å
¨äº¤äº |
| | | else |
| | | { |
| | | loc = TN_Task.S_START_LOC; |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | if (model.state == 1102) |
| | | { |
| | | type = 1; |
| | | loc = TN_Task.S_START_LOC; |
| | | if (name == "Mes") |
| | | { |
| | | if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | } |
| | | if (model.state == 1103) |
| | | { |
| | | //请æ±å¸è´§ |
| | | |
| | | type = 2; |
| | | loc = TN_Task.S_END_LOC; |
| | | |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | if (name == "Mes") |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | |
| | | else |
| | | { |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | } |
| | | if (model.state == 1104) |
| | | { |
| | | |
| | | type = 2; |
| | | loc = TN_Task.S_END_LOC; |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | if (name == "Mes") |
| | | { |
| | | //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) |
| | | { |
| | | //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | bool permit = false; |
| | | try |
| | | { |
| | | //RequestList<TaskAccess> requestList = new RequestList<TaskAccess>(); |
| | | LogHelper.Info($"å¼å§ç«åºå®å
¨è¯·æ±"); |
| | | Request<TaskAccess> request = new Request<TaskAccess>(); |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | |
| | | TaskAccess taskAccess = new TaskAccess() { taskNum = tasknum, orderNum = ordernum, station = station, type = type, taskStatus = taskStatus }; |
| | | // requestList.data.Add(taskAccess); |
| | | request.data = taskAccess; |
| | | HttpHelper httpHelper = new HttpHelper(); |
| | | Result result = new Result(); |
| | | string date = JsonConvert.SerializeObject(taskAccess); |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESå®å
¨äº¤äº |
| | | /// </summary> |
| | | /// <param name="url"></param> |
| | | /// <param name="tasknum"></param> |
| | | /// <param name="ordernum"></param> |
| | | /// <param name="station"></param> |
| | | /// <param name="type"></param> |
| | | /// <param name="taskStatus"></param> |
| | | public static bool OperateReqByPostMes(string url, string tasknum, string ordernum, string station, int type, int taskStatus, string name) |
| | | { |
| | | bool permit = false; |
| | | try |
| | | { |
| | | LogHelper.Info($"å¼å§meså®å
¨è¯·æ±"); |
| | | Request<MesTaskAccess> request = new Request<MesTaskAccess>(); |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | request.RequestId = "æåAGV" + time; |
| | | |
| | | StatusArrive statusArrive = new StatusArrive(); |
| | | request.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = tasknum, status = station }; |
| | | request.data = taskAccess; |
| | | HttpHelper httpHelper = new HttpHelper(); |
| | | MesResult<MesStatus> result = new MesResult<MesStatus>(); |
| | | string date = JsonConvert.SerializeObject(request); |
| | | // string url = Settings.tableUrls.Find(a => a.id == 2).url; |
| | | LogHelper.Info($"å®å
¨è¯·æ±ï¼å°å:{url}ï¼å
容ï¼{date}"); |
| | | var r = httpHelper.MesWebPost(url, date); |
| | | result = JsonConvert.DeserializeObject<MesResult<MesStatus>>(r); |
| | | if (result.icode == "200") |
| | | { |
| | | LogHelper.Info($"æ¥å£è¯·æ±æå"); |
| | | if (result.idata.status == "0") |
| | | { |
| | | LogHelper.Info($"å®å
¨äº¤äºæå"); |
| | | permit = true; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"å®å
¨è¯·æ±å¤±è´¥=>msg:{result.imsg}"); |
| | | ApiHelper.AddErrorInfo("å®å
¨äº¤äºå¤±è´¥", result.imsg, "", tasknum); |
| | | } |
| | | ApiHelper.AddInfo(name, "å®å
¨è¯·æ±", date, JsonConvert.SerializeObject(result), "Post", url); |
| | | return permit; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | return permit; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 任塿¦æª |
| | | /// </summary> |
| | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | //åæ¥æ°æ®è·å |
| | | Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | // Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | //è·åæ¶é´æ³ |
| | | |
| | | Request<MesTaskAccess> request = new Request<MesTaskAccess>(); |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | statusarrive.RequestId = "æåAGV" + time; |
| | | string info = ""; |
| | | switch (status) |
| | | { |
| | | case 1: |
| | | info = "agvå·²æ¥ååæåºä¸åçä»»å¡"; |
| | | break; |
| | | case 4: |
| | | info = "agvå·²åè´§å®æ"; |
| | | break; |
| | | case 6: |
| | | info = "agvå·²å¸è´§å°æå®ä½ç½®"; |
| | | break; |
| | | case 2: |
| | | info = "agv已宿éæä»»å¡"; |
| | | break; |
| | | } |
| | | string message = "1"; |
| | | if (status == 7) { message = "agvä»»å¡å·²åæ¶"; } |
| | | int flag = 0; |
| | | if (mst.S_NOTE == "ç²æ") |
| | | { |
| | | flag = 1; |
| | | } |
| | | //List<StatusArrive> statusArrives = new List<StatusArrive>(); |
| | | request.RequestId = "æåAGV" + time; |
| | | |
| | | StatusArrive statusArrive = new StatusArrive(); |
| | | statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | statusArrive.TaskNumber = mst.S_EQ_NO; |
| | | statusArrive.LocationNum = mst.S_END_LOC; |
| | | statusArrive.ArricalTime = DateTime.Now.ToString(); |
| | | statusArrive.Status = status.ToString(); |
| | | statusArrive.Rfid = mst.S_CNTR_CODE; |
| | | var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault(); |
| | | if (cntritem!=null) |
| | | { |
| | | statusArrive.PartNumber = cntritem.S_ITEM_CODE; |
| | | statusArrive.PartDesc = cntritem.S_ITEM_NAME; |
| | | } |
| | | request.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = mst.S_EQ_NO, status = status.ToString() }; |
| | | request.data = taskAccess; |
| | | //statusArrive.TaskNumber = mst.S_EQ_NO; |
| | | //statusArrive.LocationNum = mst.S_END_LOC; |
| | | //statusArrive.ArricalTime = DateTime.Now.ToString(); |
| | | //statusArrive.Status = status.ToString(); |
| | | //statusArrive.Rfid = mst.S_CNTR_CODE; |
| | | //var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault(); |
| | | //if (cntritem != null) |
| | | //{ |
| | | // statusArrive.PartNumber = cntritem.S_ITEM_CODE; |
| | | // statusArrive.PartDesc = cntritem.S_ITEM_NAME; |
| | | //} |
| | | //statusArrives.Add(statusArrive); |
| | | statusarrive.data = statusArrive; |
| | | |
| | | //å¼å§åæ¥ |
| | | HttpHelper httpHelper = new HttpHelper(); |
| | | MesResult result = new MesResult(); |
| | | string date = JsonConvert.SerializeObject(statusarrive); |
| | | string date = JsonConvert.SerializeObject(request); |
| | | |
| | | LogHelper.Info($"ä»»å¡åæ¥ï¼å°å:{url}ï¼å
容ï¼{date}"); |
| | | var r = httpHelper.MesWebPost(url, date); |