物料签收添加子载具,扫码投料bug
This commit is contained in:
@@ -43,6 +43,17 @@ public partial class PrdMaterialReceiptD : BaseEntity<string>
|
||||
/// 载具id
|
||||
/// </summary>
|
||||
public string carry_id { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 子载具id
|
||||
/// </summary>
|
||||
public string? member_carry_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子载具编号
|
||||
/// </summary>
|
||||
public string? member_carry_code { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否全部投料
|
||||
|
||||
@@ -57,26 +57,78 @@ namespace Tnb.ProductionMgr
|
||||
public async Task<dynamic> GetInfoByQrCode(string qrCode)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
var result = await db.Queryable<WmsCarryH>()
|
||||
.Where((a) => a.carry_code == qrCode)
|
||||
.Select(a => new
|
||||
{
|
||||
carry_id = a.id,
|
||||
carry_name = a.carry_name,
|
||||
children = SqlFunc.Subqueryable<WmsCarryCode>()
|
||||
.LeftJoin<BasMaterial>((b,c)=>b.material_id==c.id)
|
||||
.Where((b,c)=>a.id==b.carry_id).ToList((b,c)=>new CarryCodeDetailOutput()
|
||||
{
|
||||
unit_id = c.unit_id,
|
||||
barcode = b.barcode,
|
||||
code_batch = b.code_batch,
|
||||
codeqty = b.codeqty,
|
||||
material_id = b.material_id,
|
||||
material_code = c.code,
|
||||
material_name = c.name
|
||||
})
|
||||
}).FirstAsync();
|
||||
return result;
|
||||
// var result = await db.Queryable<WmsCarryH>()
|
||||
// .Where((a) => a.carry_code == qrCode)
|
||||
// .Select(a => new
|
||||
// {
|
||||
// carry_id = a.id,
|
||||
// carry_name = a.carry_name,
|
||||
// children = SqlFunc.Subqueryable<WmsCarryCode>()
|
||||
// .LeftJoin<BasMaterial>((b,c)=>b.material_id==c.id)
|
||||
// .Where((b,c)=>a.id==b.carry_id).ToList((b,c)=>new CarryCodeDetailOutput()
|
||||
// {
|
||||
// unit_id = c.unit_id,
|
||||
// barcode = b.barcode,
|
||||
// code_batch = b.code_batch,
|
||||
// codeqty = b.codeqty,
|
||||
// material_id = b.material_id,
|
||||
// material_code = c.code,
|
||||
// material_name = c.name
|
||||
// })
|
||||
// }).FirstAsync();
|
||||
|
||||
if (await db.Queryable<PrdMaterialReceiptD>()
|
||||
.AnyAsync(x => x.member_carry_code == qrCode && x.is_all_feeding == 0))
|
||||
{
|
||||
var result = await db.Queryable<PrdMaterialReceiptD>()
|
||||
.LeftJoin<WmsCarryH>((a, b) => a.carry_id == b.id)
|
||||
.Where((a) => a.member_carry_code == qrCode && a.is_all_feeding == 0)
|
||||
.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.member_carry_code == c.member_carry_code && 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,
|
||||
material_id = c.material_id,
|
||||
material_code = d.code,
|
||||
material_name = d.name
|
||||
})
|
||||
}).FirstAsync();
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = await db.Queryable<PrdMaterialReceiptH>()
|
||||
.LeftJoin<WmsCarryH>((a, b) => a.carry_id == b.id)
|
||||
.Where((a) => a.carry_code == qrCode)
|
||||
.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,
|
||||
material_id = c.material_id,
|
||||
material_code = d.code,
|
||||
material_name = d.name
|
||||
})
|
||||
}).FirstAsync();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
@@ -90,7 +142,8 @@ namespace Tnb.ProductionMgr
|
||||
{
|
||||
var moTask = await db.Queryable<PrdMoTask>().FirstAsync(x => x.id == input.mo_task_id);
|
||||
var inputMaterials = await db.Queryable<BasMbomInput>()
|
||||
.Where(x => x.mbom_id == moTask.bom_id && x.mbom_process_id == input.mbom_process_id)
|
||||
.Where(x => x.mbom_id == moTask.bom_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(input.mbom_process_id),x=>x.mbom_process_id==input.mbom_process_id)
|
||||
.Select(x=>x.material_id)
|
||||
.ToListAsync();
|
||||
|
||||
@@ -113,7 +166,6 @@ namespace Tnb.ProductionMgr
|
||||
org_id = _userManager.GetUserInfo().Result.organizeId
|
||||
};
|
||||
|
||||
List<PrdMaterialReceiptD> list = new List<PrdMaterialReceiptD>();
|
||||
if (input.details != null && input.details.Count > 0)
|
||||
{
|
||||
foreach (var item in input.details)
|
||||
@@ -130,6 +182,8 @@ namespace Tnb.ProductionMgr
|
||||
unit_id = item["unit_id"],
|
||||
carry_id = input.carry_id,
|
||||
is_all_feeding = 0,
|
||||
member_carry_id = item["member_carry_id"],
|
||||
member_carry_code = item["member_carry_code"],
|
||||
feeding_num = 0,
|
||||
});
|
||||
}
|
||||
@@ -185,9 +239,9 @@ namespace Tnb.ProductionMgr
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(!result2.IsSuccess) throw Oops.Oh(result2.ErrorMessage);
|
||||
return result2.IsSuccess ? "签收成功" : result2.ErrorMessage;
|
||||
if(!result.IsSuccess) throw Oops.Bah(result.ErrorMessage);
|
||||
if(!result2.IsSuccess) throw Oops.Bah(result2.ErrorMessage);
|
||||
return "签收成功";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace Tnb.WarehouseMgr.Entities.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 扫码投料
|
||||
/// </summary>
|
||||
public class FeedingDetailOutput
|
||||
{
|
||||
public string carry_id { get; set; }
|
||||
public string carry_name { get; set; }
|
||||
public List<CarryCodeDetailOutput> children { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user