Commit 0e8d66b7c91a98b49a64b65e41b964bc04105aaa
Merge remote-tracking branch 'origin/dev' into dev
Showing
10 changed files
with
461 additions
and
1 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/AppHomepageSummaryController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.app.homepage; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 4 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryPageReqVO; | ||
| 6 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryReqVO; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 8 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | ||
| 9 | +import com.zteits.urbanops.module.garden.service.homepage.HomepageSummaryService; | ||
| 10 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 12 | +import jakarta.annotation.Resource; | ||
| 13 | +import jakarta.validation.Valid; | ||
| 14 | +import org.springframework.web.bind.annotation.PostMapping; | ||
| 15 | +import org.springframework.web.bind.annotation.RequestBody; | ||
| 16 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 17 | +import org.springframework.web.bind.annotation.RestController; | ||
| 18 | + | ||
| 19 | +import java.util.List; | ||
| 20 | +import java.util.Map; | ||
| 21 | + | ||
| 22 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 23 | + | ||
| 24 | +/** | ||
| 25 | + * @Classname HomepageSummaryController | ||
| 26 | + * @Description app首页 | ||
| 27 | + * @Date 2026/1/6 17:04 | ||
| 28 | + * @Created by wangqian | ||
| 29 | + */ | ||
| 30 | +@Tag(name = "app - 首页汇总") | ||
| 31 | +@RestController | ||
| 32 | +@RequestMapping("/homePage/summary") | ||
| 33 | +public class AppHomepageSummaryController { | ||
| 34 | + | ||
| 35 | + @Resource | ||
| 36 | + private HomepageSummaryService homepageSummaryService; | ||
| 37 | + | ||
| 38 | + @PostMapping("/taskCompletionSummary") | ||
| 39 | + @Operation(summary = "任务完成情况统计") | ||
| 40 | + public CommonResult<List<TaskCompletionStatusRspVo>> taskCompletionSummary(@Valid @RequestBody AppHomePageSummaryReqVO req) { | ||
| 41 | + return success(homepageSummaryService.taskCompletionSummary(req)); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + @PostMapping("/taskDetails") | ||
| 45 | + @Operation(summary = "任务完成情况统计") | ||
| 46 | + public CommonResult<PageResult<TaskDetailsRspVo>> queryTaskDetails(@Valid @RequestBody AppHomePageSummaryPageReqVO req) { | ||
| 47 | + return success(homepageSummaryService.queryTaskDetails(req)); | ||
| 48 | + } | ||
| 49 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/vo/AppHomePageSummaryPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.app.homepage.vo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import jakarta.validation.constraints.NotEmpty; | ||
| 6 | +import jakarta.validation.constraints.NotNull; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +@Data | ||
| 10 | +public class AppHomePageSummaryPageReqVO extends PageParam { | ||
| 11 | + | ||
| 12 | + @Schema(description = "查询类型:1-待办,2-已办", example = "1") | ||
| 13 | + @NotNull | ||
| 14 | + public Integer queryType; | ||
| 15 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/vo/AppHomePageSummaryReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.app.homepage.vo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import jakarta.validation.constraints.NotEmpty; | ||
| 6 | +import lombok.Data; | ||
| 7 | + | ||
| 8 | +@Data | ||
| 9 | +public class AppHomePageSummaryReqVO{ | ||
| 10 | + | ||
| 11 | + @NotEmpty | ||
| 12 | + @Schema(description = "开始时间", example = "2025-01-01") | ||
| 13 | + public String beginTime; | ||
| 14 | + /*结束时间*/ | ||
| 15 | + @NotEmpty | ||
| 16 | + @Schema(description = "结束时间", example = "2025-12-10") | ||
| 17 | + public String endTime; | ||
| 18 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/vo/TaskCompletionStatusRspVo.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.app.homepage.vo; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * @Classname TaskCompletionStatusRspVo | ||
| 7 | + * @Description 任务完成情况 | ||
| 8 | + * @Date 2026/1/7 9:44 | ||
| 9 | + * @Created by wangqian | ||
| 10 | + */ | ||
| 11 | +@Data | ||
| 12 | +public class TaskCompletionStatusRspVo { | ||
| 13 | + | ||
| 14 | + private String currentDate; | ||
| 15 | + private String commitDate; | ||
| 16 | + /* 已完成数量*/ | ||
| 17 | + private Integer completedNum; | ||
| 18 | + /*待完成数量*/ | ||
| 19 | + private Integer countpendingNum; | ||
| 20 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/vo/TaskDetailsRspVo.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.app.homepage.vo; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +import java.time.LocalDateTime; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * @Classname TaskCompletionStatusRspVo | ||
| 9 | + * @Description 任务完成情况 | ||
| 10 | + * @Date 2026/1/7 9:44 | ||
| 11 | + * @Created by wangqian | ||
| 12 | + */ | ||
| 13 | +@Data | ||
| 14 | +public class TaskDetailsRspVo { | ||
| 15 | + | ||
| 16 | + /*任务名称*/ | ||
| 17 | + private String taskName; | ||
| 18 | + /*创建时间或完成时间*/ | ||
| 19 | + private LocalDateTime busiDateTime; | ||
| 20 | + /** | ||
| 21 | + * 紧急程度:1:特急;2:紧急;3:一般 | ||
| 22 | + */ | ||
| 23 | + private Integer pressingType; | ||
| 24 | + | ||
| 25 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java
| 1 | package com.zteits.urbanops.module.garden.dal.mysql.homepage; | 1 | package com.zteits.urbanops.module.garden.dal.mysql.homepage; |
| 2 | 2 | ||
| 3 | +import com.baomidou.mybatisplus.core.metadata.IPage; | ||
| 3 | import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | 4 | import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitTaskStatisticsRespVo; | 5 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitTaskStatisticsRespVo; |
| 5 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderRespVo; | 6 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderRespVo; |
| 6 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderSourceRespVo; | 7 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderSourceRespVo; |
| 7 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.WorkOrderTrendRespVo; | 8 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.WorkOrderTrendRespVo; |
| 9 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | ||
| 8 | import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | 11 | import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; |
| 9 | import org.apache.ibatis.annotations.Mapper; | 12 | import org.apache.ibatis.annotations.Mapper; |
| 10 | import org.apache.ibatis.annotations.Param; | 13 | import org.apache.ibatis.annotations.Param; |
| @@ -95,4 +98,36 @@ public interface HomepageSummaryMapper extends BaseMapperX<DepartmentCostDO> { | @@ -95,4 +98,36 @@ public interface HomepageSummaryMapper extends BaseMapperX<DepartmentCostDO> { | ||
| 95 | * @Date 2025/12/30 23:40 | 98 | * @Date 2025/12/30 23:40 |
| 96 | */ | 99 | */ |
| 97 | List<WorkOrderTrendRespVo> countWorkOrderTrend(@Param("companyId") Long companyId, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("queryState") String queryState); | 100 | List<WorkOrderTrendRespVo> countWorkOrderTrend(@Param("companyId") Long companyId, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("queryState") String queryState); |
| 101 | + | ||
| 102 | + /** | ||
| 103 | + * @Author wangqian | ||
| 104 | + * @Description 已完成任务数 | ||
| 105 | + * @Date 2026/1/7 9:28 | ||
| 106 | + * @Param userId | ||
| 107 | + * @param beginTime | ||
| 108 | + * @param endTime | ||
| 109 | + * @Return java.util.List<java.util.Map<java.lang.String,java.lang.Object>> | ||
| 110 | + */ | ||
| 111 | + List<TaskCompletionStatusRspVo> countcompletedTask(@Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); | ||
| 112 | + /** | ||
| 113 | + * @Author wangqian | ||
| 114 | + * @Description 未完成任务数 | ||
| 115 | + * @Date 2026/1/7 9:28 | ||
| 116 | + * @Param userId | ||
| 117 | + * @param beginTime | ||
| 118 | + * @param endTime | ||
| 119 | + * @Return java.util.List<java.util.Map<java.lang.String,java.lang.Object>> | ||
| 120 | + */ | ||
| 121 | + List<TaskCompletionStatusRspVo> countpendingTask(@Param("userId") Long userId, @Param("roleIds") List<Long> roleIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); | ||
| 122 | + /** | ||
| 123 | + * @Author wangqian | ||
| 124 | + * @Description 已完成任务 | ||
| 125 | + * @Date 2026/1/7 11:15 | ||
| 126 | + * @Param userId | ||
| 127 | + * @Return java.util.List<com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo> | ||
| 128 | + */ | ||
| 129 | + IPage<TaskDetailsRspVo> queryCompletedTaskDetails(IPage<TaskDetailsRspVo> page, @Param("userId") Long userId); | ||
| 130 | + | ||
| 131 | + IPage<TaskDetailsRspVo> queryPendingTaskDetails(IPage<TaskDetailsRspVo> page, @Param("roleIds") List<Long> roleIds); | ||
| 132 | + | ||
| 98 | } | 133 | } |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.homepage; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 4 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryPageReqVO; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryReqVO; | ||
| 6 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | ||
| 8 | + | ||
| 9 | +import java.util.List; | ||
| 10 | +import java.util.Map; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * @Classname HomepageSummaryService | ||
| 14 | + * @Description 首页统计 | ||
| 15 | + * @Date 2026/1/6 17:13 | ||
| 16 | + * @Created by wangqian | ||
| 17 | + */ | ||
| 18 | +public interface HomepageSummaryService { | ||
| 19 | + | ||
| 20 | + | ||
| 21 | + /** | ||
| 22 | + * @Author wangqian | ||
| 23 | + * @Description 任务完成情况统计 | ||
| 24 | + * @Date 2026/1/6 17:11 | ||
| 25 | + * @Param | ||
| 26 | + * @Return java.util.Map<java.lang.String,java.lang.Object> | ||
| 27 | + */ | ||
| 28 | + List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req); | ||
| 29 | + /** | ||
| 30 | + * @Author wangqian | ||
| 31 | + * @Description 任务详情 | ||
| 32 | + * @Date 2026/1/7 10:58 | ||
| 33 | + * @Param req | ||
| 34 | + * @Return java.util.List<TaskDetailsRspVo> | ||
| 35 | + */ | ||
| 36 | + PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req); | ||
| 37 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.homepage; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.core.metadata.IPage; | ||
| 4 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 5 | +import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; | ||
| 6 | +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryPageReqVO; | ||
| 8 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryReqVO; | ||
| 9 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | ||
| 11 | +import com.zteits.urbanops.module.garden.dal.mysql.homepage.HomepageSummaryMapper; | ||
| 12 | +import com.zteits.urbanops.module.system.api.permission.RoleApi; | ||
| 13 | +import jakarta.annotation.Resource; | ||
| 14 | +import org.springframework.stereotype.Service; | ||
| 15 | + | ||
| 16 | +import java.text.DateFormat; | ||
| 17 | +import java.text.ParseException; | ||
| 18 | +import java.text.SimpleDateFormat; | ||
| 19 | +import java.util.*; | ||
| 20 | +import java.util.stream.Collectors; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * @Classname HomepageSummaryServiceImpl | ||
| 24 | + * @Description 首页统计实现 | ||
| 25 | + * @Date 2026/1/6 17:13 | ||
| 26 | + * @Created by wangqian | ||
| 27 | + */ | ||
| 28 | +@Service | ||
| 29 | +public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + @Resource | ||
| 33 | + private HomepageSummaryMapper homepageSummaryMapper; | ||
| 34 | + | ||
| 35 | + @Resource | ||
| 36 | + private RoleApi roleApi; | ||
| 37 | + @Override | ||
| 38 | + public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) { | ||
| 39 | + Long userId = SecurityFrameworkUtils.getLoginUserId(); | ||
| 40 | + //巡查任务和养护任务已完成,未完成数量统计 | ||
| 41 | + //返回数据初始化 | ||
| 42 | + List<String> days = getDays(req.getBeginTime(), req.getEndTime()); | ||
| 43 | + List<TaskCompletionStatusRspVo> respVo = addTaskDefaultData(days); | ||
| 44 | + //查询已完成数量 | ||
| 45 | + List<TaskCompletionStatusRspVo> completionDetailList = homepageSummaryMapper.countcompletedTask(userId, req.getBeginTime(), req.getEndTime()); | ||
| 46 | + Map<String, Integer> completionMap = completionDetailList.stream() | ||
| 47 | + .collect(Collectors.toMap( | ||
| 48 | + TaskCompletionStatusRspVo::getCommitDate, | ||
| 49 | + TaskCompletionStatusRspVo::getCompletedNum, | ||
| 50 | + (existingValue, newValue) -> existingValue + newValue | ||
| 51 | + )); | ||
| 52 | + //查询未完成数量 | ||
| 53 | + /*1.查询登录用户角色*/ | ||
| 54 | + List<Long> roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); | ||
| 55 | + List<TaskCompletionStatusRspVo> countpendingDetailList = homepageSummaryMapper.countpendingTask(userId,roleIds, req.getBeginTime(), req.getEndTime()); | ||
| 56 | + Map<String, Integer> countpendingMap = countpendingDetailList.stream() | ||
| 57 | + .collect(Collectors.toMap( | ||
| 58 | + TaskCompletionStatusRspVo::getCommitDate, | ||
| 59 | + TaskCompletionStatusRspVo::getCountpendingNum, | ||
| 60 | + (existingValue, newValue) -> existingValue + newValue | ||
| 61 | + )); | ||
| 62 | + //返回对象赋值 | ||
| 63 | + respVo.forEach(vo -> { | ||
| 64 | + Integer cmpletedNum = completionMap.get(vo.getCommitDate()); | ||
| 65 | + if (cmpletedNum!= null) { | ||
| 66 | + vo.setCompletedNum(cmpletedNum); | ||
| 67 | + } | ||
| 68 | + Integer countpendingNum = countpendingMap.get(vo.getCommitDate()); | ||
| 69 | + if (countpendingNum != null) { | ||
| 70 | + vo.setCountpendingNum(countpendingNum); | ||
| 71 | + } | ||
| 72 | + }); | ||
| 73 | + return respVo; | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @Override | ||
| 77 | + public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) { | ||
| 78 | + Long userId = SecurityFrameworkUtils.getLoginUserId(); | ||
| 79 | + IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req); | ||
| 80 | + if (req.getQueryType() == 2) { | ||
| 81 | + //已完成 | ||
| 82 | + mpPage = homepageSummaryMapper.queryCompletedTaskDetails(mpPage,userId); | ||
| 83 | + } else { | ||
| 84 | + //待办 | ||
| 85 | + List<Long> roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); | ||
| 86 | + mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage,roleIds); | ||
| 87 | + } | ||
| 88 | + return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + private List<TaskCompletionStatusRspVo> addTaskDefaultData(List<String> days){ | ||
| 92 | + List<TaskCompletionStatusRspVo> newList = new ArrayList<>(); | ||
| 93 | + //1、日期赋值 | ||
| 94 | + days.forEach(dayy->{ | ||
| 95 | + TaskCompletionStatusRspVo vo = new TaskCompletionStatusRspVo(); | ||
| 96 | + vo.setCommitDate(dayy); | ||
| 97 | + vo.setCurrentDate(dayy.substring(5).replace("-",".")); | ||
| 98 | + vo.setCompletedNum(0); | ||
| 99 | + vo.setCountpendingNum(0); | ||
| 100 | + newList.add(vo); | ||
| 101 | + }); | ||
| 102 | + return newList; | ||
| 103 | + } | ||
| 104 | + public static List<String> getDays(String startTime, String endTime) { | ||
| 105 | + | ||
| 106 | + // 返回的日期集合 | ||
| 107 | + List<String> days = new ArrayList<String>(); | ||
| 108 | + | ||
| 109 | + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 110 | + try { | ||
| 111 | + Date start = dateFormat.parse(startTime); | ||
| 112 | + Date end = dateFormat.parse(endTime); | ||
| 113 | + | ||
| 114 | + Calendar tempStart = Calendar.getInstance(); | ||
| 115 | + tempStart.setTime(start); | ||
| 116 | + | ||
| 117 | + Calendar tempEnd = Calendar.getInstance(); | ||
| 118 | + tempEnd.setTime(end); | ||
| 119 | + //tempEnd.add(Calendar.DATE, +1);// 日期加1(包含结束) | ||
| 120 | + while (tempStart.before(tempEnd)) { | ||
| 121 | + days.add(dateFormat.format(tempStart.getTime())); | ||
| 122 | + tempStart.add(Calendar.DAY_OF_YEAR, 1); | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + } catch (ParseException e) { | ||
| 126 | + e.printStackTrace(); | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + return days; | ||
| 130 | + } | ||
| 131 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryServiceImpl.java
| @@ -507,7 +507,7 @@ public class MaintainSummaryServiceImpl implements MaintainSummaryService { | @@ -507,7 +507,7 @@ public class MaintainSummaryServiceImpl implements MaintainSummaryService { | ||
| 507 | private Map<String, List<WorkOrderTrendRespVo>> addDefaultData(HomePageSummaryReqVO req){ | 507 | private Map<String, List<WorkOrderTrendRespVo>> addDefaultData(HomePageSummaryReqVO req){ |
| 508 | Map<String, List<WorkOrderTrendRespVo>> respMap = new HashMap<>(); | 508 | Map<String, List<WorkOrderTrendRespVo>> respMap = new HashMap<>(); |
| 509 | List<WorkOrderTrendRespVo> newList = new ArrayList<>(); | 509 | List<WorkOrderTrendRespVo> newList = new ArrayList<>(); |
| 510 | - List<String> days = getDays(req.beginTime, req.endTime); | 510 | + List<String> days = getDays(req.getBeginTime(), req.getEndTime()); |
| 511 | List<DeptRespVO> companyList = deptApi.getCompanyList(); | 511 | List<DeptRespVO> companyList = deptApi.getCompanyList(); |
| 512 | days.forEach(dayy->{ | 512 | days.forEach(dayy->{ |
| 513 | companyList.forEach(resp ->{ | 513 | companyList.forEach(resp ->{ |
urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml
| @@ -285,4 +285,134 @@ | @@ -285,4 +285,134 @@ | ||
| 285 | group by v.date_value,t.busi_line,t.worker_company_id | 285 | group by v.date_value,t.busi_line,t.worker_company_id |
| 286 | </select> | 286 | </select> |
| 287 | 287 | ||
| 288 | + <!--已完成任务数量--> | ||
| 289 | + <select id="countcompletedTask" resultType="com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo"> | ||
| 290 | + -- 按日期分组,汇总巡检+养护计划提交总数 | ||
| 291 | + SELECT | ||
| 292 | + commit_date AS commitDate, | ||
| 293 | + SUM(commit_count) AS completedNum | ||
| 294 | + FROM ( | ||
| 295 | + SELECT | ||
| 296 | + DATE_FORMAT(finish_time,'%Y-%m-%d') AS commit_date, | ||
| 297 | + COUNT(id) AS commit_count | ||
| 298 | + FROM garden_inspection_plan_commit | ||
| 299 | + WHERE user_id = #{userId} | ||
| 300 | + <if test="beginTime != null and beginTime != ''"> | ||
| 301 | + AND finish_time >= #{beginTime} | ||
| 302 | + </if> | ||
| 303 | + <if test="endTime != null and endTime != ''"> | ||
| 304 | + AND finish_time < #{endTime} | ||
| 305 | + </if> | ||
| 306 | + GROUP BY DATE_FORMAT(finish_time,'%Y-%m-%d') | ||
| 307 | + UNION ALL | ||
| 308 | + SELECT | ||
| 309 | + DATE_FORMAT(finish_time,'%Y-%m-%d') AS commit_date, | ||
| 310 | + COUNT(id) AS commit_count | ||
| 311 | + FROM garden_maintain_plan_commit | ||
| 312 | + WHERE user_id = #{userId} | ||
| 313 | + <if test="beginTime != null and beginTime != ''"> | ||
| 314 | + AND finish_time >= #{beginTime} | ||
| 315 | + </if> | ||
| 316 | + <if test="endTime != null and endTime != ''"> | ||
| 317 | + AND finish_time < #{endTime} | ||
| 318 | + </if> | ||
| 319 | + GROUP BY DATE_FORMAT(finish_time,'%Y-%m-%d') | ||
| 320 | + ) AS temp_total | ||
| 321 | + GROUP BY commit_date | ||
| 322 | + ORDER BY commit_date; | ||
| 323 | + </select> | ||
| 324 | + <!--未完成任务数量--> | ||
| 325 | + <select id="countpendingTask" resultType="com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo" > | ||
| 326 | + -- 按日期分组,汇总巡检+养护计划未完成/已过期任务总数 | ||
| 327 | + SELECT | ||
| 328 | + commit_date AS commitDate, | ||
| 329 | + SUM(unfinished_count) AS countpendingNum | ||
| 330 | + FROM ( | ||
| 331 | + SELECT | ||
| 332 | + DATE_FORMAT(a.begin_time, '%Y-%m-%d') AS commit_date, | ||
| 333 | + COUNT(*) AS unfinished_count | ||
| 334 | + FROM | ||
| 335 | + garden_inspection_plan_detail a | ||
| 336 | + INNER JOIN garden_inspection_plan_role b ON a.batch_no = b.batch_no | ||
| 337 | + WHERE a.finish_state IN (1, 3) -- 1:未完成;3:已过期 | ||
| 338 | + AND b.role_id IN | ||
| 339 | + <foreach collection='roleIds' item='roleId' open='(' close=')' separator=','> | ||
| 340 | + #{roleId} | ||
| 341 | + </foreach> | ||
| 342 | + <if test="beginTime != null and beginTime != ''"> | ||
| 343 | + AND a.begin_time >= #{beginTime} | ||
| 344 | + </if> | ||
| 345 | + <if test="endTime != null and endTime != ''"> | ||
| 346 | + AND a.end_time < #{endTime} | ||
| 347 | + </if> | ||
| 348 | + GROUP BY | ||
| 349 | + DATE_FORMAT(a.begin_time, '%Y-%m-%d') | ||
| 350 | + | ||
| 351 | + UNION ALL | ||
| 352 | + | ||
| 353 | + SELECT | ||
| 354 | + DATE_FORMAT(a.begin_time, '%Y-%m-%d') AS commit_date, | ||
| 355 | + COUNT(*) AS unfinished_count | ||
| 356 | + FROM | ||
| 357 | + garden_maintain_plan_detail a | ||
| 358 | + INNER JOIN garden_maintain_plan_role b ON a.batch_no = b.batch_no | ||
| 359 | + WHERE a.finish_state IN (1, 3) -- 1:未完成;3:已过期 | ||
| 360 | + AND b.role_id IN | ||
| 361 | + <foreach collection='roleIds' item='roleId' open='(' close=')' separator=','> | ||
| 362 | + #{roleId} | ||
| 363 | + </foreach> | ||
| 364 | + <if test="beginTime != null and beginTime != ''"> | ||
| 365 | + AND a.begin_time >= #{beginTime} | ||
| 366 | + </if> | ||
| 367 | + <if test="endTime != null and endTime != ''"> | ||
| 368 | + AND a.end_time < #{endTime} | ||
| 369 | + </if> | ||
| 370 | + GROUP BY | ||
| 371 | + DATE_FORMAT(a.begin_time, '%Y-%m-%d') | ||
| 372 | + ) AS temp_total | ||
| 373 | + GROUP BY | ||
| 374 | + commit_date | ||
| 375 | + ORDER BY | ||
| 376 | + commit_date; | ||
| 377 | + </select> | ||
| 378 | + <!--已完成任务详情--> | ||
| 379 | + <select id="queryCompletedTaskDetails" resultType="com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo" > | ||
| 380 | + -- 巡查已办理 | ||
| 381 | + SELECT taskName, busiDateTime | ||
| 382 | + FROM ( | ||
| 383 | + SELECT B.plan_name as taskName,A.finish_time as busiDateTime | ||
| 384 | + from garden_inspection_plan_commit a , garden_inspection_plan b | ||
| 385 | + where a.batch_no=b.batch_no and user_id = #{userId} | ||
| 386 | + union all | ||
| 387 | + -- 养护已办理 | ||
| 388 | + SELECT b.plan_name as taskName,a.finish_time as busiDateTime | ||
| 389 | + from garden_maintain_plan_commit a , garden_maintain_plan b | ||
| 390 | + where a.batch_no=b.batch_no and user_id = #{userId} | ||
| 391 | + ) t | ||
| 392 | + ORDER BY busiDateTime DESC | ||
| 393 | + </select> | ||
| 394 | + <!--待办任务详情--> | ||
| 395 | + <select id="queryPendingTaskDetails" resultType="com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo" > | ||
| 396 | + SELECT taskName, busiDateTime | ||
| 397 | + FROM ( | ||
| 398 | + SELECT a.plan_name as taskName,a.begin_time as busiDateTime | ||
| 399 | + from garden_inspection_plan a | ||
| 400 | + INNER JOIN garden_inspection_plan_role b on a.batch_no=b.batch_no | ||
| 401 | + where a.finish_state in(1,3) | ||
| 402 | + AND b.role_id IN | ||
| 403 | + <foreach collection='roleIds' item='roleId' open='(' close=')' separator=','> | ||
| 404 | + #{roleId} | ||
| 405 | + </foreach> | ||
| 406 | + union all | ||
| 407 | + SELECT a.plan_name as taskName,a.begin_time as busiDateTime | ||
| 408 | + from garden_maintain_plan a | ||
| 409 | + INNER JOIN garden_maintain_plan_role b on a.batch_no=b.batch_no | ||
| 410 | + where a.finish_state in(1,3) | ||
| 411 | + AND b.role_id IN | ||
| 412 | + <foreach collection='roleIds' item='roleId' open='(' close=')' separator=','> | ||
| 413 | + #{roleId} | ||
| 414 | + </foreach> | ||
| 415 | + ) t | ||
| 416 | + ORDER BY busiDateTime DESC | ||
| 417 | + </select> | ||
| 288 | </mapper> | 418 | </mapper> |