|
|
|
|
@ -4580,51 +4580,68 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
var baseEquip = dbContext.BaseEquip.First(t => t.objid == 38);
|
|
|
|
|
var agvEquip = SystemData.BaseEquip.First(t => t.objid == 8);
|
|
|
|
|
bool hasTask = dbContext.WcsTask.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any();
|
|
|
|
|
bool hasTaskManual = dbContext.WcsTaskManual.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any();
|
|
|
|
|
if (hasTask || hasTaskManual)
|
|
|
|
|
//判断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)
|
|
|
|
|
{
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("有任务正在执行,请等待任务完成后再执行此操作!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var endEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.equipStatus == 0 && t.emptyCount == 0 && t.useFlag == 1);
|
|
|
|
|
if (endEquip == null)
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
var baseEquip = dbContext.BaseEquip.First(t => t.objid == 38);
|
|
|
|
|
var agvEquip = SystemData.BaseEquip.First(t => t.objid == 8);
|
|
|
|
|
bool hasTask = dbContext.WcsTask.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any();
|
|
|
|
|
bool hasTaskManual = dbContext.WcsTaskManual.Where(t => t.endPointId == baseEquip.objid || t.currPointId == baseEquip.objid).Any();
|
|
|
|
|
if (hasTask || hasTaskManual)
|
|
|
|
|
{
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("没有空箱库位!");
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("有任务正在执行,请等待任务完成后再执行此操作!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
WcsTaskManual task = new()
|
|
|
|
|
var endEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 20 && t.equipStatus == 0 && t.emptyCount == 0 && t.useFlag == 1);
|
|
|
|
|
if (endEquip == null)
|
|
|
|
|
{
|
|
|
|
|
objid = Global.SnowId.NextId(),
|
|
|
|
|
taskType = 56,
|
|
|
|
|
containerNo = baseEquip.containerNo,
|
|
|
|
|
currPointId = baseEquip.objid,
|
|
|
|
|
currPointNo = baseEquip.equipNo,
|
|
|
|
|
nextPointId = agvEquip.objid,
|
|
|
|
|
nextPointNo = agvEquip.equipNo,
|
|
|
|
|
endPointId = endEquip.objid,
|
|
|
|
|
endPointNo = endEquip.equipNo,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
taskStatus = 0,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
floorNo = 2,
|
|
|
|
|
fromFloorNo = 2,
|
|
|
|
|
createBy = "WPF",
|
|
|
|
|
isEmpty = "0",
|
|
|
|
|
};
|
|
|
|
|
dbContext.Add(task);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("任务生成成功!");
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("没有空箱库位!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
WcsTaskManual task = new()
|
|
|
|
|
{
|
|
|
|
|
objid = Global.SnowId.NextId(),
|
|
|
|
|
taskType = 56,
|
|
|
|
|
containerNo = baseEquip.containerNo,
|
|
|
|
|
currPointId = baseEquip.objid,
|
|
|
|
|
currPointNo = baseEquip.equipNo,
|
|
|
|
|
nextPointId = agvEquip.objid,
|
|
|
|
|
nextPointNo = agvEquip.equipNo,
|
|
|
|
|
endPointId = endEquip.objid,
|
|
|
|
|
endPointNo = endEquip.equipNo,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
taskStatus = 0,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
floorNo = 2,
|
|
|
|
|
fromFloorNo = 2,
|
|
|
|
|
createBy = "WPF",
|
|
|
|
|
isEmpty = "0",
|
|
|
|
|
};
|
|
|
|
|
dbContext.Add(task);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("任务生成成功!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
HandyControl.Controls.MessageBox.Show("请先检查废料口袋子抓夹是否没有释放!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
@ -4762,6 +4779,16 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
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 hasTaskManual = dbContext.WcsTaskManual.Where(t => t.currPointId == baseEquip.objid || t.endPointId == baseEquip.objid).Any();
|
|
|
|
|
if (hastask || hasTaskManual)
|
|
|
|
|
|