diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index afea2aa2..72bcebc6 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index 1ac8a2bc..4d6e9434 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -87,6 +87,7 @@ namespace WMS.Web.Domain.Services var srcIds = dto.Select(s => s.SrcBoxId).Distinct().ToList(); var destIds = dto.Select(s => s.DestBoxId).Distinct().ToList(); var boxs = await _boxInventoryRepositories.GetList(srcIds); + var destIds_boxs = await _boxInventoryRepositories.GetList(destIds); var serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList(); var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers); @@ -99,6 +100,11 @@ namespace WMS.Web.Domain.Services var sCount = serialNumberList.Where(w => s.Contains(w.SerialNumber) && w.BoxId != 0).Count(); if (sCount > 0) return Result.ReFailure(ResultCodes.SerialNumbersBoxError); + + var dest_box = destIds_boxs.FirstOrDefault(f => f.BoxId == d.DestBoxId); + if (dest_box != null) + return Result.ReFailure(ResultCodes.BoxInventoryChangeBoxError); + } else { @@ -324,6 +330,6 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } - + } } diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index dec9dcfd..9a5b8fb9 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -75,6 +75,8 @@ namespace WMS.Web.Domain.Values public static ValueTuple InventoryInOutDetailsWriteError = (800014, "写入物料收发明细失败!"); public static ValueTuple InventoryDetailsWriteError = (800014, "写入即时库存明细失败!"); public static ValueTuple MoveInventoryError = (800015, "箱已经上架,不能重复上架"); + public static ValueTuple BoxInventoryChangeBoxError = (800016, "箱已上架不支持再次装箱"); + public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在"); public static ValueTuple SerialNumbersBoxError = (610002, "序列号已经绑定箱");