|
|
|
|
@ -11,6 +11,7 @@ using Microsoft.EntityFrameworkCore.Storage;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Transactions;
|
|
|
|
|
using Z.EntityFramework.Plus;
|
|
|
|
|
|
|
|
|
|
@ -416,7 +417,6 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskStatus == 5)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (item.taskType == 66)//移库
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
|
@ -430,7 +430,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
wmsRawStock.locationCode = item.endPointNo;
|
|
|
|
|
dbContext.Update(wmsRawStock);
|
|
|
|
|
}
|
|
|
|
|
else if(wmsRawStock == null)
|
|
|
|
|
else if (wmsRawStock == null)
|
|
|
|
|
{
|
|
|
|
|
var wmsProductStock = dbContext.WmsProductStock.FirstOrDefault(t => t.locationCode == item.currPointNo);
|
|
|
|
|
if (wmsProductStock != null)
|
|
|
|
|
@ -448,9 +448,13 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.Where(t => t.locationId == item.currPointId).First();
|
|
|
|
|
WmsBaseLocation toLocation = dbContext.WmsBaseLocation.Where(t => t.locationId == item.endPointId).First();
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
SystemData.UnLockOutLocation(toLocation, dbContext);
|
|
|
|
|
|
|
|
|
|
dbContext.WmsBaseLocation.Where(t => t.locationId == item.currPointId).Update(t => new WmsBaseLocation
|
|
|
|
|
{
|
|
|
|
|
returnFlag="0",
|
|
|
|
|
returnFlag = "0",
|
|
|
|
|
locationStatus = "1",
|
|
|
|
|
containerCode = null,
|
|
|
|
|
updateTime = DateTime.Now
|
|
|
|
|
@ -458,7 +462,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.WmsBaseLocation.Where(t => t.locationId == item.endPointId).Update(t => new WmsBaseLocation
|
|
|
|
|
{
|
|
|
|
|
locationStatus = "1",
|
|
|
|
|
returnFlag=wmsBaseLocation.returnFlag,
|
|
|
|
|
returnFlag = wmsBaseLocation.returnFlag,
|
|
|
|
|
containerCode = item.containerNo,
|
|
|
|
|
updateTime = DateTime.Now
|
|
|
|
|
});
|
|
|
|
|
@ -482,6 +486,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
if (wmsProductOutstockDetail != null && wmsProductOutstock != null)
|
|
|
|
|
{
|
|
|
|
|
wmsProductOutstockDetail.executeStatus = "2";
|
|
|
|
|
wmsProductOutstockDetail.endTime = DateTime.Now;
|
|
|
|
|
dbContext.Update(wmsProductOutstockDetail);
|
|
|
|
|
wmsProductOutstock.outstockQty += 1;
|
|
|
|
|
if (wmsProductOutstock.applyQty <= wmsProductOutstock.outstockQty)
|
|
|
|
|
@ -496,6 +501,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
dbContext.WmsProductStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
|
BaseEquip floorLineEquip = StaticData.BaseEquip.First(t => t.equipType == 1 && t.floorNo == 5);
|
|
|
|
|
WcsTask newTask = CoreMapper.Map<WcsTask>(item);
|
|
|
|
|
@ -527,7 +533,10 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
wmsRawOutstock.realOutstockAmount += 1;
|
|
|
|
|
wmsRawOutstockDetail.executeStatus = "2";
|
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
|
wmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
|
wmsRawOutstockDetail.outstockTime = DateTime.Now;
|
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
wmsBaseLocation.returnFlag = "0";
|
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
|
@ -562,6 +571,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
if (wmsProductInstockDetail != null)
|
|
|
|
|
{
|
|
|
|
|
wmsProductInstock.executeStatus = "2";
|
|
|
|
|
wmsProductInstock.endTime = DateTime.Now;
|
|
|
|
|
dbContext.Update(wmsProductInstock);
|
|
|
|
|
WmsProductStock wmsProductStock = new WmsProductStock()
|
|
|
|
|
{
|
|
|
|
|
@ -590,6 +600,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
};
|
|
|
|
|
BaseEquip startEquip = StaticData.BaseEquip.First(t => t.objid == item.currPointId);
|
|
|
|
|
wmsProductInstockDetail.executeStatus = "2";
|
|
|
|
|
wmsProductInstockDetail.instockDate = DateTime.Now;
|
|
|
|
|
startEquip.emptyCount = 0;
|
|
|
|
|
dbContext.Update(wmsProductInstockDetail);
|
|
|
|
|
dbContext.Update(startEquip);
|
|
|
|
|
@ -613,6 +624,8 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
wmsRawOutStock.realOutstockAmount += 1;
|
|
|
|
|
wmsRawOutstockDetail.executeStatus = "2";
|
|
|
|
|
wmsRawOutStock.executeStatus = "2";
|
|
|
|
|
wmsRawOutStock.endTime = DateTime.Now;
|
|
|
|
|
wmsRawOutstockDetail.outstockTime = DateTime.Now;
|
|
|
|
|
dbContext.Update(wmsRawOutStock);
|
|
|
|
|
dbContext.Update(wmsRawOutstockDetail);
|
|
|
|
|
WmsBaseLocation wmsBaseLocation = dbContext.WmsBaseLocation.First(t => t.locationId == item.currPointId);
|
|
|
|
|
@ -620,6 +633,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
WmsRawStock? wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).FirstOrDefault();
|
|
|
|
|
if (wmsRawStock != null)
|
|
|
|
|
{
|
|
|
|
|
@ -672,6 +686,23 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
updateDate = DateTime.Now,
|
|
|
|
|
warehouseId = 511,
|
|
|
|
|
};
|
|
|
|
|
WmsRawInstock wmsRawInstock = new WmsRawInstock()
|
|
|
|
|
{
|
|
|
|
|
beginTime = System.DateTime.Now,
|
|
|
|
|
endTime = DateTime.Now,
|
|
|
|
|
locationCode = wmsBaseLocation.locationCode,
|
|
|
|
|
executeStatus = "2",
|
|
|
|
|
instockAmount = 1,
|
|
|
|
|
instockType = "2",
|
|
|
|
|
materialBatchCode = mesBaseBarcodeInfo.barcodeInfo,
|
|
|
|
|
materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
|
operationType = "3",
|
|
|
|
|
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
|
|
|
|
|
poNo = mesBaseBarcodeInfo.poNo,
|
|
|
|
|
warehouseId = 511
|
|
|
|
|
};
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
dbContext.Add(wmsRawInstock);
|
|
|
|
|
dbContext.Add(wmsRawStock);
|
|
|
|
|
BaseEquip startEquip = StaticData.BaseEquip.First(t => t.objid == item.currPointId);
|
|
|
|
|
startEquip.emptyCount = 0;
|
|
|
|
|
@ -682,9 +713,9 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == 47)
|
|
|
|
|
else if (item.taskType == 47)//原材料入库
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
|
@ -722,6 +753,23 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
updateDate = DateTime.Now,
|
|
|
|
|
warehouseId = 511,
|
|
|
|
|
};
|
|
|
|
|
WmsRawInstock wmsRawInstock = new WmsRawInstock()
|
|
|
|
|
{
|
|
|
|
|
beginTime = DateTime.Now,
|
|
|
|
|
endTime = DateTime.Now,
|
|
|
|
|
locationCode = wmsBaseLocation.locationCode,
|
|
|
|
|
executeStatus = "2",
|
|
|
|
|
instockAmount = 1,
|
|
|
|
|
instockType = "1",
|
|
|
|
|
materialBatchCode = mesBaseBarcodeInfo.barcodeInfo,
|
|
|
|
|
materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
|
operationType = "3",
|
|
|
|
|
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
|
|
|
|
|
poNo = mesBaseBarcodeInfo.poNo,
|
|
|
|
|
warehouseId = 511
|
|
|
|
|
};
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
dbContext.Add(wmsRawInstock);
|
|
|
|
|
wmsBaseLocation.returnFlag = "0";
|
|
|
|
|
BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 5);
|
|
|
|
|
lineEquip.equipStatus = 0;
|
|
|
|
|
|