jiangping
2025-05-07 55075b2bbf2b6c41ec6ce831fb2b08666dbf4bf5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -647,6 +647,8 @@
    }
    /**
     * 【消防管控】看板-实时监测数据
     * 液压固定值:254001
     * 水压固定值:253958
     * @return
     *
     */
@@ -656,6 +658,7 @@
        MinitorDataSearchRequest param = new MinitorDataSearchRequest();
        param.setResourceTypeCodes(new String[]{});
        param.setRegionIndexCode("root000000");
        //60-液位 61-水压
        param.setResourceTypeCodes("60,61".split(","));
        param.setIncludeDown("1");
        param.setUserId("admin");
@@ -664,6 +667,8 @@
        BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param);
        String pressure = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_PRESSURE_LEVEL).getCode();
        String liquid = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_LIQUID_LEVEL).getCode();
        String pressureUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.PRESSURE_LEVEL_UNIT).getCode();
        String liquidUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LIQUID_LEVEL_UNIT).getCode();
        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
                && response.getData()!=null ) {
            List<MonitorDataSearchResponse> r = response.getData().getList();
@@ -671,11 +676,15 @@
                for(MonitorDataSearchResponse model : r){
                    MonitorDataVO m = new MonitorDataVO();
                    m.setName(model.getName());
                    m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure);
                    m.setType(model.getType());
//                    m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure);
                    m.setLevel(getLevelDataByDeviceName(m,model.getName(),Constants.equalsInteger(model.getType(),60)?liquidUnit:pressureUnit));
                    m.setDataList(new ArrayList<>());
                    if(model.getValues()!=null){
                        List<MonitorDataInfoVO> dataList = new ArrayList<>();
                        for(MonitorDataValResponse v : model.getValues()){
                            //液压固定值:254001
                            //水压固定值:253958
                            if(Constants.equalsInteger(model.getType(),60)){
                                if(v.getMonitorTypeCode().equals("254001")){
                                    MonitorDataInfoVO vm = new MonitorDataInfoVO();
@@ -683,7 +692,6 @@
                                    vm.setCateName(v.getMonitorSpecificName());
                                    vm.setCateCode(v.getMonitorTypeKey());
                                    vm.setTypeCode(v.getMonitorTypeCode());
                                    vm.setTypeName(v.getMonitorTypeName());
                                    dataList.add(vm);
                                }
                            }else{
@@ -706,6 +714,46 @@
            }
        }
        return  list;
    }
    private String getLevelDataByDeviceName(MonitorDataVO m,String name,String unit) {
        /**
         *   {
         *     "name":"液",
         *     "regionIndexCodes": [
         *         "root000000"
         *     ],
         *     "isSubRegion": true,
         *     "resourceType": "fireSensor",
         *     "pageNo": 1,
         *     "pageSize": 20,
         *     "orderBy": "name",
         *     "orderType": "desc"
         *     }
         */
        String r = "";
        ResourcesByParamsRequest param = new ResourcesByParamsRequest();
        param.setName(name);
        param.setIsSubRegion(Boolean.TRUE);
        param.setRegionIndexCodes(new String[]{"root000000"});
        param.setResourceType("fireSensor");
        param.setOrderType("desc");
        param.setOrderBy("name");
        param.setPageNo(1);
        param.setPageSize(20);
        BaseResponse<BaseListPageResponse<ResourcesByParamsResponse>> response = HKService.resourcesByParams(param);
        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
                && response.getData()!=null ) {
            String min  = response.getData().getList().get(0).getFireproChannelMinValue();
            String max  = response.getData().getList().get(0).getFireproChannelMaxvalue();
            m.setMax(max);
            m.setMin(min);
            r  =StringUtils.defaultString(min,"-")+"~"+StringUtils.defaultString(max,"-") +unit;
        }
        return  r;
    }
@@ -1943,11 +1991,11 @@
        );
        //在园长期相关方人数
        data.setRelatedTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FOUR) ).count()
        );
        //在园内部员工人数
        data.setInternalTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) ).count()
        );
        //在园访客数量
        data.setVisitTotal(
@@ -1957,6 +2005,10 @@
        data.setInParkCarTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
        );
        //在园车辆
        data.setInParkCarUserTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)).count()
        );
       /* //在园相关方车辆
        data.setRelatedCarTotal(
                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)