| | |
| | | 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> |
| | |
| | | internal static bool Intercept(WCSTask mst) |
| | | { |
| | | var result = true; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | //æ ¹æ®èµ·ç¹ä»åºç¼ç 夿æ¯å¦å¯ä»¥æ¨é |
| | | var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); |
| | | if (taskLimit != null) |
| | | { |
| | | Console.WriteLine($"ä»»å¡ï¼{mst.S_CODE},èµ·ç¹ä»åºï¼{mst.S_START_WH}å·²ç»ç¦ç¨æ¨é"); |
| | | return false; |
| | | } |
| | | //var db = new SqlHelper<object>().GetInstance(); |
| | | ////æ ¹æ®èµ·ç¹ä»åºç¼ç 夿æ¯å¦å¯ä»¥æ¨é |
| | | //var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); |
| | | //if (taskLimit != null) |
| | | //{ |
| | | // Console.WriteLine($"ä»»å¡ï¼{mst.S_CODE},èµ·ç¹ä»åºï¼{mst.S_START_WH}å·²ç»ç¦ç¨æ¨é"); |
| | | // return false; |
| | | //} |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | var list = db.Queryable<Location>().ToList().Count; |
| | | |
| | | // if (mst.N_B_STATE == 0) { |
| | | if (mst.N_SCHEDULE_TYPE == 1) |
| | | |
| | | LogHelper.Info($"任塿¨éæ°æ®ï¼{JsonConvert.SerializeObject(mst)}"); |
| | | if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) |
| | | { |
| | | LogHelper.Info($"任塿¨éæ°æ®ï¼{JsonConvert.SerializeObject(mst)}"); |
| | | if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) |
| | | { |
| | | LogHelper.Info($"ä»»å¡{mst.S_CODE},èµ·ç¹ç»ç¹æç©ºåæ°ï¼ä¸æ¨éä»»å¡"); |
| | | } |
| | | |
| | | |
| | | start = LocationHelper.GetAgvSite(mst.S_START_LOC); |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC); |
| | | //if (mst.N_START_LAYER > 1) |
| | | //{ |
| | | // start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString(); |
| | | //} |
| | | if (mst.N_END_LAYER > 1) |
| | | { |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString(); |
| | | LogHelper.Info($"任塿¨éï¼ç»ç¹å±æ°ä¸º{mst.N_END_LAYER}ï¼æ¨éç«ç¹ä¸º:{end}"); |
| | | } |
| | | Console.WriteLine($"SendTask {mst.S_CODE}"); |
| | | Console.WriteLine("start=" + start); |
| | | Console.WriteLine("end= " + end); |
| | | var dic = new List<param>(); |
| | | dic.Add(new param() { name = "From", value = start.ToString() }); |
| | | dic.Add(new param() { name = "To", value = end.ToString() }); |
| | | dic.Add(new param() { name = "FUNC", value = "0" }); |
| | | dic.Add(new param() { name = "DATA", value = "0" }); |
| | | dic.Add(new param() { name = "Ctype", value = "0" }); |
| | | |
| | | |
| | | var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//æ·»å æ°å½ä»¤ |
| | | //dic.Add("Pri", mst.N_PRIORITY.ToString()); |
| | | //dic.Add("From", start.ToString()); |
| | | //dic.Add("To", end.ToString()); |
| | | //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); |
| | | //var res = NDC.AddNewOrder(1, dic); |
| | | |
| | | |
| | | |
| | | if (res != null && (res.err_code == 0 || res.err_code == 50009)) |
| | | { |
| | | //æ¨éæåï¼ä¿®æ¹ä»»å¡ä¼å
级 |
| | | mst.N_B_STATE = 1; |
| | | mst.S_B_STATE = WCSTask.GetStateStr(1); |
| | | WCSHelper.UpdateStatus(mst);//æ´æ°ä»»å¡ç¶æ |
| | | result = true; |
| | | LogHelper.Info($"NDCæ¨é任塿å {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); |
| | | if (mst.S_TYPE.Contains("çµæ¢¯1")) |
| | | { |
| | | var device = Settings.deviceInfos.Where(a => a.TN_Location == mst.S_END_LOC).FirstOrDefault(); |
| | | var loc = LocationHelper.GetLocByLoc(mst.S_START_LOC); |
| | | if (device == null) |
| | | { |
| | | LogHelper.Info($"æ ¹æ®ä»»å¡ç»ç¹:{mst.S_END_LOC},æªæ¾å°å¯¹åºçµæ¢¯é
ç½®æä»¶"); |
| | | } |
| | | if (loc == null) |
| | | { |
| | | LogHelper.Info($"æ ¹æ®ä»»å¡èµ·ç¹:{mst.S_START_LOC},æªæ¾å°å¯¹åºè´§ä½"); |
| | | } |
| | | int value = 0; |
| | | if (loc.N_LAYER == 1) value = 1; |
| | | else if (loc.N_LAYER == 2) value = 3; |
| | | else if (loc.N_LAYER == 3) value = 5; |
| | | |
| | | ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); |
| | | ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); |
| | | |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"NDCæ¨éä»»å¡å¤±è´¥ {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); |
| | | } |
| | | LogHelper.Info($"ä»»å¡{mst.S_CODE},èµ·ç¹ç»ç¹æç©ºåæ°ï¼ä¸æ¨éä»»å¡"); |
| | | } |
| | | //else if (mst.N_SCHEDULE_TYPE == 5) { |
| | | // //è°ç¬¬ä¸æ¹æ¥å£ |
| | | // var model = new HanAo.TaskInfoModel |
| | | // { |
| | | // requestPk = mst.S_CODE, |
| | | // frmPos = mst.S_START_LOC, |
| | | // toPos = mst.S_END_LOC, |
| | | // trkType = mst.S_OP_NAME == "å
¥åº" ? "1" : "2", |
| | | // contNo = mst.S_CNTR_CODE |
| | | // }; |
| | | // if (HanAo.CreateOrder(model)) { |
| | | // mst.N_B_STATE = 1; |
| | | // WCSHelper.UpdateStatus(mst); |
| | | // } |
| | | //} |
| | | //else if (mst.N_SCHEDULE_TYPE == 3) { |
| | | // var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p"); |
| | | // if (code > 0) { |
| | | // //æ´æ°ä»»å¡ç¶æ |
| | | // mst.N_B_STATE = 1; |
| | | // mst.S_EQ_TASK_CODE = code.ToString(); |
| | | // WCSHelper.UpdateStatus(mst); |
| | | // WCSHelper.UpdateEQNo(mst); |
| | | |
| | | // } |
| | | //} |
| | | |
| | | // } |
| | | start = LocationHelper.GetAgvSite(mst.S_START_LOC); |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC); |
| | | //if (mst.N_START_LAYER > 1) |
| | | //{ |
| | | // start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString(); |
| | | //} |
| | | if (mst.N_END_LAYER > 1) |
| | | { |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString(); |
| | | LogHelper.Info($"任塿¨éï¼ç»ç¹å±æ°ä¸º{mst.N_END_LAYER}ï¼æ¨éç«ç¹ä¸º:{end}"); |
| | | } |
| | | Console.WriteLine($"SendTask {mst.S_CODE}"); |
| | | Console.WriteLine("start=" + start); |
| | | Console.WriteLine("end= " + end); |
| | | var dic = new List<param>(); |
| | | dic.Add(new param() { name = "From", value = start.ToString() }); |
| | | dic.Add(new param() { name = "To", value = end.ToString() }); |
| | | dic.Add(new param() { name = "FUNC", value = "0" }); |
| | | dic.Add(new param() { name = "DATA", value = "0" }); |
| | | dic.Add(new param() { name = "Ctype", value = "0" }); |
| | | |
| | | |
| | | var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//æ·»å æ°å½ä»¤ |
| | | //dic.Add("Pri", mst.N_PRIORITY.ToString()); |
| | | //dic.Add("From", start.ToString()); |
| | | //dic.Add("To", end.ToString()); |
| | | //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); |
| | | //var res = NDC.AddNewOrder(1, dic); |
| | | |
| | | |
| | | |
| | | if (res != null && (res.err_code == 0 || res.err_code == 50009)) |
| | | { |
| | | //æ¨éæåï¼ä¿®æ¹ä»»å¡ä¼å
级 |
| | | mst.N_B_STATE = 1; |
| | | mst.S_B_STATE = WCSTask.GetStateStr(1); |
| | | WCSHelper.UpdateStatus(mst);//æ´æ°ä»»å¡ç¶æ |
| | | result = true; |
| | | LogHelper.Info($"NDCæ¨é任塿å {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); |
| | | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"NDCæ¨éä»»å¡å¤±è´¥ {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); |
| | | } |
| | | |
| | | |
| | | return result; |
| | | } |
| | | /// <summary> |
| | |
| | | try |
| | | { |
| | | //åæ¥æ°æ®è·å |
| | | Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | // Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | //è·åæ¶é´æ³ |
| | | 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>(); |
| | | StatusArrive statusArrive = new StatusArrive(); |
| | | statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | statusArrive.TaskNumber = mst.S_EQ_NO; |
| | | statusArrive.LocationNum = mst.S_END_LOC; |
| | | statusArrive.Time = DateTime.Now.ToString(); |
| | | statusArrive.Status = status.ToString(); |
| | | statusArrive.Rfid = mst.S_CNTR_CODE; |
| | | statusArrive.Flag = flag; |
| | | statusArrive.Info = info; |
| | | statusArrive.Message = message; |
| | | |
| | | 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 = 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); |