From 99b454f9d696d75368fa4ac340425ccad260f555 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 15 十月 2024 02:25:27 +0800
Subject: [PATCH] 动态列完成

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java     |   16 ++
 ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml                 |   19 ++
 ycl-server/src/main/java/com/ycl/task/ContractTask.java                           |    2 
 ycl-server/src/main/java/com/ycl/task/CarTask.java                                |    2 
 ycl-server/src/main/java/com/ycl/platform/mapper/DynamicColumnMapper.java         |    4 
 ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java                        |   12 
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |   38 ++--
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java   |   36 ++++-
 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml                       |    4 
 ycl-server/src/main/resources/application-prod.yml                                |    1 
 ycl-server/src/main/java/com/ycl/task/UYTask.java                                 |   11 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java    |    3 
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                      |  223 +++++++++++++++++--------------
 13 files changed, 228 insertions(+), 143 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
index 20a68a7..a05236b 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/SYS/TMonitorResult.java
@@ -3,8 +3,11 @@
 
 import com.ycl.platform.domain.entity.WorkOrder;
 import com.ycl.platform.domain.result.BaseResult;
+import com.ycl.platform.domain.vo.DynamicColumnVO;
 import lombok.Data;
 import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
 
 /**
  * 鐐逛綅鍦ㄧ嚎鐜�
@@ -16,9 +19,13 @@
     private Integer deptId;
     /*** 閮ㄩ棬id*/
     private String ip;
-    /** 鏈�杩戠洃娴嬪湪绾跨姸鎬� */
-    private Boolean online;
+    /** 浼樹簯/娴峰悍妫�娴嬬粨鏋� */
+    private Integer online;
     private String onlineStr;
+
+    /** 鏈�杩戠洃娴嬪湪绾跨姸鎬� */
+    private Boolean pingOnline;
+    private String pingOnlineStr;
     /** 褰撴棩鐩戞祴娆℃暟 */
     private Integer checkCount;
     /** 褰撴棩绂荤嚎 */
@@ -28,4 +35,9 @@
     /** 璁惧鍚� */
     private String name;
     private WorkOrder workOrder;
+    private Integer pointId;
+    /**
+     * 鍔ㄦ�佸垪
+     */
+    private List<DynamicColumnVO> dynamicColumnList;
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/DynamicColumnMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/DynamicColumnMapper.java
index e3cd1e5..f4afe13 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/DynamicColumnMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/DynamicColumnMapper.java
@@ -34,6 +34,7 @@
      */
     List<DynamicColumnVO> getData();
 
