whycxzp
2023-05-17 3c9c79aca3d471d922543882b285d7e44040ea80
src/main/java/com/whyc/service/BattdischargePlanService.java
@@ -421,11 +421,51 @@
    }
    public Response getPlanCount() {
    public Response getMyPlanCount() {
        int userId = ActionUtil.getUser().getUId().intValue();
        Map<String,Integer> map = new HashMap<>();
        List<BattdischargePlan> planList = mapper.getPlanCount(userId);
        //总数,已完成数量
        int total = planList.size();
        int finishNum = planList.stream().filter(plan -> plan.getDischargeState() == 2).collect(Collectors.toList()).size();
        map.put("total",total);
        map.put("finishNum",finishNum);
        return new Response().set(1,map);
    }
    public Map<String,Map<String,Integer>> getPlanCount() {
        int userId = ActionUtil.getUser().getUId().intValue();
        Map<String,Map<String,Integer>> resMap = new HashMap<>();
        Map<String,Integer> map = new HashMap<>();
        List<BattdischargePlan> planList = mapper.getPlanCount(userId);
        //班组,总数,已完成数量
        Map<String, List<BattdischargePlan>> groupNameListMap = planList.stream().collect(Collectors.groupingBy(BattdischargePlan::getBaojiGroupName));
        Set<String> groupNameSet = groupNameListMap.keySet();
        for (String groupName : groupNameSet) {
            List<BattdischargePlan> plans = groupNameListMap.get(groupName);
            int total = plans.size();
            int finishNum = plans.stream().filter(plan -> plan.getDischargeState() == 2).collect(Collectors.toList()).size();
            map.put("total",total);
            map.put("finishNum",finishNum);
            resMap.put(groupName,map);
        }
        return resMap;
    }
    public Response getPlanCountWithGroupName() {
        Map<String,Integer> resMap = new HashMap<>();
        resMap.put("放电任务总数",0);
        int total = 0;
        Map<String, Map<String, Integer>> planCount = getPlanCount();
        Set<String> groupNameSet = planCount.keySet();
        for (String groupName : groupNameSet) {
            resMap.put(groupName,planCount.get(groupName).get("finishNum"));
            total = total + planCount.get(groupName).get("total");
        }
        resMap.put("放电任务总数",total);
        return new Response().set(1,resMap);
    }
}