diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialname/MaterialNameController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialname/MaterialNameController.java index 48aa221..ecc1d48 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialname/MaterialNameController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialname/MaterialNameController.java @@ -88,6 +88,21 @@ public class MaterialNameController { return success(BeanUtils.toBean(pageResult, MaterialNameRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "获得物料名称列表(支持模糊搜索)") + @PreAuthorize("@ss.hasPermission('garden:material-name:query')") + public CommonResult> getMaterialNameList( + @RequestParam(value = "materialName", required = false) String materialName) { + // 构建查询条件 + MaterialNamePageReqVO pageReqVO = new MaterialNamePageReqVO(); + pageReqVO.setMaterialName(materialName); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + + // 查询数据 + List list = materialNameService.getMaterialNamePage(pageReqVO).getList(); + return success(BeanUtils.toBean(list, MaterialNameRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出物料名称 Excel") @PreAuthorize("@ss.hasPermission('garden:material-name:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialspecification/MaterialSpecificationController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialspecification/MaterialSpecificationController.java index 4be6de1..5da0b65 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialspecification/MaterialSpecificationController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialspecification/MaterialSpecificationController.java @@ -88,6 +88,21 @@ public class MaterialSpecificationController { return success(BeanUtils.toBean(pageResult, MaterialSpecificationRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "获得物料规格列表(支持模糊搜索)") + @PreAuthorize("@ss.hasPermission('garden:material-specification:query')") + public CommonResult> getMaterialSpecificationList( + @RequestParam(value = "specifications", required = false) String specifications) { + // 构建查询条件 + MaterialSpecificationPageReqVO pageReqVO = new MaterialSpecificationPageReqVO(); + pageReqVO.setSpecifications(specifications); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + + // 查询数据 + List list = materialSpecificationService.getMaterialSpecificationPage(pageReqVO).getList(); + return success(BeanUtils.toBean(list, MaterialSpecificationRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出物料规格 Excel") @PreAuthorize("@ss.hasPermission('garden:material-specification:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialunit/MaterialUnitController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialunit/MaterialUnitController.java index 7f3e4af..5484e40 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialunit/MaterialUnitController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialunit/MaterialUnitController.java @@ -88,6 +88,21 @@ public class MaterialUnitController { return success(BeanUtils.toBean(pageResult, MaterialUnitRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "获得物料单位列表(支持模糊搜索)") + @PreAuthorize("@ss.hasPermission('garden:material-unit:query')") + public CommonResult> getMaterialUnitList( + @RequestParam(value = "unitName", required = false) String unitName) { + // 构建查询条件 + MaterialUnitPageReqVO pageReqVO = new MaterialUnitPageReqVO(); + pageReqVO.setUnitName(unitName); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + + // 查询数据 + List list = materialUnitService.getMaterialUnitPage(pageReqVO).getList(); + return success(BeanUtils.toBean(list, MaterialUnitRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出物料单位 Excel") @PreAuthorize("@ss.hasPermission('garden:material-unit:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialspecification/MaterialSpecificationMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialspecification/MaterialSpecificationMapper.java index 000dd23..9e77eda 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialspecification/MaterialSpecificationMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialspecification/MaterialSpecificationMapper.java @@ -20,7 +20,7 @@ public interface MaterialSpecificationMapper extends BaseMapperX selectPage(MaterialSpecificationPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MaterialSpecificationDO::getSpecCode, reqVO.getSpecCode()) - .eqIfPresent(MaterialSpecificationDO::getSpecifications, reqVO.getSpecifications()) + .likeIfPresent(MaterialSpecificationDO::getSpecifications, reqVO.getSpecifications()) .eqIfPresent(MaterialSpecificationDO::getRemark, reqVO.getRemark()) .betweenIfPresent(MaterialSpecificationDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(MaterialSpecificationDO::getDeptId, reqVO.getDeptId()) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadInterceptMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadInterceptMapper.java index 80ffb3a..8af74b8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadInterceptMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadInterceptMapper.java @@ -43,10 +43,10 @@ public interface RoadInterceptMapper extends BaseMapperX { .likeIfPresent(RoadDO::getCreatorName, reqVO.getCreatorName()) .betweenIfPresent(RoadDO::getCreateTime, reqVO.getCreateTime()) .likeIfPresent(RoadDO::getUpdaterName, reqVO.getUpdaterName()) - .orderBy(true, reqVO.getSortAsc(), + .orderBy(false, reqVO.getSortAsc(), RoadPageReqVO.SORT_FIELD_MAP.get(reqVO.getOrderByColumn()) ) ); } -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java index 11190b3..7e000f8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java @@ -115,9 +115,13 @@ public interface ErrorCodeConstants { ErrorCode MATERIAL_INVENTORY_OUT_NOT_EXISTS = new ErrorCode(1-100-004-005, "物料出库不存在"); ErrorCode MATERIAL_INVENTORY_NOT_EXISTS = new ErrorCode(1-100-004-006, "物料库存不存在"); ErrorCode MATERIAL_NAME_NOT_EXISTS = new ErrorCode(1-100-004-007, "物料名称不存在"); + ErrorCode MATERIAL_NAME_EXISTS = new ErrorCode(1-100-004-0013, "物料名称已经存在"); ErrorCode MATERIAL_SPECIFICATION_NOT_EXISTS = new ErrorCode(1-100-004-010, "物料规格不存在"); + ErrorCode MATERIAL_SPECIFICATION_NAME_EXISTS = new ErrorCode(1-100-004-014, "物料规格名称已经存在"); + ErrorCode MATERIAL_UNIT_NOT_EXISTS = new ErrorCode(1-100-004-011, "物料单位不存在"); + ErrorCode MATERIAL_UNIT_NAME_EXISTS = new ErrorCode(1-100-004-012, "物料单位名称存在"); ErrorCode OLDTREES_NOT_EXISTS = new ErrorCode(1-100-005-001, "古树名木不存在"); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialname/MaterialNameServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialname/MaterialNameServiceImpl.java index 3723159..da0525d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialname/MaterialNameServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialname/MaterialNameServiceImpl.java @@ -17,7 +17,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.materialname.MaterialNameMapp import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** @@ -34,9 +34,12 @@ public class MaterialNameServiceImpl implements MaterialNameService { @Override public Long createMaterialName(MaterialNameSaveReqVO createReqVO) { + // 校验物料名称是否重复 + validateMaterialNameUnique(null, createReqVO.getMaterialName()); + // 生成物料名称ID:获取数据库中最大的值然后+1 Long materialId = generateMaterialId(); - + // 插入 MaterialNameDO materialName = BeanUtils.toBean(createReqVO, MaterialNameDO.class); materialName.setMaterialId(materialId); @@ -53,7 +56,7 @@ public class MaterialNameServiceImpl implements MaterialNameService { private Long generateMaterialId() { // 获取所有物料名称 List allMaterials = materialNameMapper.selectList(); - + long maxId = 0; if (CollUtil.isNotEmpty(allMaterials)) { // 遍历找到最大的ID值 @@ -63,7 +66,7 @@ public class MaterialNameServiceImpl implements MaterialNameService { } } } - + // 生成新ID:最大ID+1 return maxId + 1; } @@ -72,11 +75,25 @@ public class MaterialNameServiceImpl implements MaterialNameService { public void updateMaterialName(MaterialNameSaveReqVO updateReqVO) { // 校验存在 validateMaterialNameExists(updateReqVO.getId()); + // 校验物料名称是否重复 + validateMaterialNameUnique(updateReqVO.getId(), updateReqVO.getMaterialName()); // 更新 MaterialNameDO updateObj = BeanUtils.toBean(updateReqVO, MaterialNameDO.class); materialNameMapper.updateById(updateObj); } + /** + * 校验物料名称是否唯一 + */ + private void validateMaterialNameUnique(Long id, String materialName) { + List existingMaterials = materialNameMapper.selectList(new LambdaQueryWrapperX() + .eq(MaterialNameDO::getMaterialName, materialName) + .neIfPresent(MaterialNameDO::getId, id)); + if (CollUtil.isNotEmpty(existingMaterials)) { + throw exception(MATERIAL_NAME_EXISTS); + } + } + @Override public void deleteMaterialName(Long id) { // 校验存在 @@ -108,4 +125,4 @@ public class MaterialNameServiceImpl implements MaterialNameService { return materialNameMapper.selectPage(pageReqVO); } -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialspecification/MaterialSpecificationServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialspecification/MaterialSpecificationServiceImpl.java index 4cd17b4..7e5ee42 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialspecification/MaterialSpecificationServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialspecification/MaterialSpecificationServiceImpl.java @@ -17,7 +17,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.materialspecification.Materia import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** @@ -34,9 +34,12 @@ public class MaterialSpecificationServiceImpl implements MaterialSpecificationSe @Override public Long createMaterialSpecification(MaterialSpecificationSaveReqVO createReqVO) { + // 校验规格名称是否重复 + validateSpecificationsUnique(null, createReqVO.getSpecifications()); + // 生成规格编码:获取数据库中最大的值然后+1 String specCode = generateSpecCode(); - + // 插入 MaterialSpecificationDO materialSpecification = BeanUtils.toBean(createReqVO, MaterialSpecificationDO.class); materialSpecification.setSpecCode(specCode); @@ -53,7 +56,7 @@ public class MaterialSpecificationServiceImpl implements MaterialSpecificationSe private String generateSpecCode() { // 获取所有物料规格 List allSpecifications = materialSpecificationMapper.selectList(); - + int maxCode = 0; if (CollUtil.isNotEmpty(allSpecifications)) { // 遍历找到最大的编码 @@ -70,7 +73,7 @@ public class MaterialSpecificationServiceImpl implements MaterialSpecificationSe } } } - + // 生成新编码:最大编码+1 return String.valueOf(maxCode + 1); } @@ -79,11 +82,25 @@ public class MaterialSpecificationServiceImpl implements MaterialSpecificationSe public void updateMaterialSpecification(MaterialSpecificationSaveReqVO updateReqVO) { // 校验存在 validateMaterialSpecificationExists(updateReqVO.getId()); + // 校验规格名称是否重复 + validateSpecificationsUnique(updateReqVO.getId(), updateReqVO.getSpecifications()); // 更新 MaterialSpecificationDO updateObj = BeanUtils.toBean(updateReqVO, MaterialSpecificationDO.class); materialSpecificationMapper.updateById(updateObj); } + /** + * 校验规格名称是否唯一 + */ + private void validateSpecificationsUnique(Long id, String specifications) { + List existingSpecifications = materialSpecificationMapper.selectList(new LambdaQueryWrapperX() + .eq(MaterialSpecificationDO::getSpecifications, specifications) + .neIfPresent(MaterialSpecificationDO::getId, id)); + if (CollUtil.isNotEmpty(existingSpecifications)) { + throw exception(MATERIAL_SPECIFICATION_NAME_EXISTS); + } + } + @Override public void deleteMaterialSpecification(Long id) { // 校验存在 @@ -115,4 +132,4 @@ public class MaterialSpecificationServiceImpl implements MaterialSpecificationSe return materialSpecificationMapper.selectPage(pageReqVO); } -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialunit/MaterialUnitServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialunit/MaterialUnitServiceImpl.java index 78538a5..fffc4a4 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialunit/MaterialUnitServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialunit/MaterialUnitServiceImpl.java @@ -17,7 +17,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.materialunit.MaterialUnitMapp import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** @@ -34,9 +34,12 @@ public class MaterialUnitServiceImpl implements MaterialUnitService { @Override public Long createMaterialUnit(MaterialUnitSaveReqVO createReqVO) { + // 校验单位名称是否重复 + validateUnitNameUnique(null, createReqVO.getUnitName()); + // 生成单位ID:获取数据库中最大的值然后+1 Long unitId = generateUnitId(); - + // 插入 MaterialUnitDO materialUnit = BeanUtils.toBean(createReqVO, MaterialUnitDO.class); materialUnit.setUnitId(unitId); @@ -53,7 +56,7 @@ public class MaterialUnitServiceImpl implements MaterialUnitService { private Long generateUnitId() { // 获取所有物料单位 List allUnits = materialUnitMapper.selectList(); - + long maxId = 0; if (CollUtil.isNotEmpty(allUnits)) { // 遍历找到最大的ID值 @@ -63,7 +66,7 @@ public class MaterialUnitServiceImpl implements MaterialUnitService { } } } - + // 生成新ID:最大ID+1 return maxId + 1; } @@ -72,11 +75,25 @@ public class MaterialUnitServiceImpl implements MaterialUnitService { public void updateMaterialUnit(MaterialUnitSaveReqVO updateReqVO) { // 校验存在 validateMaterialUnitExists(updateReqVO.getId()); + // 校验单位名称是否重复 + validateUnitNameUnique(updateReqVO.getId(), updateReqVO.getUnitName()); // 更新 MaterialUnitDO updateObj = BeanUtils.toBean(updateReqVO, MaterialUnitDO.class); materialUnitMapper.updateById(updateObj); } + /** + * 校验单位名称是否唯一 + */ + private void validateUnitNameUnique(Long id, String unitName) { + List existingUnits = materialUnitMapper.selectList(new LambdaQueryWrapperX() + .eq(MaterialUnitDO::getUnitName, unitName) + .neIfPresent(MaterialUnitDO::getId, id)); + if (CollUtil.isNotEmpty(existingUnits)) { + throw exception(MATERIAL_UNIT_NAME_EXISTS); + } + } + @Override public void deleteMaterialUnit(Long id) { // 校验存在 @@ -108,4 +125,4 @@ public class MaterialUnitServiceImpl implements MaterialUnitService { return materialUnitMapper.selectPage(pageReqVO); } -} \ No newline at end of file +}