+    List<DynamicColumnVO> getDynamicsByIds(@Param("tableName")String tableName,@Param("ids") List<Integer> ids);
     List<String> getHeader(String tableName);
     /**
     *  鍒嗛〉
@@ -44,4 +45,7 @@
 
     void updateBatch( @Param("updateList") List<DynamicColumnValue> updateList);
 
+    void deleteBatch(@Param("deleteList") List<Integer> deleteList);
+
+
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
index 763e007..4dded27 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -74,10 +74,10 @@
         MongoUtil.setPage(query, params, TIME_FIELD);
         List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
-                item.setOnlineStr("鍦ㄧ嚎");
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
             }else {
-                item.setOnlineStr("绂荤嚎");
+                item.setPingOnlineStr("绂荤嚎");
             }
         });
         params.setDeptTag(-1);
@@ -117,10 +117,10 @@
         MongoUtil.setPage(query, params, TIME_FIELD);
         List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
-                item.setOnlineStr("鍦ㄧ嚎");
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
             }else {
-                item.setOnlineStr("绂荤嚎");
+                item.setPingOnlineStr("绂荤嚎");
             }
         });
         // 缁熻璁惧鏁伴噺
@@ -165,10 +165,10 @@
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
-                item.setOnlineStr("鍦ㄧ嚎");
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
             }else {
-                item.setOnlineStr("绂荤嚎");
+                item.setPingOnlineStr("绂荤嚎");
             }
         });
         Date now = new Date();
@@ -209,10 +209,10 @@
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
-                item.setOnlineStr("鍦ㄧ嚎");
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
             }else {
-                item.setOnlineStr("绂荤嚎");
+                item.setPingOnlineStr("绂荤嚎");
             }
         });
         Date now = new Date();
@@ -912,24 +912,24 @@
         //鍒嗛〉鏁伴噺
         long total = mongoTemplate.count(query, TMonitorResult.class);
         MongoUtil.setPage(query, params, TIME_FIELD);
+        //绯荤粺ping鐨勭粨鏋�
         List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
-
+        //TODO锛氫紭浜戝湪绾跨粨鏋�
         params.setDeptTag(-1);
         params.setDeviceType(2);
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
-                item.setOnlineStr("鍦ㄧ嚎");
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
             }else {
-                item.setOnlineStr("绂荤嚎");
+                item.setPingOnlineStr("绂荤嚎");
             }
         });
-        Date now = new Date();
         List<CheckIndexCar> videoList = new LambdaQueryChainWrapper<>(checkIndexCarService.getBaseMapper())
                 .select(CheckIndexCar::getSiteOnline)
                 .eq(params.getDataType().equals(1), CheckIndexCar::getExamineTag, CheckConstants.Examine_Tag_Province)
-                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(now), DateUtils.getDayEnd(now))
+                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(params.getStartTime()), DateUtils.getDayEnd(params.getEndTime()))
                 .list();
         BigDecimal onlineRate = BigDecimal.ZERO;
         if (CollectionUtils.isNotEmpty(videoList)) {
@@ -1422,7 +1422,7 @@
         MongoUtil.setPage(query, params, TIME_FIELD);
         List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
         resultList.forEach(item->{
-            if(null != item.getOnline() && item.getOnline()){
+            if(null != item.getPingOnline() && item.getPingOnline()){
                 item.setOnlineStr("鍦ㄧ嚎");
             }else {
                 item.setOnlineStr("绂荤嚎");
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);
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 646081a..480e5af 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -452,12 +452,13 @@
                 }
             }
         }
+        //mybaits鏂规硶
         //鎻掑叆
         if(!CollectionUtils.isEmpty(insertList)) dynamicColumnMapper.saveBatch(insertList);
         //鏇存柊
         if(!CollectionUtils.isEmpty(updateList)) dynamicColumnMapper.updateBatch(updateList);
         //鍒犻櫎
-        if(!CollectionUtils.isEmpty(deleteList)) dynamicColumnMapper.deleteBatchIds(deleteList);
+        if(!CollectionUtils.isEmpty(deleteList)) dynamicColumnMapper.deleteBatch(deleteList);
     }
 
     public void waitAllFinishAndGetResult(List<YwPoint> dataList) {
diff --git a/ycl-server/src/main/java/com/ycl/task/CarTask.java b/ycl-server/src/main/java/com/ycl/task/CarTask.java
index bc6dac8..ee018f5 100644
--- a/ycl-server/src/main/java/com/ycl/task/CarTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java
@@ -48,7 +48,7 @@
         //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��
         Query query = new Query();
         query.addCriteria(Criteria
-                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                 .and("dataType").is(ApiConstants.HK_DataType_CAR));
         List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class);
         CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline);
diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
index af7619c..ca1e987 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -99,7 +99,7 @@
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)));
         List<TMonitorResult> tMonitorResults = mongoTemplate.find(query, TMonitorResult.class);
         for (TMonitorResult result : tMonitorResults) {
-            if(result.getOnline()){
+            if(result.getPingOnline()){
                 onlineStatusMap.put(result.getNo(), Online);
             }else {
                 onlineStatusMap.put(result.getNo(), Offline);
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 1c489f3..49ea8ea 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -209,7 +209,7 @@
                                 checkTimes = (Integer) map.get("checkTimes") + 1;
                                 offLineTimes = (Integer) map.get("offLineTimes");
                             }
-                            monitor.setOnline(Boolean.FALSE);
+                            monitor.setPingOnline(Boolean.FALSE);
                             monitor.setCheckCount(checkTimes);
                             monitor.setOffLineCount(offLineTimes);
                             if (monitor.getOffLineCount() >= time) {
@@ -243,9 +243,9 @@
                 .collect(Collectors.toList());
         //绛涢�夊嚭ping绂荤嚎鐨勮澶囷紝鏇存敼鏁版嵁搴撲负绂荤嚎
         Date now = new Date();
-        List<UpdateOnlineVO> willUpdateList = dataList.stream().filter(result->!result.getOnline()).map(item -> {
+        List<UpdateOnlineVO> willUpdateList = dataList.stream().filter(result->!result.getPingOnline()).map(item -> {
             UpdateOnlineVO vo = new UpdateOnlineVO();
-            vo.setOnline(item.getOnline()?ApiConstants.UY_OnlineSite_Online:ApiConstants.UY_OnlineSite_Offline);
+            vo.setOnline(item.getPingOnline()?ApiConstants.UY_OnlineSite_Online:ApiConstants.UY_OnlineSite_Offline);
             vo.setIp(item.getIp());
             vo.setUpdateTime(now);
             return vo;
@@ -293,6 +293,11 @@
                                 .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                         DeleteResult result = mongoTemplate.remove(query, VideoOnlineResult.class);
                         //鎵撴爣绛�
+                        records.forEach(item -> {
+                            if (Objects.nonNull(item.getDeviceId())) {
+                                item.setNo(item.getDeviceId());
+                            }
+                        });
                         pointService.setDeviceTagByGB(records);
                         //瀛樻斁鍦╩ongo涓�
                         mongoTemplate.insertAll(records);
diff --git a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
index 323cb6c..3237613 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -51,14 +51,14 @@
         ResponseEntity<String> res = null;
         String prefix = "http://";
         if ("127.0.0.1".equals(monitor.getIp())) {
-            monitor.setOnline(Boolean.FALSE);
+            monitor.setPingOnline(Boolean.FALSE);
             return monitor;
         }
         try {
             res = selfHttpUtil.get(prefix + monitor.getIp(), null, null);
-            monitor.setOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
+            monitor.setPingOnline(Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode());
         } catch (Exception e) {
-            monitor.setOnline(Boolean.FALSE);
+            monitor.setPingOnline(Boolean.FALSE);
         }
         // 濡傛灉http寰楀埌鐨勪笉鍦ㄧ嚎锛岄偅涔堝啀ping涓�涓�
         boolean reachable = false;
@@ -71,15 +71,15 @@
         } else {
             map = new HashMap<>();
         }
-        if (!monitor.getOnline()) {
+        if (!monitor.getPingOnline()) {
             try {
                 reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
             } catch (IOException e) {
                 e.printStackTrace();
             }
-            monitor.setOnline(reachable);
+            monitor.setPingOnline(reachable);
         }
-        if (!monitor.getOnline()) {
+        if (!monitor.getPingOnline()) {
             offLineTimes++;
         }
         map.put("checkTimes", checkTimes);
diff --git a/ycl-server/src/main/resources/application-prod.yml b/ycl-server/src/main/resources/application-prod.yml
index 3d821a2..1f6f226 100644
--- a/ycl-server/src/main/resources/application-prod.yml
+++ b/ycl-server/src/main/resources/application-prod.yml
@@ -121,6 +121,7 @@
 HK:
   userName: admin
   password: zg@2024dx
+  password2: Hik12345+
   host: 51.92.65.49
   appKey: 29555942
   appSecret: t9U7tCplCyYHzQPPL7cH
diff --git a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
index d1e7e33..c640b36 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
@@ -72,4 +72,23 @@
             WHERE id = #{item.id}
         </foreach>
     </update>
+    <delete id="deleteBatch">
+        delete from t_dynamic_column_value where id in
+        <foreach collection="deleteList" open="(" close=")" separator="," item="id">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="getDynamicsByIds" resultType="com.ycl.platform.domain.vo.DynamicColumnVO">
+        SELECT
+        *
+        FROM
+        t_dynamic_column_value dcv
+        LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
+        WHERE
+        dcv.ref_id in
+        <foreach collection="ids" item="id" separator="," open="(" close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 2df6852..5a1974b 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -39,6 +39,28 @@
         <result property="deviceType" column="device_type"/>
     </resultMap>
 
+    <resultMap id="monitorMap" type="com.ycl.platform.domain.result.SYS.TMonitorResult">
+        <result column="m.id" property="id"/>
+        <result column="no" property="no"/>
+        <result column="m.name" property="name"/>
+        <result column="monitorType" property="monitorType"/>
+        <result column="d.dept_id" property="deptId"/>
+        <result column="p.province_tag" property="provinceTag"/>
+        <result column="p.important_tag" property="importantTag"/>
+        <result column="p.important_command_image_tag" property="importantCommandImageTag"/>
+        <result column="p.dept_tag" property="deptTag"/>
+        <result column="p.online" property="online"/>
+        <collection property="dynamicColumnList" select="getDyColumns"
+                    column="{pid=pid,tableName=tableName}"
+                    ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
+    </resultMap>
+
+    <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
+        <result column="prop_name" property="propName"/>
+        <result column="label_value" property="labelValue"/>
+        <result column="column_value" property="columnValue"/>
+    </resultMap>
+
     <sql id="selectTMonitorVo">
         select id,
                serial_number,
@@ -169,8 +191,9 @@
         left join sys_dept d on p.dept_id = d.dept_id
     </select>
 
-    <select id="selectMonitorResult" resultType="com.ycl.platform.domain.result.SYS.TMonitorResult">
-        select m.id, m.serial_number as no,m.name,m.camera_fun_type as monitorType,d.dept_id,p.province_tag,p.important_tag,p.important_command_image_tag,p.dept_tag,p.online
+    <select id="selectMonitorResult" resultType = "com.ycl.platform.domain.result.SYS.TMonitorResult">
+        select m.id, m.serial_number as no,m.name,m.camera_fun_type as monitorType,
+        d.dept_id,p.province_tag,p.important_tag,p.important_command_image_tag,p.dept_tag,p.online,p.id as pointId
         from t_monitor m
         left join t_yw_point p on m.serial_number = p.serial_number
         left join sys_dept d on p.dept_id = d.dept_id
@@ -199,6 +222,8 @@
             </if>
         </where>
     </select>
+
+
     <select id="selectTMonitorById" parameterType="Long" resultType="com.ycl.platform.domain.vo.TMonitorVO">
         <include refid="selectTMonitorVo"/>
         where id = #{id}
@@ -535,106 +560,106 @@
     </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" 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="getDyColumns" resultMap="dynamicColumnMap">
-        SELECT
-               *
-        FROM
-             t_dynamic_column_value dcv
-                 LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
-        WHERE
-            dcv.ref_id = #{id}
-            <if test="keyword != null and keyword != ''">
-                and dcv.column_value like concat('%', #{keyword}, '%')
-            </if>
-    </select>
+<!--    <select id="getDyColumns" resultMap="dynamicColumnMap">-->
+<!--        SELECT-->
+<!--               *-->
+<!--        FROM-->
+<!--             t_dynamic_column_value dcv-->
+<!--                 LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}-->
+<!--        WHERE-->
+<!--            dcv.ref_id = #{id}-->
+<!--            <if test="keyword != null and keyword != ''">-->
+<!--                and dcv.column_value like concat('%', #{keyword}, '%')-->
+<!--            </if>-->
+<!--    </select>-->
 
-    <resultMap id="dyMap" type="com.ycl.platform.domain.vo.TMonitorVO">
-        <id column="id" property="id"/>
-        <result column="serial_number" property="serialNumber"/>
-        <result column="name" property="name"/>
-        <result column="site_type" property="siteType"/>
-        <result column="mac_addr" property="macAddr"/>
-        <result column="ip" property="ip"/>
-        <result column="longitude" property="longitude"/>
-        <result column="latitude" property="latitude"/>
-        <result column="camera_capture_area" property="cameraCaptureArea"/>
-        <result column="camera_fun_type" property="cameraFunType"/>
-        <result column="on_state" property="onState"/>
-        <result column="civil_code" property="civilCode"/>
-        <result column="integrated_device" property="integratedDevice"/>
-        <result column="camera_brand" property="cameraBrand"/>
-        <result column="address" property="address"/>
-        <result column="public_security" property="publicSecurity"/>
-        <result column="installed_time" property="installedTime"/>
-        <result column="management_unit" property="managementUnit"/>
-        <result column="mu_contact_info" property="muContactInfo"/>
-        <result column="storage_days" property="storageDays"/>
-        <result column="monitor_azimuth" property="monitorAzimuth"/>
-        <result column="scene_photo_addr" property="scenePhotoAddr"/>
-        <result column="model" property="model"/>
-        <result column="site_vulgo" property="siteVulgo"/>
-        <result column="camera_type" property="cameraType"/>
-        <result column="camera_light_type" property="cameraLightType"/>
-        <result column="encoded_format" property="encodedFormat"/>
-        <result column="camera_dept" property="cameraDept"/>
-        <result column="hybm" property="hybm"/>
-        <result column="lxbm" property="lxbm"/>
-        <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,keyword=keyword}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
-    </resultMap>
+<!--    <resultMap id="dyMap" type="com.ycl.platform.domain.vo.TMonitorVO">-->
+<!--        <id column="id" property="id"/>-->
+<!--        <result column="serial_number" property="serialNumber"/>-->
+<!--        <result column="name" property="name"/>-->
+<!--        <result column="site_type" property="siteType"/>-->
+<!--        <result column="mac_addr" property="macAddr"/>-->
+<!--        <result column="ip" property="ip"/>-->
+<!--        <result column="longitude" property="longitude"/>-->
+<!--        <result column="latitude" property="latitude"/>-->
+<!--        <result column="camera_capture_area" property="cameraCaptureArea"/>-->
+<!--        <result column="camera_fun_type" property="cameraFunType"/>-->
+<!--        <result column="on_state" property="onState"/>-->
+<!--        <result column="civil_code" property="civilCode"/>-->
+<!--        <result column="integrated_device" property="integratedDevice"/>-->
+<!--        <result column="camera_brand" property="cameraBrand"/>-->
+<!--        <result column="address" property="address"/>-->
+<!--        <result column="public_security" property="publicSecurity"/>-->
+<!--        <result column="installed_time" property="installedTime"/>-->
+<!--        <result column="management_unit" property="managementUnit"/>-->
+<!--        <result column="mu_contact_info" property="muContactInfo"/>-->
+<!--        <result column="storage_days" property="storageDays"/>-->
+<!--        <result column="monitor_azimuth" property="monitorAzimuth"/>-->
+<!--        <result column="scene_photo_addr" property="scenePhotoAddr"/>-->
+<!--        <result column="model" property="model"/>-->
+<!--        <result column="site_vulgo" property="siteVulgo"/>-->
+<!--        <result column="camera_type" property="cameraType"/>-->
+<!--        <result column="camera_light_type" property="cameraLightType"/>-->
+<!--        <result column="encoded_format" property="encodedFormat"/>-->
+<!--        <result column="camera_dept" property="cameraDept"/>-->
+<!--        <result column="hybm" property="hybm"/>-->
+<!--        <result column="lxbm" property="lxbm"/>-->
+<!--        <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,keyword=keyword}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>-->
+<!--    </resultMap>-->
 
-    <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
-        <result column="prop_name" property="propName"/>
-        <result column="label_value" property="labelValue"/>
-        <result column="column_value" property="columnValue"/>
-    </resultMap>
+<!--    <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">-->
+<!--        <result column="prop_name" property="propName"/>-->
+<!--        <result column="label_value" property="labelValue"/>-->
+<!--        <result column="column_value" property="columnValue"/>-->
+<!--    </resultMap>-->
 
 
     <delete id="deleteAll">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index bb27935..4e25244 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -51,10 +51,6 @@
         <result column="column_value" property="columnValue"/>
     </resultMap>
 
-    <select id="selectData" resultType="com.ycl.platform.base.BaseSelect">
-
-    </select>
-
     <select id="page" resultMap="pageMap">
         SELECT
         typ.id,

--
Gitblit v1.8.0