库存-添加-组织维度

This commit is contained in:
tongfei
2023-11-22 13:49:45 +08:00
parent 88eb4d1151
commit 327383a8ec
9 changed files with 44 additions and 9 deletions

View File

@@ -42,7 +42,8 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="materialIds"></param>
/// <param name="stockCodes"></param>
/// <param name="subStockIds"></param>
/// <param name="orgCodes"></param>
/// <returns></returns>
Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes, List<int> subStockIds);
Task<List<InventoryDetails>> GetListBy(List<int> materialIds, List<string> stockCodes, List<int> subStockIds, List<string> orgCodes);
}
}

View File

@@ -630,7 +630,7 @@ namespace WMS.Web.Domain.Services
/// <param name="delete_ids"></param>
/// <param name="update_entitys"></param>
/// <returns></returns>
public Result GenerateOutStockBox(BoxInventoryGenerateDto dto,List<BoxInventory> boxInventorys,List<int> delete_ids, List<BoxInventory> update_entitys)
private Result GenerateOutStockBox(BoxInventoryGenerateDto dto,List<BoxInventory> boxInventorys,List<int> delete_ids, List<BoxInventory> update_entitys)
{
//3.1出库的时候:箱一定是存在于箱库存当中的,没有则返回提示“箱库存数据不存在,请稍候再试!”
// 获取箱库存
@@ -688,7 +688,7 @@ namespace WMS.Web.Domain.Services
/// <param name="add_entitys"></param>
/// <param name="update_entitys"></param>
/// <returns></returns>
public Result GenerateInStockBox(BoxInventoryGenerateDto dto, List<BoxInventory> boxInventorys, List<BoxInventory> add_entitys, List<BoxInventory> update_entitys)
private Result GenerateInStockBox(BoxInventoryGenerateDto dto, List<BoxInventory> boxInventorys, List<BoxInventory> add_entitys, List<BoxInventory> update_entitys)
{
//按箱上架入库
if (dto.InventoryInOutMethod == (int)InventoryInOutMethod.Box)
@@ -756,6 +756,7 @@ namespace WMS.Web.Domain.Services
foreach (var dtoDet in dto.Details)
{
var invDto = new InventoryDetailsGenerateDto();
invDto.OrgCode = dto.OrgCode;
invDto.InventoryInOutType = dto.InventoryInOutType;
invDto.StockCode = dto.StockCode;
invDto.SubStockId = dto.SubStockId ?? 0;

View File

@@ -41,10 +41,11 @@ namespace WMS.Web.Domain.Services
public async Task<Result> GenerateInventoryDetails(List<InventoryDetailsGenerateDto> dtos,bool isTransaction)
{
//找到物料对应的即时库存明细
var orgCodes = dtos.Select(x => x.OrgCode).ToList();
var materialIds = dtos.Select(x => x.MaterialId).ToList();
var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList();
var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds);
var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes);
var add_entitys = new List<InventoryDetails>();
@@ -54,7 +55,11 @@ namespace WMS.Web.Domain.Services
foreach (var dto in dtos)
{
//2.1当前的即时库存明细
var currentDetail = inventoryDetails.Where(x => x.MaterialId == dto.MaterialId && x.StockCode == dto.StockCode && x.SubStockId == dto.SubStockId).FirstOrDefault();
var currentDetail = inventoryDetails.Where(x =>
x.MaterialId == dto.MaterialId &&
x.StockCode == dto.StockCode &&
x.SubStockId == dto.SubStockId &&
x.OrgCode==dto.OrgCode).FirstOrDefault();
if (currentDetail == null)
{
//出库的时候,判断是否有库存,没有就返回错误

View File

@@ -44,10 +44,11 @@ namespace WMS.Web.Domain.Services
public async Task<Result> GenerateInOrOutDetails(List<InventoryInOutDetailsGenerateDto> dtos,bool isTransaction)
{
//找到物料对应的即时库存明细
var orgCodes = dtos.Select(x => x.OrgCode).ToList();
var materialIds = dtos.Select(x => x.MaterialId).ToList();
var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList();
var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList();
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds);
var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes);
//1.创建要新增的对象
var add_entitys = new List<InventoryInOutDetails>();
@@ -56,7 +57,11 @@ namespace WMS.Web.Domain.Services
foreach (var dto in dtos)
{
//2.1当前的即时库存明细
var currentDetail= inventoryDetails.Where(x => x.MaterialId == dto.MaterialId && x.StockCode == dto.StockCode && x.SubStockId == dto.SubStockId).FirstOrDefault();
var currentDetail= inventoryDetails.Where(x =>
x.MaterialId == dto.MaterialId &&
x.StockCode == dto.StockCode &&
x.SubStockId == dto.SubStockId &&
x.OrgCode==dto.OrgCode).FirstOrDefault();
//2.2组装物料收发明细实体
var entity = _mapper.Map<InventoryInOutDetails>(dto);