From cb62fe00ff0c80bce983b0aa7a2b320fdc26f85f Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期一, 20 五月 2024 08:51:03 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/SuZhouGuanHong/TaiYuanTaiZhong
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs | 155 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 109 insertions(+), 46 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..dddca41 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
@@ -18,110 +24,167 @@
/// </summary>
/// <param name="task"></param>
/// <exception cref="Exception"></exception>
- public static void UploadMESInfo(dt_agvtask task)
+ 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(","))
+ VOLContext context = new VOLContext();
+ IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context);
+ if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() /*|| task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.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() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
- {
- //agvOutWarehousePara outWarehousePara = new agvOutWarehousePara()
- //{
- // JobID = task.jobID,
- // processCode=task.agv_worktype.ToString(),
- // details = list
- //};
+ 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(","))
+ {
+ //var work = workinfoRepository.Find(x => x.SN == item && x.processCode == "28").FirstOrDefault();
+ detail detail = new detail();
+ detail.sn = item;
+ detail.jobID = task.jobID;
+ detail.processCode = task.agv_worktype.ToString();
+ list.Add(detail);
+ }
+ }
+
agvInWarehousePara outWarehousePara = new agvInWarehousePara()
{
+ WorkOrder = task.jobID,
+ zoneID = task.agv_fromaddress,
+ //processCode = task.agv_worktype.ToString(),
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() /*|| task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.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,
+ //processCode = task.agv_worktype.ToString(),
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())// 澶栧崗绉诲簱
+ //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
{
- 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";
+ 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