This commit is contained in:
2024-07-04 16:34:11 +08:00
2 changed files with 45 additions and 32 deletions

View File

@@ -93,7 +93,7 @@ namespace Tnb.ProductionMgr
OrganizeEntity workline = await _organizeService.GetAnyParentByWorkstationId(station_id, DictConst.RegionCategoryWorklineCode);
PrdMoTask prdMoTask = await db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline.Id && x.worker_id == _userManager.UserId && x.mo_task_status==DictConst.InProgressEnCode)
.FirstAsync();
if (prdMoTask == null)
{
throw Oops.Bah("未找到进行中的任务单");
@@ -101,11 +101,42 @@ namespace Tnb.ProductionMgr
List<String> ids = await db.Queryable<PrdMaterialReceiptH>()
.Where(x => x.mo_task_id == prdMoTask.id).Select(x=>x.id).ToListAsync();
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().SingleAsync(x => x.carry_code == qrCode);
if (wmsCarryH == null)
{
throw Oops.Bah($"未找到该载具{qrCode}");
}
if (wmsCarryH.carrystd_id==WmsWareHouseConst.CARRY_ZYXCSTD_ID || wmsCarryH.carrystd_id==WmsWareHouseConst.CARRY_ZYLJSTD_ID)
{
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptD>()
.LeftJoin<WmsCarryH>((a, b) => b.id==a.carry_id)
.Where((a,b) => b.carry_code == qrCode && a.is_all_feeding == 0 && ids.Contains(a.material_receipt_id))
.Select((a, b) => new FeedingDetailOutput
{
carry_id = b.id,
carry_name = b.carry_name,
children = SqlFunc.Subqueryable<PrdMaterialReceiptD>()
.LeftJoin<BasMaterial>((c, d) => c.material_id == d.id)
.Where((c, d) => a.carry_id == c.carry_id && c.is_all_feeding == 0 && ids.Contains(c.material_receipt_id))
.ToList((c, d) => new CarryCodeDetailOutput()
{
unit_id = d.unit_id,
// barcode = c.barcode,
// code_batch = c.code_batch,
code_batch = c.batch,
codeqty = c.num - SqlFunc.IsNull(c.feeding_num,0),
material_id = c.material_id,
material_code = d.code,
material_name = d.name
})
}).FirstAsync();
return result;
// if (await db.Queryable<PrdMaterialReceiptD>()
// .AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0 && ids.Contains(x.material_receipt_id)))
// {
}
else
{
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptD>()
.LeftJoin<WmsCarryH>((a, b) => b.carry_code==a.member_carry_code)
.Where((a) => a.member_carry_code == qrCode && a.is_all_feeding == 0 && ids.Contains(a.material_receipt_id))
@@ -129,33 +160,7 @@ namespace Tnb.ProductionMgr
})
}).FirstAsync();
return result;
// }
// else
// {
// FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptH>()
// .LeftJoin<WmsCarryH>((a, b) => b.carry_code==qrCode)
// .LeftJoin<PrdMaterialReceiptD>()
// .Where((a) => a.carry_code == qrCode && ids.Contains(a.id))
// .Select((a, b) => new FeedingDetailOutput
// {
// carry_id = a.carry_id,
// carry_name = b.carry_name,
// children = SqlFunc.Subqueryable<PrdMaterialReceiptD>()
// .LeftJoin<BasMaterial>((c, d) => c.material_id == d.id)
// .Where((c, d) => a.id == c.material_receipt_id && c.is_all_feeding == 0).ToList((c, d) => new CarryCodeDetailOutput()
// {
// unit_id = d.unit_id,
// // barcode = c.barcode,
// // code_batch = c.code_batch,
// code_batch = c.batch,
// codeqty = c.num - SqlFunc.IsNull(c.feeding_num,0),
// material_id = c.material_id,
// material_code = d.code,
// material_name = d.name
// })
// }).FirstAsync();
// return result;
// }
}
}
[HttpPost]