This commit is contained in:
qianhao.xu
2024-04-15 11:36:08 +08:00
parent de3001d933
commit 0f4ea6c5ba
6 changed files with 104 additions and 41 deletions

View File

@@ -448,40 +448,38 @@ namespace ZR.Service.mes.wms
{
//TODO 保证 同一出货单下 同一物料下最早批次
// 取出同一出货单下 同一物料下 未满箱的最早批次
WmOutOrderPlan plan_item =Context.Queryable<WmOutOrderPlan>()
string short_patch = item.Split("_")[0];
WmOutOrderPlan plan_item = Context.Queryable<WmOutOrderPlan>()
.Where(it => it.FkOutOrderId == shipnumber)
.Where(it => it.Patchcode == item).First();
var plan_earliest = Context.Queryable<WmOutOrderPlan>()
.Where(it => it.Patchcode.Contains(short_patch)).First();
if (plan_item != null)
{
var plan_earliest = Context.Queryable<WmOutOrderPlan>()
.Where(it => it.FkOutOrderId == shipnumber)
.Where(it=>it.MaterialCode== plan_item.MaterialCode)
.Where(it=>it.PackageNum>it.ReceivedPackNum)
.OrderBy(it=>it.Outorder)
.Where(it => it.MaterialCode == plan_item.MaterialCode)
.Where(it => it.PackageNum > it.ReceivedPackNum)
.OrderBy(it => it.Outorder)
.First();
//已经出库完成,没有可以出库的了
if(plan_earliest != null)
{
return (100, 100);
}
if (plan_earliest.Id == plan_earliest.Id)
{
// TODO 每次出库要出库计划累加
Context.Updateable<WmOutOrderPlan>()
.SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1)
.Where(it => it.FkOutOrderId == shipnumber)
.Where(it => it.Patchcode == item)
.ExecuteCommand();
UseTran2(() =>
//已经出库完成,没有可以出库的了
if (plan_earliest == null)
{
return (100, 100);
}
if (plan_earliest.Id == plan_earliest.Id)
{
// TODO 每次出库要出库计划累加
Context.Updateable<WmOutOrderPlan>()
.SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1)
.Where(it => it.FkOutOrderId == shipnumber)
.Where(it => it.Patchcode == item)
.ExecuteCommand();
WmGoodsOutRecord record = new WmGoodsOutRecord();
record.Id = SnowFlakeSingle.Instance.NextId().ToString();
WmGoodsNowProduction nowProduction = Context.Queryable<WmGoodsNowProduction>()
.Where(it => it.PackageCodeClient == item).First();
@@ -507,13 +505,14 @@ namespace ZR.Service.mes.wms
}
});
}
else
{
// 不在最早批次内
return (200, 200);
}
}
else
{
// 不在最早批次内
return (200, 200);
}