diff --git a/urbanops-framework/urbanops-common/src/main/java/com/zteits/urbanops/framework/common/biz/system/dict/DictDataCommonApi.java b/urbanops-framework/urbanops-common/src/main/java/com/zteits/urbanops/framework/common/biz/system/dict/DictDataCommonApi.java index 51cc663..6425b52 100644 --- a/urbanops-framework/urbanops-common/src/main/java/com/zteits/urbanops/framework/common/biz/system/dict/DictDataCommonApi.java +++ b/urbanops-framework/urbanops-common/src/main/java/com/zteits/urbanops/framework/common/biz/system/dict/DictDataCommonApi.java @@ -19,6 +19,15 @@ public interface DictDataCommonApi { */ List getDictDataList(String dictType); + /** + * 获得指定字典类型的字典数据列表 + * + * @param dictType 字典类型 + * @param value 字典值 + * @return 字典数据列表 + */ + DictDataRespDTO getDictData(String dictType, String value ); + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java index dd638d1..cf0a27e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.garden.controller.admin.planrate; +import jakarta.validation.constraints.NotBlank; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -85,6 +86,15 @@ public class PlanRateController { return success(BeanUtils.toBean(planRate, PlanRateRespVO.class)); } + @GetMapping("/get-rateNo") + @Operation(summary = "获得计划频次明细") + @Parameter(name = "rate_no", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('garden:plan-rate-detail:query')") + public CommonResult getPlanRateDetail(@RequestParam("rate_no") @NotBlank String rateNo) { + return success(planRateService.getPlanRateDetailByRateNo(rateNo)); + } + + @GetMapping("/page") @Operation(summary = "获得计划频次分页") @PreAuthorize("@ss.hasPermission('garden:plan-rate:query')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateDetailController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateDetailController.java index fee8534..89ebf58 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateDetailController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateDetailController.java @@ -71,13 +71,16 @@ public class PlanRateDetailController { return success(true); } - @GetMapping("/get-rateNo") + @GetMapping("/get-rate-value") @Operation(summary = "获得计划频次明细") - @Parameter(name = "rateNo", description = "编号", required = true, example = "1024") + @Parameter(name = "busi_Line", description = "业务线", required = true, example = "1024") + @Parameter(name = "plan_type_id", description = "计划类型ID", required = true, example = "如浇水:101") + @Parameter(name = "level_id", description = "道路等级", required = true, example = "如10:特级") @PreAuthorize("@ss.hasPermission('garden:plan-rate-detail:query')") - public CommonResult> getPlanRateDetail(@RequestParam("rateNo") @NotBlank String rateNo) { - List detailList = planRateDetailService.getPlanRateDetailByRateNo(rateNo); - return success(BeanUtils.toBean(detailList, PlanRateDetailRespVO.class)); + public CommonResult getPlanRateValue(@RequestParam("busi_Line") @NotBlank String busiLine, + @RequestParam("plan_type_id") @NotNull Integer planTypeId, + @RequestParam("level_id") @NotNull Integer levelId) { + return success(planRateDetailService.getPlanRateValue(busiLine, planTypeId, levelId )); } @GetMapping("/page") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateDetailRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateDetailRespVO.java index 222f3b0..a091a0f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateDetailRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateDetailRespVO.java @@ -43,6 +43,10 @@ public class PlanRateDetailRespVO { @ExcelProperty("周期ID: 1:日/次;2:周/次;3:月/次;4:年/次") private Integer cycleId; + @Schema(description = "周期名称: 1:日/次;2:周/次;3:月/次;4:年/次", requiredMode = Schema.RequiredMode.REQUIRED, example = "11235") + @ExcelProperty("周期名称: 1:日/次;2:周/次;3:月/次;4:年/次") + private String cycleName; + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateUpdateRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateUpdateRespVO.java new file mode 100644 index 0000000..cbd4749 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateUpdateRespVO.java @@ -0,0 +1,36 @@ +package com.zteits.urbanops.module.garden.controller.admin.planrate.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 计划频次 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PlanRateUpdateRespVO { + + @Schema(description = "频次编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("频次编号") + private String rateNo; + + @Schema(description = "业务线: yl-园林;wy-物业:sz-市政", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("业务线: yl-园林;wy-物业:sz-市政") + private String busiLine; + + @Schema(description = "养护类型:2001:浇水;2002:施肥;2003:有害生物防治;2004:修剪;2005:中耕除草;2006:打孔梳草;2007:绿地保洁;2008:园林废弃物收集运输 ;2009:补植;3001:绿地巡视;", requiredMode = Schema.RequiredMode.REQUIRED, example = "16546") + @ExcelProperty("养护类型:2001:浇水;2002:施肥;2003:有害生物防治;2004:修剪;2005:中耕除草;2006:打孔梳草;2007:绿地保洁;2008:园林废弃物收集运输 ;2009:补植;3001:绿地巡视;") + private Integer planTypeId; + + @Schema(description = "是否为标准计划: 1:是;2:否", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否为标准计划: 1:是;2:否") + private Integer stdPlan; + + @Schema(description = "明细", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("明细") + private List details; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/RoadController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/RoadController.java index cca92de..b24465f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/RoadController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/RoadController.java @@ -91,7 +91,7 @@ public class RoadController { @PostMapping("/list") @Operation(summary = "获得道路列表") @PreAuthorize("@ss.hasPermission('garden:road:query')") - public CommonResult> getRoadList(@Valid RoadListReqVO reqVO) { + public CommonResult> getRoadList(@Valid @RequestBody RoadListReqVO reqVO) { List roadList = roadService.getRoadList(reqVO); return success(BeanUtils.toBean(roadList, RoadListRespVO.class)); } 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 1a0a491..30901d5 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 @@ -87,14 +87,14 @@ public interface ErrorCodeConstants { // ========== 巡检计划汇总 TODO 补充编号 ========== - ErrorCode INSPECTION_PLAN_NOT_EXISTS = new ErrorCode(1-100-007-001, "巡检计划汇总不存在"); - ErrorCode INSPECTION_CYCLE_ID_ERROR = new ErrorCode(1-100-007-002, "周期id错误"); - ErrorCode INSPECTION_CYCLE_ERROR = new ErrorCode(1-100-007-003, "获取两个时间之间间隔天数错误"); - ErrorCode INSPECTION_PLAN_EXISTS = new ErrorCode(1-100-007-004, "道路对应类型已存在记录"); - ErrorCode INSPECTION_PLAN_NOT_ALLOW_DELETE = new ErrorCode(1-100-007-005, "计划已开始执行不能删除"); + ErrorCode INSPECTION_PLAN_NOT_EXISTS = new ErrorCode(1-100-100-001, "巡检计划汇总不存在"); + ErrorCode INSPECTION_CYCLE_ID_ERROR = new ErrorCode(1-100-100-002, "周期id错误"); + ErrorCode INSPECTION_CYCLE_ERROR = new ErrorCode(1-200-100-003, "获取两个时间之间间隔天数错误"); + ErrorCode INSPECTION_PLAN_EXISTS = new ErrorCode(1-200-100-004, "道路对应类型已存在记录"); + ErrorCode INSPECTION_PLAN_NOT_ALLOW_DELETE = new ErrorCode(1-200-100-005, "计划已开始执行不能删除"); // ========== 养护计划汇总 TODO 补充编号 ========== - ErrorCode MAINTAIN_PLAN_NOT_EXISTS = new ErrorCode(1-100-006-001, "养护计划汇总不存在"); + ErrorCode MAINTAIN_PLAN_NOT_EXISTS = new ErrorCode(1-200-200-001, "养护计划汇总不存在"); //========== 频次 TODO 补充编号 ========== ErrorCode PLAN_RATE_EXISTS = new ErrorCode(1-100-006-002, "养护频次已存在"); @@ -102,6 +102,10 @@ public interface ErrorCodeConstants { //========== 12345 ========== ErrorCode HOTLINE_FILE_NOT_EXISTS = new ErrorCode(1-100-010-001, "12345案件-文件不存在"); + ErrorCode PLAN_RATE_EXISTS = new ErrorCode(1-200-200-001, "养护频次已存在"); + ErrorCode PLAN_RATE_LEVEL_ID_DUPLICATE = new ErrorCode(1-200-200-002, "养护等级重复"); + ErrorCode PLAN_RATE_NOT_EXISTS = new ErrorCode(1-200-200-002, "未配置计划频次"); + ErrorCode PLAN_RATE_DETAIL_EXISTS = new ErrorCode(1-200-200-003, "计划频次已存在"); ErrorCode HOTLINE_CASE_NOT_EXISTS = new ErrorCode(1-100-010-002, "12345案件-案件不存在"); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/PlanConstants.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/PlanConstants.java index 5baa472..aeb4fb4 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/PlanConstants.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/PlanConstants.java @@ -4,4 +4,11 @@ public class PlanConstants { /*计划属性-字典key*/ public static final String GARDEN_PLAN_ATTR_REDIS_KEY = "garden_plan_attr"; + + /*周期-cycle_id_type-字典key*/ + public static final String CYCLE_ID_TYPE = "cycle_id_type"; + + /*养护级别-字典key*/ + public static final String CONSERVE_LEVEL = "conserve_level"; + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailService.java index 304848b..86e4344 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailService.java @@ -5,7 +5,6 @@ import jakarta.validation.*; import com.zteits.urbanops.module.garden.controller.admin.planrate.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.planrate.PlanRateDetailDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; /** * 计划频次明细 Service 接口 @@ -60,11 +59,12 @@ public interface PlanRateDetailService { PageResult getPlanRateDetailPage(PlanRateDetailPageReqVO pageReqVO); /** - * 获得计划频次明细 - * - * @param rateNo 编号 - * @return 计划频次明细列表 + * 获取养护频次值对象 + * @param busiLine 业务线 + * @param planTypeId 计划类型 + * @param levelId 道路等级 + * @return 对象 */ - List getPlanRateDetailByRateNo(String rateNo); + PlanRateDetailRespVO getPlanRateValue(String busiLine,Integer planTypeId,Integer levelId); } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailServiceImpl.java index e2cd5eb..29bf009 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateDetailServiceImpl.java @@ -1,6 +1,10 @@ package com.zteits.urbanops.module.garden.service.planrate; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zteits.urbanops.framework.common.biz.system.dict.dto.DictDataRespDTO; +import com.zteits.urbanops.module.garden.dal.dataobject.planrate.PlanRateDO; +import com.zteits.urbanops.module.garden.dal.mysql.planrate.PlanRateMapper; +import com.zteits.urbanops.module.system.api.dict.DictDataApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -13,6 +17,11 @@ import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.garden.dal.mysql.planrate.PlanRateDetailMapper; +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.common.util.object.BeanUtils.copyProperties; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RATE_NOT_EXISTS; +import static com.zteits.urbanops.module.garden.enums.PlanConstants.CYCLE_ID_TYPE; + /** * 计划频次明细 Service 实现类 * @@ -23,8 +32,14 @@ import com.zteits.urbanops.module.garden.dal.mysql.planrate.PlanRateDetailMapper public class PlanRateDetailServiceImpl implements PlanRateDetailService { @Resource + private PlanRateMapper planRateMapper; + + @Resource private PlanRateDetailMapper planRateDetailMapper; + @Resource + private DictDataApi dictDataApi; + @Override public Long createPlanRateDetail(PlanRateDetailSaveReqVO createReqVO) { // 插入 @@ -75,11 +90,22 @@ public class PlanRateDetailServiceImpl implements PlanRateDetailService { return planRateDetailMapper.selectPage(pageReqVO); } + @Override - public List getPlanRateDetailByRateNo(String rateNo) { - QueryWrapper sql = new QueryWrapper<>(); - sql.lambda().eq(PlanRateDetailDO::getRateNo, rateNo); - return planRateDetailMapper.selectList(sql); + public PlanRateDetailRespVO getPlanRateValue(String busiLine, Integer planTypeId, Integer levelId) { + QueryWrapper sql = new QueryWrapper<>(); + sql.lambda().eq(PlanRateDetailDO::getBusiLine, busiLine).eq(PlanRateDetailDO::getPlanTypeId, planTypeId).eq(PlanRateDetailDO::getLevelId, levelId); + PlanRateDetailDO planRateDetailDO = planRateDetailMapper.selectOne(sql); + if (planRateDetailDO == null) { + throw exception(PLAN_RATE_NOT_EXISTS); + } + PlanRateDetailRespVO respVO = new PlanRateDetailRespVO(); + BeanUtils.copyProperties(planRateDetailDO, respVO); + DictDataRespDTO dictData = dictDataApi.getDictData(CYCLE_ID_TYPE, planRateDetailDO.getCycleId() + ""); + if (dictData != null) { + respVO.setCycleName(dictData.getLabel()); + } + return respVO; } } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateService.java index e825434..e020402 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateService.java @@ -66,4 +66,13 @@ public interface PlanRateService { */ PageResult getPlanRatePage(PlanRatePageReqVO pageReqVO); + /** + * 获得计划频次明细 + * + * @param rateNo 编号 + * @return 计划频次明细列表 + */ + PlanRateUpdateRespVO getPlanRateDetailByRateNo(String rateNo); + + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateServiceImpl.java index b31f611..65def1d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/planrate/PlanRateServiceImpl.java @@ -4,6 +4,10 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.zteits.urbanops.framework.common.biz.system.dict.DictDataCommonApi; +import com.zteits.urbanops.framework.common.biz.system.dict.dto.DictDataRespDTO; +import com.zteits.urbanops.framework.common.exception.ServiceException; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; import com.zteits.urbanops.module.garden.dal.dataobject.planrate.PlanRateDetailDO; import com.zteits.urbanops.module.garden.dal.mysql.planrate.PlanRateDetailMapper; @@ -23,6 +27,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.planrate.PlanRateMapper; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; +import static com.zteits.urbanops.module.garden.enums.PlanConstants.CONSERVE_LEVEL; /** * 计划频次 Service 实现类 @@ -39,6 +44,9 @@ public class PlanRateServiceImpl implements PlanRateService { @Resource private PlanRateDetailMapper planRateDetailMapper; + @Resource + private DictDataCommonApi dictDataCommonApi; + @Transactional(rollbackFor = Exception.class) @Override public Long createPlanRate(PlanRateSaveReqVO createReqVO) { @@ -74,6 +82,7 @@ public class PlanRateServiceImpl implements PlanRateService { detailDO.setUpdater(userName); detailDO.setUpdateTime(now); list.add(detailDO); + validatePlanRateDetailExists(createReqVO.getBusiLine(), createReqVO.getPlanTypeId(), detail.getLevelId()); }); /*2.插入频次明细*/ planRateDetailMapper.insertBatch(list); @@ -111,6 +120,7 @@ public class PlanRateServiceImpl implements PlanRateService { detailDO.setUpdater(userName); detailDO.setUpdateTime(now); list.add(detailDO); + validatePlanRateDetailExists(updateReqVO.getBusiLine(), updateReqVO.getPlanTypeId(), detail.getLevelId()); }); /*3.插入频次明细*/ planRateDetailMapper.insertBatch(list); @@ -145,6 +155,22 @@ public class PlanRateServiceImpl implements PlanRateService { } } + /** + * 养护明细是否重复 + * @param planTypeId 养护类型 + * @param busiLine 业务线 + * @param levelId 道路等级 + */ + private void validatePlanRateDetailExists(String busiLine, Integer planTypeId, Integer levelId) { + QueryWrapper sql = new QueryWrapper<>(); + sql.lambda().eq(PlanRateDetailDO::getPlanTypeId, planTypeId).eq(PlanRateDetailDO::getBusiLine, busiLine) + .eq(PlanRateDetailDO::getLevelId, levelId); + if (planRateDetailMapper.selectCount(sql) > 0) { + DictDataRespDTO dictData = dictDataCommonApi.getDictData(CONSERVE_LEVEL, levelId.toString()); + throw new ServiceException(PLAN_RATE_DETAIL_EXISTS.getCode(), "养护等级[" + dictData.getLabel() + "]已存在"); + } + } + @Override public PlanRateDO getPlanRate(Long id) { return planRateMapper.selectById(id); @@ -155,4 +181,27 @@ public class PlanRateServiceImpl implements PlanRateService { return planRateMapper.selectPage(pageReqVO); } + @Override + public PlanRateUpdateRespVO getPlanRateDetailByRateNo(String rateNo) { + PlanRateUpdateRespVO respVO = new PlanRateUpdateRespVO(); + QueryWrapper sql = new QueryWrapper<>(); + sql.lambda().eq(PlanRateDO::getRateNo, rateNo); + /*1.查询对象*/ + PlanRateDO planRateDO = planRateMapper.selectOne(sql); + if(null == planRateDO) { + return respVO; + } + respVO.setRateNo(planRateDO.getRateNo()); + respVO.setBusiLine(planRateDO.getBusiLine()); + respVO.setStdPlan(planRateDO.getStdPlan()); + respVO.setPlanTypeId(planRateDO.getPlanTypeId()); + /*2.查询明细*/ + QueryWrapper sqlDetail = new QueryWrapper<>(); + sqlDetail.lambda().eq(PlanRateDetailDO::getRateNo, rateNo); + List detail = planRateDetailMapper.selectList(sqlDetail); + List list = BeanUtils.toBean(detail, PlanRateDetailRespVO.class); + respVO.setDetails(list); + return respVO; + } + } \ No newline at end of file diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/dict/DictDataApiImpl.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/dict/DictDataApiImpl.java index 62c476c..e3be343 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/dict/DictDataApiImpl.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/dict/DictDataApiImpl.java @@ -32,4 +32,12 @@ public class DictDataApiImpl implements DictDataApi { return BeanUtils.toBean(list, DictDataRespDTO.class); } + @Override + public DictDataRespDTO getDictData(String dictType, String value) { + DictDataRespDTO dto = new DictDataRespDTO(); + DictDataDO dictData = dictDataService.getDictData(dictType, value); + BeanUtils.copyProperties(dictData, dto); + return dto; + } + } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/permission/RoleController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/permission/RoleController.java index 16a42e0..2dceadf 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/permission/RoleController.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/permission/RoleController.java @@ -18,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -80,6 +81,14 @@ public class RoleController { return success(BeanUtils.toBean(role, RoleRespVO.class)); } + @GetMapping("/get/busi-line") + @Operation(summary = "通过业务线查询角色列表") + @Parameter(name = "busi_line", description = "业务线", required = true) + @PreAuthorize("@ss.hasPermission('system:role:query')") + public CommonResult> getRoleListByBusiLine(@RequestParam("busi_line") @NotBlank String busiLine) { + return success(roleService.getRoleListByBusiLine(busiLine)); + } + @GetMapping("/page") @Operation(summary = "获得角色分页") @PreAuthorize("@ss.hasPermission('system:role:query')") diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/dal/dataobject/permission/RoleDO.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/dal/dataobject/permission/RoleDO.java index 0533508..c3b1e3e 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/dal/dataobject/permission/RoleDO.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/dal/dataobject/permission/RoleDO.java @@ -75,4 +75,9 @@ public class RoleDO extends TenantBaseDO { @TableField(typeHandler = JacksonTypeHandler.class) private Set dataScopeDeptIds; + /** + * 业务线: yl-园林;wy-物业:sz-市政;例如:yl,wy' + */ + private String busiLine; + } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleService.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleService.java index 712e8fc..9444c19 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleService.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleService.java @@ -2,6 +2,7 @@ package com.zteits.urbanops.module.system.service.permission; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RolePageReqVO; +import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO; import jakarta.validation.Valid; @@ -128,4 +129,10 @@ public interface RoleService { */ void validateRoleList(Collection ids); + /** + * 通过业务线查询角色列表 + * @param busiLine 业务线 + * @return + */ + List getRoleListByBusiLine(String busiLine); } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleServiceImpl.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleServiceImpl.java index 80d4325..74e4d20 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleServiceImpl.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/permission/RoleServiceImpl.java @@ -5,11 +5,13 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zteits.urbanops.framework.common.enums.CommonStatusEnum; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.collection.CollectionUtils; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RolePageReqVO; +import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO; import com.zteits.urbanops.module.system.dal.mysql.permission.RoleMapper; @@ -262,6 +264,14 @@ public class RoleServiceImpl implements RoleService { }); } + @Override + public List getRoleListByBusiLine(String busiLine) { + QueryWrapper sql = new QueryWrapper<>(); + sql.lambda().eq(RoleDO::getBusiLine, busiLine); + List roleDOS = roleMapper.selectList(sql); + return BeanUtils.toBean(roleDOS, RoleRespVO.class); + } + /** * 获得自身的代理对象,解决 AOP 生效问题 *