From 0c0a36214f8b6d645a4cd072b62dc9a5ca96aead Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 21 Aug 2023 15:52:50 +0800 Subject: [PATCH] 1 --- .../Dto/Outputs/CarryQueryOutput.cs | 20 ++++++++++++- .../Entity/WmsCarryCode.part.cs | 22 +++++++++++++++ .../Entity/WmsCarryH.part.cs | 15 ---------- .../Tnb.WarehouseMgr/WmsCarryQueryService.cs | 28 +++++++++++++------ 4 files changed, 60 insertions(+), 25 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs index 483384e6..3423c7d1 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs @@ -162,7 +162,25 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Outputs /// 仓库ID /// public string? warehouse_id { get; set; } - + + /// + /// 入库时间 + /// + public DateTime instock_time { get; set; } + /// + /// 是否检验 + /// + //public int is_check { get; set; } + /// + /// 检验结论 + /// + public string check_conclusion { get; set; } + /// + /// 供应商 + /// + public string supplier_id { get; set; } + + } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryCode.part.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryCode.part.cs index 6ded7fa2..f4410b67 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryCode.part.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryCode.part.cs @@ -19,4 +19,26 @@ public partial class WmsCarryCode /// [SugarColumn(IsIgnore = true)] public string member_carrycode { get; set; } + + /// + /// 供应商 + /// + [SugarColumn(IsIgnore = true)] + public string supplier_id { get; set; } + /// + /// 入库时间 + /// + [SugarColumn(IsIgnore = true)] + public DateTime instock_time { get; set; } + /// + /// 是否检验 + /// + [SugarColumn(IsIgnore = true)] + public int is_check { get; set; } + /// + /// 检验结论 + /// + [SugarColumn(IsIgnore = true)] + public string check_conclusion { get; set; } + } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryH.part.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryH.part.cs index 1035e3da..336fd5bd 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryH.part.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsCarryH.part.cs @@ -15,20 +15,5 @@ public partial class WmsCarryH [SugarColumn(IsIgnore = true)] public int is_sign { get; set; } - /// - /// 供应商 - /// - [SugarColumn(IsIgnore = true)] - public string supplier_id { get; set; } - /// - /// 入库时间 - /// - [SugarColumn(IsIgnore = true)] - public DateTime instock_time { get; set; } - /// - /// 检验结论 - /// - [SugarColumn(IsIgnore = true)] - public string check_conclusion { get; set; } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs index 645258de..16ddf2d2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs @@ -69,20 +69,22 @@ namespace Tnb.WarehouseMgr var data = new CarryQueryOutput(); try { - var carry = await _db.Queryable().LeftJoin((a, b) => a.id == b.carry_id).Where(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(); + var carry = await _db.Queryable().FirstAsync(a => a.carry_code == input.carry_code && a.status == 1); if (carry.IsNull()) throw new AppFriendlyException($"编号{input.carry_code},对应载具不存在或被禁用", 500); List carryCodes = new(); var carryDsLst = await _db.Queryable().Where(it => it.carry_id == carry.id).ToListAsync(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID && carryDsLst?.Count > 0) { var mIds = carryDsLst.Select(it => it.membercarry_id).ToList(); - carryCodes = await _db.Queryable().Where(it => mIds.Contains(it.carry_id)).ToListAsync(); + carryCodes = await _db.Queryable().LeftJoin((a, b) => a.carry_id == b.carry_id) + .Where(a => mIds.Contains(a.carry_id)) + .Select((a, b) => new WmsCarryCode + { + is_check = SqlFunc.Subqueryable().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); for (int i = 0, cnt = mIds.Count; i < cnt; i++) { @@ -91,7 +93,15 @@ namespace Tnb.WarehouseMgr } else { - carryCodes = await _db.Queryable().Where(it => it.carry_id == carry.id).ToListAsync(); + carryCodes = await _db.Queryable().LeftJoin((a, b) => a.carry_id == b.carry_id) + .Where(a => a.carry_id == carry.id) + .Select((a, b) => new WmsCarryCode + { + is_check = SqlFunc.Subqueryable().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(); data.wmsCarryCodes = carryCodes.Adapt>();