手机端-任务统计-获取待办任务总数接口开发。
This commit is contained in:
+29
@@ -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<Map<String, Object>> getRegulatoryCertificationProcessDataCount() {
|
||||
return this.taskStatisticsService.getRegulatoryCertificationProcessDataCount();
|
||||
}
|
||||
}
|
||||
+9
@@ -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<Map<String, Object>> getRegulatoryCertificationProcessDataCount();
|
||||
}
|
||||
+95
@@ -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<Map<String, Object>> getRegulatoryCertificationProcessDataCount() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProcessInfoDetailEO> pidQueryWrap = new QueryWrapper<>();
|
||||
pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getUserId, currentUser.getId());
|
||||
pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getStatus, TaskStatusEnum.NOT_DONE.getValue());
|
||||
List<ProcessInfoDetailEO> 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<String> processInfoIdList = pidEoList.stream().map(ProcessInfoDetailEO::getProcessInfoId).distinct().collect(Collectors.toList());
|
||||
QueryWrapper<ProcessInfoEO> piQueryWrap = new QueryWrapper<>();
|
||||
piQueryWrap.lambda().in(ProcessInfoEO::getId, processInfoIdList);
|
||||
List<ProcessInfoEO> piEoList = this.processInfoEOService.list(piQueryWrap);
|
||||
if (CollectionUtils.isNotEmpty(piEoList)) {
|
||||
List<ProcessInfoEO> publishingList = piEoList.stream().filter(piEo -> {
|
||||
return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.QDQR.getValue());
|
||||
}).collect(Collectors.toList());
|
||||
publishingCount = publishingList.size();
|
||||
|
||||
List<ProcessInfoEO> designList = piEoList.stream().filter(piEo -> {
|
||||
return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
}).collect(Collectors.toList());
|
||||
designCount = designList.size();
|
||||
|
||||
List<ProcessInfoEO> verifyList = piEoList.stream().filter(piEo -> {
|
||||
return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
}).collect(Collectors.toList());
|
||||
verifyCount = verifyList.size();
|
||||
|
||||
List<ProcessInfoEO> preHomoList = piEoList.stream().filter(piEo -> {
|
||||
return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||
}).collect(Collectors.toList());
|
||||
preHomoCount = preHomoList.size();
|
||||
|
||||
List<ProcessInfoEO> technologyEvaluationList = piEoList.stream().filter(piEo -> {
|
||||
return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.FGJSPG.getValue());
|
||||
}).collect(Collectors.toList());
|
||||
technologyEvaluationCount = technologyEvaluationList.size();
|
||||
|
||||
List<ProcessInfoEO> 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user