From a765da90e5ee63e04d2d8460a5ad1ebd0e8eb4db Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期一, 15 七月 2024 21:43:59 +0800 Subject: [PATCH] 工单处理 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs | 131 ++++++++++++++++++++++++++----------------- 1 files changed, 79 insertions(+), 52 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 69994bc..d66700d 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,11 +1,17 @@ -锘縰sing Newtonsoft.Json; +锘縰sing Confluent.Kafka; +using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; +using OfficeOpenXml.FormulaParsing.Excel.Operators; +using WIDESEA_Comm.LogInfo; using WIDESEA_Comm.MES_Info; using WIDESEA_Comm.MES_Info.Request; using WIDESEA_Common; +using WIDESEA_Core.EFDbContext; using WIDESEA_Core.FreeDB; using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.ToAGV; +using WIDESEA_WMS.IRepositories; +using WIDESEA_WMS.Repositories; using static WIDESEA_Comm.MES_Info.BasicSN; namespace WIDESEA_WMS.Common.AGVTask @@ -20,107 +26,128 @@ /// <exception cref="Exception"></exception> public static void UploadMESInfo(dt_agvtask task) { + object obj = new object(); //涓婁紶MES鏁版嵁 + 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(",")) + VOLContext context = new VOLContext(); + IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); + Idt_info_to_mesRepository mesRepository = new dt_info_to_mesRepository(context); + if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString()) { - detail detail = new detail(); - detail.sn = item; - list.Add(detail); - } + if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString()) + { + foreach (var item in task.bindSN.Split(",")) + { + var work = workinfoRepository.Find(x => x.SN == item && x.processCode == task.agv_worktype.ToString()).FirstOrDefault(); + detail detail = new detail(); + detail.sn = item; + detail.jobID = work.jobID; + detail.processCode = work.processCode; + list.Add(detail); + } + } + else + { + foreach (var item in task.bindSN.Split(",")) + { + detail detail = new detail(); + detail.sn = item; + detail.jobID = task.jobID; + detail.processCode = task.agv_worktype.ToString(); + 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, - // processCode=task.agv_worktype.ToString(), - // details = list - //}; agvInWarehousePara outWarehousePara = new agvInWarehousePara() { + WorkOrder = task.jobID, + zoneID = task.agv_fromaddress, details = list, - JobID = task.jobID, - processCode = task.agv_worktype.ToString(), layerNo = 1, stackID = "1", warehouseName = "Agv搴�", - zoneID = task.agv_fromaddress, + Operator = "AGV鑷姩", }; obj = outWarehousePara; 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()) { + foreach (var item in task.bindSN.Split(",")) + { + var work = workinfoRepository.Find(x => x.SN == item && x.processCode == task.agv_worktype.ToString()).FirstOrDefault(); + detail detail = new detail(); + detail.sn = item; + detail.jobID = work.jobID; + detail.processCode = work.processCode; + list.Add(detail); + } agvInWarehousePara inWarehousePara = new agvInWarehousePara() { + WorkOrder = task.jobID, + zoneID = task.agv_toaddress, details = list, - JobID = task.jobID, - processCode = task.agv_worktype.ToString(), layerNo = 1, stackID = "1", warehouseName = "Agv搴�", - zoneID = task.agv_toaddress, + Operator = "AGV鑷姩", }; obj = inWarehousePara; ActionName = "agvInWarehouse";//AGV->MES杞﹁疆鍏ュ簱 + name = "AGV鍚屾MES杞﹁疆鍏ュ簱"; } - //else if (task.agv_tasktype == "Transfer") //绉诲簱鍖哄垎 搴撳唴绉诲簱 else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString()) //绉诲簱鍖哄垎 搴撳唴绉诲簱 { + List<detail1> list1 = new List<detail1>(); //杞﹁疆淇℃伅 + foreach (var item in task.bindSN.Split(",")) + { + detail1 detail = new detail1(); + detail.sn = item; + list1.Add(detail); + } agvMoveWarehousePara moveWarehousePara = new agvMoveWarehousePara() { - details = list, + fromZoneID = task.agv_fromaddress, + toZoneID = task.agv_toaddress, + details = list1, fromLayerNo = "1", fromStackID = "1", fromWarehouseName = "Agv搴�", - fromZoneID = task.agv_fromaddress, toLayerNo = "1", toStackID = "1", toWarehouseName = "Agv搴�", - toZoneID = task.agv_toaddress, + Operator = "AGV鑷姩", }; obj = moveWarehousePara; ActionName = "agvMoveWarehouse";//AGV->MES杞﹁疆绉诲簱 + name = "AGV鍚屾MES杞﹁疆AB搴撶Щ搴�"; } - 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() - { - details = list, - transferListID = task.agv_tasknum, - materialCode = mes_head.materialCode, - drawingNoVer = mes_head.drawingNoVer, - fromWarehouse = "AGV搴�", - toWarehouse = "姣涜疆搴�", - Operator = task.agv_userid, - updateTime = task.agv_createtime - }; - obj = agvTransferListPara; - ActionName = "agvTransferList"; - } - var postJson = JsonConvert.SerializeObject(obj); - string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName); - var requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); - - if (requestMes.code == "200" && requestMes.Type == "success") + if (!string.IsNullOrEmpty(ActionName)) { - //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛 + dt_info_to_mes info_To_Mes = new dt_info_to_mes() + { + Info = postJson, + ActionName = ActionName, + Createtime = DateTime.Now, + Remark = name, + State = false + }; + mesRepository.Add(info_To_Mes, true); } - } catch (Exception ex) { - throw new Exception(ex.Message); + } } } -- Gitblit v1.9.3