k94314517
2025-04-28 d42442d6ab074d9cfa4e0f0fc63e4bd85f10c5af
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -793,17 +793,41 @@
    @Override
    public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){
        HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO();
        List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
        List<HiddenDanger> hiddenDangerYearList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
                new MPJLambdaWrapper<HiddenDanger>()
                        .selectAll(HiddenDanger.class)
                .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId)
                .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //隐患区域
                .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
                .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
                        .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y') = DATE_FORMAT(now(), '%Y') ) ")
                .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
                .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
        );
        List<GeneralDataVO> yearDataList = new ArrayList<>();
        if(CollectionUtils.isEmpty(hiddenDangerYearList)){
            return hiddenDangerDataVO;
        }
        for (int i = 1; i <=12 ; i++) {
            GeneralDataVO generalDataVO = new GeneralDataVO();
            generalDataVO.setName(Integer.toString(i));
            generalDataVO.setTotal(hiddenDangerYearList.stream().filter(j->Constants.equalsInteger(Integer.valueOf(generalDataVO.getName()),Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM")))).collect(Collectors.toList()).size());
            yearDataList.add(generalDataVO);
        }
        hiddenDangerDataVO.setYearList(yearDataList);
        List<HiddenDanger> hiddenDangerAllList = hiddenDangerYearList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList());
        if(CollectionUtils.isEmpty(hiddenDangerAllList)){
            return hiddenDangerDataVO;
        }
        hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
        hiddenDangerDataVO.setWaitDeal(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
        hiddenDangerDataVO.setBack(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size());
        hiddenDangerDataVO.setDealFinish(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
        hiddenDangerDataVO.setTodayNew(hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()).size());
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
            List<Integer> cateList =  hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList());
            //全部隐患分类数据
@@ -856,6 +880,17 @@
                }
                hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
            }
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){
                List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList();
                    Collections.sort(topList, new Comparator<GeneralDataVO>() {
                        @Override
                        public int compare(GeneralDataVO o1, GeneralDataVO o2) {
                            // 返回值为int类型,大于0表示正序,小于0表示逆序
                            return o2.getTotal() - o1.getTotal();
                        }
                    });
                    hiddenDangerDataVO.setDepartmentSortList(topList);
            }
        }
        return hiddenDangerDataVO;