|
@@ -23,10 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.io.IOException;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Paths;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -117,15 +114,61 @@ public class ProjectImpl implements ProjectService {
|
|
|
// 获取项目数量
|
|
|
ProjectNumRes projectNumRes = projectMapper.countTypeStats();
|
|
|
projectOverviewRes.setProjectNum(projectNumRes);
|
|
|
+
|
|
|
+
|
|
|
// 获取项目供应
|
|
|
List<ProjectSupplyRes> projectSupplyList = tdgyMapper.countAndSumByGdType(projectType);
|
|
|
projectOverviewRes.setProjectSupplyList(projectSupplyList);
|
|
|
+
|
|
|
+
|
|
|
// 获取项目进度
|
|
|
- List<ProjectProcessRes> projectProcessList = projectWorkflowMapper.countMaxWorkflowByName(projectType);
|
|
|
- projectOverviewRes.setProjectProcessList(projectProcessList);
|
|
|
+ //List<ProjectProcessRes> projectProcessList = projectWorkflowMapper.countMaxWorkflowByName(projectType);
|
|
|
+ //projectOverviewRes.setProjectProcessList(projectProcessList);
|
|
|
+
|
|
|
+ ProjectFilterVo projectFilterVo = new ProjectFilterVo();
|
|
|
+ projectFilterVo.setIsOnchain(true);
|
|
|
+ List<Project> projectList = projectMapper.getList(projectFilterVo);
|
|
|
+ Map <String, Integer> progressMap = new LinkedHashMap<>();
|
|
|
+ if(Objects.nonNull(projectList) && !projectList.isEmpty()) {
|
|
|
+ for (Project project: projectList){
|
|
|
+ String projectId = project.getId();
|
|
|
+ List<ProjectWorkflow> projectWorkflowList = projectWorkflowMapper.selectByProjectId(projectId);
|
|
|
+ //倒叙排序
|
|
|
+ //projectWorkflowList = projectWorkflowList.stream().sorted(s->s.getWorkflowId()).collect(Collectors.toList());
|
|
|
+ projectWorkflowList = projectWorkflowList.stream().sorted(Comparator.comparing(ProjectWorkflow::getWorkflowId).reversed())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ for(ProjectWorkflow projectWorkflow : projectWorkflowList){
|
|
|
+ String nodeTableName = projectWorkflow.getNodeTableName();
|
|
|
+ String nodeId = projectWorkflow.getNodeId();
|
|
|
+ Boolean hasOnchain = projectWorkflowMapper.isOnchain(nodeId, projectId,nodeTableName);
|
|
|
+ if(hasOnchain.equals(true)){
|
|
|
+ if(progressMap.containsKey(projectWorkflow.getWorkflowName())){
|
|
|
+ Integer count = progressMap.get(projectWorkflow.getWorkflowName());
|
|
|
+ progressMap.put(projectWorkflow.getWorkflowName(),++count);
|
|
|
+ }else {
|
|
|
+ progressMap.put(projectWorkflow.getWorkflowName(),1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 获取项目进度22222
|
|
|
+ List<ProjectProcessRes> projectProcessList = new ArrayList<>();
|
|
|
+ for (Map.Entry<String, Integer> entry : progressMap.entrySet()) {
|
|
|
+ ProjectProcessRes projectProcessRes = new ProjectProcessRes();
|
|
|
+ projectProcessRes.setName(entry.getKey());
|
|
|
+ projectProcessRes.setCount(entry.getValue());
|
|
|
+ projectProcessList.add(projectProcessRes);
|
|
|
+ }
|
|
|
+ projectOverviewRes.setProjectProcessList(projectProcessList);
|
|
|
+ }
|
|
|
return projectOverviewRes;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public List<ProjectCycleRes> getCycle(String projectId) {
|
|
|
Integer projectType = projectMapper.getProjectTypeById(projectId);
|