采购上架优化
This commit is contained in:
@@ -31,6 +31,7 @@ namespace WMS.Web.Domain.Services
|
||||
private readonly IErpService _erpService;
|
||||
private readonly ILoginService _loginService;
|
||||
private readonly ISerialNumberService _serialNumberService;
|
||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||
private readonly IChangeMoveBoxService _changeMoveBoxService;
|
||||
private readonly IBoxRepositories _boxRepositories;
|
||||
private readonly IBoxInventoryService _boxInventoryService;
|
||||
@@ -38,7 +39,7 @@ namespace WMS.Web.Domain.Services
|
||||
private readonly IInStockRepositories _inStockRepositories;
|
||||
private readonly IInStockTaskRepositories _inStockTaskRepositories;
|
||||
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
|
||||
public InStockService(IMapper mapper, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
|
||||
public InStockService(IMapper mapper, ISerialNumbersRepositories serialNumbersRepositories, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
|
||||
IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService,
|
||||
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
|
||||
{
|
||||
@@ -53,6 +54,7 @@ namespace WMS.Web.Domain.Services
|
||||
_inStockRepositories = inStockRepositories;
|
||||
_inStockTaskRepositories = inStockTaskRepositories;
|
||||
_erpBasicDataExtendService = erpBasicDataExtendService;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -101,13 +103,6 @@ namespace WMS.Web.Domain.Services
|
||||
//1.添加入库单:(同步金蝶在save方法里面进行)
|
||||
var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction);
|
||||
if (!save_result.IsSuccess) isRollback = true;
|
||||
{
|
||||
//2.修改入库任务单
|
||||
var ids = instock.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
|
||||
var result = await this.UpdateRange(ids, loginInfo.UserInfo.StaffId, false, isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
|
||||
//提交事务
|
||||
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
@@ -200,6 +195,20 @@ namespace WMS.Web.Domain.Services
|
||||
entity.Details = _mapper.Map<List<InStockDetails>>(dto.Details);
|
||||
entity.Create(loginInfo.UserInfo.StaffId);
|
||||
|
||||
|
||||
//序列号集:箱里面的
|
||||
var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(dto.Details.GroupBy(x=>x.BoxId).Select(x => x.Key).ToList());
|
||||
|
||||
//赋值序列号
|
||||
entity.Details.ForEach(x =>
|
||||
{
|
||||
var current_box_serNums = serialNumbers.Where(t => t.BoxId == x.BoxId).ToList();
|
||||
if (current_box_serNums != null)
|
||||
{
|
||||
var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialId == x.MaterialId).Select(t => t.SerialNumber).ToList();
|
||||
x.SerialNumbers.AddRange(current_box_mat_serNums);
|
||||
}
|
||||
});
|
||||
//需要填写序列号
|
||||
//需要修改库存
|
||||
//需要同步金蝶
|
||||
@@ -219,7 +228,8 @@ namespace WMS.Web.Domain.Services
|
||||
if (current_dto_det != null)
|
||||
x.DeliveredQty = current_dto_det.Qty;
|
||||
});
|
||||
task=await _inStockTaskRepositories.Update(task,isTransaction);
|
||||
task.Shelf(loginInfo.UserInfo.StaffId);
|
||||
task =await _inStockTaskRepositories.Update(task,isTransaction);
|
||||
if(task==null)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
@@ -439,7 +449,7 @@ namespace WMS.Web.Domain.Services
|
||||
r_box.BoxBillNo = box.BoxBillNo;
|
||||
r_box.BoxId = box.Id;
|
||||
r_box.TotalCount = box.Details.Sum(x => x.Qty);
|
||||
r_box.Details = _mapper.Map<List<ContrastBoxDetailsResponse>>(box.Details);
|
||||
r_box.Details = _mapper.Map<List<ContrastBoxDetailsResponse>>(box.Details);
|
||||
response.Boxs.Add(r_box);
|
||||
}
|
||||
return Result<ContrastMaterialsResponse>.ReSuccess(response);
|
||||
|
||||
Reference in New Issue
Block a user