master
1 year ago
parent ba059ae638
commit 682b2cab50

@ -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<DefaultDbContext>();
List<int> 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)
{

@ -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)//原材料到背板安装
{

@ -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<Position>
var agvTask = new RequestAGVTaskDto
{
reqCode = StaticData.SnowId.NextId().ToString(),
positionCodePath = new List<Position>
{
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<ReponseMessage>(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<ReponseMessage>(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移库
{

@ -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

Loading…
Cancel
Save