using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using WIDESEA_Comm.MES_Info; using WIDESEA_Comm.MES_Info.Request; using WIDESEA_Common; using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.ToAGV; using static WIDESEA_Comm.MES_Info.BasicSN; namespace WIDESEA_WMS.Common.AGVTask { public class HandleTask_Mes { public void UploadMESInfo(dt_agvtask task) { try { object obj = new object(); //上传MES数据 string ActionName = ""; //调用MES方法名 List list = new List(); //车轮信息 if (task == null) { throw new Exception("无任务数据"); } foreach (var item in task.bindSN.Split(",")) { detail detail = new detail(); detail.sn = item; list.Add(detail); } if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString()) { agvOutWarehousePara outWarehousePara = new agvOutWarehousePara() { JobID = task.jobID, details = list }; obj = outWarehousePara; ActionName = "agvOutWarehouse"; } else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString()) { agvInWarehousePara inWarehousePara = new agvInWarehousePara() { details = list, JobID = task.jobID, layerNo = 1, stackID = task.agv_barcode, warehouseName = "Agv库", zoneID = task.agv_toaddress, }; obj = inWarehousePara; ActionName = "agvInWarehouse"; } else if (task.agv_tasktype == "Transfer") //移库区分 库内移库/外协移库 { agvMoveWarehousePara moveWarehousePara = new agvMoveWarehousePara() { details = list, fromLayerNo = "1", fromStackID = "", fromWarehouseName = "Agv库", fromZoneID = task.agv_fromaddress, toLayerNo = "1", toStackID = "", toWarehouseName = "Agv库", toZoneID = task.agv_toaddress, }; obj = moveWarehousePara; ActionName = "agvMoveWarehouse"; } //else if (task.agv_tasktype == "Transfer") //{ //} var postJson = JsonConvert.SerializeObject(obj); string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName); var requestMes = JsonConvert.DeserializeObject(mesData); if (requestMes.code == "200" && requestMes.Type == "success") { //日志记录上传数据成功 } } catch (Exception ex) { throw new Exception(ex.Message); } } } }