增加验证

This commit is contained in:
18942506660
2023-11-25 17:40:42 +08:00
parent 8216fafab9
commit d01e8425a0
2 changed files with 28 additions and 3 deletions

View File

@@ -54,6 +54,23 @@ namespace WMS.Web.Domain.Services
public async Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo, bool isTransaction = false)
{
//1.有原箱时 需要判断 物料对应的序列号是否存在
if (dto.SrcBoxId != 0)
{
var box = await _boxInventoryRepositories.Get(dto.SrcBoxId);
//原箱在库存中的话 进行验证
if (box != null)
{
foreach (var bd in box.Details)
{
var bDe = box.Details.FirstOrDefault(f => f.MaterialId == bd.MaterialId);
if (bDe == null)
Result.ReFailure(ResultCodes.BoxMateriaNoData);
var ex = bd.SerialNumbers.Except(bDe.SerialNumbers).ToList();
if (ex.Count() > 0)
Result.ReFailure(ResultCodes.BoxInventorySerialNumbersNoData);
}
}
}
List<Box> boxList = new List<Box>();
//原箱有可能没有
@@ -139,6 +156,13 @@ namespace WMS.Web.Domain.Services
public async Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo)
{
//1.下架时 需要验证箱是否在库存里
if (!IsUp)
{
var boxIds = dto.Select(s => s.BoxId).ToList();
var boxList = await _boxInventoryRepositories.GetList(boxIds);
if (boxIds.Count() != boxList.Count())
return Result.ReFailure(ResultCodes.BoxInventoryNoDataError);
}
List<MoveBoxRecord> entityList = new List<MoveBoxRecord>();
foreach (var d in dto)
{

View File

@@ -38,6 +38,7 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> BoxNoData = (80000, "箱信息不存在");
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");
public static ValueTuple<int, string> MateriaNoData = (800011, "物料信息不存在");
public static ValueTuple<int, string> BoxInventorySerialNumbersNoData = (800012, "序列号不存在于箱库存数据中");
public static ValueTuple<int, string> ErpStockNoData = (900000, "Erp仓库信息不完整");
public static ValueTuple<int, string> Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!");