change-废料区代码修复,增加废料口抓夹信号判断

master
liuwf 1 year ago
parent 7efd796e9d
commit f6183b7a08

@ -227,7 +227,7 @@ namespace Khd.Core.Wcs.Wcs
_logger.Info("二楼接驳位生成任务入库成功,托盘号:" + rfid); _logger.Info("二楼接驳位生成任务入库成功,托盘号:" + rfid);
Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务入库成功,托盘号:" + rfid); Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务入库成功,托盘号:" + rfid);
} }
else else // 废料区有托盘找周转区
{ {
endEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.useFlag == 1 && t.equipStatus == 0 && t.emptyCount == 0);//周转位 endEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.useFlag == 1 && t.equipStatus == 0 && t.emptyCount == 0);//周转位
if (endEquip != null) if (endEquip != null)
@ -247,6 +247,7 @@ namespace Khd.Core.Wcs.Wcs
newTask.endPointNo = endEquip.equipNo; newTask.endPointNo = endEquip.equipNo;
newTask.taskType = StaticTaskType.SecondLiftToTransit; newTask.taskType = StaticTaskType.SecondLiftToTransit;
newTask.useFlag = 1; newTask.useFlag = 1;
newTask.qty = 1;
dbContext.Add(newTask); dbContext.Add(newTask);
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask); WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);
dbContext.Add(wcsTaskLog); dbContext.Add(wcsTaskLog);
@ -289,6 +290,34 @@ namespace Khd.Core.Wcs.Wcs
_logger.Info("二楼接驳位生成任务出库成功,托盘号:" + rfid); _logger.Info("二楼接驳位生成任务出库成功,托盘号:" + rfid);
Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务出库成功,托盘号:" + rfid); Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务出库成功,托盘号:" + rfid);
} }
else//一般情况下是废料的任务
{
BaseEquip endEquip = StaticData.BaseEquip.First(t => t.objid == wcsTask.endPointId);
dbContext.Remove(wcsTask);
WcsTask newTask = CoreMapper.Map<WcsTask>(wcsTask);
newTask.serialNo = SystemData.GetSerialNo(dbContext);
newTask.taskStatus = 0;
newTask.objid = StaticData.SnowId.NextId();
newTask.nextPointId = tsjEquip.objid;
newTask.nextPointNo = tsjEquip.equipNo;
newTask.createTime = DateTime.Now;
newTask.updateTime = DateTime.Now;
newTask.ud1 = 30;
newTask.endPointId = endEquip.objid;
newTask.endPointNo = endEquip.equipNo;
newTask.containerNo = rfid;
newTask.currPointId = lineEquip.objid;
newTask.currPointNo = lineEquip.equipNo;
newTask.useFlag = 1;
newTask.fromFloorNo = 2;
newTask.floorNo = endEquip.floorNo;
dbContext.Add(newTask);
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);
dbContext.Add(wcsTaskLog);
dbContext.SaveChanges();
_logger.Info("二楼接驳位生成任务出库成功,托盘号:" + rfid);
Console.WriteLine(DateTime.Now + ":二楼接驳位生成任务出库成功,托盘号:" + rfid);
}
} }

@ -4579,6 +4579,13 @@ namespace Khd.Core.Wpf.Form
private void btnSendTrayToTurnover_Click(object sender, RoutedEventArgs e) private void btnSendTrayToTurnover_Click(object sender, RoutedEventArgs e)
{ {
try try
{
//判断PLC绳子抱夹信号 fcSignal1-2F废料机抱夹信号 fcSignal2-2F废料机钩子信号
BasePlcpoint fcSignal1 = SystemData.BasePlcpoints.First(t => t.plcpointNo == "fcSignal1");
BasePlcpoint fcSignal2 = SystemData.BasePlcpoints.First(t => t.plcpointNo == "fcSignal2");
var fcSignal1Value = SystemData.PlcDic[2].Read(fcSignal1.plcpointAddress);
var fcSigna12Value = SystemData.PlcDic[2].Read(fcSignal2.plcpointAddress);
if (fcSignal1Value != null && fcSigna12Value != null && Convert.ToInt32(fcSignal1Value) == 0 && Convert.ToInt32(fcSigna12Value) == 0)
{ {
using var scope = _host.Services.CreateScope(); using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>(); using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
@ -4625,6 +4632,16 @@ namespace Khd.Core.Wpf.Form
HandyControl.Controls.MessageBox.Show("任务生成成功!"); HandyControl.Controls.MessageBox.Show("任务生成成功!");
} }
} }
}
else
{
HandyControl.Controls.MessageBox.Show("请先检查废料口袋子抓夹是否没有释放!");
return;
}
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -4762,6 +4779,16 @@ namespace Khd.Core.Wpf.Form
using var scope = _host.Services.CreateScope(); using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>(); using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == equip.objid); BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == equip.objid);
if (baseEquip.objid ==38)
{
HandyControl.Controls.MessageBox.Show("废料区禁止直接出到楼层,请点击 废料区出托盘到周转区 按钮");
return;
}
if (baseEquip.ud3 !="2")
{
HandyControl.Controls.MessageBox.Show("不是废料禁止出到1楼或3楼");
return;
}
bool hastask = dbContext.WcsTask.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any(); bool hastask = dbContext.WcsTask.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any();
bool hasTaskManual = dbContext.WcsTaskManual.Where(t => t.currPointId == baseEquip.objid || t.endPointId == baseEquip.objid).Any(); bool hasTaskManual = dbContext.WcsTaskManual.Where(t => t.currPointId == baseEquip.objid || t.endPointId == baseEquip.objid).Any();
if (hastask || hasTaskManual) if (hastask || hasTaskManual)

Loading…
Cancel
Save