This commit is contained in:
2024-06-29 12:30:22 +08:00
2 changed files with 70 additions and 59 deletions

View File

@@ -20,6 +20,7 @@ using Tnb.WarehouseMgr;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces;
using Tnb.WarehouseMgr.Entities.Enums;
namespace Tnb.ProductionMgr
{
@@ -496,35 +497,6 @@ namespace Tnb.ProductionMgr
}
if (prdMaterialReceiptH.first_feed)
{
List<PrdMaterialReceiptD> dList = await db.Queryable<PrdMaterialReceiptD>()
.Where(x => x.material_receipt_id == prdMaterialReceiptH.id).ToListAsync();
// foreach (var item in dList)
// {
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsCarryUnbindService.CarryUnbind(new CarryBindInput()
{
org = prdFeedingH.org_id,
create_id = prdFeedingH.create_id,
carry_id = prdMaterialReceiptH.carry_id,
carry_code = prdMaterialReceiptH.carry_code,
carrystd_id = carry.carrystd_id,
membercarry_code = "",
membercarry_id = "",
});
if (result2.code != JNPF.Common.Enums.HttpStatusCode.OK)
{
throw Oops.Bah(result2.msg);
}
// }
await db.Updateable<PrdMaterialReceiptH>()
.SetColumns(x => x.first_feed == true)
.Where(x => x.id == prdMaterialReceiptH.id)
.ExecuteCommandAsync();
}
}
else
{
@@ -535,6 +507,44 @@ namespace Tnb.ProductionMgr
_ = await db.Insertable<PrdFeedingH>(prdFeedingH).ExecuteCommandAsync();
_ = await db.Insertable<PrdFeedingD>(list).ExecuteCommandAsync();
if (prdMaterialReceiptH.first_feed)
{
await db.Updateable<PrdMaterialReceiptH>()
.SetColumns(x => x.first_feed == true)
.Where(x => x.id == prdMaterialReceiptH.id)
.ExecuteCommandAsync();
List<PrdMaterialReceiptD> dList = await db.Queryable<PrdMaterialReceiptD>()
.Where(x => x.material_receipt_id == prdMaterialReceiptH.id).ToListAsync();
List<String> carryIds = dList.Select(x => x.member_carry_id).ToList();
carryIds.Add(prdMaterialReceiptH.carry_id);
// foreach (var item in dList)
// {
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsCarryUnbindService.CarryUnbind(new CarryBindInput()
{
org = prdFeedingH.org_id,
create_id = prdFeedingH.create_id,
carry_id = prdMaterialReceiptH.carry_id,
carry_code = prdMaterialReceiptH.carry_code,
carrystd_id = carry.carrystd_id,
membercarry_code = "",
membercarry_id = "",
});
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.carry_status == ((int)EnumCarryStatus.).ToString())
.Where(x => carryIds.Contains(x.id))
.ExecuteCommandAsync();
if (result2.code != JNPF.Common.Enums.HttpStatusCode.OK)
{
throw Oops.Bah(result2.msg);
}
// }
}
await db.Ado.CommitTranAsync();
}

View File

@@ -103,11 +103,11 @@ namespace Tnb.ProductionMgr
.Where(x => x.mo_task_id == prdMoTask.id).Select(x=>x.id).ToListAsync();
if (await db.Queryable<PrdMaterialReceiptD>()
.AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0 && ids.Contains(x.material_receipt_id)))
{
// if (await db.Queryable<PrdMaterialReceiptD>()
// .AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0 && ids.Contains(x.material_receipt_id)))
// {
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptD>()
.LeftJoin<WmsCarryH>((a, b) => b.carry_code==qrCode)
.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))
.Select((a, b) => new FeedingDetailOutput
{
@@ -129,32 +129,33 @@ namespace Tnb.ProductionMgr
})
}).FirstAsync();
return result;
}
else
{
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptH>()
.LeftJoin<WmsCarryH>((a, b) => b.carry_code==qrCode)
.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;
}
// }
// 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]