|
|
|
|
@ -509,6 +509,8 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContextTransaction.Commit();
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
SystemData.SendPlcLocation(toLocation);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
@ -527,10 +529,10 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(DateTime.Now + ":五楼AGV线程完成任务" + item.currPointNo + "," + item.endPointNo);
|
|
|
|
|
_logger.Info("五楼Agv完成任务成功:" + item.ToJsonString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var wmsProductOutstock = dbContext.WmsProductOutstock.FirstOrDefault(t => t.productOutstockId == item.orderId);
|
|
|
|
|
|
|
|
|
|
if ( wmsProductOutstock != null)
|
|
|
|
|
if (wmsProductOutstock != null)
|
|
|
|
|
{
|
|
|
|
|
var wmsBaseLocation = dbContext.WmsBaseLocation.Where(t => t.locationId == item.currPointId).First();
|
|
|
|
|
WmsProductStock wmsProductStock = dbContext.WmsProductStock.First(t => t.locationCode == wmsBaseLocation.locationCode);
|
|
|
|
|
@ -557,8 +559,8 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
newWmsProductOutstockDetail.updateDate = DateTime.Now;
|
|
|
|
|
newWmsProductOutstockDetail.beginTime = DateTime.Now;
|
|
|
|
|
newWmsProductOutstockDetail.endTime = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
|
@ -585,6 +587,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.Add(wcsTaskLog);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == StaticTaskType.FiveRawToBack)//原材料到背板安装
|
|
|
|
|
@ -594,26 +597,26 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock.Where(t => t.rawOutstockId == item.orderId).FirstOrDefault();
|
|
|
|
|
if (wmsRawOutstock != null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
wmsRawOutstock.realOutstockAmount += 1;
|
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
|
wmsRawOutstock.endTime = 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;
|
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
|
dbContext.Update(wmsRawOutstock);
|
|
|
|
|
|
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
|
dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
|
dbContext.WcsTask.Remove(item);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsRawOutstock.realOutstockAmount += 1;
|
|
|
|
|
wmsRawOutstock.executeStatus = "2";
|
|
|
|
|
wmsRawOutstock.endTime = 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;
|
|
|
|
|
wmsBaseLocation.updateTime = DateTime.Now;
|
|
|
|
|
wmsBaseLocation.updateBy = "WCS";
|
|
|
|
|
dbContext.Update(wmsRawOutstock);
|
|
|
|
|
|
|
|
|
|
dbContext.Update(wmsBaseLocation);
|
|
|
|
|
dbContext.WmsRawStock.Where(t => t.locationCode == wmsBaseLocation.locationCode).Delete();
|
|
|
|
|
dbContext.WcsTask.Remove(item);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == StaticTaskType.FiveHalfIn)//半成品入库
|
|
|
|
|
@ -674,7 +677,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == StaticTaskType.FiveRawToSplit)//原材料到柜体拆分
|
|
|
|
|
@ -719,7 +722,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
newWmsRawOutstockDetail.createDate = DateTime.Now;
|
|
|
|
|
newWmsRawOutstockDetail.stackAmount = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsBaseLocation.locationStatus = "1";
|
|
|
|
|
wmsBaseLocation.containerCode = null;
|
|
|
|
|
@ -733,7 +736,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (item.taskType == StaticTaskType.FiveRawSplitReturn)//柜体拆分到原材料
|
|
|
|
|
@ -781,7 +784,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
WmsRawInstock.returnFlag = null;
|
|
|
|
|
WmsRawInstock.executeStatus = "2";
|
|
|
|
|
WmsRawInstock.updateDate = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
dbContext.Update(WmsRawInstock);
|
|
|
|
|
dbContext.Add(wmsRawStock);
|
|
|
|
|
@ -792,6 +795,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -809,12 +813,12 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
var mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == mesBasePalletInfo.materialBarcode);
|
|
|
|
|
if (mesBaseBarcodeInfo != null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (mesBaseBarcodeInfo.PurchaseOrderId == -1)
|
|
|
|
|
{ // 虚拟托盘号,合并的物料分别插入WmsRawInstock
|
|
|
|
|
List<MesSaleOrderRelate> mesSaleOrderRelates = dbContext.MesSaleOrderRelate.Where(x => x.SaleOrderId == mesBaseBarcodeInfo.saleOrderId).ToList();
|
|
|
|
|
List<WmsRawInstock>? wmsRawInstocks = new List<WmsRawInstock>();
|
|
|
|
|
foreach(var mesSaleOrderRelate in mesSaleOrderRelates)
|
|
|
|
|
foreach (var mesSaleOrderRelate in mesSaleOrderRelates)
|
|
|
|
|
{
|
|
|
|
|
WmsRawInstock wmsRawInstock = new WmsRawInstock()
|
|
|
|
|
{
|
|
|
|
|
@ -837,9 +841,9 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
poNo = mesBaseBarcodeInfo.poNo,
|
|
|
|
|
warehouseId = 511
|
|
|
|
|
};
|
|
|
|
|
wmsRawInstocks.Add(wmsRawInstock);
|
|
|
|
|
wmsRawInstocks.Add(wmsRawInstock);
|
|
|
|
|
}
|
|
|
|
|
if(wmsRawInstocks.Count > 0)
|
|
|
|
|
if (wmsRawInstocks.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
dbContext.WmsRawInstock.AddRange(wmsRawInstocks);
|
|
|
|
|
}
|
|
|
|
|
@ -897,7 +901,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
warehouseId = 511,
|
|
|
|
|
};
|
|
|
|
|
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wmsBaseLocation.returnFlag = "0";
|
|
|
|
|
BaseEquip lineEquip = dbContext.BaseEquip.First(t => t.objid == 5);
|
|
|
|
|
lineEquip.equipStatus = 0;
|
|
|
|
|
@ -907,6 +911,7 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
dbContext.Remove(item);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
dbContext.WcsTaskLog.Where(t => t.objid == item.objid).Update(t => new WcsTaskLog { taskStatus = 6 });
|
|
|
|
|
SystemData.SendPlcLocation(wmsBaseLocation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|