接口优化

This commit is contained in:
tongfei
2023-11-21 15:51:33 +08:00
parent f69333e161
commit 0874d9f343
2 changed files with 55 additions and 40 deletions

View File

@@ -198,44 +198,59 @@ namespace WMS.Web.Domain.Services
//需要同步金蝶
entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity != null)
{
//保存成功后:序列号跟踪流程添加
var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction);
if (!serialNumber_result.IsSuccess)
return serialNumber_result;
//保存成功后:变更箱库存
var boxInventoryGenerateDto = dto.Details.GroupBy(x => new { x.BoxId, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryGenerateDto()
{
InventoryInOutMethod = (int)InventoryInOutMethod.Box,
InventoryInOutType = (int)InventoryInOutType.In,
BoxId = x.Key.BoxId,
StockCode = x.Key.StockCode,
SubStockId = x.Key.SubStockId
}).ToList();
foreach (var item in dto.Details)
{
var current = boxInventoryGenerateDto.Where(x => x.BoxId == item.BoxId).FirstOrDefault();
if (current != null)
{
var detail = new BoxInventoryGenerateDetailsDto();
detail.MaterialId = item.MaterialId;
detail.Qty = item.Qty;
detail.SerialNumbers = item.SerialNumbers;
current.Details.Add(detail);
}
}
var boxInventoryResult = await _boxInventoryService.HandlBoxInventory(boxInventoryGenerateDto, isTransaction);
if (!boxInventoryResult.IsSuccess)
return boxInventoryResult;
return Result.ReSuccess();
}
else
if (entity == null)
return Result.ReFailure(ResultCodes.DateWriteError);
//同步金蝶后,反写任务单的已交数量
var taskId= dto.Details.GroupBy(x => x.TaskId).Select(x=>x.Key).FirstOrDefault();
var task= await _inStockTaskRepositories.Get(taskId);
if (task != null)
{
task.Details.ForEach(x =>
{
var current_dto_det = dto.Details.Where(x => x.MaterialId == x.MaterialId).FirstOrDefault();
if (current_dto_det != null)
x.DeliveredQty = current_dto_det.Qty;
});
task=await _inStockTaskRepositories.Update(task);
if(task==null)
return Result.ReFailure(ResultCodes.DateWriteError);
}
//保存成功后:序列号跟踪流程添加
var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction);
if (!serialNumber_result.IsSuccess)
return serialNumber_result;
//保存成功后:变更箱库存
var boxInventoryGenerateDto = dto.Details.GroupBy(x => new { x.BoxId, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryGenerateDto()
{
InventoryInOutMethod = (int)InventoryInOutMethod.Box,
InventoryInOutType = (int)InventoryInOutType.In,
BoxId = x.Key.BoxId,
StockCode = x.Key.StockCode,
SubStockId = x.Key.SubStockId
}).ToList();
foreach (var item in dto.Details)
{
var current = boxInventoryGenerateDto.Where(x => x.BoxId == item.BoxId).FirstOrDefault();
if (current != null)
{
var detail = new BoxInventoryGenerateDetailsDto();
detail.MaterialId = item.MaterialId;
detail.Qty = item.Qty;
detail.SerialNumbers = item.SerialNumbers;
current.Details.Add(detail);
}
}
var boxInventoryResult = await _boxInventoryService.HandlBoxInventory(boxInventoryGenerateDto, isTransaction);
if (!boxInventoryResult.IsSuccess)
return boxInventoryResult;
return Result.ReSuccess();
}
/// <summary>
/// 非采购上架-保存
@@ -256,7 +271,7 @@ namespace WMS.Web.Domain.Services
entity.Type = task.Type;
entity.Details = new List<InStockDetails>();
var temps=new List<InStockDetails>();
var temps = new List<InStockDetails>();
//3.遍历box信息,并拼装入库单明细
foreach (var box in dto.Boxs)
{
@@ -271,7 +286,7 @@ namespace WMS.Web.Domain.Services
item.SubStockId = dto.SubStockId;
item.StockCode = dto.StockCode;
var taskDet= task.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault();
var taskDet = task.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault();
item.SupplierId = taskDet.SupplierId;
item.OrgId = taskDet.OrgId;
});