From e41c9b8574a217830e987877f729820b2ceedc33 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 15 十月 2024 03:14:44 +0800
Subject: [PATCH] 动态列补充两个接口

---
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                    |   92 +++++++++++++++---------------
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java |   56 +++++++++++++++---
 2 files changed, 91 insertions(+), 57 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 7109b6b..504cd1b 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
@@ -590,6 +590,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());
         //鏈堜唤姣忔棩褰曞儚绾挎暟鎹�
@@ -610,12 +621,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());
                 setRecordDaily(videoDailyExp, result, records);
                 //鍖哄幙琛�
                 videoDailyExps.add(videoDailyExp);
@@ -648,6 +666,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());
         //鏈堜唤姣忔棩褰曞儚绾挎暟鎹�
@@ -668,12 +697,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());
                 setLoseDaily(videoDailyExp, result, records);
                 videoDailyExps.add(videoDailyExp);
                 //鍏ㄩ噺琛�
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 5a1974b..85f8c3d 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -560,53 +560,51 @@
     </select>
 
 
-<!--    <select id="assetManagement" resultMap="dyMap">-->
-<!--        SELECT-->
-<!--            tm.id,-->
-<!--            tm.serial_number,-->
-<!--               tm.name,-->
-<!--               tm.site_type,-->
-<!--               tm.mac_addr,-->
-<!--               tm.ip,-->
-<!--               tm.camera_fun_type,-->
-<!--               tm.longitude,-->
-<!--               tm.latitude,-->
-<!--               tm.camera_capture_area,-->
-<!--               tm.on_state,-->
-<!--               tm.civil_code,-->
-<!--               tm.integrated_device,-->
-<!--               tm.camera_brand,-->
-<!--               tm.address,-->
-<!--               tm.net_working,-->
-<!--               tm.public_security,-->
-<!--               tm.installed_time,-->
-<!--               tm.management_unit,-->
-<!--               tm.mu_contact_info,-->
-<!--               tm.storage_days,-->
-<!--               tm.monitor_azimuth,-->
-<!--               tm.scene_photo_addr,-->
-<!--               tm.model,-->
-<!--               tm.site_vulgo,-->
-<!--               tm.camera_type,-->
-<!--               tm.camera_light_type,-->
-<!--               tm.encoded_format,-->
-<!--               tm.camera_dept,-->
-<!--               tm.hybm,-->
-<!--               tm.lxbm,-->
-<!--               't_monitor' as tableName,-->
-<!--               #{query.keyword} as keyword-->
-<!--        FROM-->
-<!--            t_monitor tm-->
-<!--                INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number-->
-<!--        <where>-->
-<!--            <if test="query.keyword != null and query.keyword != ''">-->
-<!--                AND tm.name like concat('%', #{query.keyword}, '%')-->
-<!--            </if>-->
-<!--            <if test="query.startTIme != null and query.endTime != null">-->
-<!--                AND yp.create_time between #{query.startTime} and #{query.endTime}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--    </select>-->
+    <select id="assetManagement" resultType="com.ycl.platform.domain.vo.TMonitorVO">
+        SELECT
+            tm.id,
+            tm.serial_number,
+               tm.name,
+               tm.site_type,
+               tm.mac_addr,
+               tm.ip,
+               tm.camera_fun_type,
+               tm.longitude,
+               tm.latitude,
+               tm.camera_capture_area,
+               tm.on_state,
+               tm.civil_code,
+               tm.integrated_device,
+               tm.camera_brand,
+               tm.address,
+               tm.net_working,
+               tm.public_security,
+               tm.installed_time,
+               tm.management_unit,
+               tm.mu_contact_info,
+               tm.storage_days,
+               tm.monitor_azimuth,
+               tm.scene_photo_addr,
+               tm.model,
+               tm.site_vulgo,
+               tm.camera_type,
+               tm.camera_light_type,
+               tm.encoded_format,
+               tm.camera_dept,
+               tm.hybm,
+               tm.lxbm
+        FROM
+            t_monitor tm
+                INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
+        <where>
+            <if test="query.keyword != null and query.keyword != ''">
+                AND tm.name like concat('%', #{query.keyword}, '%')
+            </if>
+            <if test="query.startTIme != null and query.endTime != null">
+                AND yp.create_time between #{query.startTime} and #{query.endTime}
+            </if>
+        </where>
+    </select>
 
 <!--    <select id="getDyColumns" resultMap="dynamicColumnMap">-->
 <!--        SELECT-->

--
Gitblit v1.8.0