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