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;
using Tnb.WarehouseMgr.Entities.Dto.Inputs; using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
using Tnb.WarehouseMgr.Entities.Enums;
namespace Tnb.ProductionMgr 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 else
{ {
@@ -535,6 +507,44 @@ namespace Tnb.ProductionMgr
_ = await db.Insertable<PrdFeedingH>(prdFeedingH).ExecuteCommandAsync(); _ = await db.Insertable<PrdFeedingH>(prdFeedingH).ExecuteCommandAsync();
_ = await db.Insertable<PrdFeedingD>(list).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(); 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(); .Where(x => x.mo_task_id == prdMoTask.id).Select(x=>x.id).ToListAsync();
if (await db.Queryable<PrdMaterialReceiptD>() // if (await db.Queryable<PrdMaterialReceiptD>()
.AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0 && ids.Contains(x.material_receipt_id))) // .AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0 && ids.Contains(x.material_receipt_id)))
{ // {
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptD>() 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)) .Where((a) => a.member_carry_code == qrCode && a.is_all_feeding == 0 && ids.Contains(a.material_receipt_id))
.Select((a, b) => new FeedingDetailOutput .Select((a, b) => new FeedingDetailOutput
{ {
@@ -129,32 +129,33 @@ namespace Tnb.ProductionMgr
}) })
}).FirstAsync(); }).FirstAsync();
return result; return result;
} // }
else // else
{ // {
FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptH>() // FeedingDetailOutput result = await db.Queryable<PrdMaterialReceiptH>()
.LeftJoin<WmsCarryH>((a, b) => b.carry_code==qrCode) // .LeftJoin<WmsCarryH>((a, b) => b.carry_code==qrCode)
.Where((a) => a.carry_code == qrCode && ids.Contains(a.id)) // .LeftJoin<PrdMaterialReceiptD>()
.Select((a, b) => new FeedingDetailOutput // .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, // carry_id = a.carry_id,
children = SqlFunc.Subqueryable<PrdMaterialReceiptD>() // carry_name = b.carry_name,
.LeftJoin<BasMaterial>((c, d) => c.material_id == d.id) // children = SqlFunc.Subqueryable<PrdMaterialReceiptD>()
.Where((c, d) => a.id == c.material_receipt_id && c.is_all_feeding == 0).ToList((c, d) => new CarryCodeDetailOutput() // .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, // unit_id = d.unit_id,
// code_batch = c.code_batch, // // barcode = c.barcode,
code_batch = c.batch, // // code_batch = c.code_batch,
codeqty = c.num - SqlFunc.IsNull(c.feeding_num,0), // code_batch = c.batch,
material_id = c.material_id, // codeqty = c.num - SqlFunc.IsNull(c.feeding_num,0),
material_code = d.code, // material_id = c.material_id,
material_name = d.name // material_code = d.code,
}) // material_name = d.name
}).FirstAsync(); // })
return result; // }).FirstAsync();
} // return result;
// }
} }
[HttpPost] [HttpPost]