From 6d6868440b6fa1ce0f099af7857d23855b0756a4 Mon Sep 17 00:00:00 2001 From: Jinyuanyuan <1197651512@qq.com> Date: Wed, 4 Sep 2024 16:38:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B6=E6=AE=B5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HuzhouProjectController.java | 6 ++- .../service/IHuzhouProjectinfoService.java | 2 + .../impl/HuzhouProjectinfoServiceImpl.java | 42 +++++++++++++++++++ .../admin/modules/huzhou/vo/CountStageOV.java | 12 ++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageOV.java diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java index dede3f4..dc29c4a 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java @@ -319,5 +319,9 @@ public class HuzhouProjectController { IPage result = projectinfoService.getProjectDetailPage(projectinfo, pageNo, pageSize); return Result.ok(result); } - + @GetMapping("/countStage") + public Result countStage(HuzhouProjectinfoOV projectinfo){ + List result = projectinfoService.countStage(projectinfo); + return Result.ok(result); + } } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java index 5cb629d..f1b9707 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java @@ -195,6 +195,8 @@ public interface IHuzhouProjectinfoService extends IService { IPage getProjectDetailPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize); + List countStage(HuzhouProjectinfo projectInfo); + } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index 08d6b20..2e17bba 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -1447,6 +1447,48 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl countStage(HuzhouProjectinfo projectInfo){ + List result = new ArrayList<>(); + HashMap stageMap=new HashMap<>(); + stageMap.put("1",0); + stageMap.put("2",0); + stageMap.put("3",0); + stageMap.put("4",0); + stageMap.put("5",0); + //只要入库项目 + projectInfo.setType("1"); + ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); + Page page = new Page(1, 10000); + List projectAndChildInfoList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect).getRecords(); + List projectIds = projectAndChildInfoList.stream().map(x -> x.getId()).collect(Collectors.toList()); + for(String id:projectIds){ + LambdaQueryWrapper query=new LambdaQueryWrapper<>(); + query.eq(HuzhouPlaninfo::getProjectId,id); + query.eq(HuzhouPlaninfo::getIsfinish,"2"); + List levelList = planinfoService.list(query).stream().map(x -> x.getTaskLevel().split("\\.")).collect(Collectors.toList()); + String taskLevel; + int count; + if(!levelList.isEmpty()){ + List keyList = levelList.stream().filter(x -> x.length == 2).collect(Collectors.toList()); + int max = keyList.stream().mapToInt(x -> Integer.parseInt(x[0])).summaryStatistics().getMax(); + taskLevel=String.valueOf(max); + }else { + taskLevel="1"; + } + if(stageMap.containsKey(taskLevel)){ + count=stageMap.get(taskLevel)+1; + stageMap.put(taskLevel,count); + } + } + for(Map.Entry entry:stageMap.entrySet()){ + CountStageOV countStageOV=new CountStageOV(); + countStageOV.setName(entry.getKey()); + countStageOV.setValue(entry.getValue()); + result.add(countStageOV); + } + return result; + } + } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageOV.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageOV.java new file mode 100644 index 0000000..511696f --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageOV.java @@ -0,0 +1,12 @@ +package com.easy.admin.modules.huzhou.vo; + + +import lombok.Data; + +@Data +public class CountStageOV { + + private String name; + + private Integer value; +}