This commit is contained in:
tongfei
2023-11-21 10:47:48 +08:00
parent a160fdf90b
commit e7b033401c
5 changed files with 47 additions and 2 deletions

View File

@@ -22,6 +22,12 @@ namespace WMS.Web.Core.Dto.SingleData
/// 编码 /// 编码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary>
/// 对应金蝶的组织编码
/// </summary>
public string ErpOrgCode { get; set; }
/// <summary> /// <summary>
/// 是否禁用true为禁用false为启用 /// 是否禁用true为禁用false为启用
/// </summary> /// </summary>

View File

@@ -20,14 +20,17 @@ namespace WMS.Web.Domain.Services
{ {
private readonly IMapper _mapper; private readonly IMapper _mapper;
private readonly IBoxRepositories _boxRepositories; private readonly IBoxRepositories _boxRepositories;
private readonly IInventoryDetailsService _inventoryDetailsService;
private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly ISerialNumbersRepositories _serialNumbersRepositories;
private readonly IBoxInventoryRepositories _boxInventoryRepositories; private readonly IBoxInventoryRepositories _boxInventoryRepositories;
public BoxInventoryService(IMapper mapper, IBoxRepositories boxRepositories, public BoxInventoryService(IMapper mapper, IBoxRepositories boxRepositories,
IInventoryDetailsService inventoryDetailsService,
ISerialNumbersRepositories serialNumbersRepositories, ISerialNumbersRepositories serialNumbersRepositories,
IBoxInventoryRepositories boxInventoryRepositories) IBoxInventoryRepositories boxInventoryRepositories)
{ {
_mapper = mapper; _mapper = mapper;
_boxRepositories = boxRepositories; _boxRepositories = boxRepositories;
_inventoryDetailsService = inventoryDetailsService;
_serialNumbersRepositories = serialNumbersRepositories; _serialNumbersRepositories = serialNumbersRepositories;
_boxInventoryRepositories = boxInventoryRepositories; _boxInventoryRepositories = boxInventoryRepositories;
} }
@@ -46,6 +49,7 @@ namespace WMS.Web.Domain.Services
var update_entitys = new List<BoxInventory>(); var update_entitys = new List<BoxInventory>();
var add_entitys = new List<BoxInventory>(); var add_entitys = new List<BoxInventory>();
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList(); var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
var targetBoxIds = dtoDatas.GroupBy(x => x.TargetBoxId).Select(x => x.Key).ToList(); var targetBoxIds = dtoDatas.GroupBy(x => x.TargetBoxId).Select(x => x.Key).ToList();
@@ -545,6 +549,7 @@ namespace WMS.Web.Domain.Services
var delete_ids = new List<int>(); var delete_ids = new List<int>();
var update_entitys = new List<BoxInventory>(); var update_entitys = new List<BoxInventory>();
var add_entitys = new List<BoxInventory>(); var add_entitys = new List<BoxInventory>();
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
//1.1通过箱IDS获取箱库存 //1.1通过箱IDS获取箱库存
var boxIds = dtoDatas.Select(x => x.BoxId).ToList(); var boxIds = dtoDatas.Select(x => x.BoxId).ToList();
@@ -570,6 +575,10 @@ namespace WMS.Web.Domain.Services
return inStockInventoryResult; return inStockInventoryResult;
} }
//组装:即时库存明细处理对象
var invDtos= this.GenerateInventoryDetails(dto);
InventoryDetailsGenerateDto.AddRange(invDtos);
} }
//4.数据库更新操作:更新和删除和添加 //4.数据库更新操作:更新和删除和添加
@@ -589,6 +598,15 @@ namespace WMS.Web.Domain.Services
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction); isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
} }
//5.即时库存:变更处理
if (InventoryDetailsGenerateDto.Count != 0)
{
var inventoryDetails_result = await _inventoryDetailsService.GenerateInventoryDetails(InventoryDetailsGenerateDto, isTransaction);
if (!inventoryDetails_result.IsSuccess)
return inventoryDetails_result;
}
return Result.ReSuccess(); return Result.ReSuccess();
} }
@@ -714,5 +732,26 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess(); return Result.ReSuccess();
} }
/// <summary>
/// 生成即时库存对象:新增和修改
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
private List<InventoryDetailsGenerateDto> GenerateInventoryDetails(BoxInventoryGenerateDto dto)
{
var invDtos = new List<InventoryDetailsGenerateDto>();
foreach (var dtoDet in dto.Details)
{
var invDto = new InventoryDetailsGenerateDto();
invDto.InventoryInOutType = dto.InventoryInOutType;
invDto.StockCode = dto.StockCode;
invDto.SubStockId = dto.SubStockId ?? 0;
invDto.MaterialId = dtoDet.MaterialId;
invDto.Qty = dtoDet.Qty;
invDtos.Add(invDto);
}
return invDtos;
}
} }
} }

View File

@@ -85,7 +85,7 @@ namespace WMS.Web.Domain.Services
} }
//4.数据库更新操作:更新和删除和添加 //4.数据库更新操作:更新和添加
var isSuccess = true; var isSuccess = true;
if (add_entitys.Count != 0) if (add_entitys.Count != 0)
{ {

View File

@@ -104,7 +104,7 @@ namespace WMS.Web.Domain.Values.Single
/// 仓位集合 /// 仓位集合
/// </summary> /// </summary>
[EnumRemark("仓位")] [EnumRemark("仓位")]
SubStocks = 19, SubStocks = 19
} }
} }