rk
2025-09-29 218e84d2264e413f31a2f3957f05bb7b8ad42d5d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -490,6 +490,7 @@
        }*/
        return list;
    }
    @Override
    public  WaningEventDataVO warningEventData(Integer type){
        WaningEventDataVO lastResult = new WaningEventDataVO();
@@ -499,16 +500,39 @@
        request.setPageSize(1000);
        request.setFiledOptions(new ArrayList<>());
        request.setSorts(new ArrayList<>());
        request.setFetchImg(true);
        RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest();
        file.setFieldName("event_type");
        file.setFieldValue("131588,131593");//安防告警和人员告警
        //安防事件划分方式:
        //重点区域:重点人员-1644175361、区域入侵-1644175361、陌生人-1644171265、车辆违停-1644171265
        //危险行为:人员倒地-1644171265、未带安全帽-422000002、抽烟-422000000、打电话-422000001、睡岗-422400001、离岗-422400000
        file.setFieldValue("131588,131593,1644171265,422000002,422000000,422000001,422400001,422400000,1644175361,1644175361,1644171265,1644171265");//安防告警和人员告警
        file.setType("in");
        if(type == 1){
            file.setFieldValue("131588");//安防告警
            file.setFieldValue("131588,1644175361,1644175361,1644171265,1644171265");//安防告警 区域入侵
        }else  if(type == 2){
            file.setFieldValue("131593");//人员告警
            file.setFieldValue("131593,1644171265,422000002,422000000,422000001,422400001,422400000");//人员告警 危险行为
        }
        request.getFiledOptions().add(file);
        RuleEventFiledOptionsRequest fileLte = new RuleEventFiledOptionsRequest();
        fileLte.setFieldName("happen_time");
        fileLte.setFieldValue(DateUtil.formatDate(Utils.Date.getEnd(new Date()),"yyyy-MM-dd HH:mm:ss"));
        fileLte.setType("lte");
        request.getFiledOptions().add(fileLte);
        RuleEventFiledOptionsRequest fileGte = new RuleEventFiledOptionsRequest();
        fileGte.setFieldName("happen_time");
        fileGte.setFieldValue(DateUtil.formatDate(Utils.Date.getStart(new Date()),"yyyy-MM-dd HH:mm:ss"));
        fileGte.setType("gte");
        request.getFiledOptions().add(fileGte);
        RuleEventFiledOptionsRequest fileStatus = new RuleEventFiledOptionsRequest();
        fileStatus.setFieldName("handle_status");
        fileStatus.setFieldValue("99");
        fileStatus.setType("neq");
        request.getFiledOptions().add(fileStatus);
        SortRequest sort = new SortRequest();
        sort.setSortField("happen_time");
        sort.setSortType("desc");
@@ -524,6 +548,9 @@
                    try {
                        if(DateUtil.getISO8601DateByStr(r.getHappen_time()).getTime() < Utils.Date.getStart(new Date()).getTime()){
                            continue;
                        }
                        if(StringUtils.equals(r.getStatus(),"99")){
                           continue;
                        }
                    }catch (Exception e){
                    }
@@ -1333,12 +1360,18 @@
        List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1()))
                .filter(i->Objects.nonNull(i.getParam1())&&i.getParam1().indexOf(today)>=0)
                .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList());
        Long startTime  = Collections.min(startTimeList);
        Long startTime  = null ;
        if(CollectionUtils.isNotEmpty(startTimeList)){
            startTime = Collections.min(startTimeList);
        }
        //获取结束时间
        List<Long> endTimeList = platformLogList.stream()
                .filter(i->Objects.nonNull(i.getParam2())&&i.getParam2().indexOf(today)>=0)
                .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList());
        Long endTime = Collections.max(endTimeList);
        Long endTime = null ;
        if(CollectionUtils.isNotEmpty(endTimeList)){
            endTime = Collections.max(endTimeList);
        }
        if(Objects.isNull(startTime)
            || Objects.isNull(endTime) || (startTime>=endTime)){
            return BigDecimal.ZERO;
@@ -1552,12 +1585,13 @@
        data.setDeviceTypeList(list);
        Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
                .eq(HiddenDanger::getIsdeleted,Constants.ZERO )
                .apply("to_days(create_date) = to_days(now())" ) );
                .apply(" DATE_FORMAT(create_date, '%Y-%m')  = DATE_FORMAT(now(), '%Y-%m')  " ) );
        data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//今日隐患数量
        totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
                .eq(HiddenDanger::getIsdeleted,Constants.ZERO )
                .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO )
                .apply("to_days(check_date) = to_days(now())" ) );
//                .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO )
                .eq(HiddenDanger::getStatus,Constants.ZERO )
                .apply(" DATE_FORMAT(create_date, '%Y-%m')  = DATE_FORMAT(now(), '%Y-%m')  " ) );
        data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//今日处理隐患数量
        return  data;
    }
@@ -2064,6 +2098,8 @@
        data.setInParkCarTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
        );
        //2025年8月4日09:24:23 更换数据源 不从海康取
        data.setFreeParkingLot(data.getParkingLotTotal()<data.getInParkCarTotal()?Constants.ZERO:data.getParkingLotTotal() - data.getInParkCarTotal());
        //当前在园货车司机总数
        data.setInParkCarUserTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)).count()