diff --git a/klp-ui/src/views/wms/coil/do/correct.vue b/klp-ui/src/views/wms/coil/do/correct.vue index a3c17e3e..37658276 100644 --- a/klp-ui/src/views/wms/coil/do/correct.vue +++ b/klp-ui/src/views/wms/coil/do/correct.vue @@ -237,7 +237,7 @@ - + @@ -284,7 +284,8 @@ --> - + @@ -339,9 +340,9 @@ + + diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index 6cc72830..bcb7254e 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -266,9 +266,10 @@ public class WmsMaterialCoilController extends BaseController { */ @GetMapping("/checkCoilNoDuplicate") public R> checkCoilNoDuplicate( + @RequestParam(required = false) Long coilId, @RequestParam(required = false) String enterCoilNo, @RequestParam(required = false) String currentCoilNo) { - Map result = iWmsMaterialCoilService.checkCoilNoDuplicate(enterCoilNo, currentCoilNo); + Map result = iWmsMaterialCoilService.checkCoilNoDuplicate(coilId,enterCoilNo, currentCoilNo); return R.ok(result); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index 289c60da..3b3f4f91 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -125,7 +125,7 @@ public interface IWmsMaterialCoilService { * - enterCoilNoDuplicate: 入场钢卷号是否重复 (true/false) * - currentCoilNoDuplicate: 当前钢卷号是否重复 (true/false) */ - Map checkCoilNoDuplicate(String enterCoilNo, String currentCoilNo); + Map checkCoilNoDuplicate(Long coilId, String enterCoilNo, String currentCoilNo); /** * 根据入场钢卷号前缀查询最大的入场钢卷号 diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 314038be..ecb2bf92 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -984,6 +984,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { if (oldCoil == null) { throw new RuntimeException("钢卷不存在"); } + // 判断数据类型 0=历史数据 1=正常数据 + if (oldCoil.getDataType() == 0) { + throw new RuntimeException("原钢卷已被更新"); + } // 若修改实际库位,先进行校验 if (bo.getActualWarehouseId() != null) { @@ -1033,6 +1037,11 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { throw new RuntimeException("原钢卷不存在"); } + // oldCoil 如果是历史卷也就是date_type=0 的时候就是历史钢卷 + if (oldCoil.getDataType() == 0) { + throw new RuntimeException("原钢卷已被更新"); + } + // 若修改实际库位,先进行校验 if (bo.getActualWarehouseId() != null) { Long ignoreOccupiedId = Objects.equals(bo.getActualWarehouseId(), oldCoil.getActualWarehouseId()) @@ -2590,7 +2599,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { * 根据入场钢卷号和当前钢卷号查询数据库,判断哪个钢卷号重复 */ @Override - public Map checkCoilNoDuplicate(String enterCoilNo, String currentCoilNo) { + public Map checkCoilNoDuplicate(Long coilId, String enterCoilNo, String currentCoilNo) { Map result = new HashMap<>(); boolean enterCoilNoDuplicate = false; @@ -2602,6 +2611,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { enterWrapper.eq(WmsMaterialCoil::getEnterCoilNo, enterCoilNo) .eq(WmsMaterialCoil::getDelFlag, 0) .eq(WmsMaterialCoil::getDataType, 1); + // 如果是修改操作,排除自身 + if (coilId != null) { + enterWrapper.ne(WmsMaterialCoil::getCoilId, coilId); + } long enterCount = baseMapper.selectCount(enterWrapper); enterCoilNoDuplicate = enterCount > 0; } @@ -2612,6 +2625,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { currentWrapper.eq(WmsMaterialCoil::getCurrentCoilNo, currentCoilNo) .eq(WmsMaterialCoil::getDelFlag, 0) .eq(WmsMaterialCoil::getDataType, 1); + // 如果是修改操作,排除自身 + if (coilId != null) { + currentWrapper.ne(WmsMaterialCoil::getCoilId, coilId); + } long currentCount = baseMapper.selectCount(currentWrapper); currentCoilNoDuplicate = currentCount > 0;