From d861ec99fe039fa2a0c33c6229ed48ba9ee5c7fb Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Thu, 8 Jun 2023 11:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF-=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1-=E8=8E=B7=E5=8F=96=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=80=BB=E6=95=B0=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskStatisticsController.java | 29 ++++++ .../phone/service/ITaskStatisticsService.java | 9 ++ .../impl/TaskStatisticsServiceImpl.java | 95 +++++++++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/TaskStatisticsController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ITaskStatisticsService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/TaskStatisticsController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/TaskStatisticsController.java new file mode 100644 index 000000000..431c9f2cb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/TaskStatisticsController.java @@ -0,0 +1,29 @@ +package com.jero.modules.phone.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.phone.service.ITaskStatisticsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@Api(tags = "手机端-任务统计") +@RestController +@RequestMapping("/phone/taskStatistics") +public class TaskStatisticsController { + + @Autowired + private ITaskStatisticsService taskStatisticsService; + + @AutoLog(value = "手机端-任务统计-获取待办任务总数") + @ApiOperation(value = "手机端-任务统计-获取待办任务总数", notes = "手机端-任务统计-获取待办任务总数") + @GetMapping(value = "/getRegulatoryCertificationProcessDataCount") + public Result> getRegulatoryCertificationProcessDataCount() { + return this.taskStatisticsService.getRegulatoryCertificationProcessDataCount(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ITaskStatisticsService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ITaskStatisticsService.java new file mode 100644 index 000000000..d90a2aca6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/ITaskStatisticsService.java @@ -0,0 +1,9 @@ +package com.jero.modules.phone.service; + +import com.jero.common.api.vo.Result; + +import java.util.Map; + +public interface ITaskStatisticsService { + Result> getRegulatoryCertificationProcessDataCount(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java new file mode 100644 index 000000000..e1be629f7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java @@ -0,0 +1,95 @@ +package com.jero.modules.phone.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.phone.service.ITaskStatisticsService; +import com.jero.modules.project.enums.TaskStatusEnum; +import com.jero.modules.system.util.StringUtils; +import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; +import com.jero.modules.todoCenter.entity.ProcessInfoEO; +import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; +import com.jero.modules.todoCenter.service.IProcessInfoEOService; +import com.jero.modules.wkflow.enums.FlowTypeEnum; +import org.apache.commons.collections.CollectionUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class TaskStatisticsServiceImpl implements ITaskStatisticsService { + + @Autowired + private IProcessInfoEOService processInfoEOService; + @Autowired + private IProcessInfoDetailEOService processInfoDetailEOService; + + @Override + public Result> getRegulatoryCertificationProcessDataCount() { + Map result = new HashMap<>(); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper pidQueryWrap = new QueryWrapper<>(); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getUserId, currentUser.getId()); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getStatus, TaskStatusEnum.NOT_DONE.getValue()); + List pidEoList = this.processInfoDetailEOService.list(pidQueryWrap); + + int publishingCount = 0; + int designCount = 0; + int verifyCount = 0; + int preHomoCount = 0; + int technologyEvaluationCount = 0; + int opinionCollectionCount = 0; + + if (CollectionUtils.isNotEmpty(pidEoList)) { + List processInfoIdList = pidEoList.stream().map(ProcessInfoDetailEO::getProcessInfoId).distinct().collect(Collectors.toList()); + QueryWrapper piQueryWrap = new QueryWrapper<>(); + piQueryWrap.lambda().in(ProcessInfoEO::getId, processInfoIdList); + List piEoList = this.processInfoEOService.list(piQueryWrap); + if (CollectionUtils.isNotEmpty(piEoList)) { + List publishingList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.QDQR.getValue()); + }).collect(Collectors.toList()); + publishingCount = publishingList.size(); + + List designList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue()); + }).collect(Collectors.toList()); + designCount = designList.size(); + + List verifyList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue()); + }).collect(Collectors.toList()); + verifyCount = verifyList.size(); + + List preHomoList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue()); + }).collect(Collectors.toList()); + preHomoCount = preHomoList.size(); + + List technologyEvaluationList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.FGJSPG.getValue()); + }).collect(Collectors.toList()); + technologyEvaluationCount = technologyEvaluationList.size(); + + List opinionCollectionList = piEoList.stream().filter(piEo -> { + return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.FGYJSJLC.getValue()); + }).collect(Collectors.toList()); + opinionCollectionCount = opinionCollectionList.size(); + } + } + + result.put("publishingCount", publishingCount); + result.put("designCount", designCount); + result.put("verifyCount", verifyCount); + result.put("preHomoCount", preHomoCount); + result.put("technologyEvaluationCount", technologyEvaluationCount); + result.put("opinionCollectionCount", opinionCollectionCount); + return Result.OK(result); + } +}