|
|
|
|
@ -58,37 +58,31 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
var getTrayValue = this._plc.Read(getTrayPoint.plcpointAddress);
|
|
|
|
|
if (getTrayValue != null && Convert.ToInt32(getTrayValue) == 1)
|
|
|
|
|
{
|
|
|
|
|
bool hasTask = dbContext.WcsTask.Where(t => t.taskType == 41 || t.taskType == 42).Any();
|
|
|
|
|
if (!hasTask)
|
|
|
|
|
var task = dbContext.WcsTask.Where(t => t.taskType == 42 && t.useFlag == 0).FirstOrDefault();
|
|
|
|
|
if (task!=null)
|
|
|
|
|
{
|
|
|
|
|
BaseEquip endEquip = dbContext.BaseEquip.First(t => t.objid == 35);
|
|
|
|
|
BaseEquip startEquip = StaticData.BaseEquip.First(t => t.objid == 31);
|
|
|
|
|
BaseEquip agvEquip = StaticData.BaseEquip.First(t => t.objid == 9);
|
|
|
|
|
if (endEquip.emptyCount != (SystemData.maxTray / 2) && endEquip.emptyCount != SystemData.maxTray)
|
|
|
|
|
{
|
|
|
|
|
WcsTask wcsTask = new()
|
|
|
|
|
{
|
|
|
|
|
objid = StaticData.SnowId.NextId(),
|
|
|
|
|
taskType = 42,
|
|
|
|
|
taskStatus = 0,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
createBy = FloorNo + "楼AGV",
|
|
|
|
|
nextPointId = agvEquip.objid,
|
|
|
|
|
nextPointNo = agvEquip.agvPositionCode,
|
|
|
|
|
currPointId = startEquip.objid,
|
|
|
|
|
currPointNo = startEquip.agvPositionCode,
|
|
|
|
|
endPointId = endEquip.objid,
|
|
|
|
|
endPointNo = endEquip.agvPositionCode,
|
|
|
|
|
containerNo = null,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
isEmpty = "1",
|
|
|
|
|
qty = 1,
|
|
|
|
|
};
|
|
|
|
|
dbContext.Add(wcsTask);
|
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(wcsTask);
|
|
|
|
|
task.taskType = 42;
|
|
|
|
|
task.useFlag = 1;
|
|
|
|
|
task.taskStatus = 1;
|
|
|
|
|
task.isEmpty = "1";
|
|
|
|
|
task.qty = 1;
|
|
|
|
|
task.nextPointId = agvEquip.objid;
|
|
|
|
|
task.nextPointNo = agvEquip.agvPositionCode;
|
|
|
|
|
task.currPointId = startEquip.objid;
|
|
|
|
|
task.currPointNo = startEquip.agvPositionCode;
|
|
|
|
|
task.endPointId = endEquip.objid;
|
|
|
|
|
task.endPointNo = endEquip.agvPositionCode;
|
|
|
|
|
task.createTime = DateTime.Now;
|
|
|
|
|
dbContext.Update(task);
|
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(task);
|
|
|
|
|
dbContext.Add(wcsTaskLog);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
LogManager.Info("三楼AGV 生成空托盘入收集架任务:" + wcsTask.objid);
|
|
|
|
|
LogManager.Info("三楼AGV 生成空托盘入收集架任务:" + task.objid);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -118,7 +112,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
if (item.taskStatus == 0)
|
|
|
|
|
{
|
|
|
|
|
BaseDictionary baseDictionary = StaticData.BaseDictionary.First(t => t.objid == item.taskType);
|
|
|
|
|
if (item.taskType == 67)
|
|
|
|
|
if (item.taskType == 67)//移库
|
|
|
|
|
{
|
|
|
|
|
WmsBaseLocation fromBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
|
WmsBaseLocation toBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.endPointId);
|
|
|
|
|
@ -482,25 +476,27 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
{
|
|
|
|
|
BaseEquip startEquip = dbContext.BaseEquip.First(t => t.objid == item.currPointId);
|
|
|
|
|
BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 3);
|
|
|
|
|
WcsCmd wcsCmd = new WcsCmd()
|
|
|
|
|
if (lineEquip.equipStatus == 0)
|
|
|
|
|
{
|
|
|
|
|
objid = StaticData.SnowId.NextId(),
|
|
|
|
|
cmdStatus = 0,
|
|
|
|
|
taskId = item.objid,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
cmdType = item.taskType,
|
|
|
|
|
containerNo = item.containerNo,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
createBy = FloorNo + "楼AGV",
|
|
|
|
|
currPointId = startEquip.objid,
|
|
|
|
|
currPointNo = startEquip.agvPositionCode,
|
|
|
|
|
nextPointId = lineEquip.objid,
|
|
|
|
|
nextPointNo = lineEquip.equipNo,
|
|
|
|
|
};
|
|
|
|
|
var agvTask = new RequestAGVTaskDto
|
|
|
|
|
{
|
|
|
|
|
reqCode = StaticData.SnowId.NextId().ToString(),
|
|
|
|
|
positionCodePath = new List<Position>
|
|
|
|
|
WcsCmd wcsCmd = new WcsCmd()
|
|
|
|
|
{
|
|
|
|
|
objid = StaticData.SnowId.NextId(),
|
|
|
|
|
cmdStatus = 0,
|
|
|
|
|
taskId = item.objid,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
cmdType = item.taskType,
|
|
|
|
|
containerNo = item.containerNo,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
createBy = FloorNo + "楼AGV",
|
|
|
|
|
currPointId = startEquip.objid,
|
|
|
|
|
currPointNo = startEquip.agvPositionCode,
|
|
|
|
|
nextPointId = lineEquip.objid,
|
|
|
|
|
nextPointNo = lineEquip.equipNo,
|
|
|
|
|
};
|
|
|
|
|
var agvTask = new RequestAGVTaskDto
|
|
|
|
|
{
|
|
|
|
|
reqCode = StaticData.SnowId.NextId().ToString(),
|
|
|
|
|
positionCodePath = new List<Position>
|
|
|
|
|
{
|
|
|
|
|
new()
|
|
|
|
|
{
|
|
|
|
|
@ -513,28 +509,95 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
type = "00"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
taskTyp = baseDictionary.dicValue,
|
|
|
|
|
ctnrTyp = "2",
|
|
|
|
|
ctnrNum = startEquip.emptyCount.ToString()
|
|
|
|
|
};
|
|
|
|
|
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 == "成功")
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskCode = reponseMessage.data;
|
|
|
|
|
wcsCmd.cmdStatus = 1;
|
|
|
|
|
item.taskStatus = 1;
|
|
|
|
|
dbContext.Update(item);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 1 });
|
|
|
|
|
WcsCmdLog wcsCmdLog = CoreMapper.Map<WcsCmdLog>(wcsCmd);
|
|
|
|
|
dbContext.Add(wcsCmdLog);
|
|
|
|
|
dbContext.Add(wcsCmd);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
taskTyp = baseDictionary.dicValue,
|
|
|
|
|
ctnrTyp = "2",
|
|
|
|
|
ctnrNum = startEquip.emptyCount.ToString()
|
|
|
|
|
};
|
|
|
|
|
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 == "成功")
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskCode = reponseMessage.data;
|
|
|
|
|
wcsCmd.cmdStatus = 1;
|
|
|
|
|
item.taskStatus = 1;
|
|
|
|
|
lineEquip.equipStatus = 1;
|
|
|
|
|
dbContext.Update(lineEquip);
|
|
|
|
|
dbContext.Update(item);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 1 });
|
|
|
|
|
WcsCmdLog wcsCmdLog = CoreMapper.Map<WcsCmdLog>(wcsCmd);
|
|
|
|
|
dbContext.Add(wcsCmdLog);
|
|
|
|
|
dbContext.Add(wcsCmd);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LogManager.Info("三楼Agv下发任务失败" + item.taskType + message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == 101)
|
|
|
|
|
{
|
|
|
|
|
BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 3);
|
|
|
|
|
BaseEquip startEquip = StaticData.BaseEquip.First(t => t.objid == item.currPointId);
|
|
|
|
|
if (lineEquip.equipStatus == 0)
|
|
|
|
|
{
|
|
|
|
|
LogManager.Info("三楼Agv下发任务失败" + item.taskType + message);
|
|
|
|
|
WcsCmd wcsCmd = new WcsCmd()
|
|
|
|
|
{
|
|
|
|
|
objid = StaticData.SnowId.NextId(),
|
|
|
|
|
cmdStatus = 0,
|
|
|
|
|
taskId = item.objid,
|
|
|
|
|
useFlag = 1,
|
|
|
|
|
cmdType = item.taskType,
|
|
|
|
|
containerNo = item.containerNo,
|
|
|
|
|
createTime = DateTime.Now,
|
|
|
|
|
createBy = FloorNo + "楼AGV",
|
|
|
|
|
currPointId = startEquip.objid,
|
|
|
|
|
currPointNo = startEquip.agvPositionCode,
|
|
|
|
|
nextPointId = lineEquip.objid,
|
|
|
|
|
nextPointNo = lineEquip.equipNo,
|
|
|
|
|
};
|
|
|
|
|
var agvTask = new RequestAGVTaskDto
|
|
|
|
|
{
|
|
|
|
|
reqCode = StaticData.SnowId.NextId().ToString(),
|
|
|
|
|
positionCodePath = new List<Position>
|
|
|
|
|
{
|
|
|
|
|
new()
|
|
|
|
|
{
|
|
|
|
|
positionCode = wcsCmd.currPointNo,
|
|
|
|
|
type = "00"
|
|
|
|
|
},
|
|
|
|
|
new()
|
|
|
|
|
{
|
|
|
|
|
positionCode = wcsCmd.nextPointNo,
|
|
|
|
|
type = "00"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
taskTyp = baseDictionary.dicValue,
|
|
|
|
|
ctnrTyp = "2",
|
|
|
|
|
ctnrNum = startEquip.emptyCount.ToString()
|
|
|
|
|
};
|
|
|
|
|
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 == "成功")
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskCode = reponseMessage.data;
|
|
|
|
|
wcsCmd.cmdStatus = 1;
|
|
|
|
|
item.taskStatus = 1;
|
|
|
|
|
lineEquip.equipStatus = 1;
|
|
|
|
|
dbContext.Update(lineEquip);
|
|
|
|
|
dbContext.Update(item);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 1 });
|
|
|
|
|
WcsCmdLog wcsCmdLog = CoreMapper.Map<WcsCmdLog>(wcsCmd);
|
|
|
|
|
dbContext.Add(wcsCmdLog);
|
|
|
|
|
dbContext.Add(wcsCmd);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LogManager.Info("三楼Agv下发任务失败" + item.taskType + message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -545,6 +608,32 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
{
|
|
|
|
|
if (item.taskStatus == 3)
|
|
|
|
|
{
|
|
|
|
|
if (item.currPointId == 3)//从提升机开始
|
|
|
|
|
{
|
|
|
|
|
BasePlcpoint lineSignal = StaticData.BasePlcpointList.First(t => t.plcpointNo == "linesignal03");
|
|
|
|
|
BasePlcpoint Rfid = StaticData.BasePlcpointList.First(t => t.plcpointNo == "RFID003");
|
|
|
|
|
var lineSignalValue = StaticData.PlcDic[0].Read(lineSignal.plcpointAddress);
|
|
|
|
|
var RfidValue = StaticData.PlcDic[0].ReadRFID(Rfid.plcpointAddress);
|
|
|
|
|
if (lineSignalValue == null || item.containerNo != RfidValue || Convert.ToInt32(lineSignalValue) == 0)
|
|
|
|
|
{
|
|
|
|
|
LogManager.Info($"三楼Agv继续任务失败,所取货物与任务不符,任务货物为{item.containerNo},RFID为{RfidValue},线路信号为{lineSignalValue}");
|
|
|
|
|
Console.WriteLine($"{DateTime.Now}:三楼Agv继续任务失败,所取货物与任务不符,任务货物为{item.containerNo},RFID为{RfidValue},线路信号为{lineSignalValue}");
|
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (item.endPointId == 3)
|
|
|
|
|
{
|
|
|
|
|
BasePlcpoint lineSignal = StaticData.BasePlcpointList.First(t => t.plcpointNo == "linesignal03");
|
|
|
|
|
var lineSignalValue = StaticData.PlcDic[0].Read(lineSignal.plcpointAddress);
|
|
|
|
|
if (lineSignalValue == null || Convert.ToInt32(lineSignalValue) == 1)
|
|
|
|
|
{
|
|
|
|
|
LogManager.Info($"三楼Agv继续任务失败,提升机有货物");
|
|
|
|
|
Console.WriteLine($"{DateTime.Now}:三楼Agv继续任务失败,提升机有货物");
|
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var agvTask = new RequestAGVTaskDto
|
|
|
|
|
{
|
|
|
|
|
reqCode = StaticData.SnowId.NextId().ToString(),
|
|
|
|
|
@ -555,6 +644,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
ReponseMessage? reponseMessage = JsonConvert.DeserializeObject<ReponseMessage>(result);
|
|
|
|
|
if (reponseMessage != null && reponseMessage.message == "成功")
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
wcsCmd.cmdStatus = 4;
|
|
|
|
|
dbContext.WcsCmd.Where(t => t.objid == wcsCmd.objid).Update(t => new WcsCmd() { cmdStatus = 4 });
|
|
|
|
|
dbContext.Update(wcsCmd);
|
|
|
|
|
@ -565,40 +655,58 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskStatus == 5)
|
|
|
|
|
{
|
|
|
|
|
if (item.currPointId == 3)
|
|
|
|
|
{
|
|
|
|
|
BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 3);
|
|
|
|
|
lineEquip.equipStatus = 0;
|
|
|
|
|
dbContext.Update(lineEquip);
|
|
|
|
|
}
|
|
|
|
|
if (item.taskType == 67)
|
|
|
|
|
{
|
|
|
|
|
WmsBaseLocation fromBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
|
WmsBaseLocation toBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.endPointId);
|
|
|
|
|
fromBaseLocation.outstockFlag = "0";
|
|
|
|
|
fromBaseLocation.locationStatus = "1";
|
|
|
|
|
fromBaseLocation.containerCode = null;
|
|
|
|
|
fromBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
toBaseLocation.instockFlag = "0";
|
|
|
|
|
toBaseLocation.locationStatus = "1";
|
|
|
|
|
toBaseLocation.containerCode = item.containerNo;
|
|
|
|
|
toBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
var wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == fromBaseLocation.locationCode).FirstOrDefault();
|
|
|
|
|
if (wmsRawStock != null)
|
|
|
|
|
using var transaction = dbContext.Database.BeginTransaction();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
wmsRawStock.locationCode = toBaseLocation.locationCode;
|
|
|
|
|
dbContext.Update(wmsRawStock);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var wmsProductStock = dbContext.WmsProductStock.FirstOrDefault(t => t.locationCode == fromBaseLocation.locationCode);
|
|
|
|
|
if (wmsProductStock != null)
|
|
|
|
|
var wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == item.endPointNo).FirstOrDefault();
|
|
|
|
|
if (wmsRawStock != null)
|
|
|
|
|
{
|
|
|
|
|
wmsProductStock.locationCode = toBaseLocation.locationCode;
|
|
|
|
|
dbContext.Update(wmsProductStock);
|
|
|
|
|
wmsRawStock.locationCode = item.endPointNo;
|
|
|
|
|
dbContext.Update(wmsRawStock);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var wmsProductStock = dbContext.WmsProductStock.FirstOrDefault(t => t.locationCode == item.currPointNo);
|
|
|
|
|
if (wmsProductStock != null)
|
|
|
|
|
{
|
|
|
|
|
wmsProductStock.locationCode = item.currPointNo;
|
|
|
|
|
dbContext.Update(wmsProductStock);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dbContext.WmsBaseLocation.Where(t => t.locationId == item.currPointId).Update(t => new WmsBaseLocation
|
|
|
|
|
{
|
|
|
|
|
outstockFlag = "0",
|
|
|
|
|
locationStatus = "1",
|
|
|
|
|
containerCode = null,
|
|
|
|
|
updateTime = DateTime.Now
|
|
|
|
|
});
|
|
|
|
|
dbContext.WmsBaseLocation.Where(t => t.locationId == item.endPointId).Update(t => new WmsBaseLocation
|
|
|
|
|
{
|
|
|
|
|
instockFlag = "0",
|
|
|
|
|
locationStatus = "1",
|
|
|
|
|
containerCode = item.containerNo,
|
|
|
|
|
updateTime = DateTime.Now
|
|
|
|
|
});
|
|
|
|
|
dbContext.Remove(wcsCmd);
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 6 });
|
|
|
|
|
dbContext.WcsCmdLog.Where(t => t.objid == wcsCmd.objid).Update(t => new WcsCmdLog() { cmdStatus = 6 });
|
|
|
|
|
transaction.Commit();
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
transaction.Rollback();
|
|
|
|
|
LogManager.Error(ex);
|
|
|
|
|
}
|
|
|
|
|
dbContext.Update(fromBaseLocation);
|
|
|
|
|
dbContext.Update(toBaseLocation);
|
|
|
|
|
dbContext.Remove(wcsCmd);
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog() { taskStatus = 6 });
|
|
|
|
|
dbContext.WcsCmdLog.Where(t => t.objid == wcsCmd.objid).Update(t => new WcsCmdLog() { cmdStatus = 6 });
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
if (item.taskType == 39)
|
|
|
|
|
{
|
|
|
|
|
@ -656,7 +764,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
startEquip.equipStatus = 0;
|
|
|
|
|
startEquip.updateTime = DateTime.Now;
|
|
|
|
|
startEquip.updateBy = "WCS";
|
|
|
|
|
endEquip.emptyCount = item.qty;
|
|
|
|
|
endEquip.emptyCount += item.qty;
|
|
|
|
|
endEquip.equipStatus = 1;
|
|
|
|
|
endEquip.updateTime = DateTime.Now;
|
|
|
|
|
endEquip.updateBy = "WCS";
|
|
|
|
|
@ -691,12 +799,25 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
{
|
|
|
|
|
BaseEquip endEquip = dbContext.BaseEquip.First(t => t.objid == 31);
|
|
|
|
|
endEquip.emptyCount = 1;
|
|
|
|
|
if (wmsRawOutstock.realOutstockAmount == wmsRawOutstock.outstockAmount)
|
|
|
|
|
{
|
|
|
|
|
wmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
|
}
|
|
|
|
|
dbContext.Update(endEquip);
|
|
|
|
|
dbContext.Update(wmsRawOutstock);
|
|
|
|
|
dbContext.Remove(wmsRawStock);
|
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
|
dbContext.Remove(wcsCmd);
|
|
|
|
|
WcsTask wcsTask = CoreMapper.Map<WcsTask>(item);
|
|
|
|
|
wcsTask.objid = StaticData.SnowId.NextId();
|
|
|
|
|
wcsTask.taskStatus = 0;
|
|
|
|
|
wcsTask.useFlag = 0;
|
|
|
|
|
wcsTask.taskType = 42;
|
|
|
|
|
wcsTask.createBy = "WCS";
|
|
|
|
|
wcsTask.createTime = DateTime.Now;
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.Add(wcsTask);
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
dbContext.WcsCmdLog.Where(t => t.objid == wcsCmd.objid).Update(t => new WcsCmdLog { cmdStatus = 6 });
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
@ -729,6 +850,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
emptyEquip.updateTime = DateTime.Now;
|
|
|
|
|
emptyEquip.updateBy = "WCS";
|
|
|
|
|
endEquip.emptyCount += item.qty;
|
|
|
|
|
endEquip.equipStatus = 1;
|
|
|
|
|
endEquip.updateTime = DateTime.Now;
|
|
|
|
|
endEquip.updateBy = "WCS";
|
|
|
|
|
dbContext.Update(endEquip);
|
|
|
|
|
@ -739,11 +861,12 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.WcsCmdLog.Where(t => t.objid == wcsCmd.objid).Update(t => new WcsCmdLog { cmdStatus = 6 });
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == 44)
|
|
|
|
|
else if (item.taskType == 44 || item.taskType == 101)
|
|
|
|
|
{
|
|
|
|
|
BaseEquip startEquip = dbContext.BaseEquip.First(t => t.objid == item.currPointId);
|
|
|
|
|
BaseEquip lineEquip = StaticData.BaseEquip.First(t => t.objid == 3);
|
|
|
|
|
startEquip.emptyCount = 0;
|
|
|
|
|
startEquip.equipStatus = 0;
|
|
|
|
|
startEquip.updateTime = DateTime.Now;
|
|
|
|
|
startEquip.updateBy = "WCS";
|
|
|
|
|
dbContext.Update(startEquip);
|
|
|
|
|
|