From d58a0f8d3c6994f7d195fb453844fd17c711deb8 Mon Sep 17 00:00:00 2001 From: 王彪总 Date: Mon, 15 Dec 2025 20:56:10 +0800 Subject: [PATCH] feat(garden): 引入养护周期枚举并优化计划创建逻辑 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/MaintenanceCycleEnum.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java | 10 +++++++--- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java | 8 +++++--- 3 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/MaintenanceCycleEnum.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/MaintenanceCycleEnum.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/MaintenanceCycleEnum.java new file mode 100644 index 0000000..b852ca6 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/MaintenanceCycleEnum.java @@ -0,0 +1,75 @@ +package com.zteits.urbanops.module.garden.enums; + +import java.util.HashMap; +import java.util.Map; + +public enum MaintenanceCycleEnum { + + /** + * 字典标签与字典键值对应关系: + * 次 → 0 + * 次/日 → 1 + * 次/周 → 2 + * 次/月 → 3 + * 次/季 → 4 + * 次/半年 → 5 + * 次/年 → 6 + */ + TIME(0, "次"), + DAY(1, "次/日"), + WEEK(2, "次/周"), + MONTH(3, "次/月"), + QUARTER(4, "次/季"), + SEMIANNUAL(5, "次/半年"), + YEAR(6, "次/年"); + + private final Integer key; + private final String value; + + // 用于根据key快速查找枚举 + private static final Map KEY_MAP = new HashMap<>(); + + static { + // 初始化key映射 + for (MaintenanceCycleEnum cycleEnum : values()) { + KEY_MAP.put(cycleEnum.key, cycleEnum); + } + } + + /** + * 构造函数 + * @param key 字典键值 + * @param value 字典标签 + */ + MaintenanceCycleEnum(Integer key, String value) { + this.key = key; + this.value = value; + } + + /** + * 根据key获取对应的枚举 + * @param key 字典键值 + * @return 对应的枚举,如果不存在返回null + */ + public static MaintenanceCycleEnum getByKey(Integer key) { + return KEY_MAP.get(key); + } + + /** + * 根据key获取对应的字典标签 + * @param key 字典键值 + * @return 对应的字典标签,如果不存在返回null + */ + public static String getValueByKey(Integer key) { + MaintenanceCycleEnum cycleEnum = getByKey(key); + return cycleEnum != null ? cycleEnum.value : null; + } + + public Integer getKey() { + return key; + } + + public String getValue() { + return value; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java index 7b15165..8de75b7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java @@ -24,11 +24,13 @@ import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlan import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanRoleMapper; import com.zteits.urbanops.module.garden.dal.mysql.road.RoadMapper; import com.zteits.urbanops.module.garden.enums.FinishStateEnum; +import com.zteits.urbanops.module.garden.enums.MaintenanceCycleEnum; import com.zteits.urbanops.module.garden.enums.PlanConstants; import com.zteits.urbanops.module.garden.util.timeinterval.PeriodResult; import com.zteits.urbanops.module.garden.util.timeinterval.TimeIntervalFrequencyUtil; import com.zteits.urbanops.module.system.api.dept.DeptApi; import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; +import com.zteits.urbanops.module.system.api.dict.DictDataApi; import com.zteits.urbanops.module.system.api.permission.RoleApi; import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO; import jakarta.annotation.Resource; @@ -48,6 +50,7 @@ import java.util.stream.Collectors; 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.CYCLE_ID_TYPE; /** * 巡检计划汇总 Service 实现类 @@ -73,13 +76,13 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { @Resource private RoadMapper roadMapper; - - @Resource private DeptApi deptApi; @Resource private RoleApi roleApi; + @Resource + private DictDataApi dictDataApi; @Transactional(rollbackFor = Exception.class) @Override @@ -100,7 +103,8 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { //计算计划次数 int planNum; //临时计划 - if (createReqVO.getCycleId().equals(5)) { + dictDataApi.validateDictDataList(CYCLE_ID_TYPE, Collections.singleton(createReqVO.getCycleId().toString().trim())); + if (createReqVO.getCycleId().equals(MaintenanceCycleEnum.TIME.getKey())) { calculate = new ArrayList<>(); PeriodResult periodResult = new PeriodResult(createReqVO.getBeginTime(), createReqVO.getEndTime(), Integer.parseInt(createReqVO.getRateValue())); calculate.add(periodResult); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java index 6761721..bcfb857 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java @@ -25,6 +25,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanInte import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanRoleMapper; import com.zteits.urbanops.module.garden.dal.mysql.road.RoadMapper; import com.zteits.urbanops.module.garden.enums.FinishStateEnum; +import com.zteits.urbanops.module.garden.enums.MaintenanceCycleEnum; import com.zteits.urbanops.module.garden.enums.PlanConstants; import com.zteits.urbanops.module.garden.util.timeinterval.PeriodResult; import com.zteits.urbanops.module.garden.util.timeinterval.TimeIntervalFrequencyUtil; @@ -57,6 +58,8 @@ import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanMapp 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.CYCLE_ID_TYPE; + /** * 养护计划汇总 Service 实现类 @@ -95,7 +98,6 @@ public class MaintainPlanServiceImpl implements MaintainPlanService { /** * 字典类型:养护周期类型 */ - private static final String DICT_TYPE_CYCLE_ID = "cycle_id_type"; @Override public CommonResult createMaintainPlan(MaintainPlanSaveReqVO createReqVO) { @@ -115,8 +117,8 @@ public class MaintainPlanServiceImpl implements MaintainPlanService { //计算计划次数 int planNum; //按次计划 - dictDataApi.validateDictDataList(DICT_TYPE_CYCLE_ID, Collections.singleton(createReqVO.getCycleId().toString().trim())); - if (createReqVO.getCycleId().equals(5)) { + dictDataApi.validateDictDataList(CYCLE_ID_TYPE, Collections.singleton(createReqVO.getCycleId().toString().trim())); + if (createReqVO.getCycleId().equals(MaintenanceCycleEnum.TIME.getKey())) { calculate = new ArrayList<>(); PeriodResult periodResult = new PeriodResult(createReqVO.getBeginTime(), createReqVO.getEndTime(), Integer.parseInt(createReqVO.getRateValue())); calculate.add(periodResult); -- libgit2 0.21.4