Browse Source

调整供应

chenendian 1 day ago
parent
commit
0aa49e5151

+ 49 - 6
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/ProjectImpl.java

@@ -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);