jinpengyong
2024-04-22 4b4a35fc7cc56a8b304ca35f0a9ec0bdd2e0e036
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -231,15 +231,16 @@
        ArrayList<Map<String, Object>> escalationTypeList = new ArrayList<>();
        ArrayList<AllocationUnitViewDto> allocationUnitViewDtos = new ArrayList<>();
        Object number1 = map.get("number");
        String number1 = map.get("number").toString();
        String startTime=null;
        String endTime=null;
        if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("endTime"))){
             startTime = map.get("startTime").toString();
             endTime = map.get("endTime").toString();
//             endTime = map.get("endTime").toString();
             endTime = DateUtils.getDateOfDay(map.get("endTime").toString(), 1, DateUtils.yyyy_MM_dd_EN);
        }
        if (!ObjectUtils.isEmpty(number1)){
        if (!number1.equals("0")){
            String s = "-"+number1;
            //获取当前时间
            endTime = DateUtils.getCurDateTime();
@@ -393,13 +394,13 @@
            endTime = map.get("endTime").toString();
        }
        if (!ObjectUtils.isEmpty(number1)){
        if (Integer.parseInt(number1.toString())>0){
            String s = "-"+number1;
            //获取当前时间
            endTime = DateUtils.getCurDateTime();
            startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
        }
        wrapper.between("escalation_time",startTime,endTime);
        wrapper.eq("is_del",0);
        wrapper.eq("is_invalid",0);
@@ -407,6 +408,15 @@
        if (ObjectUtils.isEmpty(allocations)){
            return null;
        }
        int totals=0;
        int sum1=0;
        int sum2=0;
        int sum3=0;
        int sum4=0;
        int deductions=0;
        int score=0;
        int sum5=0;
        //根据责任单位分类
        Map<Integer, List<Allocation>> unitMap = allocations.stream().collect(Collectors.groupingBy(o -> o.getUnitId()));
        Set<Integer> unitList = unitMap.keySet();
@@ -422,6 +432,15 @@
            //减分
            int deduction=0;
            int number=0;
            Map<Integer, List<Allocation>> collect = allocations1.stream().collect(Collectors.groupingBy(o -> o.getState()));
            //整改
            List<Allocation> allocations2 = collect.get(20);
            //审批
            List<Allocation> allocations3 = collect.get(30);
            //通过
            List<Allocation> allocations4 = collect.get(40);
            //拒绝
            List<Allocation> allocations5 = collect.get(50);
            for (Allocation allocation : allocations1) {
                String state = allocation.getState()+"";
                if (state.equals("40")||state.equals("50")){
@@ -436,16 +455,44 @@
            int total = allocations1.size();
            String rate = (number * 100 /total)+"%";
            int i1 = ObjectUtils.isEmpty(allocations2) ? 0 : allocations2.size();
            int i2 = ObjectUtils.isEmpty(allocations3) ? 0 : allocations3.size();
            int i3 = ObjectUtils.isEmpty(allocations4) ? 0 : allocations4.size();
            int i4 = ObjectUtils.isEmpty(allocations5) ? 0 : allocations5.size();
            map1.put("责任单位",areaByCode.getAreaName());
            map1.put("总工单",total);
            map1.put("完成数",number);
            map1.put("未完成数",total-number);
            map1.put("整改",i1);
            map1.put("审批",i2);
            map1.put("通过",i3);
            map1.put("拒绝",i4);
//            map1.put("完成数",number);
//            map1.put("未完成数",total-number);
            map1.put("完成率",rate);
            map1.put("扣分",deduction);
            map1.put("加分",marks);
            map1.put("总得分",marks+deduction);
            rsMap.add(map1);
            //统计
            totals = totals + total;
            sum1 = sum1 + i1;
            sum2 = sum2 + i2;
            sum3 = sum3 + i3;
            sum4 = sum4 + i4;
            deductions = deductions + deduction;
            score = score + marks;
            sum5 = sum5 + marks+deduction;
        }
        HashMap<String, Object> map1 = new HashMap<>();
        map1.put("责任单位","统计");
        map1.put("总工单",totals);
        map1.put("整改",sum1);
        map1.put("审批",sum2);
        map1.put("通过",sum3);
        map1.put("拒绝",sum4);
        map1.put("扣分",deductions);
        map1.put("加分",score);
        map1.put("总得分",sum5);
        rsMap.add(map1);
        return rsMap;
    }