add-组装出库、退库添加wmsRawoutStockDetail

master
liuwf 1 year ago
parent d0a336877f
commit 75f4d2e544

@ -664,6 +664,7 @@ namespace Khd.Core.Wcs.Wcs
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
_logger.Info("五楼Agv完成任务成功" + item.ToJsonString());
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
if (wmsRawOutstock != null)
{
@ -677,11 +678,41 @@ namespace Khd.Core.Wcs.Wcs
wmsBaseLocation.containerCode = null;
wmsBaseLocation.updateTime = DateTime.Now;
wmsBaseLocation.updateBy = "WCS";
WmsRawStock wmsRawStock = dbContext.WmsRawStock.First(t => t.locationCode == wmsBaseLocation.locationCode);
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
newWmsRawOutstockDetail.rawOutstockId = wmsRawOutstock.rawOutstockId;
newWmsRawOutstockDetail.taskCode = wmsRawOutstock.taskCode;
newWmsRawOutstockDetail.warehouseId = wmsRawOutstock.warehouseId;
newWmsRawOutstockDetail.locationCode = wmsRawOutstock.locationCode;
newWmsRawOutstockDetail.materialBarcode = wmsRawOutstock.materialBatch;
newWmsRawOutstockDetail.materialId = wmsRawOutstock.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;
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Add(newWmsRawOutstockDetail);
dbContext.Update(wmsRawOutstock);
dbContext.Update(wmsBaseLocation);
dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
dbContext.Remove(item);
dbContext.Remove(wmsRawStock);
dbContext.SaveChanges();
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
SystemData.SendPlcLocation(wmsBaseLocation);
@ -1000,7 +1031,34 @@ namespace Khd.Core.Wcs.Wcs
wmsBaseLocation.containerCode = null;
wmsBaseLocation.updateTime = DateTime.Now;
wmsBaseLocation.updateBy = "WCS";
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
newWmsRawOutstockDetail.rawOutstockId = wmsRawOutstock.rawOutstockId;
newWmsRawOutstockDetail.taskCode = wmsRawOutstock.taskCode;
newWmsRawOutstockDetail.warehouseId = wmsRawOutstock.warehouseId;
newWmsRawOutstockDetail.locationCode = wmsRawOutstock.locationCode;
newWmsRawOutstockDetail.materialBarcode = wmsRawOutstock.materialBatch;
newWmsRawOutstockDetail.materialId = wmsRawOutstock.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;
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Add(newWmsRawOutstockDetail);
dbContext.Update(wmsBaseLocation);
dbContext.Update(wmsRawOutstock);
item.createTime = DateTime.Now;

@ -742,7 +742,7 @@ namespace Khd.Core.Wcs.Wcs
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
try
{
dbContext.Database.BeginTransaction();
// dbContext.Database.BeginTransaction();
dbContext.ChangeTracker.Clear();
var dmsBaseAlarmRules = StaticData.DmsBaseAlarmRuleList.Where(t => t.DeviceId == -1).ToList();
var wcsAgvStatuses = dbContext.WcsAgvStatus.ToList();
@ -813,11 +813,11 @@ namespace Khd.Core.Wcs.Wcs
}
}
}
dbContext.Database.CommitTransaction();
// dbContext.Database.CommitTransaction();
}
catch
{
dbContext.Database.RollbackTransaction();
// dbContext.Database.RollbackTransaction();
}
}

@ -991,9 +991,37 @@ namespace Khd.Core.Wcs.Wcs
var wmsBaseLocation = dbContext.WmsBaseLocation.Where(t => t.locationCode == item.currPointNo).FirstOrDefault();
if (wmsRawOutstock != null && wmsRawStock != null && wmsBaseLocation != null)
{
wmsRawOutstock.realOutstockAmount += 1;
wmsRawOutstock.executeStatus = "2";
wmsRawOutstock.endTime = DateTime.Now;
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
newWmsRawOutstockDetail.rawOutstockId = wmsRawOutstock.rawOutstockId;
newWmsRawOutstockDetail.taskCode = wmsRawOutstock.taskCode;
newWmsRawOutstockDetail.warehouseId = wmsRawOutstock.warehouseId;
newWmsRawOutstockDetail.locationCode = wmsRawOutstock.locationCode;
newWmsRawOutstockDetail.materialBarcode = wmsRawOutstock.materialBatch;
newWmsRawOutstockDetail.materialId = wmsRawOutstock.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;
dbContext.Add(newWmsRawOutstockDetail);
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Remove(wmsRawStock);
wmsBaseLocation.locationStatus = "1";

Loading…
Cancel
Save