库存
This commit is contained in:
Binary file not shown.
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ namespace WMS.Web.Domain.Values.Single
|
|||||||
/// 仓位集合
|
/// 仓位集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[EnumRemark("仓位")]
|
[EnumRemark("仓位")]
|
||||||
SubStocks = 19,
|
SubStocks = 19
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user