修复bug

This commit is contained in:
18942506660
2023-11-22 16:52:44 +08:00
parent d6c4d6db0c
commit 90ca620bd7
2 changed files with 14 additions and 11 deletions

View File

@@ -209,6 +209,7 @@ namespace WMS.Web.Domain.Entitys
else else
details_new.Add(d); details_new.Add(d);
} }
this.CreateTime = list.Max(o => o.CreateTime);//取最新的时间
this.OperatorId = creatorId; this.OperatorId = creatorId;
this.OperateTime = DateTime.Now; this.OperateTime = DateTime.Now;
this.Status = OutStockStatus.Wait; this.Status = OutStockStatus.Wait;

View File

@@ -29,10 +29,11 @@ namespace WMS.Web.Domain.Services
private readonly IBoxRepositories _boxRepositories; private readonly IBoxRepositories _boxRepositories;
private readonly ISerialNumberService _serialNumberService; private readonly ISerialNumberService _serialNumberService;
private readonly IBoxInventoryService _boxInventoryService; private readonly IBoxInventoryService _boxInventoryService;
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories, IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService) ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
@@ -42,6 +43,7 @@ namespace WMS.Web.Domain.Services
_boxRepositories = boxRepositories; _boxRepositories = boxRepositories;
_serialNumberService = serialNumberService; _serialNumberService = serialNumberService;
_boxInventoryService = boxInventoryService; _boxInventoryService = boxInventoryService;
_boxInventoryRepositories = boxInventoryRepositories;
} }
/// <summary> /// <summary>
/// 改箱保存 /// 改箱保存
@@ -75,21 +77,21 @@ namespace WMS.Web.Domain.Services
if (destBox != null) if (destBox != null)
boxList.Add(destBox); boxList.Add(destBox);
var subStock= await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId); var subStock = await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId);
var boxInventory = await _boxInventoryRepositories.Get(dto.SrcBoxId);
List<ChangeBoxRecord> list = new List<ChangeBoxRecord>(); List<ChangeBoxRecord> list = new List<ChangeBoxRecord>();
foreach (var d in dto.Details) foreach (var d in dto.Details)
{ {
ChangeBoxRecord entity = new ChangeBoxRecord(); ChangeBoxRecord entity = new ChangeBoxRecord();
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId); entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId);
entity.SrcSubStockId = 0;//原乡仓位需要去拉一下库存获取 entity.SrcSubStockId = boxInventory?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
if (subStock != null) if (subStock != null)
{ {
entity.DestSubStockId = dto.SubStockId; entity.DestSubStockId = dto.SubStockId;
entity.DestBoxOrgCode = subStock.ErpOrgCode; entity.DestBoxOrgCode = subStock.ErpOrgCode;
entity.DestStockCode = subStock.StockCode; entity.DestStockCode = subStock.StockCode;
} }
list.Add(entity); list.Add(entity);
} }
IDbContextTransaction _transaction = null; IDbContextTransaction _transaction = null;
@@ -97,11 +99,11 @@ namespace WMS.Web.Domain.Services
_transaction = _basbicsRepositories.GetTransaction(); _transaction = _basbicsRepositories.GetTransaction();
Result res_Rollback = Result.ReSuccess(); Result res_Rollback = Result.ReSuccess();
bool isSuccess = true; bool isSuccess = true;
if (res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
{ {
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
if (!isSuccess) res_Rollback=Result.ReFailure(ResultCodes.DateWriteError); if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
} }
if (res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
{ {
@@ -111,9 +113,9 @@ namespace WMS.Web.Domain.Services
if (res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
{ {
isSuccess = await _boxRepositories.EditEntityList(boxList, false); isSuccess = await _boxRepositories.EditEntityList(boxList, false);
if (!isSuccess) res_Rollback= Result.ReFailure(ResultCodes.DateWriteError); if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
} }
if(res_Rollback.IsSuccess) if (res_Rollback.IsSuccess)
{ {
var res_Inventory = await _boxInventoryService.GenerateChangeBox(list, false); var res_Inventory = await _boxInventoryService.GenerateChangeBox(list, false);
if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory; if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory;
@@ -142,7 +144,7 @@ namespace WMS.Web.Domain.Services
{ {
var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId);
var entity = new MoveBoxRecord(); var entity = new MoveBoxRecord();
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, subStock ?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId);
entityList.Add(entity); entityList.Add(entity);
} }
var inventoryList = _mapper.Map<List<BoxInventoryMoveGenerateDto>>(dto); var inventoryList = _mapper.Map<List<BoxInventoryMoveGenerateDto>>(dto);
@@ -169,7 +171,7 @@ namespace WMS.Web.Domain.Services
if (!res_Rollback.IsSuccess) return res_Rollback; if (!res_Rollback.IsSuccess) return res_Rollback;
if (!isSuccess) if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess(); return Result.ReSuccess();
} }