Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2023-07-21 17:40:49 +08:00
3 changed files with 23 additions and 8 deletions

View File

@@ -87,6 +87,14 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Outputs
/// 上级载具ID
/// </summary>
public string carry_id { get; set; }
/// <summary>
/// 子载具id
/// </summary>
public string member_carryid { get; set; }
/// <summary>
/// 子载具code
/// </summary>
public string member_carrycode { get; set; }
/// <summary>
/// 物品ID

View File

@@ -14,4 +14,9 @@ public partial class WmsCarryCode
/// </summary>
[SugarColumn(IsIgnore = true)]
public string material_name { get; set; }
/// <summary>
/// 子载具编号
/// </summary>
[SugarColumn(IsIgnore = true)]
public string member_carrycode { get; set; }
}

View File

@@ -10,6 +10,7 @@ using JNPF.Common.Extension;
using JNPF.FriendlyException;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Org.BouncyCastle.Crypto;
using SqlSugar;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
@@ -69,18 +70,21 @@ namespace Tnb.WarehouseMgr
try
{
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code);
List<WmsCarryCode> carryCodes = new();
if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID)
List<WmsCarryCode> carryCodes = new();
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)
{
var carryDs = await _db.Queryable<WmsCarryD>().Where(it => it.carry_id == carry.id).ToListAsync();
var mCarryIds = carryDs.Select(x => x.membercarry_id).ToList();
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => mCarryIds.Contains(it.carry_id)).ToListAsync();
var mIds = carryDsLst.Select(it => it.membercarry_id).ToList();
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => mIds.Contains(it.carry_id)).ToListAsync();
for (int i = 0, cnt = mIds.Count; i < cnt; i++)
{
carryCodes[i].member_carrycode = carryDsLst.Find(x => x.membercarry_id == mIds[i])?.membercarry_code ?? string.Empty;
}
}
else
{
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carry.id).ToListAsync();
}
data = carry.Adapt<CarryQueryOutput>();
data.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>();
@@ -88,9 +92,7 @@ namespace Tnb.WarehouseMgr
catch (Exception)
{
await _db.Ado.RollbackTranAsync();
//return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
}
//return ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, data);
return data;
}
}