Commit 612fc4ead71c67d70559e9c8e094b29acad31824

Authored by 王富生
1 parent da5f3ae0

养护计划优化提交

Showing 25 changed files with 142 additions and 109 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/InspectionPlanController.java
... ... @@ -6,6 +6,7 @@ import com.zteits.urbanops.framework.common.pojo.PageParam;
6 6 import com.zteits.urbanops.framework.common.pojo.PageResult;
7 7 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
8 8 import com.zteits.urbanops.framework.excel.core.util.ExcelUtils;
  9 +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
9 10 import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanPageReqVO;
10 11 import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanRespVO;
11 12 import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanSaveReqVO;
... ... @@ -117,6 +118,9 @@ public class InspectionPlanController {
117 118 @Operation(summary = "获得巡检计划汇总分页")
118 119 @PreAuthorize("@ss.hasPermission('garden:inspection-plan:query')")
119 120 public CommonResult<PageResult<InspectionPlanRespVO>> getInspectionPlanPage(@Valid InspectionPlanPageReqVO pageReqVO) {
  121 + if(pageReqVO.getCompanyId() == null){
  122 + pageReqVO.setCompanyId(SecurityFrameworkUtils.getCompanyId());
  123 + }
120 124 PageResult<InspectionPlanRespVO> pageResult = inspectionPlanService.getInspectionPlanPage(pageReqVO);
121 125 return success(pageResult);
122 126 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/MaintainPlanController.java
... ... @@ -6,6 +6,7 @@ import com.zteits.urbanops.framework.common.pojo.PageParam;
6 6 import com.zteits.urbanops.framework.common.pojo.PageResult;
7 7 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
8 8 import com.zteits.urbanops.framework.excel.core.util.ExcelUtils;
  9 +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
9 10 import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanPageReqVO;
10 11 import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanRespVO;
11 12 import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanSaveReqVO;
... ... @@ -117,6 +118,9 @@ public class MaintainPlanController {
117 118 @Operation(summary = "获得养护计划汇总分页")
118 119 @PreAuthorize("@ss.hasPermission('garden:maintain-plan:query')")
119 120 public CommonResult<PageResult<MaintainPlanRespVO>> getMaintainPlanPage(@Valid MaintainPlanPageReqVO pageReqVO) {
  121 + if(pageReqVO.getCompanyId() == null){
  122 + pageReqVO.setCompanyId(SecurityFrameworkUtils.getCompanyId());
  123 + }
120 124 PageResult<MaintainPlanRespVO> pageResult = maintainPlanService.getMaintainPlanPage(pageReqVO);
121 125 return success(pageResult);
122 126 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitDetailRespVO.java
... ... @@ -41,7 +41,7 @@ public class MaintainPlanCommitDetailRespVO {
41 41 private String remark;
42 42  
43 43 @Schema(description = "总完成百分比", example = "98.00")
44   - private Integer totalFinishPercent;
  44 + private Integer totalFinishNum;
45 45  
46 46 @Schema(description = "本次完成百分比", example = "98.00")
47 47 @ExcelProperty("本次完成百分比")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanDetailPageReqVO.java
... ... @@ -45,8 +45,8 @@ public class MaintainPlanDetailPageReqVO extends PageParam {
45 45 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
46 46 private LocalDate[] endTime;
47 47  
48   - @Schema(description = "完成百分比")
49   - private Integer finishPercent;
  48 + @Schema(description = "完成次数")
  49 + private Integer planFinishNum;
50 50  
51 51 @Schema(description = "完成状态 1:未完成;2:进行中;3:已完成")
52 52 private Integer finishState;
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanDetailRespVO.java
... ... @@ -55,9 +55,9 @@ public class MaintainPlanDetailRespVO {
55 55 @ExcelProperty("计划次数")
56 56 private Integer planNum;
57 57  
58   - @Schema(description = "完成百分比", requiredMode = Schema.RequiredMode.REQUIRED)
59   - @ExcelProperty("完成百分比")
60   - private Integer finishPercent;
  58 + @Schema(description = "完成次数", requiredMode = Schema.RequiredMode.REQUIRED)
  59 + @ExcelProperty("完成次数")
  60 + private Integer planFinishNum;
61 61  
62 62 @Schema(description = "完成状态 1:未完成;2:进行中;3:已完成", requiredMode = Schema.RequiredMode.REQUIRED)
63 63 @ExcelProperty("完成状态 1:未完成;2:进行中;3:已完成")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanDetailSaveReqVO.java
... ... @@ -47,9 +47,9 @@ public class MaintainPlanDetailSaveReqVO {
47 47 @Schema(description = "执行时间")
48 48 private LocalDate endTime;
49 49  
50   - @Schema(description = "完成百分比", requiredMode = Schema.RequiredMode.REQUIRED)
51   - @NotNull(message = "完成百分比不能为空")
52   - private Integer finishPercent;
  50 + @Schema(description = "完成地址", requiredMode = Schema.RequiredMode.REQUIRED)
  51 + @NotNull(message = "完成次数不能为空")
  52 + private Integer planFinishNum;
53 53  
54 54 @Schema(description = "完成状态 1:未完成;2:进行中;3:已完成", requiredMode = Schema.RequiredMode.REQUIRED)
55 55 @NotNull(message = "完成状态 1:未完成;2:进行中;3:已完成不能为空")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/RoadController.java
1 1 package com.zteits.urbanops.module.garden.controller.admin.road;
2 2  
  3 +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
3 4 import org.springframework.web.bind.annotation.*;
4 5 import jakarta.annotation.Resource;
5 6 import org.springframework.validation.annotation.Validated;
... ... @@ -82,6 +83,9 @@ public class RoadController {
82 83 @Operation(summary = "获得道路管理分页")
83 84 @PreAuthorize("@ss.hasPermission('garden:road:query')")
84 85 public CommonResult<PageResult<RoadRespVO>> getRoadPage(@Valid RoadPageReqVO pageReqVO) {
  86 + if(pageReqVO.getCompanyId() == null){
  87 + pageReqVO.setCompanyId(SecurityFrameworkUtils.getCompanyId());
  88 + }
85 89 PageResult<RoadRespVO> pageResult = roadService.getRoadPage(pageReqVO);
86 90 return success(pageResult);
87 91 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanDetailController.java
... ... @@ -38,7 +38,7 @@ public class AppMaintainPlanDetailController {
38 38 }
39 39  
40 40 @PostMapping("/get/not-finish")
41   - @Operation(summary = "获取未养护计划明细")
  41 + @Operation(summary = "获取未完成养护计划明细")
42 42 @Parameter(name = "plan_no", description = "计划编号", required = true, example = "1024")
43 43 //@PreAuthorize("@ss.hasPermission('app:garden:maintain-plan-commit:query')")
44 44 public CommonResult<List<AppMaintainNotFinishPlanDetailRespVO>> getMaintainNotFinishPlanCommitDetail(@Valid @RequestBody AppMaintainNotFinishPlanDetailReqVO reqVO) {
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainNotFinishPlanDetailRespVO.java
... ... @@ -34,9 +34,9 @@ public class AppMaintainNotFinishPlanDetailRespVO {
34 34 @ExcelProperty("周期ID: 1:日/次;2:周/次;3:月/次;4:年/次")
35 35 private Integer cycleId;
36 36  
37   - @Schema(description = "本次完成百分比")
38   - @ExcelProperty("本次完成百分比")
39   - private Integer finishPercent;
  37 + @Schema(description = "完成次数")
  38 + @ExcelProperty("完成次数")
  39 + private Integer planFinishNum;
40 40  
41 41 @Schema(description = "提交人用户", example = "19167")
42 42 @ExcelProperty("提交人用户")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitDetailPageRespVO.java
... ... @@ -35,6 +35,9 @@ public class AppMaintainPlanCommitDetailPageRespVO {
35 35 @Schema(description = "计划次数")
36 36 private Integer planNum;
37 37  
  38 + @Schema(description = "完成计划次数")
  39 + private Integer planFinishNum;
  40 +
38 41 @Schema(description = "照片host")
39 42 private String imgHost;
40 43  
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanDetailRespVO.java
... ... @@ -37,8 +37,8 @@ public class AppMaintainPlanDetailRespVO {
37 37 @Schema(description = "计划次数")
38 38 private Integer planNum;
39 39  
40   - @Schema(description = "完成百分比", requiredMode = Schema.RequiredMode.REQUIRED)
41   - private Integer finishPercent;
  40 + @Schema(description = "完成次数", requiredMode = Schema.RequiredMode.REQUIRED)
  41 + private Integer planFinishNum;
42 42  
43 43 @Schema(description = "完成状态 1:未完成;2:进行中;3:已完成", requiredMode = Schema.RequiredMode.REQUIRED)
44 44 private Integer finishState;
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanPagePlanTypeReqVO.java
... ... @@ -23,6 +23,10 @@ public class AppMaintainPlanPagePlanTypeReqVO extends PageParam {
23 23 @Schema(description = "计划名称", example = "王五")
24 24 private String planName;
25 25  
  26 + /**
  27 + * 完成状态 1:未完成;2:已完成;3:已失效
  28 + * @see com.zteits.urbanops.module.garden.enums.FinishStateEnum
  29 + */
26 30 @Schema(description = "完成状态 1:未完成;2:已完成;3:已失效")
27 31 @NotNull(message = "完成状态不能为空")
28 32 @Min(value = 1, message = "状态最小为1")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanPagePlanTypeRespVO.java
... ... @@ -42,9 +42,9 @@ public class AppMaintainPlanPagePlanTypeRespVO {
42 42 @ExcelProperty("计划次数")
43 43 private Integer planNum;
44 44  
45   - @Schema(description = "完成百分比", requiredMode = Schema.RequiredMode.REQUIRED)
46   - @ExcelProperty("完成百分比")
47   - private Integer finishPercent;
  45 + @Schema(description = "完成次数", requiredMode = Schema.RequiredMode.REQUIRED)
  46 + @ExcelProperty("完成次数")
  47 + private Integer planFinishNum;
48 48  
49 49 @Schema(description = "完成状态 1:未完成;2:进行中;3:已完成", requiredMode = Schema.RequiredMode.REQUIRED)
50 50 @ExcelProperty("完成状态 1:未完成;2:进行中;3:已完成")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanPageRoadReqVO.java
... ... @@ -19,6 +19,10 @@ public class AppMaintainPlanPageRoadReqVO extends PageParam {
19 19 @Schema(description = "道路名称", example = "王五")
20 20 private String roadName;
21 21  
  22 + /**
  23 + * 完成状态 1:未完成;2:已完成;3:已失效
  24 + * @see com.zteits.urbanops.module.garden.enums.FinishStateEnum
  25 + */
22 26 @Schema(description = "完成状态 1:未完成;2:已完成;3:已失效")
23 27 @NotNull(message = "完成状态不能为空")
24 28 @Min(value = 1, message = "状态最小为1")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanPageRoadRespVO.java
... ... @@ -49,7 +49,6 @@ public class AppMaintainPlanPageRoadRespVO{
49 49 @ExcelProperty("已完成次数")
50 50 private Integer planFinishNum;
51 51  
52   -
53 52 @Schema(description = "执行开始时间")
54 53 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
55 54 private LocalDate beginTime;
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDetailDO.java
... ... @@ -71,9 +71,9 @@ public class MaintainPlanDetailDO extends BaseDO {
71 71 private Integer planNum;
72 72  
73 73 /**
74   - * 完成百分比
  74 + * 完成次数
75 75 */
76   - private Integer finishPercent;
  76 + private Integer planFinishNum;
77 77 /**
78 78 * 完成状态 1:未完成;2:已完成
79 79 */
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanCommitMapper.java
... ... @@ -35,4 +35,11 @@ public interface MaintainPlanCommitMapper extends BaseMapperX&lt;MaintainPlanCommit
35 35 * @return 分页结果
36 36 */
37 37 IPage<AppMaintainPlanCommitDetailPageRespVO> appMaintainPlanCommitDetailPage(@Param("page") IPage<AppMaintainPlanCommitDetailPageRespVO> page, @Param("req") AppMaintainPlanCommitPageReqVO pageReqVO);
  38 +
  39 + /**
  40 + * 获取所有已完成比例
  41 + *
  42 + * @return
  43 + */
  44 + int selectFinishPercent(@Param("planNo") String planNo, @Param("sortNum") Integer sortNum);
38 45 }
39 46 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanDetailMapper.java
... ... @@ -35,7 +35,7 @@ public interface MaintainPlanDetailMapper extends BaseMapperX&lt;MaintainPlanDetail
35 35 .eqIfPresent(MaintainPlanDetailDO::getSortNum, reqVO.getSortNum())
36 36 .betweenIfPresent(MaintainPlanDetailDO::getBeginTime, reqVO.getBeginTime())
37 37 .betweenIfPresent(MaintainPlanDetailDO::getEndTime, reqVO.getEndTime())
38   - .eqIfPresent(MaintainPlanDetailDO::getFinishPercent, reqVO.getFinishPercent())
  38 + .eqIfPresent(MaintainPlanDetailDO::getPlanFinishNum, reqVO.getPlanFinishNum())
39 39 .eqIfPresent(MaintainPlanDetailDO::getFinishState, reqVO.getFinishState())
40 40 .likeIfPresent(MaintainPlanDetailDO::getCreatorName, reqVO.getCreatorName())
41 41 .betweenIfPresent(MaintainPlanDetailDO::getCreateTime, reqVO.getCreateTime())
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/FinishStateEnum.java
1 1 package com.zteits.urbanops.module.garden.enums;
2 2  
  3 +import lombok.Getter;
  4 +import lombok.Setter;
3 5  
4 6 public enum FinishStateEnum {
5 7  
... ... @@ -15,6 +17,12 @@ public enum FinishStateEnum {
15 17 * 过期
16 18 */
17 19 EXPIRED(3),
  20 +
  21 + /**
  22 + * 过期
  23 + */
  24 + STOP(4),
  25 +
18 26 ;
19 27  
20 28 FinishStateEnum(Integer status) {
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java
... ... @@ -4,6 +4,7 @@ import cn.hutool.core.thread.ThreadUtil;
4 4 import cn.hutool.core.util.RandomUtil;
5 5 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6 6 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  7 +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
7 8 import com.baomidou.mybatisplus.core.metadata.IPage;
8 9 import com.zteits.urbanops.framework.common.pojo.CommonResult;
9 10 import com.zteits.urbanops.framework.common.pojo.PageResult;
... ... @@ -51,6 +52,7 @@ import java.util.stream.Collectors;
51 52 import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception;
52 53 import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*;
53 54 import static com.zteits.urbanops.module.garden.enums.PlanConstants.CYCLE_ID_TYPE;
  55 +import static javax.management.Query.eq;
54 56  
55 57 /**
56 58 * 巡检计划汇总 Service 实现类
... ... @@ -128,6 +130,7 @@ public class InspectionPlanServiceImpl implements InspectionPlanService {
128 130 List<InspectionPlanDetailDO> detailDOList = new ArrayList<>();
129 131 //按照道路创建计划
130 132 createReqVO.getRoadListReqVO().forEach(roadReqVO -> {
  133 + ThreadUtil.sleep(1);
131 134 InspectionPlanDO inspectionPlan = BeanUtils.toBean(createReqVO, InspectionPlanDO.class);
132 135 String batchNo = "BN" + System.currentTimeMillis() + RandomUtil.randomInt(1000, 9999) + roadReqVO.getRoadId();
133 136 inspectionPlan.setBatchNo(batchNo);
... ... @@ -172,7 +175,7 @@ public class InspectionPlanServiceImpl implements InspectionPlanService {
172 175 int index = 1;
173 176 for (PeriodResult periodResult : calculate) {
174 177 InspectionPlanDetailDO entity = getInspectionPlanDetailDO(batchNo, createReqVO, roadReqVO, now);
175   - ThreadUtil.sleep(2);
  178 + ThreadUtil.sleep(1);
176 179 entity.setSortNum(index);
177 180 entity.setPlanNum(periodResult.getCount());
178 181 entity.setBeginTime(LocalDateTime.parse(periodResult.getStart() + " 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
... ... @@ -281,6 +284,7 @@ public class InspectionPlanServiceImpl implements InspectionPlanService {
281 284  
282 285 @Override
283 286 public PageResult<InspectionPlanRespVO> getInspectionPlanPage(InspectionPlanPageReqVO pageReqVO) {
  287 +
284 288 PageResult<InspectionPlanDO> pageResult = inspectionPlanInterceptMapper.selectForPage(pageReqVO);
285 289  
286 290 PageResult<InspectionPlanRespVO> result = BeanUtils.toBean(pageResult, InspectionPlanRespVO.class);
... ... @@ -341,9 +345,16 @@ public class InspectionPlanServiceImpl implements InspectionPlanService {
341 345  
342 346 @Override
343 347 public void stopPlanInspectionPlan(String batchNo) {
344   - inspectionPlanMapper.delete(InspectionPlanDO::getBatchNo, batchNo);
345   - inspectionPlanDetailMapper.delete(InspectionPlanDetailDO::getBatchNo, batchNo);
346   - inspectionPlanRoleMapper.delete(InspectionPlanRoleDO::getBatchNo, batchNo);
  348 + //停止计划详情
  349 + inspectionPlanDetailMapper.update(new UpdateWrapper<InspectionPlanDetailDO>().lambda()
  350 + .set(InspectionPlanDetailDO::getFinishState, FinishStateEnum.STOP.getStatus())
  351 + .eq(InspectionPlanDetailDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus())
  352 + .eq(InspectionPlanDetailDO::getBatchNo, batchNo));
  353 + //停止计划
  354 + inspectionPlanMapper.update(new UpdateWrapper<InspectionPlanDO>().lambda()
  355 + .set(InspectionPlanDO::getFinishState, FinishStateEnum.STOP.getStatus())
  356 + .eq(InspectionPlanDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus())
  357 + .eq(InspectionPlanDO::getBatchNo, batchNo));
347 358 }
348 359  
349 360 @Override
... ... @@ -418,8 +429,8 @@ public class InspectionPlanServiceImpl implements InspectionPlanService {
418 429 LocalDate yesterday = LocalDate.now(); // 昨天日期
419 430 LambdaUpdateWrapper<InspectionPlanDO> updateWrapper = new LambdaUpdateWrapper<>();
420 431 updateWrapper.lt(InspectionPlanDO::getEndTime, yesterday)
421   - .ne(InspectionPlanDO::getFinishState, FinishStateEnum.FINISHED.getStatus()) // 排除已完成的
422   - .set(InspectionPlanDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()); // 设置为过期状态
  432 + .set(InspectionPlanDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()) // 设置为过期状态
  433 + .eq(InspectionPlanDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus());
423 434 inspectionPlanMapper.update(null, updateWrapper);
424 435 }
425 436  
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitServiceImpl.java
... ... @@ -19,6 +19,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanComm
19 19 import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanCommonUserMapper;
20 20 import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanDetailMapper;
21 21 import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanMapper;
  22 +import com.zteits.urbanops.module.garden.enums.FinishStateEnum;
22 23 import com.zteits.urbanops.module.system.api.dept.DeptApi;
23 24 import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO;
24 25 import jakarta.annotation.Resource;
... ... @@ -93,20 +94,21 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService
93 94 throw exception(MAINTAIN_PLAN_NOT_EXISTS);
94 95 }
95 96  
96   - /*3.查询计划明细最大次数*/
97   - Long countNum = maintainPlanDetailMapper.selectCount(new QueryWrapper<MaintainPlanDetailDO>().lambda()
98   - .eq(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo()));
  97 + int sortNum = maintainPlanDetailDO.getPlanFinishNum() +1;
  98 + /*3.查询已完成比例*/
  99 + int finishPercent = maintainPlanCommitMapper.selectFinishPercent(createReqVO.getPlanNo(), sortNum);
99 100  
100 101 MaintainPlanCommitDO commitDO = new MaintainPlanCommitDO();
101 102 commitDO.setBatchNo(maintainPlanDO.getBatchNo());
102 103 commitDO.setPlanNo(maintainPlanDetailDO.getPlanNo());
103 104 commitDO.setBusiLine(maintainPlanDO.getBusiLine());
104 105 commitDO.setPlanTypeId(maintainPlanDO.getPlanTypeId());
105   - commitDO.setSortNum(countNum.intValue() +1);
  106 + //计划明细已完成次数+1
  107 + commitDO.setSortNum(sortNum);
106 108 commitDO.setCompanyId(maintainPlanDO.getCompanyId());
107 109 commitDO.setDeptId(maintainPlanDO.getDeptId());
108 110 commitDO.setRoadId(maintainPlanDO.getRoadId());
109   - commitDO.setFinishPercent(createReqVO.getTotalFinishPercent() - maintainPlanDetailDO.getFinishPercent());
  111 + commitDO.setFinishPercent(createReqVO.getTotalFinishPercent() - finishPercent);
110 112 commitDO.setImgHost(createReqVO.getImgHost());
111 113 commitDO.setBeginImg(JSONObject.toJSONString(createReqVO.getBeginImg()));
112 114 commitDO.setProcessImg("[]");
... ... @@ -142,25 +144,31 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService
142 144 }
143 145 }
144 146  
145   - //完成状态 1:未完成;2:已完成
146   - int detailFinishState = 1;
  147 +
  148 + int detailFinishNum = maintainPlanDetailDO.getPlanFinishNum();
147 149 if(createReqVO.getTotalFinishPercent().equals(100)){
148   - detailFinishState = 2;
  150 + detailFinishNum = detailFinishNum + 1;
149 151 }
150 152  
151   - /*5.更新计划明细及计划汇总*/
152   - LambdaUpdateWrapper<MaintainPlanDetailDO> detailUpdateSql = new LambdaUpdateWrapper<MaintainPlanDetailDO>()
153   - .set(MaintainPlanDetailDO::getFinishPercent, createReqVO.getTotalFinishPercent())
154   - .set(MaintainPlanDetailDO::getFinishState, detailFinishState)
155   - .set(MaintainPlanDetailDO::getUpdateTime, LocalDateTime.now())
156   - .eq(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo());
157   - maintainPlanDetailMapper.update(detailUpdateSql);
  153 + //完成状态 1:未完成;2:已完成
  154 + int detailFinishState = FinishStateEnum.NOT_FINISHED.getStatus();
  155 + if(detailFinishNum == maintainPlanDetailDO.getPlanNum()){
  156 + detailFinishState = FinishStateEnum.FINISHED.getStatus();
  157 + }
158 158  
159 159 //完成状态 1:未完成;2:已完成
160   - if(detailFinishState ==2){
161   - int finishState =1;
  160 + if(detailFinishState == FinishStateEnum.FINISHED.getStatus()){
  161 + //更新明细
  162 + LambdaUpdateWrapper<MaintainPlanDetailDO> detailUpdateSql = new LambdaUpdateWrapper<MaintainPlanDetailDO>()
  163 + .set(MaintainPlanDetailDO::getPlanFinishNum, detailFinishNum)
  164 + .set(MaintainPlanDetailDO::getFinishState, detailFinishState)
  165 + .set(MaintainPlanDetailDO::getUpdateTime, LocalDateTime.now())
  166 + .eq(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo());
  167 + maintainPlanDetailMapper.update(detailUpdateSql);
  168 +
  169 + int finishState = FinishStateEnum.NOT_FINISHED.getStatus();
162 170 if(maintainPlanDO.getPlanNum().equals(maintainPlanDO.getPlanFinishNum()+1)){
163   - finishState =2;
  171 + finishState = FinishStateEnum.FINISHED.getStatus();
164 172 }
165 173 LambdaUpdateWrapper<MaintainPlanDO> maintainPlanDOSql = new LambdaUpdateWrapper<MaintainPlanDO>()
166 174 .set(MaintainPlanDO::getPlanFinishNum, maintainPlanDO.getPlanFinishNum()+1)
... ... @@ -234,12 +242,7 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService
234 242 }
235 243 /*2.查询明细总完成次数*/
236 244 MaintainPlanDetailDO maintainPlanDetailDO = maintainPlanDetailMapper.selectOne(MaintainPlanDetailDO::getPlanNo, planNo);
237   - Integer totalFinishPercent;
238   - if (maintainPlanDetailDO != null) {
239   - totalFinishPercent = maintainPlanDetailDO.getFinishPercent();
240   - } else {
241   - totalFinishPercent = 0;
242   - }
  245 +
243 246 /*1.查询共同处理人*/
244 247 list.forEach(e -> {
245 248 MaintainPlanCommitDetailRespVO respVO = new MaintainPlanCommitDetailRespVO();
... ... @@ -247,7 +250,7 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService
247 250 respVO.setBeginImgList(StrUtils.imgProcess(e.getBeginImg(), ""));
248 251 respVO.setProcessImgList(StrUtils.imgProcess(e.getProcessImg(), ""));
249 252 respVO.setEndImgList(StrUtils.imgProcess(e.getEndImg(), ""));
250   - respVO.setTotalFinishPercent(totalFinishPercent);
  253 + respVO.setTotalFinishNum(maintainPlanDetailDO.getPlanFinishNum());
251 254 List<MaintainPlanCommonUserVO> commonUsers = new ArrayList<>();
252 255 List<MaintainPlanCommonUserDO> maintainPlanCommonUserList = maintainPlanCommonUserMapper.selectList(new QueryWrapper<MaintainPlanCommonUserDO>().lambda()
253 256 .eq(MaintainPlanCommonUserDO::getParentId, maintainPlanDetailDO.getId())
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java
... ... @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
4 4 import cn.hutool.core.thread.ThreadUtil;
5 5 import cn.hutool.core.util.RandomUtil;
6 6 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7 +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
7 8 import com.baomidou.mybatisplus.core.metadata.IPage;
8 9 import com.zteits.urbanops.framework.common.pojo.CommonResult;
9 10 import com.zteits.urbanops.framework.dict.core.DictFrameworkUtils;
... ... @@ -140,6 +141,7 @@ public class MaintainPlanServiceImpl implements MaintainPlanService {
140 141 List<MaintainPlanDetailDO> detailDOList = new ArrayList<>();
141 142 //按照道路创建计划
142 143 createReqVO.getRoadListReqVO().forEach(roadReqVO -> {
  144 + ThreadUtil.sleep(1);
143 145 MaintainPlanDO maintainPlan = BeanUtils.toBean(createReqVO, MaintainPlanDO.class);
144 146 String batchNo = "BN" + System.currentTimeMillis() + RandomUtil.randomInt(1000, 9999) + roadReqVO.getRoadId();
145 147 maintainPlan.setBatchNo(batchNo);
... ... @@ -185,7 +187,7 @@ public class MaintainPlanServiceImpl implements MaintainPlanService {
185 187 int index = 1;
186 188 for (PeriodResult periodResult : calculate) {
187 189 MaintainPlanDetailDO entity = getMaintainPlanDetailDO(batchNo, createReqVO, roadReqVO, now);
188   - ThreadUtil.sleep(2);
  190 + ThreadUtil.sleep(1);
189 191 entity.setSortNum(index);
190 192 entity.setPlanNum(periodResult.getCount());
191 193 entity.setBeginTime(LocalDateTime.parse(periodResult.getStart() + " 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
... ... @@ -354,9 +356,18 @@ public class MaintainPlanServiceImpl implements MaintainPlanService {
354 356  
355 357 @Override
356 358 public void stopPlanInspectionPlan(String batchNo) {
357   - maintainPlanMapper.delete(MaintainPlanDO::getBatchNo, batchNo);
358   - maintainPlanDetailMapper.delete(MaintainPlanDetailDO::getBatchNo, batchNo);
359   - maintainPlanRoleMapper.delete(MaintainPlanRoleDO::getBatchNo, batchNo);
  359 + //停止计划详情
  360 + maintainPlanDetailMapper.update(new UpdateWrapper<MaintainPlanDetailDO>().lambda()
  361 + .set(MaintainPlanDetailDO::getFinishState, FinishStateEnum.STOP.getStatus())
  362 + .eq(MaintainPlanDetailDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus())
  363 + .eq(MaintainPlanDetailDO::getBatchNo, batchNo));
  364 + //停止计划
  365 + maintainPlanMapper.update(new UpdateWrapper<MaintainPlanDO>().lambda()
  366 + .set(MaintainPlanDO::getFinishState, FinishStateEnum.STOP.getStatus())
  367 + .eq(MaintainPlanDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus())
  368 + .eq(MaintainPlanDO::getBatchNo, batchNo));
  369 +
  370 +
360 371 }
361 372  
362 373 @Override
... ... @@ -406,7 +417,6 @@ public class MaintainPlanServiceImpl implements MaintainPlanService {
406 417 @Override
407 418 public PageResult<AppMaintainPlanPagePlanTypeRespVO> appMaintainPlanPlanTypePage(AppMaintainPlanPagePlanTypeReqVO pageReqVO) {
408 419 String busiLine = SecurityFrameworkUtils.getBusiLine();
409   - Long companyId = SecurityFrameworkUtils.getCompanyId();
410 420 if (StringUtils.isNotEmpty(busiLine)) {
411 421 pageReqVO.setBusiLineList(Arrays.asList(busiLine.split(",")));
412 422 }
... ...
urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml
... ... @@ -27,7 +27,7 @@
27 27 a.end_time,
28 28 a.company_id,
29 29 a.dept_id,
30   - a.finish_percent as finishPercent,
  30 + a.finish_num,
31 31 c.finish_time,
32 32 c.user_name
33 33 FROM
... ... @@ -95,16 +95,16 @@
95 95 b.plan_attr,
96 96 b.plan_type_id,
97 97 b.cycle_id,
98   - b.plan_num,
  98 + a.plan_num,
99 99 b.busi_line,
100   - b.plan_finish_num,
  100 + a.plan_finish_num,
101 101 b.rate,
102 102 a.begin_time,
103 103 a.end_time,
104 104 a.company_id,
105 105 a.finish_state,
106 106 a.dept_id,
107   - a.finish_percent,
  107 + c.finish_percent,
108 108 c.begin_img,
109 109 c.img_host,
110 110 c.finish_time,
... ... @@ -120,4 +120,14 @@
120 120 AND a.plan_no = c.plan_no
121 121 AND c.plan_no = #{req.planNo}
122 122 </select>
  123 +
  124 + <select id="selectFinishPercent" resultType="java.lang.Integer">
  125 + SELECT
  126 + sum(a.finish_percent) as finishPercent,
  127 + FROM
  128 + garden_maintain_plan_commit a
  129 + WHERE
  130 + a.plan_no = #{planNo}
  131 + AND a.sort_num = #{sortNum}
  132 + </select>
123 133 </mapper>
... ...
urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanDetailMapper.xml
... ... @@ -22,7 +22,7 @@
22 22 a.rate,
23 23 a.cycle_id,
24 24 c.plan_num,
25   - c.finish_percent,
  25 + c.plan_finish_num,
26 26 c.finish_state,
27 27 c.begin_time,
28 28 c.end_time,
... ... @@ -33,6 +33,8 @@
33 33 WHERE a.batch_no=c.batch_no
34 34 AND a.deleted=0
35 35 AND a.road_id = #{req.roadId}
  36 + <!--状态 1:未完成;2:已完成;3:已失效-->
  37 + AND a.finish_state = #{req.finishState}
36 38 <if test="req.planName != null and req.planName !=''">
37 39 AND a.plan_name LIKE CONCAT('%',#{req.planName},'%')
38 40 </if>
... ... @@ -48,20 +50,6 @@
48 50 #{batchNo}
49 51 </foreach>
50 52 </if>
51   - <!--状态 1:未完成;2:已完成;3:已失效-->
52   - <if test="req.finishState == 3">
53   - and a.finish_state = #{req.finishState}
54   - <![CDATA[and c.end_time < #{req.localDateTime}]]>
55   - </if>
56   - <if test="req.finishState == 2">
57   - and c.finish_state = #{req.finishState}
58   - </if>
59   - <if test="req.finishState == 1">
60   - and c.finish_state = #{req.finishState}
61   - <![CDATA[and c.end_time >= #{req.localDateTime}]]>
62   - <![CDATA[and c.begin_time <= #{req.localDateTime}]]>
63   -
64   - </if>
65 53 </select>
66 54  
67 55 <select id="getMaintainNotFinishPlanCommitDetail" resultType="com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainNotFinishPlanDetailRespVO">
... ... @@ -73,7 +61,7 @@
73 61 a.rate,
74 62 a.cycle_id,
75 63 c.plan_num,
76   - c.finish_percent,
  64 + c.plan_finish_num,
77 65 c.finish_state,
78 66 c.begin_time,
79 67 c.end_time,
... ...
urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanMapper.xml
... ... @@ -27,10 +27,10 @@
27 27 FROM
28 28 garden_maintain_plan a
29 29 JOIN -- 建议用显式JOIN代替隐式连接,可读性更高
30   - garden_maintain_plan_detail b ON
31   - a.batch_no = b.batch_no
  30 + garden_maintain_plan_detail b ON a.batch_no = b.batch_no
32 31 AND a.deleted = b.deleted
33 32 WHERE a.deleted = 0
  33 + and b.finish_state = #{req.finishState}
34 34 <if test="req.roadName != null and req.roadName !=''">
35 35 AND a.road_name LIKE CONCAT('%',#{req.roadName},'%')
36 36 </if>
... ... @@ -46,20 +46,6 @@
46 46 #{busiLine}
47 47 </foreach>
48 48 </if>
49   - <!--状态 1:未完成;2:已完成;3:已失效-->
50   - <if test="req.finishState == 3">
51   - and b.finish_state = #{req.finishState}
52   - <![CDATA[and a.end_time < #{req.localDate}]]>
53   - </if>
54   - <if test="req.finishState == 2">
55   - and b.finish_state = #{req.finishState}
56   - </if>
57   - <if test="req.finishState == 1">
58   - and b.finish_state = #{req.finishState}
59   - <![CDATA[and a.end_time >= #{req.localDate}]]>
60   - <![CDATA[and b.end_time >= #{req.localDate}]]>
61   - <![CDATA[and b.begin_time <= #{req.localDate}]]>
62   - </if>
63 49 </select>
64 50  
65 51 <select id="appMaintainPlanPlanTypePage" resultType="com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanPagePlanTypeRespVO">
... ... @@ -71,7 +57,7 @@
71 57 a.rate,
72 58 a.cycle_id,
73 59 c.plan_num,
74   - c.finish_percent,
  60 + c.plan_finish_num,
75 61 c.finish_state,
76 62 c.begin_time,
77 63 c.end_time
... ... @@ -83,6 +69,8 @@
83 69 AND a.deleted=c.deleted
84 70 AND a.deleted=0
85 71 AND a.plan_type_id = #{req.planTypeId}
  72 + <!--状态 1:未完成;2:已完成;3:已失效-->
  73 + AND c.finish_state = #{req.finishState}
86 74 <if test="req.planName != null and req.planName !=''">
87 75 AND a.plan_type_id LIKE CONCAT('%',#{req.planName},'%')
88 76 </if>
... ... @@ -98,20 +86,6 @@
98 86 #{busiLine}
99 87 </foreach>
100 88 </if>
101   - <!--状态 1:未完成;2:已完成;3:已失效-->
102   - <if test="req.finishState == 3">
103   - and c.finish_state = #{req.finishState}
104   - <![CDATA[and c.end_time < #{req.localDateTime}]]>
105   - </if>
106   - <if test="req.finishState == 2">
107   - and c.finish_state = #{req.finishState}
108   - </if>
109   - <if test="req.finishState == 1">
110   - and c.finish_state = #{req.finishState}
111   - <![CDATA[and c.end_time >= #{req.localDateTime}]]>
112   - <![CDATA[and c.begin_time <= #{req.localDateTime}]]>
113   -
114   - </if>
115 89 </select>
116 90  
117 91 </mapper>
... ...