diff --git a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs index f8f4622..d587d4b 100644 --- a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs +++ b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs @@ -386,6 +386,7 @@ namespace Khd.Core.Wcs.Wcs var TargetFloor = dbContext.WmsBaseWarehouse.Where(t => t.warehouseId == warehouseId).FirstOrDefault(); if (TargetFloor != null) { + BaseEquip baseEquip1 = dbContext.BaseEquip.First(t => t.objid == TargetFloor.warehouseFloor); //插入task表 var dic = StaticData.BaseDictionary.Where(t => t.dicKey == "TaskType" && t.agvType == "I" && t.dicField == TargetFloor.warehouseInstockType).FirstOrDefault(); @@ -407,7 +408,8 @@ namespace Khd.Core.Wcs.Wcs nextPointId = T01, nextPointNo = "TSJ_01", ud1 = 20, - endPointId = warehouseId, + endPointId = baseEquip1.objid, + endPointNo=baseEquip1.equipNo, fromFloorNo = 1, floorNo = TargetFloor.warehouseFloor, useFlag = 1, @@ -509,11 +511,13 @@ namespace Khd.Core.Wcs.Wcs { using var scope = _host.Services.CreateScope(); using var dbContext = scope.ServiceProvider.GetRequiredService(); + List Outtpyes = new();//有问题的楼层任务 while (true) { using var transaction = dbContext.Database.BeginTransaction(); try { + Outtpyes.Clear(); var mesCloseValue = StaticData.PlcDic[0].Read(this.mesClose.plcpointAddress); //MES关闭状态 读 var serialno06Value = StaticData.PlcDic[0].Read(this.serialno06.plcpointAddress); //提升机流水号 读 var equipstate06Value = StaticData.PlcDic[0].Read(this.equipstate06.plcpointAddress); //提升机状态 读 @@ -535,6 +539,7 @@ namespace Khd.Core.Wcs.Wcs .OrderBy(t => t.ud1).OrderBy(t => t.createTime).ToList(); foreach (var wcsTask in wcsTasks) { + Outtpyes.Add(wcsTask.floorNo.Value); if (wcsTask.taskType == StaticTaskType.SecondTransitToLift && !string.IsNullOrEmpty(wcsTask.containerNo)) { var mesBasePalletInfo = dbContext.MesBasePalletInfo @@ -782,6 +787,7 @@ namespace Khd.Core.Wcs.Wcs transaction.Commit(); } } + Outtpyes.Clear(); break; } else @@ -800,7 +806,14 @@ namespace Khd.Core.Wcs.Wcs continue; } } - SystemData.DeleteWaringLog(dbContext, WaringType.提升机任务下发异常); + if (Outtpyes.Count > 0) + { + SystemData.InsertWaringLog(dbContext, WaringType.提升机任务下发异常, Outtpyes.ToJsonString()); + } + else + { + SystemData.DeleteWaringLog(dbContext, WaringType.提升机任务下发异常); + } } catch (Exception ex) { diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs index 1ed6975..95dd526 100644 --- a/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs +++ b/src/Khd.Core.Wcs/Wcs/FiveFloorAGV.cs @@ -129,8 +129,12 @@ namespace Khd.Core.Wcs.Wcs } } + else + { + continue; + } } - else if (item.taskType == StaticTaskType.FiveStockReturnTask)//出库任务 + else if (item.taskType == StaticTaskType.FiveStockReturnTask)//退库任务 { BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 5); if (lineEquip.equipStatus == 0) @@ -188,6 +192,10 @@ namespace Khd.Core.Wcs.Wcs } } + else + { + continue; + } } else if (item.taskType == StaticTaskType.FiveRawToBack)//原材料到背板安装 { diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs index b22c3aa..9e6ca83 100644 --- a/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs +++ b/src/Khd.Core.Wcs/Wcs/SecondFloorAGV.cs @@ -246,10 +246,12 @@ namespace Khd.Core.Wcs.Wcs else if (item.taskType == StaticTaskType.SecondTransitToLift)//周转位-提升机 { var startPoint = StaticData.BaseEquip.First(t => t.objid == item.currPointId); - var agvTask = new RequestAGVTaskDto + if (lineEquip.equipStatus == 0) { - reqCode = StaticData.SnowId.NextId().ToString(), - positionCodePath = new List + var agvTask = new RequestAGVTaskDto + { + reqCode = StaticData.SnowId.NextId().ToString(), + positionCodePath = new List { new () { @@ -262,25 +264,30 @@ namespace Khd.Core.Wcs.Wcs type="00" } }, - taskTyp = baseDictionary.dicValue, - ctnrTyp = "2", - }; - string message = JsonConvert.SerializeObject(agvTask); - string result = HttpHelper.SendPostMessage(baseEquip.serverIp, baseEquip.serverPort.Value, "rcms/services/rest/hikRpcService/genAgvSchedulingTask", message); - var reponseMessage = JsonConvert.DeserializeObject(result); - if (reponseMessage != null && reponseMessage.message == "成功") - { - _logger.Info("二楼AGV线程下发任务" + agvTask.ToJsonString() + "\n" + message); - Console.WriteLine(DateTime.Now + ":二楼AGV线程下发任务" + item.currPointNo + "," + item.endPointNo); - item.taskCode = reponseMessage.data; - item.taskStatus = 1; - dbContext.Update(item); - dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 1 }); - dbContext.SaveChanges(); + taskTyp = baseDictionary.dicValue, + ctnrTyp = "2", + }; + string message = JsonConvert.SerializeObject(agvTask); + string result = HttpHelper.SendPostMessage(baseEquip.serverIp, baseEquip.serverPort.Value, "rcms/services/rest/hikRpcService/genAgvSchedulingTask", message); + var reponseMessage = JsonConvert.DeserializeObject(result); + if (reponseMessage != null && reponseMessage.message == "成功") + { + _logger.Info("二楼AGV线程下发任务" + agvTask.ToJsonString() + "\n" + message); + Console.WriteLine(DateTime.Now + ":二楼AGV线程下发任务" + item.currPointNo + "," + item.endPointNo); + item.taskCode = reponseMessage.data; + item.taskStatus = 1; + dbContext.Update(item); + dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 1 }); + dbContext.SaveChanges(); + } + else + { + _logger.Info("2楼Agv下发任务失败" + item.taskType + result); + } } else { - _logger.Info("2楼Agv下发任务失败" + item.taskType + result); + continue; } } else if (item.taskType == StaticTaskType.SecondStorageToLift)//库位-提升机 @@ -328,6 +335,10 @@ namespace Khd.Core.Wcs.Wcs _logger.Info("五楼Agv下发任务失败" + item.taskType + result); } } + else + { + continue; + } } else if (item.taskType == StaticTaskType.SecondRemove)//2F移库 { diff --git a/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs b/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs index e1a0177..654eeb2 100644 --- a/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs +++ b/src/Khd.Core.Wcs/Wcs/ThirdFloorAGV.cs @@ -471,6 +471,10 @@ namespace Khd.Core.Wcs.Wcs _logger.Info("三楼Agv下发任务失败" + item.taskType + result); } } + else + { + continue; + } } else if (item.taskType == StaticTaskType.ThirdTransitToSecond)//三楼空托盘转运到二楼 { @@ -518,6 +522,10 @@ namespace Khd.Core.Wcs.Wcs _logger.Info("三楼Agv下发任务失败" + item.taskType + result); } } + else + { + continue; + } } else if (item.taskType == StaticTaskType.ThirdStockReturnTask) { @@ -564,6 +572,10 @@ namespace Khd.Core.Wcs.Wcs _logger.Info("三楼Agv下发任务失败" + item.taskType + result); } } + else + { + continue; + } } } else