|
|
|
@ -483,27 +483,47 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
var wmsProductOutstockDetail = dbContext.WmsProductOutstockDetail.FirstOrDefault(t => t.productOutstockId == item.orderId && t.executeStatus == "1" && t.locationCode == item.currPointNo);
|
|
|
|
|
|
|
|
var wmsProductOutstock = dbContext.WmsProductOutstock.FirstOrDefault(t => t.productOutstockId == item.orderId);
|
|
|
|
var wmsProductOutstock = dbContext.WmsProductOutstock.FirstOrDefault(t => t.productOutstockId == item.orderId);
|
|
|
|
if (wmsProductOutstockDetail != null && wmsProductOutstock != null)
|
|
|
|
|
|
|
|
|
|
|
|
if ( wmsProductOutstock != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
wmsProductOutstockDetail.executeStatus = "2";
|
|
|
|
var wmsBaseLocation = dbContext.WmsBaseLocation.Where(t => t.locationId == item.currPointId).First();
|
|
|
|
wmsProductOutstockDetail.endTime = DateTime.Now;
|
|
|
|
WmsProductStock wmsProductStock = dbContext.WmsProductStock.First(t => t.locationCode == wmsBaseLocation.locationCode);
|
|
|
|
dbContext.Update(wmsProductOutstockDetail);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsProductOutstock.outstockQty += 1;
|
|
|
|
wmsProductOutstock.outstockQty += 1;
|
|
|
|
if (wmsProductOutstock.applyQty <= wmsProductOutstock.outstockQty)
|
|
|
|
if (wmsProductOutstock.applyQty <= wmsProductOutstock.outstockQty)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
wmsProductOutstock.endTime = DateTime.Now;
|
|
|
|
wmsProductOutstock.endTime = DateTime.Now;
|
|
|
|
wmsProductOutstock.executeStatus = "2";
|
|
|
|
wmsProductOutstock.executeStatus = "2";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation
|
|
|
|
|
|
|
|
.First(t => t.locationId == item.currPointId && t.warehouseFloor == 5);
|
|
|
|
|
|
|
|
|
|
|
|
WmsProductOutstockDetail newWmsProductOutstockDetail = new WmsProductOutstockDetail();
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.productOutstockId = wmsProductOutstock.productOutstockId;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.warehouseId = wmsProductOutstock.warehouseId;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.locationCode = wmsBaseLocation.locationCode;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.productBarcode = wmsProductStock.productBatch;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.productId = wmsProductStock.productId;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.planAmount = wmsProductOutstock.applyQty;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.outstockAmount = wmsProductOutstock.outstockQty;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.executeStatus = "2";
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.updateBy = "WCS";
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.updateDate = DateTime.Now;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.beginTime = DateTime.Now;
|
|
|
|
|
|
|
|
newWmsProductOutstockDetail.endTime = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
|
|
|
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
|
|
|
|
|
|
|
dbContext.WmsProductStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
dbContext.WmsProductStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
BaseEquip floorLineEquip = StaticData.BaseEquip.First(t => t.equipType == 1 && t.floorNo == 5);
|
|
|
|
BaseEquip floorLineEquip = StaticData.BaseEquip.First(t => t.equipType == 1 && t.floorNo == 5);
|
|
|
|
WcsTask newTask = CoreMapper.Map<WcsTask>(item);
|
|
|
|
WcsTask newTask = CoreMapper.Map<WcsTask>(item);
|
|
|
|
@ -514,6 +534,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
newTask.floorNo = 1;
|
|
|
|
newTask.floorNo = 1;
|
|
|
|
newTask.taskStatus = 6;
|
|
|
|
newTask.taskStatus = 6;
|
|
|
|
newTask.objid = StaticData.SnowId.NextId();
|
|
|
|
newTask.objid = StaticData.SnowId.NextId();
|
|
|
|
|
|
|
|
dbContext.Add(newWmsProductOutstockDetail);
|
|
|
|
dbContext.Remove(item);
|
|
|
|
dbContext.Remove(item);
|
|
|
|
dbContext.Add(newTask);
|
|
|
|
dbContext.Add(newTask);
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(newTask);
|
|
|
|
@ -529,14 +550,11 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
if (wmsRawOutstock != null)
|
|
|
|
if (wmsRawOutstock != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
WmsRawOutstockDetail? wmsRawOutstockDetail = dbContext.WmsRawOutstockDetail.Where(t => t.rawOutstockId == wmsRawOutstock.rawOutstockId && t.executeStatus == "1").FirstOrDefault();
|
|
|
|
|
|
|
|
if (wmsRawOutstockDetail != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
wmsRawOutstock.realOutstockAmount += 1;
|
|
|
|
wmsRawOutstock.realOutstockAmount += 1;
|
|
|
|
wmsRawOutstockDetail.executeStatus = "2";
|
|
|
|
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
wmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
wmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
wmsRawOutstockDetail.outstockTime = DateTime.Now;
|
|
|
|
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
wmsBaseLocation.returnFlag = "0";
|
|
|
|
wmsBaseLocation.returnFlag = "0";
|
|
|
|
@ -545,13 +563,13 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
dbContext.Update(wmsRawOutstock);
|
|
|
|
dbContext.Update(wmsRawOutstock);
|
|
|
|
dbContext.Update(wmsRawOutstockDetail);
|
|
|
|
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
dbContext.WcsTask.Remove(item);
|
|
|
|
dbContext.WcsTask.Remove(item);
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (item.taskType == StaticTaskType.FiveHalfIn)//半成品入库
|
|
|
|
else if (item.taskType == StaticTaskType.FiveHalfIn)//半成品入库
|
|
|
|
@ -620,31 +638,58 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
var wmsRawOutStock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
var wmsRawOutStock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
WmsRawOutstockDetail? wmsRawOutstockDetail = dbContext.WmsRawOutstockDetail.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
|
|
|
|
if (wmsRawOutStock != null && wmsRawOutstockDetail != null)
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
|
|
|
|
WmsRawStock? wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).FirstOrDefault();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (wmsRawOutStock != null && wmsRawStock != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsRawOutStock.realOutstockAmount += 1;
|
|
|
|
wmsRawOutStock.realOutstockAmount += 1;
|
|
|
|
wmsRawOutstockDetail.executeStatus = "2";
|
|
|
|
|
|
|
|
wmsRawOutStock.executeStatus = "2";
|
|
|
|
wmsRawOutStock.executeStatus = "2";
|
|
|
|
wmsRawOutStock.endTime = DateTime.Now;
|
|
|
|
wmsRawOutStock.endTime = DateTime.Now;
|
|
|
|
wmsRawOutstockDetail.outstockTime = DateTime.Now;
|
|
|
|
|
|
|
|
dbContext.Update(wmsRawOutStock);
|
|
|
|
|
|
|
|
dbContext.Update(wmsRawOutstockDetail);
|
|
|
|
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.rawOutstockId = wmsRawOutStock.rawOutstockId;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.taskCode = wmsRawOutStock.taskCode;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.warehouseId = wmsRawOutStock.warehouseId;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.locationCode = wmsRawStock.locationCode;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.materialBarcode = wmsRawStock.instockBatch;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.materialId = wmsRawStock.materialId;
|
|
|
|
|
|
|
|
MesBaseBarcodeInfo? mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.Where(t => t.barcodeInfo == wmsRawStock.instockBatch).FirstOrDefault();
|
|
|
|
|
|
|
|
if (mesBaseBarcodeInfo != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.instockBatch = mesBaseBarcodeInfo.batchCode;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.materialProductionDate = mesBaseBarcodeInfo.productionDate;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.planAmount = wmsRawOutStock.outstockAmount;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.outstockAmount = wmsRawOutStock.realOutstockAmount;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.executeStatus = "2";
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.outstockPerson = wmsRawOutStock.applyBy;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.outstockTime = DateTime.Now;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.outstockWay = "2";
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.createBy = "WCS";
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.createDate = DateTime.Now;
|
|
|
|
|
|
|
|
newWmsRawOutstockDetail.stackAmount = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
WmsRawStock? wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).FirstOrDefault();
|
|
|
|
dbContext.Update(wmsRawOutStock);
|
|
|
|
if (wmsRawStock != null)
|
|
|
|
dbContext.Add(newWmsRawOutstockDetail);
|
|
|
|
{
|
|
|
|
dbContext.Remove(wmsRawStock);
|
|
|
|
dbContext.Remove(wmsRawStock);
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
dbContext.Remove(item);
|
|
|
|
dbContext.Remove(item);
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (item.taskType == StaticTaskType.FiveRawSplitReturn)//柜体拆分到原材料
|
|
|
|
else if (item.taskType == StaticTaskType.FiveRawSplitReturn)//柜体拆分到原材料
|
|
|
|
@ -688,32 +733,11 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
updateDate = DateTime.Now,
|
|
|
|
updateDate = DateTime.Now,
|
|
|
|
warehouseId = 511,
|
|
|
|
warehouseId = 511,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
WmsRawInstock? WmsRawInstock = dbContext.WmsRawInstock.FirstOrDefault(t => t.materialBarCode == mesBasePalletInfo.materialBarcode && t.instockType =="2");
|
|
|
|
WmsRawInstock? WmsRawInstock = dbContext.WmsRawInstock.FirstOrDefault(t => t.materialBarCode == mesBasePalletInfo.materialBarcode && t.instockType == "2");
|
|
|
|
WmsRawInstock.returnFlag = null;
|
|
|
|
WmsRawInstock.returnFlag = null;
|
|
|
|
WmsRawInstock.executeStatus = "2";
|
|
|
|
WmsRawInstock.executeStatus = "2";
|
|
|
|
WmsRawInstock.updateDate = DateTime.Now;
|
|
|
|
WmsRawInstock.updateDate = DateTime.Now;
|
|
|
|
//WmsRawInstock wmsRawInstock = new WmsRawInstock()
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// taskCode = item.taskCode,
|
|
|
|
|
|
|
|
// materialBarCode = mesBaseBarcodeInfo.barcodeInfo,
|
|
|
|
|
|
|
|
// materialBatchCode = mesBaseBarcodeInfo.batchCode,
|
|
|
|
|
|
|
|
// applyBy = "wcs",
|
|
|
|
|
|
|
|
// applyDate = System.DateTime.Now,
|
|
|
|
|
|
|
|
// purchaseOrderId = mesBaseBarcodeInfo.PurchaseOrderId,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// beginTime = System.DateTime.Now,
|
|
|
|
|
|
|
|
// endTime = DateTime.Now,
|
|
|
|
|
|
|
|
// locationCode = wmsBaseLocation.locationCode,
|
|
|
|
|
|
|
|
// executeStatus = "2",
|
|
|
|
|
|
|
|
// instockAmount = 1,
|
|
|
|
|
|
|
|
// instockType = "2",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
|
|
|
|
// operationType = "3",
|
|
|
|
|
|
|
|
// palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
|
|
|
|
|
|
|
|
// poNo = mesBaseBarcodeInfo.poNo,
|
|
|
|
|
|
|
|
// warehouseId = 511
|
|
|
|
|
|
|
|
//};
|
|
|
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
dbContext.Update(WmsRawInstock);
|
|
|
|
dbContext.Update(WmsRawInstock);
|
|
|
|
dbContext.Add(wmsRawStock);
|
|
|
|
dbContext.Add(wmsRawStock);
|
|
|
|
@ -782,7 +806,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
executeStatus = "2",
|
|
|
|
executeStatus = "2",
|
|
|
|
instockAmount = 1,
|
|
|
|
instockAmount = 1,
|
|
|
|
instockType = "1",
|
|
|
|
instockType = "1",
|
|
|
|
|
|
|
|
|
|
|
|
materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
operationType = "3",
|
|
|
|
operationType = "3",
|
|
|
|
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
|
|
|
|
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
|
|
|
|
|