From 2e2b2a3efe2a5def011834daa43d71da9b3b5d00 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期三, 03 四月 2024 10:55:57 +0800 Subject: [PATCH] 优化逻辑 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs | 127 ++++++++++++++++++++++++++++++++---------- 1 files changed, 96 insertions(+), 31 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" index 1d8a2e8..fc4e4b0 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" @@ -1,8 +1,11 @@ -锘縰sing Newtonsoft.Json; +锘縰sing Confluent.Kafka; +using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; +using WIDESEA_Comm.LogInfo; using WIDESEA_Comm.MES_Info; using WIDESEA_Comm.MES_Info.Request; using WIDESEA_Common; +using WIDESEA_Core.FreeDB; using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.ToAGV; using static WIDESEA_Comm.MES_Info.BasicSN; @@ -11,84 +14,146 @@ { public class HandleTask_Mes { - public void UploadMESInfo(dt_agvtask task) + static FreeDB FreeDB = new FreeDB(); + /// <summary> + /// 鍚慚ES鍙嶉鍑哄叆搴撲俊鎭� + /// </summary> + /// <param name="task"></param> + /// <exception cref="Exception"></exception> + public static MES_Response UploadMESInfo(dt_agvtask task) { + object obj = new object(); //涓婁紶MES鏁版嵁 + string mesData = "";//杩斿洖鏁版嵁 + string ActionName = ""; //璋冪敤MES鏂规硶鍚� + string name = ""; + MES_Response requestMes = new MES_Response(); try { - object obj = new object(); //涓婁紶MES鏁版嵁 - string ActionName = ""; //璋冪敤MES鏂规硶鍚� List<detail> list = new List<detail>(); //杞﹁疆淇℃伅 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()) + if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() /*|| task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString()*/|| task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString()) { - agvOutWarehousePara outWarehousePara = new agvOutWarehousePara() + foreach (var item in task.bindSN.Split(",")) + { + detail detail = new detail(); + detail.sn = item; + list.Add(detail); + } + agvInWarehousePara outWarehousePara = new agvInWarehousePara() { JobID = task.jobID, - details = list + zoneID = task.agv_fromaddress, + processCode = task.agv_worktype.ToString(), + details = list, + layerNo = 1, + stackID = "1", + warehouseName = "Agv搴�", }; obj = outWarehousePara; - ActionName = "agvOutWarehouse"; + ActionName = "agvOutWarehouse";//AGV->MES杞﹁疆鍑哄簱 + name = "AGV鍚屾MES杞﹁疆鍑哄簱"; } - else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString()) + else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() /*|| task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString()*/) { + foreach (var item in task.bindSN.Split(",")) + { + detail detail = new detail(); + detail.sn = item; + list.Add(detail); + } agvInWarehousePara inWarehousePara = new agvInWarehousePara() { - details = list, JobID = task.jobID, - layerNo = 1, - stackID = task.agv_barcode, - warehouseName = "Agv搴�", zoneID = task.agv_toaddress, + processCode = task.agv_worktype.ToString(), + details = list, + layerNo = 1, + stackID = "1", + warehouseName = "Agv搴�", }; obj = inWarehousePara; - ActionName = "agvInWarehouse"; + ActionName = "agvInWarehouse";//AGV->MES杞﹁疆鍏ュ簱 + name = "AGV鍚屾MES杞﹁疆鍏ュ簱"; } - else if (task.agv_tasktype == "Transfer") //绉诲簱鍖哄垎 搴撳唴绉诲簱/澶栧崗绉诲簱 + //else if (task.agv_tasktype == "Transfer") //绉诲簱鍖哄垎 搴撳唴绉诲簱 + else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString()) //绉诲簱鍖哄垎 搴撳唴绉诲簱 { + foreach (var item in task.bindSN.Split(",")) + { + detail detail = new detail(); + detail.sn = item; + list.Add(detail); + } agvMoveWarehousePara moveWarehousePara = new agvMoveWarehousePara() { + fromZoneID = task.agv_fromaddress, + toZoneID = task.agv_toaddress, details = list, fromLayerNo = "1", - fromStackID = "", + fromStackID = "1", fromWarehouseName = "Agv搴�", - fromZoneID = task.agv_fromaddress, toLayerNo = "1", - toStackID = "", + toStackID = "1", toWarehouseName = "Agv搴�", - toZoneID = task.agv_toaddress, }; obj = moveWarehousePara; - ActionName = "agvMoveWarehouse"; + ActionName = "agvMoveWarehouse";//AGV->MES杞﹁疆绉诲簱 + name = "AGV鍚屾MES杞﹁疆AB搴撶Щ搴�"; } - //else if (task.agv_tasktype == "Transfer") + //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())// 澶栧崗绉诲簱 //{ - + // var mes_head = FreeDB.Select<dt_mes_head>().Where(x => x.jobID == task.jobID).First(); + // agvTransferListPara agvTransferListPara = new agvTransferListPara() + // { + // transferListID = task.agv_tasknum, + // materialCode = mes_head.materialCode, + // details = list, + // drawingNoVer = mes_head.drawingNoVer, + // fromWarehouse = "AGV搴�", + // toWarehouse = "姣涜疆搴�", + // Operator = task.agv_userid, + // updateTime = task.agv_createtime.ToString(), + // }; + // obj = agvTransferListPara; + // ActionName = "agvTransferList"; + // name = "AGV鍚屾MES杞﹁疆绉诲簱AB搴�->BC搴�"; //} + else + { + requestMes.code = "200"; + requestMes.Type = "success"; + return requestMes; + } var postJson = JsonConvert.SerializeObject(obj); - string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName); - var requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); + mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName); + if (mesData.Contains("杩炴帴灏濊瘯澶辫触")) + throw new Exception(mesData); + requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); if (requestMes.code == "200" && requestMes.Type == "success") { //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛 + WriteWMSLog.LogAdd(task.agv_tasknum, "鎴愬姛", "MES", "WMS", JsonConvert.SerializeObject(obj), mesData, name, ActionName, requestMes.message); } + else + throw new Exception(requestMes.message); } catch (Exception ex) { - throw new Exception(ex.Message); + requestMes.message = ex.Message; + WriteWMSLog.LogAdd(task.agv_tasknum, "澶辫触", "MES", "WMS", JsonConvert.SerializeObject(obj), mesData, name, ActionName, ex.Message); } + return requestMes; + //finally + //{ + // WriteWMSLog.LogAdd(task.agv_tasknum, "澶辫触", "MES", "WMS", JsonConvert.SerializeObject(obj), mesData, name, ActionName, requestMes.message); + //} } } } -- Gitblit v1.9.3