diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs index 5fc48137..5cb310ed 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs @@ -236,15 +236,16 @@ namespace Tnb.WarehouseMgr var carryId = input.carryIds[^input.carryIds.Count]; var carry = await _db.Queryable().SingleAsync(it => it.id == carryId); - var kods = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); - //当前载具对应的所有条码插入 + + //载具为料架时,取所有料箱的条码 List carryMIds = new(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID) { var carryDs = await _db.Queryable().Where(it => it.carry_id == carryId).ToListAsync(); carryMIds = carryDs.Select(x => x.membercarry_id).ToList(); } + //当前载具对应的所有条码插入 Expression> whereExp = carryMIds?.Count > 0 ? a => carryMIds.Contains(a.carry_id) : a => a.carry_id == carryId; var carryCodes = await _db.Queryable().Where(whereExp).ToListAsync(); @@ -292,9 +293,7 @@ namespace Tnb.WarehouseMgr //判断当前载具是否为料架,如果是料架 清空所有料架/料箱数据, if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID) { - var carryds = await _db.Queryable().Where(it => it.id == carryId).ToListAsync(); - var mids = carryds.Select(x => x.membercarry_id).ToList(); - var carrys = await _db.Queryable().Where(it => mids.Contains(it.id)).ToListAsync(); + var carrys = await _db.Queryable().Where(it => carryMIds.Contains(it.id)).ToListAsync(); carrys.Add(carry); if (carrys?.Count > 0) {