lxw
2023-05-17 cc95ea96c89301a181147fb35b7b589d61c80233
src/main/java/com/whyc/service/BattdischargePlanService.java
@@ -420,4 +420,52 @@
        return new Response().set(1,baojiGroupPlanFinishTimeList);
    }
    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);
    }
}