From 59d8a555371f43fcb09743c5f85f0f8fc429bc0b Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 22 Aug 2023 13:59:06 +0800 Subject: [PATCH] 1 --- .../Tnb.WarehouseMgr/WmsCarryQueryService.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs index 4f2f562f..19c1ceb7 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs @@ -72,9 +72,10 @@ namespace Tnb.WarehouseMgr 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); var carryDsLst = await _db.Queryable().Where(it => it.carry_id == carry.id).ToListAsync(); - var mIds = carryDsLst.Select(it => it.membercarry_id).ToList(); + var mCarryIdDic = carryDsLst.ToDictionary(x => x.membercarry_id, x => x.membercarry_code); + //var mIds = mCarryIdDic.Keys; Expression> whereExp = carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID && carryDsLst?.Count > 0 - ? a => mIds.Contains(a.carry_id) + ? a => mCarryIdDic.Keys.Contains(a.carry_id) : a => a.carry_id == carry.id; var carryCodes = await _db.Queryable().LeftJoin((a, b) => a.carry_id == b.carry_id) @@ -88,11 +89,17 @@ namespace Tnb.WarehouseMgr .ToListAsync(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID && carryDsLst?.Count > 0) { - if (carryCodes.Count < mIds.Count) throw new AppFriendlyException("载具条码数据异常,有料箱为空", 500); - for (int i = 0, cnt = mIds.Count; i < cnt; i++) + if (carryCodes.Count < mCarryIdDic.Keys.Count) throw new AppFriendlyException("载具条码数据异常,有料箱为空", 500); + var i = 0; + foreach (var (_, v) in mCarryIdDic) { - carryCodes[i].member_carrycode = carryDsLst.Find(x => x.membercarry_id == mIds[i])?.membercarry_code ?? string.Empty; + carryCodes[i].member_carrycode = v ?? string.Empty; + i++; } + //for (int i = 0, cnt = mCarryIdDic.Keys.Count; i < cnt; i++) + //{ + // carryCodes[i].member_carrycode = carryDsLst.Find(x => x.membercarry_id == mIds[i])?.membercarry_code ?? string.Empty; + //} } data = carry.Adapt(); data.wmsCarryCodes = carryCodes.Adapt>();