This commit is contained in:
alex
2023-08-21 15:52:50 +08:00
parent c3b363f06b
commit 0c0a36214f
4 changed files with 60 additions and 25 deletions

View File

@@ -163,6 +163,24 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Outputs
/// </summary> /// </summary>
public string? warehouse_id { get; set; } public string? warehouse_id { get; set; }
/// <summary>
/// 入库时间
/// </summary>
public DateTime instock_time { get; set; }
/// <summary>
/// 是否检验
/// </summary>
//public int is_check { get; set; }
/// <summary>
/// 检验结论
/// </summary>
public string check_conclusion { get; set; }
/// <summary>
/// 供应商
/// </summary>
public string supplier_id { get; set; }
} }
} }

View File

@@ -19,4 +19,26 @@ public partial class WmsCarryCode
/// </summary> /// </summary>
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public string member_carrycode { get; set; } public string member_carrycode { get; set; }
/// <summary>
/// 供应商
/// </summary>
[SugarColumn(IsIgnore = true)]
public string supplier_id { get; set; }
/// <summary>
/// 入库时间
/// </summary>
[SugarColumn(IsIgnore = true)]
public DateTime instock_time { get; set; }
/// <summary>
/// 是否检验
/// </summary>
[SugarColumn(IsIgnore = true)]
public int is_check { get; set; }
/// <summary>
/// 检验结论
/// </summary>
[SugarColumn(IsIgnore = true)]
public string check_conclusion { get; set; }
} }

View File

@@ -15,20 +15,5 @@ public partial class WmsCarryH
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public int is_sign { get; set; } public int is_sign { get; set; }
/// <summary>
/// 供应商
/// </summary>
[SugarColumn(IsIgnore = true)]
public string supplier_id { get; set; }
/// <summary>
/// 入库时间
/// </summary>
[SugarColumn(IsIgnore = true)]
public DateTime instock_time { get; set; }
/// <summary>
/// 检验结论
/// </summary>
[SugarColumn(IsIgnore = true)]
public string check_conclusion { get; set; }
} }

View File

@@ -69,20 +69,22 @@ namespace Tnb.WarehouseMgr
var data = new CarryQueryOutput(); var data = new CarryQueryOutput();
try try
{ {
var carry = await _db.Queryable<WmsCarryH>().LeftJoin<WmsInstockH>((a, b) => a.id == b.carry_id).Where(a => a.carry_code == input.carry_code && a.status == 1) var carry = await _db.Queryable<WmsCarryH>().FirstAsync(a => a.carry_code == input.carry_code && a.status == 1);
.Select((a, b) => new WmsCarryH
{
instock_time = b.create_time
}, true)
.Mapper(a => a.check_conclusion = a.is_check == 1 ? "合格" : "不合格")
.FirstAsync();
if (carry.IsNull()) throw new AppFriendlyException($"编号{input.carry_code},对应载具不存在或被禁用", 500); if (carry.IsNull()) throw new AppFriendlyException($"编号{input.carry_code},对应载具不存在或被禁用", 500);
List<WmsCarryCode> carryCodes = new(); List<WmsCarryCode> carryCodes = new();
var carryDsLst = await _db.Queryable<WmsCarryD>().Where(it => it.carry_id == carry.id).ToListAsync(); var carryDsLst = await _db.Queryable<WmsCarryD>().Where(it => it.carry_id == carry.id).ToListAsync();
if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID && carryDsLst?.Count > 0) if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID && carryDsLst?.Count > 0)
{ {
var mIds = carryDsLst.Select(it => it.membercarry_id).ToList(); var mIds = carryDsLst.Select(it => it.membercarry_id).ToList();
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => mIds.Contains(it.carry_id)).ToListAsync(); carryCodes = await _db.Queryable<WmsCarryCode>().LeftJoin<WmsInstockH>((a, b) => a.carry_id == b.carry_id)
.Where(a => mIds.Contains(a.carry_id))
.Select((a, b) => new WmsCarryCode
{
is_check = SqlFunc.Subqueryable<WmsCarryH>().Where(it => it.id == a.carry_id).Select(it=>it.is_check),
instock_time = b.create_time,
}, true)
.Mapper(a => a.check_conclusion = a.is_check == 1 ? "合格" : "不合格")
.ToListAsync();
if (carryCodes.Count < mIds.Count) throw new AppFriendlyException("载具条码数据异常,有料箱为空", 500); if (carryCodes.Count < mIds.Count) throw new AppFriendlyException("载具条码数据异常,有料箱为空", 500);
for (int i = 0, cnt = mIds.Count; i < cnt; i++) for (int i = 0, cnt = mIds.Count; i < cnt; i++)
{ {
@@ -91,7 +93,15 @@ namespace Tnb.WarehouseMgr
} }
else else
{ {
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carry.id).ToListAsync(); carryCodes = await _db.Queryable<WmsCarryCode>().LeftJoin<WmsInstockH>((a, b) => a.carry_id == b.carry_id)
.Where(a => a.carry_id == carry.id)
.Select((a, b) => new WmsCarryCode
{
is_check = SqlFunc.Subqueryable<WmsCarryH>().Where(it => it.id == a.carry_id).Select(it => it.is_check),
instock_time = b.create_time,
}, true)
.Mapper(a => a.check_conclusion = a.is_check == 1 ? "合格" : "不合格")
.ToListAsync();
} }
data = carry.Adapt<CarryQueryOutput>(); data = carry.Adapt<CarryQueryOutput>();
data.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>(); data.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>();