排产加模具状态 工单加物料清单版本

This commit is contained in:
2024-05-15 11:26:17 +08:00
parent 2d1c362bf6
commit 977f138445
5 changed files with 28 additions and 1 deletions

View File

@@ -164,6 +164,7 @@ namespace Tnb.ProductionMgr
plan_qty = a.plan_qty,
unit_id = d.FullName,
mo_status = e.FullName,
ebom_version = a.ebom_version,
remark = a.remark,
children = SqlFunc.Subqueryable<PrdMo>()
.LeftJoin<BasMaterial>((aa, bb) => aa.material_id == bb.id)
@@ -240,8 +241,12 @@ namespace Tnb.ProductionMgr
{
throw new ArgumentException($"{nameof(input.Behavior)},not be null or empty");
}
ISqlSugarClient db = _repository.AsSugarClient();
//获取同组工单的Id一起下发
List<string?> combineMoCodes = await db.Queryable<PrdMo>().Where(it => input.WorkOrderIds.Contains(it.id)).Select(it => it.combine_mo_code).ToListAsync();
if (combineMoCodes?.Count > 0)
@@ -250,6 +255,16 @@ namespace Tnb.ProductionMgr
input.WorkOrderIds = input.WorkOrderIds.Concat(moIds).ToList();
}
List<PrdMo> prdMos = await db.Queryable<PrdMo>().Where(x => input.WorkOrderIds.Contains(x.id)).ToListAsync();
foreach (var item in prdMos)
{
if (!await db.Queryable<BasEbomH>().AnyAsync(x => x.material_id == item.material_id && x.version == item.ebom_version))
{
throw Oops.Bah($"系统中无法找到{item.ebom_version}版本");
}
}
static string getMoStatus(MoBehavior behavior)
{
string status = "";

View File

@@ -108,8 +108,9 @@ namespace Tnb.ProductionMgr
result = await _db.Queryable<ToolMoldsMaterial>()
.InnerJoin<ToolMolds>((a, b) => a.mold_id == b.id)
.InnerJoin<BasMaterial>((a, b, c) => a.material_id == c.id)
.LeftJoin<DictionaryDataEntity>((a,b,c,d)=>d.Id==b.mold_status)
.Where((a, b, c) => a.material_id == materialId)
.Select((a, b, c) => new Tnb.ProductionMgr.Entities.Dto.MoldListOutput
.Select((a, b, c,d) => new Tnb.ProductionMgr.Entities.Dto.MoldListOutput
{
mold_id = b.id,
mold_code = b.mold_code,
@@ -117,6 +118,7 @@ namespace Tnb.ProductionMgr
mold_type_code = b.mold_type_code,
material_name = c.name,
material_code = c.code,
mold_status = d.FullName,
available_stations = SqlFunc.Subqueryable<EqpEquipment>().Where(it => it.mold_id == a.id).Count(),
}).ToListAsync();
return result;