From 99b454f9d696d75368fa4ac340425ccad260f555 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 15 十月 2024 02:25:27 +0800 Subject: [PATCH] 动态列完成 --- ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 36 +++++++++++++++++++++++++++++------- 1 files changed, 29 insertions(+), 7 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java index fde1d5b..7109b6b 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java @@ -22,6 +22,7 @@ import com.ycl.platform.domain.result.UY.MonitorQualifyResult; import com.ycl.platform.domain.result.UY.OsdCheckResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; +import com.ycl.platform.domain.vo.DynamicColumnVO; import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.vo.home.BaseHomeVO; @@ -30,6 +31,7 @@ import com.ycl.platform.domain.vo.home.HomeVideoVO; import com.ycl.platform.domain.vo.screen.MonitorRateVO; import com.ycl.platform.domain.vo.screen.MonitorTotalVO; +import com.ycl.platform.mapper.DynamicColumnMapper; import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.platform.mapper.WorkOrderMapper; import com.ycl.platform.service.ITMonitorService; @@ -91,6 +93,8 @@ private WorkOrderMapper workOrderMapper; @Autowired private SysDictDataMapper dictDataMapper; + @Autowired + private DynamicColumnMapper dynamicColumnMapper; /** * 鏌ヨ璁惧璧勪骇 @@ -453,7 +457,7 @@ if (!CollectionUtils.isEmpty(onlines)) { videoExp.setTotal(onlines.size()); videoExp.setOnline(Integer.valueOf(onlines.stream() - .filter(TMonitorResult::getOnline) + .filter(TMonitorResult::getPingOnline) .count() + "")); videoExp.setOffline(videoExp.getTotal() - videoExp.getOnline()); } @@ -510,6 +514,17 @@ exportForm.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Video + "")); VideoExportForm.convertTags(exportForm); List<TMonitorResult> tMonitorResults = tMonitorMapper.selectMonitorResult(exportForm); + //鑾峰彇鍔ㄦ�佸垪鏁版嵁 + List<Integer> pointIds = tMonitorResults.stream().map(TMonitorResult::getPointId).collect(Collectors.toList()); + List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds); + //琛ュ厖鍔ㄦ�佸垪鏁版嵁 + if(!CollectionUtils.isEmpty(dynamics)) { + Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId)); + for (TMonitorResult tMonitorResult : tMonitorResults) { + Integer pointId = tMonitorResult.getPointId(); + tMonitorResult.setDynamicColumnList(map.get(pointId)); + } + } List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList()); Query query = getQuery(deviceIds, exportForm.getMonth()); //鏈堜唤姣忔棩鍦ㄧ嚎鏁版嵁 @@ -530,12 +545,19 @@ videoDailyExp.setSerialNumber(result.getNo()); videoDailyExp.setDeviceName(result.getName()); videoDailyExp.setArea(areaDeptEnum == null ? "鏈煡" : areaDeptEnum.getName()); - String tag = "" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""); - // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲�� - if (tag.endsWith("銆�")) { - tag = tag.substring(0, tag.length() - 1); + StringBuilder tag = new StringBuilder("" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : "")); + //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲� + if(!CollectionUtils.isEmpty(result.getDynamicColumnList())){ + List<DynamicColumnVO> dynamicColumnList = result.getDynamicColumnList(); + for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) { + tag.append(dynamicColumnVO.getColumnValue()).append("銆�"); + } } - videoDailyExp.setTag(tag); + // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲�� + if (tag.toString().endsWith("銆�")) { + tag = new StringBuilder(tag.substring(0, tag.length() - 1)); + } + videoDailyExp.setTag(tag.toString()); setOnlineDaily(videoDailyExp, result, onlines); videoDailyExps.add(videoDailyExp); //鍏ㄩ噺琛� @@ -1050,7 +1072,7 @@ for (TMonitorResult monitorResult : onlineResult) { int dayOfMonth = monitorResult.getMongoCreateTime().getDayOfMonth(); String online = ""; - online += monitorResult.getOnline() ? "鍦ㄧ嚎" : "绂荤嚎"; + online += monitorResult.getPingOnline() ? "鍦ㄧ嚎" : "绂荤嚎"; //鍙嶅皠璧嬪�硷紝瀛楁缁熶竴瀹氫箟涓篸ay+1锛�2锛�3... Field field = videoDailyExp.getClass().getDeclaredField("day" + dayOfMonth); field.setAccessible(true); -- Gitblit v1.8.0