diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceHostServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceHostServiceImpl.java index 7f2d4a0..4458dfe 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceHostServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceHostServiceImpl.java @@ -210,8 +210,15 @@ public class BaseDeviceHostServiceImpl implements IBaseDeviceHostService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseDeviceHost::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("设备主机不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceInfoServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceInfoServiceImpl.java index 5bacb72..7740b93 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceInfoServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceInfoServiceImpl.java @@ -164,6 +164,10 @@ public class BaseDeviceInfoServiceImpl implements IBaseDeviceInfoService { @CacheEvict(cacheNames = "wcs_cache", key = "#bo.objId") @DSTransactional public Boolean updateByBo(BaseDeviceInfoBo bo) { + BaseDeviceInfo old = baseMapper.selectById(bo.getObjId()); + if (old == null) { + throw new ServiceException("设备信息不存在,无法修改"); + } BaseDeviceInfo update = MapstructUtils.convert(bo, BaseDeviceInfo.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; @@ -203,8 +207,15 @@ public class BaseDeviceInfoServiceImpl implements IBaseDeviceInfoService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseDeviceInfo::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("设备信息不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceParamServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceParamServiceImpl.java index 652de6a..489265a 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceParamServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseDeviceParamServiceImpl.java @@ -205,8 +205,15 @@ public class BaseDeviceParamServiceImpl implements IBaseDeviceParamService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseDeviceParam::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("设备参数不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseLocationInfoServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseLocationInfoServiceImpl.java index 1baff10..98a78ad 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseLocationInfoServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseLocationInfoServiceImpl.java @@ -171,6 +171,10 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService { @CacheEvict(cacheNames = "wcs_cache", key = "#bo.objId") @DSTransactional public Boolean updateByBo(BaseLocationInfoBo bo) { + BaseLocationInfo old = baseMapper.selectById(bo.getObjId()); + if (old == null) { + throw new ServiceException("库位信息不存在,无法修改"); + } BaseLocationInfo update = MapstructUtils.convert(bo, BaseLocationInfo.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; @@ -214,8 +218,15 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseLocationInfo::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("库位信息不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseMaterialInfoServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseMaterialInfoServiceImpl.java index b248855..92155d5 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseMaterialInfoServiceImpl.java @@ -207,8 +207,15 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseMaterialInfo::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("物料信息不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathDetailsServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathDetailsServiceImpl.java index 4709eda..8187706 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathDetailsServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathDetailsServiceImpl.java @@ -195,8 +195,15 @@ public class BasePathDetailsServiceImpl implements IBasePathDetailsService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - // TODO: 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BasePathDetails::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("路径明细不存在或已删除,无法删除"); + } } // 执行批量删除操作 return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathInfoServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathInfoServiceImpl.java index f4496bc..b8f43c8 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathInfoServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BasePathInfoServiceImpl.java @@ -317,8 +317,12 @@ public class BasePathInfoServiceImpl implements IBasePathInfoService { // 删除入口明确要求主键集合,空集合直接返回,避免拼出无意义SQL。 return false; } - if(isValid){ - // TODO: 做一些业务上的校验,判断是否需要校验 + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BasePathInfo::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("路径信息不存在或已删除,无法删除"); + } } // 根据主键集合查询路径编号 List pathCodes = baseMapper.selectPathCodesByIds(ids).stream() diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseStoreInfoServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseStoreInfoServiceImpl.java index 38c6744..3fe3bef 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseStoreInfoServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/BaseStoreInfoServiceImpl.java @@ -207,8 +207,15 @@ public class BaseStoreInfoServiceImpl implements IBaseStoreInfoService { @CacheEvict(cacheNames = "wcs_cache", allEntries = true) @DSTransactional public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (ids == null || ids.isEmpty()) { + return false; + } + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(BaseStoreInfo::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("仓库信息不存在或已删除,无法删除"); + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskDetailServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskDetailServiceImpl.java index 904bfda..32b94ea 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskDetailServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskDetailServiceImpl.java @@ -286,8 +286,12 @@ public class LiveTaskDetailServiceImpl implements ILiveTaskDetailService { // 删除入口明确要求主键集合,空集合直接返回,避免拼出无意义SQL。 return false; } - if(isValid){ - // TODO: 做一些业务上的校验,判断是否需要校验 + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(LiveTaskDetail::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("实时任务明细不存在或已删除,无法删除"); + } } // 执行批量删除操作 return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskQueueServiceImpl.java b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskQueueServiceImpl.java index 980eaab..7f3c856 100644 --- a/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskQueueServiceImpl.java +++ b/ruoyi-modules/hw-wcs/src/main/java/org/dromara/wcs/service/impl/LiveTaskQueueServiceImpl.java @@ -384,8 +384,12 @@ public class LiveTaskQueueServiceImpl implements ILiveTaskQueueService { // 删除入口明确要求主键集合,空集合直接返回,避免拼出无意义SQL。 return false; } - if(isValid){ - // TODO: 做一些业务上的校验,判断是否需要校验 + if (Boolean.TRUE.equals(isValid)) { + Long existCount = baseMapper.selectCount(Wrappers.lambdaQuery() + .in(LiveTaskQueue::getObjId, ids)); + if (existCount != ids.size()) { + throw new ServiceException("实时任务队列不存在或已删除,无法删除"); + } } // 根据主键集合查询任务编号 List taskCodes = baseMapper.selectTaskCodesByIds(ids).stream() diff --git a/ruoyi-modules/hw-wcs/src/main/resources/mapper/wcs/LiveTaskQueueMapper.xml b/ruoyi-modules/hw-wcs/src/main/resources/mapper/wcs/LiveTaskQueueMapper.xml index 53943f0..3bf51bf 100644 --- a/ruoyi-modules/hw-wcs/src/main/resources/mapper/wcs/LiveTaskQueueMapper.xml +++ b/ruoyi-modules/hw-wcs/src/main/resources/mapper/wcs/LiveTaskQueueMapper.xml @@ -29,68 +29,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select t.obj_id,