From 3fdad5629cb9b9ac04e70909400fe2a56b8660e4 Mon Sep 17 00:00:00 2001 From: 王彪总 Date: Mon, 15 Dec 2025 14:09:46 +0800 Subject: [PATCH] feat(garden): 添加计划过期状态处理功能 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java | 7 +++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java | 4 ++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/InspectionPlanExpiredJob.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/MaintainPlanExpiredJob.java | 31 +++++++++++++++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java | 5 ++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java | 19 ++++++++++++++++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanService.java | 4 +++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java | 14 +++++++++++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailService.java | 10 ++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java | 29 +++++++++++++++++++++++++++++ urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml | 4 +++- urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml | 3 ++- urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml | 4 +++- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java | 2 +- 14 files changed, 173 insertions(+), 8 deletions(-) create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/InspectionPlanExpiredJob.java create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/MaintainPlanExpiredJob.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java index 3705531..c65fe95 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.garden.controller.app.maintainplan.vo; +import cn.idev.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -64,4 +65,10 @@ public class AppMaintainPlanCommitDetailPageRespVO { @Schema(description = "执行时间") private LocalDateTime endTime; + @Schema(description = "提交人用户ID", example = "王五") + private String userName; + + @Schema(description = "备注", example = "你猜") + private String remark; + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java index fe76530..6e479c7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java @@ -11,6 +11,10 @@ public enum FinishStateEnum { * 已完成 */ FINISHED(2), + /** + * 过期 + */ + EXPIRED(3), ; FinishStateEnum(Integer status) { diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/InspectionPlanExpiredJob.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/InspectionPlanExpiredJob.java new file mode 100644 index 0000000..52aee3c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/InspectionPlanExpiredJob.java @@ -0,0 +1,45 @@ +package com.zteits.urbanops.module.garden.job.plan; + +import com.zteits.urbanops.framework.quartz.core.handler.JobHandler; +import com.zteits.urbanops.framework.tenant.core.aop.TenantIgnore; +import com.zteits.urbanops.module.garden.service.inspectionplan.InspectionPlanDetailService; +import com.zteits.urbanops.module.garden.service.inspectionplan.InspectionPlanService; +import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanDetailService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 巡查计划过去 修改状态 + */ +@Component +@Slf4j +public class InspectionPlanExpiredJob implements JobHandler { + + @Resource + private InspectionPlanDetailService inspectionPlanDetailService; + + @Resource + private InspectionPlanService inspectionPlanService ; + + /** + * 清理超过(14)天的日志 + */ + private static final Integer JOB_CLEAN_RETAIN_DAY = 14; + + /** + * 每次删除间隔的条数,如果值太高可能会造成数据库的压力过大 + */ + private static final Integer DELETE_LIMIT = 100; + + @Override + @TenantIgnore + public String execute(String param) { + // 更新过期的计划明细状态为过期(3) + inspectionPlanDetailService.updateExpiredInspectionPlanDetails(); // Fixed method name + // 更新过期的计划状态为过期(3) + inspectionPlanService.updateExpiredInspectionPlans(); // Fixed method name + return "Successfully updated expired maintain plans and plan details"; + } + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/MaintainPlanExpiredJob.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/MaintainPlanExpiredJob.java new file mode 100644 index 0000000..ebdf81c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/plan/MaintainPlanExpiredJob.java @@ -0,0 +1,31 @@ +package com.zteits.urbanops.module.garden.job.plan; + +import com.zteits.urbanops.framework.quartz.core.handler.JobHandler; +import com.zteits.urbanops.framework.tenant.core.aop.TenantIgnore; +import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanDetailService; +import com.zteits.urbanops.module.infra.service.logger.ApiAccessLogService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 养护计划过期 修改状态 + */ +@Component +@Slf4j +public class MaintainPlanExpiredJob implements JobHandler { + + @Resource + private MaintainPlanDetailService maintainPlanDetailService; + + @Override + @TenantIgnore + public String execute(String param) { + // 更新过期的计划明细状态为过期(3) + maintainPlanDetailService.updateExpiredMaintainPlanDetails(); + // 更新过期的计划状态为过期(3) + maintainPlanDetailService.updateExpiredMaintainPlans(); + return "Successfully updated expired maintain plans and plan details"; + } + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java index 2931717..a585a8f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java @@ -68,4 +68,7 @@ public interface InspectionPlanDetailService { * @return 巡检计划分页 */ List getInspectionPlanDetailForApp(AppInspectionPlanDetailReqVO pageReqVO); -} \ No newline at end of file + + void updateExpiredInspectionPlanDetails(); + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java index 1fe3235..38aa762 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.garden.service.inspectionplan; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; @@ -8,8 +9,11 @@ import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.Insp import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailReqVO; import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailRespVO; import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDetailDO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDetailDO; import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanDetailMapper; import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanRoleMapper; +import com.zteits.urbanops.module.garden.enums.FinishStateEnum; import com.zteits.urbanops.module.system.api.permission.RoleApi; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; @@ -102,4 +106,17 @@ public class InspectionPlanDetailServiceImpl implements InspectionPlanDetailServ return inspectionPlanDetailMapper.getInspectionPlanDetailForApp(pageReqVO); } -} \ No newline at end of file + @Override + public void updateExpiredInspectionPlanDetails() { + // 更新过期的计划明细状态为过期(3) + LocalDateTime now = LocalDateTime.now(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.lt(InspectionPlanDetailDO::getEndTime, now) + .ne(InspectionPlanDetailDO::getFinishState, FinishStateEnum.FINISHED.getStatus()) // 排除已完成的 + .set(InspectionPlanDetailDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()); // 设置为过期状态 + inspectionPlanDetailMapper.update(null, updateWrapper); + } + + + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanService.java index ada7660..1f084a5 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanService.java @@ -81,4 +81,6 @@ public interface InspectionPlanService { */ PageResult getInspectionPlanAppPage(AppInspectionPlanPageReqVO pageReqVO); -} \ No newline at end of file + void updateExpiredInspectionPlans(); + +} 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 eaa90f2..3bb406a 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 @@ -3,6 +3,7 @@ package com.zteits.urbanops.module.garden.service.inspectionplan; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageResult; @@ -399,4 +400,15 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { return roleList.stream().map(InspectionPlanRoleDO::getBatchNo).collect(Collectors.toSet()); } -} \ No newline at end of file + @Override + public void updateExpiredInspectionPlans() { + // 更新过期的计划状态为过期(3) + LocalDateTime now = LocalDateTime.now(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.lt(InspectionPlanDO::getEndTime, now) + .ne(InspectionPlanDO::getFinishState, FinishStateEnum.FINISHED.getStatus()) // 排除已完成的 + .set(InspectionPlanDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()); // 设置为过期状态 + inspectionPlanMapper.update(null, updateWrapper); + } + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailService.java index 4e9e19a..b20be94 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailService.java @@ -77,4 +77,14 @@ public interface MaintainPlanDetailService { */ List getMaintainNotFinishPlanCommitDetail(AppMaintainNotFinishPlanDetailReqVO reqVO); + /** + * 更新过期的计划明细状态为过期(3) + */ + void updateExpiredMaintainPlanDetails(); + + /** + * 更新过期的计划状态为过期(3) + */ + void updateExpiredMaintainPlans(); + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java index c4558d0..6ddee61 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java @@ -12,10 +12,14 @@ import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaint import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainNotFinishPlanDetailRespVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanDetailListByRoadPageReqVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanDetailRespVO; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDetailDO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanRoleDO; import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanDetailMapper; +import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanMapper; import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanRoleMapper; +import com.zteits.urbanops.module.garden.enums.FinishStateEnum; import com.zteits.urbanops.module.system.api.permission.RoleApi; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; @@ -44,6 +48,9 @@ public class MaintainPlanDetailServiceImpl implements MaintainPlanDetailService private MaintainPlanDetailMapper maintainPlanDetailMapper; @Resource + private MaintainPlanMapper maintainPlanMapper; + + @Resource private MaintainPlanRoleMapper maintainPlanRoleMapper; @Resource @@ -147,4 +154,26 @@ public class MaintainPlanDetailServiceImpl implements MaintainPlanDetailService return roleList.stream().map(MaintainPlanRoleDO::getBatchNo).collect(Collectors.toSet()); } + @Override + public void updateExpiredMaintainPlanDetails() { + // 更新过期的计划明细状态为过期(3) + LocalDateTime now = LocalDateTime.now(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.lt(MaintainPlanDetailDO::getEndTime, now) + .ne(MaintainPlanDetailDO::getFinishState, FinishStateEnum.FINISHED.getStatus()) // 排除已完成的 + .set(MaintainPlanDetailDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()); // 设置为过期状态 + maintainPlanDetailMapper.update(null, updateWrapper); + } + + @Override + public void updateExpiredMaintainPlans() { + // 更新过期的计划状态为过期(3) + LocalDateTime now = LocalDateTime.now(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.lt(MaintainPlanDO::getEndTime, now) + .ne(MaintainPlanDO::getFinishState, FinishStateEnum.FINISHED.getStatus()) // 排除已完成的 + .set(MaintainPlanDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()); // 设置为过期状态 + maintainPlanMapper.update(null, updateWrapper); + } + } diff --git a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml index 8c7e262..61ac704 100644 --- a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml @@ -92,6 +92,7 @@ b.plan_num, b.busi_line, b.plan_finish_num, + b.rate, a.begin_time, a.end_time, a.company_id, @@ -101,7 +102,8 @@ c.begin_img, c.img_host, c.finish_time, - c.user_name + c.user_name, + c.remark FROM garden_maintain_plan_detail a, garden_maintain_plan b, diff --git a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml index dbe07d2..276fbfa 100644 --- a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml @@ -50,6 +50,7 @@ + and a.finish_state = #{req.finishState} @@ -86,4 +87,4 @@ and c.finish_state = #{req.finishState} = #{req.localDateTime}]]> - \ No newline at end of file + diff --git a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml index b550a2b..139e81c 100644 --- a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml @@ -44,6 +44,7 @@ + and a.finish_state = #{req.finishState} @@ -93,6 +94,7 @@ + and c.finish_state = #{req.finishState} @@ -104,4 +106,4 @@ - \ No newline at end of file + diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 2d72a8c..d3a4ce0 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java @@ -392,7 +392,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ String content = pageVO.getSearchContent(); if(ObjectUtils.isNotAllEmpty(type)){ if("1".equals(type)){ - if(ObjectUtils.isNotAllEmpty(content)){mainInfoPageReqVo.setLonLatAddress(content);} + if(ObjectUtils.isNotAllEmpty(content)){mainInfoPageReqVo.setRoadName(content);} } else if("2".equals(type)){ if(ObjectUtils.isNotAllEmpty(content)){mainInfoPageReqVo.setOrderName(content);} -- libgit2 0.21.4