| | |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.github.pagehelper.Page; |
| | | import com.github.pagehelper.PageHelper; |
| | |
| | | import com.mongodb.client.MongoCollection; |
| | | import com.mongodb.client.MongoDatabase; |
| | | import com.ycl.platform.domain.entity.*; |
| | | import com.ycl.platform.domain.excel.RecordingAvailabilityExport; |
| | | import com.ycl.platform.domain.excel.TMonitorExp; |
| | | import com.ycl.platform.domain.form.UpdateDynamicValueForm; |
| | | import com.ycl.platform.domain.query.DataCenterQuery; |
| | | import com.ycl.platform.domain.result.HK.*; |
| | |
| | | import com.ycl.platform.domain.vo.DataCenter.MonitorQualifyResultVO; |
| | | import com.ycl.platform.domain.vo.DataCenter.SnapClockVO; |
| | | import com.ycl.platform.domain.vo.DynamicColumnVO; |
| | | import com.ycl.platform.domain.vo.PointDetailVO; |
| | | import com.ycl.platform.domain.vo.home.HomeFaceVO; |
| | | import com.ycl.platform.mapper.DynamicColumnMapper; |
| | | import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper; |
| | | import com.ycl.platform.mapper.YwPointMapper; |
| | | import com.ycl.platform.service.*; |
| | | import com.ycl.system.Result; |
| | | import com.ycl.system.page.PageUtil; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.MongoUtil; |
| | | import com.ycl.utils.StringUtils; |
| | | import com.ycl.utils.bean.BeanUtils; |
| | | import com.ycl.utils.poi.ExcelUtil; |
| | | import constant.ApiConstants; |
| | | import constant.CheckConstants; |
| | | import constant.RecordingAvailability; |
| | | import constant.*; |
| | | import enumeration.general.AreaDeptEnum; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | import org.springframework.data.mongodb.core.aggregation.*; |
| | | import org.springframework.data.mongodb.core.query.Criteria; |
| | | import org.springframework.data.mongodb.core.query.Query; |
| | | import org.springframework.data.mongodb.core.query.TextCriteria; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.IOException; |
| | |
| | | query.addCriteria(Criteria.where("recordStatus").is(params.getOption())); |
| | | } |
| | | List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); |
| | | List<DynamicColumnVO> dynamicColumnVOList = dynamicColumnMapper.getDynamicColumnByTableName("uy_record_meta_d_sum"); |
| | | //翻译行政区域 |
| | | resultList.forEach(item -> { |
| | | String areaCode = item.getArealayername().substring(0, 6); |
| | | AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromCode(areaCode); |
| | | if (areaDeptEnum != null) item.setArealayername(areaDeptEnum.getName()); |
| | | }); |
| | | List<DynamicColumnVO> dynamicColumnVOList = dynamicColumnMapper.getDynamicColumnByTableName(TableNameConstants.COLUMN_NAME_VIDEO); |
| | | Map<String,List<DynamicColumnVO>> groupByRefStringIdMap = dynamicColumnVOList.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefStringId)); |
| | | //提那家固定表头 |
| | | //固定表头 |
| | | LinkedHashSet<String> headers = new LinkedHashSet<>(); |
| | | headers.add(RecordingAvailability.arealayername); |
| | | headers.add(RecordingAvailability.arealayerno); |
| | | headers.add(RecordingAvailability.createTime); |
| | | headers.add(RecordingAvailability.deviceId); |
| | | headers.add(RecordingAvailability.missDuration); |
| | | headers.add(RecordingAvailability.platId); |
| | | headers.add(RecordingAvailability.recordDuration); |
| | | headers.add(RecordingAvailability.recordStatusText); |
| | | headers.add(RecordingAvailability.statTime); |
| | | headers.add(RecordingAvailabilityHeaders.arealayername); |
| | | headers.add(RecordingAvailabilityHeaders.arealayerno); |
| | | headers.add(RecordingAvailabilityHeaders.createTime); |
| | | headers.add(RecordingAvailabilityHeaders.deviceId); |
| | | headers.add(RecordingAvailabilityHeaders.missDuration); |
| | | headers.add(RecordingAvailabilityHeaders.platId); |
| | | headers.add(RecordingAvailabilityHeaders.recordDuration); |
| | | headers.add(RecordingAvailabilityHeaders.recordStatusText); |
| | | headers.add(RecordingAvailabilityHeaders.statTime); |
| | | |
| | | List<String> headersList = new LinkedList<>(); |
| | | List<String> dynamicsHeaders = dynamicColumnMapper.getHeader("uy_record_meta_d_sum"); |
| | | List<String> dynamicsHeaders = dynamicColumnMapper.getHeader(TableNameConstants.COLUMN_NAME_VIDEO); |
| | | |
| | | //添加动态表头 |
| | | if (!org.springframework.util.CollectionUtils.isEmpty(dynamicsHeaders)) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void pointOnlineExport(HttpServletResponse response,DataCenterQuery query) throws IOException { |
| | | public void pointOnlineFaceExport(HttpServletResponse response, DataCenterQuery params) throws IOException { |
| | | List<String> likeFileds = Arrays.asList("name", "no", "ip"); |
| | | Query query = MongoUtil.getQuery(params, TIME_FIELD, likeFileds, null); |
| | | //查人脸设备 |
| | | query.addCriteria(Criteria.where("monitorType").regex(".*" + CheckConstants.Rule_Category_Face + ".*")); |
| | | //下拉框在线情况查询条件 |
| | | if (params.getOption() != null) { |
| | | query.addCriteria(Criteria.where("online").is(params.getOption())); |
| | | } |
| | | Sort sort = Sort.by( |
| | | Sort.Order.asc("pingOnline"), // 首先按照 pingOnline 升序排序 |
| | | Sort.Order.desc("offLineCount") // 首先按照 pingOnline 升序排序 |
| | | ); |
| | | // 通过pingOnline字段排序,为false的排在前面 |
| | | query.with(sort); |
| | | MongoUtil.setNoPage(query, params, TIME_FIELD); |
| | | //分页数量 |
| | | List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class); |
| | | resultList.forEach(item -> { |
| | | if (item.getPingOnline() == null) { |
| | | item.setPingOnlineStr("未知"); |
| | | } else if (item.getPingOnline()) { |
| | | item.setPingOnlineStr("在线"); |
| | | } else if (!item.getPingOnline()) { |
| | | item.setPingOnlineStr("离线"); |
| | | } |
| | | if (1 == item.getOnline()) { |
| | | item.setOnlineStr("在线"); |
| | | } else if (-1 == item.getOnline()) { |
| | | item.setOnlineStr("离线"); |
| | | } else { |
| | | item.setOnlineStr("未知"); |
| | | } |
| | | List<String> offLineTime = item.getOffLineTimeStr(); |
| | | if (!CollectionUtils.isEmpty(offLineTime)) { |
| | | //后续可以改成配置的离线次数(提取前n次,n为配置的离线次数) |
| | | if (offLineTime.size() > 1) { |
| | | offLineTime = offLineTime.subList(0, 2); |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | }); |
| | | List<DynamicColumnVO> dynamicColumnVOList = dynamicColumnMapper.getDynamicColumnByTableName(TableNameConstants.COLUMN_NAME_FACE_POINT); |
| | | Map<String,List<DynamicColumnVO>> groupByRefStringIdMap = dynamicColumnVOList.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefStringId)); |
| | | //固定表头 |
| | | LinkedHashSet<String> headers = new LinkedHashSet<>(); |
| | | headers.add(PointOnlineHeaders.no); |
| | | headers.add(PointOnlineHeaders.name); |
| | | headers.add(PointOnlineHeaders.ip); |
| | | headers.add(PointOnlineHeaders.onlineStr); |
| | | headers.add(PointOnlineHeaders.pingOnlineStr); |
| | | headers.add(PointOnlineHeaders.checkCount); |
| | | headers.add(PointOnlineHeaders.offLineCount); |
| | | headers.add(PointOnlineHeaders.offLineTimeStr); |
| | | headers.add(PointOnlineHeaders.mongoCreateTime); |
| | | |
| | | List<String> headersList = new LinkedList<>(); |
| | | List<String> dynamicsHeaders = dynamicColumnMapper.getHeader(TableNameConstants.COLUMN_NAME_FACE_POINT); |
| | | |
| | | //添加动态表头 |
| | | if (!org.springframework.util.CollectionUtils.isEmpty(dynamicsHeaders)) { |
| | | //使用链表保证后续补充数据时获取数据顺序一致 |
| | | headersList.addAll(dynamicsHeaders); |
| | | headers.addAll(headersList); |
| | | } |
| | | |
| | | List<List<Object>> data = new ArrayList<>(); |
| | | for (TMonitorResult result : resultList){ |
| | | List<Object> row = new ArrayList<>(); |
| | | row.add(result.getNo()); |
| | | row.add(result.getName()); |
| | | row.add(result.getIp()); |
| | | row.add(result.getOnlineStr()); |
| | | row.add(result.getPingOnlineStr()); |
| | | row.add(result.getCheckCount()); |
| | | row.add(result.getOffLineCount()); |
| | | if (CollectionUtils.isEmpty(result.getOffLineTimeStr())){ |
| | | row.add(null); |
| | | }else { |
| | | row.add(result.getOffLineTimeStr().toString()); |
| | | } |
| | | row.add(result.getMongoCreateTime()); |
| | | //添加动态列数据 |
| | | for (String header : headersList){ |
| | | boolean flag = false; |
| | | List<DynamicColumnVO> columnVOS = groupByRefStringIdMap.get(result.getNo()); |
| | | if (!CollectionUtils.isEmpty(columnVOS)) { |
| | | for (DynamicColumnVO columnVO : columnVOS) { |
| | | if (header.equals(columnVO.getLabelValue())) { |
| | | row.add(columnVO.getColumnValue()); |
| | | flag = true; |
| | | } |
| | | } |
| | | } |
| | | //没找到用空串占位 |
| | | if (!flag) row.add(""); |
| | | } |
| | | data.add(row); |
| | | } |
| | | |
| | | List<List<String>> headList = new ArrayList<>(); |
| | | for (String header : headers) { |
| | | headList.add(Collections.singletonList(header)); |
| | | } |
| | | |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(headList) // 设置表头 |
| | | .sheet("人脸点位在线率") // 设置sheet名称 |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .doWrite(data); // 写入数据 |
| | | } |
| | | |
| | | @Override |
| | | public void pointOnlineVideoExport(HttpServletResponse response, DataCenterQuery params) throws IOException { |
| | | List<String> likeFileds = Arrays.asList("name", "no", "ip"); |
| | | Query query = MongoUtil.getQuery(params, TIME_FIELD, likeFileds, null); |
| | | //查视频设备 |
| | | query.addCriteria(Criteria.where("monitorType").regex(".*" + CheckConstants.Rule_Category_Video + ".*")); |
| | | //下拉框在线情况查询条件 |
| | | if (params.getOption() != null) { |
| | | query.addCriteria(Criteria.where("online").is(params.getOption())); |
| | | } |
| | | Sort sort = Sort.by( |
| | | Sort.Order.asc("pingOnline"), // 首先按照 pingOnline 升序排序 |
| | | Sort.Order.desc("offLineCount") // 首先按照 pingOnline 升序排序 |
| | | ); |
| | | // 通过pingOnline字段排序,为false的排在前面 |
| | | query.with(sort); |
| | | MongoUtil.setNoPage(query, params, TIME_FIELD); |
| | | List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class); |
| | | resultList.forEach(item -> { |
| | | if (item.getPingOnline() == null) { |
| | | item.setPingOnlineStr("未知"); |
| | | } else if (item.getPingOnline()) { |
| | | item.setPingOnlineStr("在线"); |
| | | } else if (!item.getPingOnline()) { |
| | | item.setPingOnlineStr("离线"); |
| | | } |
| | | if (1 == item.getOnline()) { |
| | | item.setOnlineStr("在线"); |
| | | } else if (-1 == item.getOnline()) { |
| | | item.setOnlineStr("离线"); |
| | | } else { |
| | | item.setOnlineStr("未知"); |
| | | } |
| | | List<String> offLineTime = item.getOffLineTimeStr(); |
| | | if (!CollectionUtils.isEmpty(offLineTime)) { |
| | | if (offLineTime.size() > 1) { |
| | | offLineTime = offLineTime.subList(offLineTime.size() - 2, offLineTime.size()); |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | }); |
| | | List<DynamicColumnVO> dynamicColumnVOList = dynamicColumnMapper.getDynamicColumnByTableName(TableNameConstants.COLUMN_NAME_VIDEO_POINT); |
| | | Map<String,List<DynamicColumnVO>> groupByRefStringIdMap = dynamicColumnVOList.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefStringId)); |
| | | //固定表头 |
| | | LinkedHashSet<String> headers = new LinkedHashSet<>(); |
| | | headers.add(PointOnlineHeaders.no); |
| | | headers.add(PointOnlineHeaders.name); |
| | | headers.add(PointOnlineHeaders.ip); |
| | | headers.add(PointOnlineHeaders.onlineStr); |
| | | headers.add(PointOnlineHeaders.pingOnlineStr); |
| | | headers.add(PointOnlineHeaders.checkCount); |
| | | headers.add(PointOnlineHeaders.offLineCount); |
| | | headers.add(PointOnlineHeaders.offLineTimeStr); |
| | | headers.add(PointOnlineHeaders.mongoCreateTime); |
| | | |
| | | List<String> headersList = new LinkedList<>(); |
| | | List<String> dynamicsHeaders = dynamicColumnMapper.getHeader(TableNameConstants.COLUMN_NAME_VIDEO_POINT); |
| | | |
| | | //添加动态表头 |
| | | if (!org.springframework.util.CollectionUtils.isEmpty(dynamicsHeaders)) { |
| | | //使用链表保证后续补充数据时获取数据顺序一致 |
| | | headersList.addAll(dynamicsHeaders); |
| | | headers.addAll(headersList); |
| | | } |
| | | |
| | | List<List<Object>> data = new ArrayList<>(); |
| | | for (TMonitorResult result : resultList){ |
| | | List<Object> row = new ArrayList<>(); |
| | | row.add(result.getNo()); |
| | | row.add(result.getName()); |
| | | row.add(result.getIp()); |
| | | row.add(result.getOnlineStr()); |
| | | row.add(result.getPingOnlineStr()); |
| | | row.add(result.getCheckCount()); |
| | | row.add(result.getOffLineCount()); |
| | | if (CollectionUtils.isEmpty(result.getOffLineTimeStr())){ |
| | | row.add(null); |
| | | }else { |
| | | row.add(result.getOffLineTimeStr().toString()); |
| | | } |
| | | row.add(result.getMongoCreateTime()); |
| | | //添加动态列数据 |
| | | for (String header : headersList){ |
| | | boolean flag = false; |
| | | List<DynamicColumnVO> columnVOS = groupByRefStringIdMap.get(result.getNo()); |
| | | if (!CollectionUtils.isEmpty(columnVOS)) { |
| | | for (DynamicColumnVO columnVO : columnVOS) { |
| | | if (header.equals(columnVO.getLabelValue())) { |
| | | row.add(columnVO.getColumnValue()); |
| | | flag = true; |
| | | } |
| | | } |
| | | } |
| | | //没找到用空串占位 |
| | | if (!flag) row.add(""); |
| | | } |
| | | data.add(row); |
| | | } |
| | | |
| | | List<List<String>> headList = new ArrayList<>(); |
| | | for (String header : headers) { |
| | | headList.add(Collections.singletonList(header)); |
| | | } |
| | | |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(headList) // 设置表头 |
| | | .sheet("视频点位在线率") // 设置sheet名称 |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .doWrite(data); // 写入数据 |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void pointOnlineCarExport(HttpServletResponse response, DataCenterQuery params) throws IOException { |
| | | List<String> likeFileds = Arrays.asList("name", "no", "ip"); |
| | | Query query = MongoUtil.getQuery(params, TIME_FIELD, likeFileds, null); |
| | | //查车辆设备 |
| | | query.addCriteria(Criteria.where("monitorType").regex(".*" + CheckConstants.Rule_Category_Car + ".*")); |
| | | //下拉框在线情况查询条件 |
| | | if (params.getOption() != null) { |
| | | query.addCriteria(Criteria.where("online").is(params.getOption())); |
| | | } |
| | | Sort sort = Sort.by( |
| | | Sort.Order.asc("pingOnline"), // 首先按照 pingOnline 升序排序 |
| | | Sort.Order.desc("offLineCount") // 首先按照 pingOnline 升序排序 |
| | | ); |
| | | // 通过pingOnline字段排序,为false的排在前面 |
| | | query.with(sort); |
| | | //分页数量 |
| | | //系统ping的结果 |
| | | List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class); |
| | | resultList.forEach(item -> { |
| | | if (item.getPingOnline() == null) { |
| | | item.setPingOnlineStr("未知"); |
| | | } else if (item.getPingOnline()) { |
| | | item.setPingOnlineStr("在线"); |
| | | } else if (!item.getPingOnline()) { |
| | | item.setPingOnlineStr("离线"); |
| | | } |
| | | if (1 == item.getOnline()) { |
| | | item.setOnlineStr("在线"); |
| | | } else if (-1 == item.getOnline()) { |
| | | item.setOnlineStr("离线"); |
| | | } else { |
| | | item.setOnlineStr("未知"); |
| | | } |
| | | List<String> offLineTime = item.getOffLineTimeStr(); |
| | | if (!CollectionUtils.isEmpty(offLineTime)) { |
| | | //后续可以改成配置的离线次数(提取前n次,n为配置的离线次数) |
| | | if (offLineTime.size() > 1) { |
| | | offLineTime = offLineTime.subList(0, 2); |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | }); |
| | | List<DynamicColumnVO> dynamicColumnVOList = dynamicColumnMapper.getDynamicColumnByTableName(TableNameConstants.COLUMN_NAME_CAR_POINT); |
| | | Map<String,List<DynamicColumnVO>> groupByRefStringIdMap = dynamicColumnVOList.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefStringId)); |
| | | //固定表头 |
| | | LinkedHashSet<String> headers = new LinkedHashSet<>(); |
| | | headers.add(PointOnlineHeaders.no); |
| | | headers.add(PointOnlineHeaders.name); |
| | | headers.add(PointOnlineHeaders.ip); |
| | | headers.add(PointOnlineHeaders.onlineStr); |
| | | headers.add(PointOnlineHeaders.pingOnlineStr); |
| | | headers.add(PointOnlineHeaders.checkCount); |
| | | headers.add(PointOnlineHeaders.offLineCount); |
| | | headers.add(PointOnlineHeaders.offLineTimeStr); |
| | | headers.add(PointOnlineHeaders.mongoCreateTime); |
| | | |
| | | List<String> headersList = new LinkedList<>(); |
| | | List<String> dynamicsHeaders = dynamicColumnMapper.getHeader(TableNameConstants.COLUMN_NAME_CAR_POINT); |
| | | |
| | | //添加动态表头 |
| | | if (!org.springframework.util.CollectionUtils.isEmpty(dynamicsHeaders)) { |
| | | //使用链表保证后续补充数据时获取数据顺序一致 |
| | | headersList.addAll(dynamicsHeaders); |
| | | headers.addAll(headersList); |
| | | } |
| | | |
| | | List<List<Object>> data = new ArrayList<>(); |
| | | for (TMonitorResult result : resultList){ |
| | | List<Object> row = new ArrayList<>(); |
| | | row.add(result.getNo()); |
| | | row.add(result.getName()); |
| | | row.add(result.getIp()); |
| | | row.add(result.getOnlineStr()); |
| | | row.add(result.getPingOnlineStr()); |
| | | row.add(result.getCheckCount()); |
| | | row.add(result.getOffLineCount()); |
| | | if (CollectionUtils.isEmpty(result.getOffLineTimeStr())){ |
| | | row.add(null); |
| | | }else { |
| | | row.add(result.getOffLineTimeStr().toString()); |
| | | } |
| | | row.add(result.getMongoCreateTime()); |
| | | //添加动态列数据 |
| | | for (String header : headersList){ |
| | | boolean flag = false; |
| | | List<DynamicColumnVO> columnVOS = groupByRefStringIdMap.get(result.getNo()); |
| | | if (!CollectionUtils.isEmpty(columnVOS)) { |
| | | for (DynamicColumnVO columnVO : columnVOS) { |
| | | if (header.equals(columnVO.getLabelValue())) { |
| | | row.add(columnVO.getColumnValue()); |
| | | flag = true; |
| | | } |
| | | } |
| | | } |
| | | //没找到用空串占位 |
| | | if (!flag) row.add(""); |
| | | } |
| | | data.add(row); |
| | | } |
| | | |
| | | List<List<String>> headList = new ArrayList<>(); |
| | | for (String header : headers) { |
| | | headList.add(Collections.singletonList(header)); |
| | | } |
| | | |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(headList) // 设置表头 |
| | | .sheet("车辆点位在线率") // 设置sheet名称 |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .doWrite(data); // 写入数据 |
| | | } |
| | | |
| | | @Override |
| | |
| | | long total = mongoTemplate.count(query, TMonitorResult.class); |
| | | MongoUtil.setPage(query, params, TIME_FIELD); |
| | | List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class); |
| | | |
| | | resultList.forEach(item -> { |
| | | if (item.getPingOnline() == null) { |
| | | item.setPingOnlineStr("未知"); |
| | |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | //添加动态数据 |
| | | List<DynamicColumnVO> list = dynamicColumnMapper.getDynamicColumnByTable(TableNameConstants.COLUMN_NAME_VIDEO_POINT,item.getNo()); |
| | | item.setDynamicColumnList(list); |
| | | }); |
| | | |
| | | |
| | | params.setDeptTag(-1); |
| | | params.setDeviceType(1); |
| | | |
| | |
| | | AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromCode(areaCode); |
| | | if (areaDeptEnum != null) item.setArealayername(areaDeptEnum.getName()); |
| | | |
| | | List<DynamicColumnVO> list = dynamicColumnMapper.getDynamicColumnByTable("uy_record_meta_d_sum",item.getId()); |
| | | List<DynamicColumnVO> list = dynamicColumnMapper.getDynamicColumnByTable(TableNameConstants.COLUMN_NAME_VIDEO,item.getId()); |
| | | item.setDynamicColumnList(list); |
| | | |
| | | }); |
| | |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | //添加动态数据 |
| | | List<DynamicColumnVO> list = dynamicColumnMapper.getDynamicColumnByTable(TableNameConstants.COLUMN_NAME_CAR_POINT,item.getNo()); |
| | | item.setDynamicColumnList(list); |
| | | }); |
| | | |
| | | // 统计设备数量 |
| | |
| | | } |
| | | item.setOffLineTimeStr(offLineTime); |
| | | } |
| | | //添加动态数据 |
| | | List<DynamicColumnVO> list = dynamicColumnMapper.getDynamicColumnByTable(TableNameConstants.COLUMN_NAME_FACE_POINT,item.getNo()); |
| | | item.setDynamicColumnList(list); |
| | | }); |
| | | params.setDeptTag(-1); |
| | | params.setDeviceType(3); |