非采购上架接口优化

This commit is contained in:
tongfei
2023-11-09 14:17:54 +08:00
parent f52a1060b6
commit f964567193
4 changed files with 119 additions and 16 deletions

View File

@@ -127,7 +127,7 @@ namespace WMS.Web.Domain.Services
bool isRollback = false;
bool isTransaction = false;
//保存非采购上架的数据
var shelfSave_result = await this.ShelfNoPurchaseSave(dto,loginInDto.UserInfo.StaffId, isTransaction);
var shelfSave_result = await this.ShelfNoPurchaseSave(dto, loginInDto, isTransaction);
if(!shelfSave_result.IsSuccess) isRollback = true;
//提交事务
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
@@ -209,7 +209,7 @@ namespace WMS.Web.Domain.Services
/// <param name="staffId"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
private async Task<Result> ShelfNoPurchaseSave(NoPurchaseShelfRequest dto,int staffId, bool isTransaction = true)
private async Task<Result> ShelfNoPurchaseSave(NoPurchaseShelfRequest dto, LoginInDto loginInfo, bool isTransaction = true)
{
//1.修改-入库任务单的信息
@@ -218,7 +218,7 @@ namespace WMS.Web.Domain.Services
updateInStockTaskRequest.Boxs = dto.Boxs;
updateInStockTaskRequest.Details = dto.TaskDetails;
//2.修改后返回当前实体
var update_result = await this.Update(updateInStockTaskRequest, staffId, null, isTransaction, true);
var update_result = await this.Update(updateInStockTaskRequest, loginInfo.UserInfo.StaffId, null, isTransaction, true);
if (!update_result.IsSuccess)
return update_result;
@@ -226,23 +226,35 @@ namespace WMS.Web.Domain.Services
var entity = new InStock();
entity.Type = update_result.Data.Type;
entity.Details = _mapper.Map<List<InStockDetails>>(dto.Details);
entity.Create(staffId);
entity.Create(loginInfo.UserInfo.StaffId);
//需要填写序列号
//需要修改库存
//需要同步金蝶
//添加入库单信息
entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity != null)
return Result.ReSuccess();
else
if(entity==null)
return Result.ReFailure(ResultCodes.DateWriteError);
//当按产品上架:就要调用箱的操作;
var changeBox = new SaveChangeBoxRecordRequest();
//await _changeMoveBoxService.ChangeBoxSave()
//当按产品上架:就要调用箱的操作;
if (dto.ShelfMethod == (int)ShelfMethod.Product)
{
var changeBox = new SaveChangeBoxRecordRequest();
changeBox.DestBoxId = dto.Boxs.FirstOrDefault().BoxId;
foreach (var item in dto.Details)
{
var changeBoxRD = new SaveChangeBoxRecordDetailsRequest();
changeBoxRD.MaterialId = item.MaterialId;
changeBoxRD.Qty = item.Qty;
changeBoxRD.SerialNumbers = item.SerialNumbers;
}
//改箱保存操作
var changeBoxSave_Result = await _changeMoveBoxService.ChangeBoxSave(changeBox, loginInfo, isTransaction);
if (!changeBoxSave_Result.IsSuccess)
return changeBoxSave_Result;
}
return Result.ReSuccess();
}
/// <summary>