增加验证
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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, "该箱号不在收货信息中,请核对再试!");
|
||||
|
||||
Reference in New Issue
Block a user