swb
2024-09-02 8ef7153a44f16d6874bf38c6dca3b4a49d00becf
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -23,6 +23,7 @@
import com.moral.api.pojo.ext.allocation.AllocationExt;
import com.moral.api.pojo.ext.allocation.AllocationListExt;
import com.moral.api.pojo.ext.allocation.AllocationPageExt;
import com.moral.api.pojo.ext.responsibility.ResponsibilityUnitExt;
import com.moral.api.pojo.query.allocation.*;
import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond;
import com.moral.api.pojo.query.app.AppAllocationFileCond;
@@ -391,16 +392,16 @@
        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 = DateUtils.getDateOfDay(map.get("endTime").toString(), 1, DateUtils.yyyy_MM_dd_EN);
        }
        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);
@@ -408,6 +409,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();
@@ -423,6 +433,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")){
@@ -437,16 +456,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;
    }
@@ -967,16 +1014,19 @@
    @Override
    public Integer unitAreaCode() {
        // 1 总管理 0普通 2 区域管理
        QxUser user = UserHelper.getCurrentUser();
        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
        if(CollectionUtils.isNotEmpty(userList)){
            return 1;
        }
        if(Objects.nonNull(user.getUnitId())&&user.getUnitId()!=0) {
            String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
            if (code.length() > 6) {
            List<ResponsibilityUnitExt> codeList = responsibilityUnitMapper.selectResponsibilityUnitList(user.getUnitId());
            if ( codeList.get(0).getAreaCode().length() > 6) {
                return 0;
            } else {
            } else if(codeList.get(0).getAreaCode().length() == 6 && codeList.get(0).getParentCode().equals("320900")) {
                return 0;
            }else {
                return 2;
            }
        }