From 98a45e34ab4a6740f95980040fa9207a779b2529 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期六, 12 十月 2024 16:31:18 +0800
Subject: [PATCH] 点位在线web修复+点位考核状态字段

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java               |    4 +
 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml                      |    2 
 ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java                      |   38 ---------
 ycl-server/src/main/java/com/ycl/api/YS/YSInit.java                              |   20 ++--
 ycl-server/src/main/java/com/ycl/config/RestTemplateConfig.java                  |   10 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   16 ++-
 ycl-server/src/main/java/com/ycl/task/MonitorTask.java                           |   31 +++----
 ycl-server/src/main/java/com/ycl/task/UYTask.java                                |    8 +-
 ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java                       |   36 +++++---
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java   |    2 
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                     |   28 +++---
 ycl-server/src/main/java/com/ycl/utils/http/SelfHttpUtil.java                    |   25 ++++-
 12 files changed, 109 insertions(+), 111 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index dda1f1e..6305d1a 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -42,6 +42,10 @@
     @ApiModelProperty("杩愮淮鍗曚綅")
     @TableField(value = "unit_id")
     private Long unitId;
+    //鏄惁鍙備笌鑰冩牳
+    @ApiModelProperty("鑰冩牳鐘舵��")
+    @TableField("examine_status")
+    private Boolean examineStatus;
 
     @ApiModelProperty("杩愮淮鐘舵��")
     @TableField("status")
diff --git a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
index 3d84792..991de3a 100644
--- a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
+++ b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java
@@ -36,17 +36,17 @@
                 System.out.printf("Initialize failed:%d", netdevsdk.NETDEV_GetLastError());
                 return;
             }
-//            try {
-//                Common.updateStructureByReferenceMethod = Structure.class.getDeclaredMethod("updateStructureByReference", Class.class, Structure.class, Pointer.class);
-//                Common.updateStructureByReferenceMethod.setAccessible(true);
-//            } catch (Exception e) {
-//                throw new RuntimeException(e);
-//            }
+            try {
+                Common.updateStructureByReferenceMethod = Structure.class.getDeclaredMethod("updateStructureByReference", Class.class, Structure.class, Pointer.class);
+                Common.updateStructureByReferenceMethod.setAccessible(true);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
 
-//            File file=new File(strPicturePath);
-//            if(!file.exists()){
-//                file.mkdir();
-//            }
+            File file=new File(strPicturePath);
+            if(!file.exists()){
+                file.mkdir();
+            }
 
             NetDEVSDKLib.NETDEV_REV_TIMEOUT_S pstRevTimeout=new NetDEVSDKLib.NETDEV_REV_TIMEOUT_S();
             pstRevTimeout.dwRevTimeOut=3;
diff --git a/ycl-server/src/main/java/com/ycl/config/RestTemplateConfig.java b/ycl-server/src/main/java/com/ycl/config/RestTemplateConfig.java
index ebe5c25..c860336 100644
--- a/ycl-server/src/main/java/com/ycl/config/RestTemplateConfig.java
+++ b/ycl-server/src/main/java/com/ycl/config/RestTemplateConfig.java
@@ -2,18 +2,22 @@
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
 import org.springframework.web.client.RestTemplate;
 
 /**
- * @author xp
- * @date 2022/11/16
+ * 璁剧疆RestTemplate瓒呮椂鏃堕棿锛屽崟浣�:姣
+ * 濡傝繖閲岃缃负5s
  */
 @Configuration
 public class RestTemplateConfig {
 
     @Bean
     public RestTemplate restTemplate() {
-        return new RestTemplate();
+        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
+        requestFactory.setConnectTimeout(1000 * 5);
+        requestFactory.setReadTimeout(1000 * 5);
+        return new RestTemplate(requestFactory);
     }
 
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 4d824fa..4c7fa55 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -209,7 +209,7 @@
         SysConfig normal = configMapper.checkConfigKeyUnique("normal.wordkorder.alarm.time");
         // 濡傛灉鍗冲皢鐢熸垚宸ュ崟锛屼絾鏄澶囧浗鏍囩爜鏌ヤ笉鍒扮偣浣嶏紝鍒欎笉娣诲姞锛�
         List<WorkOrder> notAddList = new ArrayList<>();
-        //鏌edis浠婃棩宸ュ崟鏁伴噺
+        //TODO锛氭煡redis浠婃棩宸ュ崟鏁伴噺
         int workOrderNum = 0;
         //UUID浣滀负value锛屼繚璇佷笂閿佺殑绾跨▼鑷繁瑙i攣
         String requestId = IdUtils.fastSimpleUUID();
@@ -766,11 +766,15 @@
     public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception {
         String url = String.format(this.rtspServer + "/api/play/start/img/%s/%s", deviceId, channelId);
         String result = HttpUtils.sendGet(url);
-        JSONObject jsonObject = JSON.parseObject(result);
-        Object imgUrl = jsonObject.get("data");
-        imgUrl = Objects.isNull(imgUrl) ? "" : imgUrl;
-        log.info("鎷垮埌鍙栨祦鍥剧墖鍝嶅簲缁撴灉锛�" + imgUrl);
-        return (String) imgUrl;
+        log.info("鎷垮埌鍙栨祦鍥剧墖鍝嶅簲缁撴灉锛�" + result);
+        WVPResult wvpResult = JSON.parseObject(result, WVPResult.class);
+        if(wvpResult.getCode() == 0) {
+            Object imgUrl = (Object) wvpResult.getData();
+            imgUrl = Objects.isNull(imgUrl) ? "" : imgUrl;
+            log.info("鎷垮埌鍙栨祦鍥剧墖锛�" + imgUrl);
+            return (String) imgUrl;
+        }
+        return null;
 //        WVPResult wvpResult = JSON.parseObject(result, WVPResult.class);
 //        String imgUrl = null;
 //        if (wvpResult.getCode() == 0) {
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 c39f5cd..15e8456 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
@@ -37,6 +37,7 @@
 import constant.PointHeaderConstant;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -60,6 +61,7 @@
  */
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService {
 
     private final SysDeptMapper sysDeptMapper;
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index 1426343..7026520 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -63,16 +63,16 @@
 
     //鍚屾鐐逛綅鍦ㄧ嚎鐜囧埌mongo(寮冪敤)
     public void siteOnline() {
-//        log.info("寮�濮嬪悓姝ョ偣浣嶅湪绾跨巼鍒癿ongo");
-//        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(null);
-//        if (!CollectionUtils.isEmpty(tMonitorResults)) {
-//            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-//            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-//            DeleteResult result = mongoTemplate.remove(query, TMonitorResult.class);
-//            //瀛樻斁鍦╩ongo涓�
-//            mongoTemplate.insertAll(tMonitorResults);
-//            log.info("缁撴潫鍚屾鐐逛綅鍦ㄧ嚎鐜囧埌mongo");
-//        }
+        log.info("寮�濮嬪悓姝ョ偣浣嶅湪绾跨巼鍒癿ongo");
+        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(null);
+        if (!CollectionUtils.isEmpty(tMonitorResults)) {
+            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            DeleteResult result = mongoTemplate.remove(query, TMonitorResult.class);
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insertAll(tMonitorResults);
+            log.info("缁撴潫鍚屾鐐逛綅鍦ㄧ嚎鐜囧埌mongo");
+        }
     }
 
     //鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴�
@@ -101,8 +101,7 @@
         List<TMonitor> monitorList = new ArrayList<>();
         //鍑嗗鎻掑叆鐐逛綅琛ㄧ殑鏁版嵁
         List<YwPoint> ywPointList = new ArrayList<>();
-        //鏂扮殑鏁版嵁锛屽師鏁版嵁搴撲腑涓嶅瓨鍦ㄧ殑鏁版嵁
-        Set<TMonitor> newMonitorList = new HashSet<>();
+
 
         //鍏ㄥ勾鐣欏瓨
         for (MonitorQualifyResult result : oneMachineFileResults) {
@@ -110,10 +109,6 @@
             YwPoint point = getPoint(result, pointMap, importantSite);
             monitorList.add(monitor);
             ywPointList.add(point);
-            //姣斿绛涢�夊嚭鏂扮殑鏁版嵁
-            if (!CollectionUtils.isEmpty(monitorVOMap) && !monitorVOMap.containsKey(result.getSerialNumber().getValue())) {
-                newMonitorList.add(monitor);
-            }
         }
         //娣诲姞鑰佹暟鎹�
         List<String> numbers = CollectionUtils.isEmpty(monitorList) ? new ArrayList<>() : monitorList.stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
@@ -131,7 +126,9 @@
         });
         List<String> points = CollectionUtils.isEmpty(ywPointList) ? new ArrayList<>() : ywPointList.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
         pointMap.forEach((key, value) -> {
+            //鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳
             if (!points.contains(key)) {
+                value.setExamineStatus(Boolean.FALSE);
                 ywPointList.add(value);
             }
         });
@@ -165,6 +162,8 @@
             ywPoint.setCreateTime(new Date());
             ywPoint.setUpdateTime(new Date());
         }
+        //鐘舵�佽缃负鑰冩牳璁惧
+        ywPoint.setExamineStatus(Boolean.TRUE);
         //姣斿鏄惁鏄噸鐐圭偣浣�
         if (importantSite.contains(result.getSxjcjqy().getValue())) {
             ywPoint.setImportantTag(Boolean.TRUE);
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 3afaece..a97d502 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -174,6 +174,7 @@
     /**
      * 鐐逛綅鍦ㄧ嚎妫�娴�
      */
+    //TODO锛氳棰戠绾挎鏁般�佺洃娴嬫鏁�
     public void pointOnline() throws ExecutionException, InterruptedException {
         log.info("寮�濮嬫娴嬬偣浣嶅湪绾�");
         Integer times = 2;
@@ -203,16 +204,15 @@
                             OnlineCheckThread thread = new OnlineCheckThread(monitor, checkPointUtil, time);
                             return thread.call(); // 鍋囪 OnlineCheckThread 瀹炵幇浜� Callable 鎺ュ彛
                         }, executorService)
-                        .orTimeout(30, TimeUnit.SECONDS)
+                        .orTimeout(40, TimeUnit.SECONDS)
                         .exceptionally(ex -> {
                             if (ex instanceof TimeoutException) {
-                                log.error("浠诲姟鎵ц瓒呮椂:");
+                                log.error("浠诲姟鎵ц瓒呮椂:"+monitor.getIp());
                             } else {
-                                log.error("浠诲姟鎵ц寮傚父:" + ex);
+                                log.error("浠诲姟鎵ц寮傚父:"+monitor.getIp() + ex);
                             }
                             int checkTimes = 1;
                             int offLineTimes = 1;
-                            //TODO:BUG
                             Map<String, Object> map = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstant.ONLINE_KEY, monitor.getIp());
                             if (!CollectionUtils.isEmpty(map)) {
                                 checkTimes = (Integer) map.get("checkTimes") + 1;
diff --git a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
index a4b6194..7fae6d6 100644
--- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -57,44 +57,6 @@
 //    );
 
     public void run() throws FFmpegFrameGrabber.Exception {
-//        String rtspUrl = "http://www.w3school.com.cn/i/movie.mp4";
-//        if (StringUtils.hasText(rtspUrl)) {
-//            FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl);
-//            try {
-////                    grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸
-//                grabber.setImageWidth(1920);
-//                grabber.setImageHeight(1080);
-//                grabber.setFrameRate(25);
-//                grabber.start();
-//                System.out.println("鎴愬姛");
-//                Frame frame = grabber.grabImage();
-//                String imgUrl = null;
-//                if (frame != null) {
-//                    System.out.println("鎴愬姛2");
-//                    //杞崲鍥惧儚
-//                    Java2DFrameConverter converter = new Java2DFrameConverter();
-//                    BufferedImage srcImage = converter.getBufferedImage(frame);
-//                    System.out.println(srcImage);
-//                    if (srcImage != null) {
-//                        imgUrl = IdUtils.fastSimpleUUID() + ".png";
-//                        // 鐢熸垚鍥剧墖璺緞
-//                        String imgPath = "/" + imgUrl;
-//                        System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath);
-////                        imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl;
-//                        //鍒涘缓鏂囦欢
-//                        File file = new File("D:\\Codes\\zgyw\\"+imgUrl);
-//                        //杈撳嚭鏂囦欢
-//                        ImageIO.write(srcImage, "png", file);
-//                    }
-//                }
-//            } catch (IOException e) {
-//                e.printStackTrace();
-//            } finally {
-//                grabber.stop(); // 鍋滄鎹曡幏
-////                grabber.close(); // 閲婃斁璧勬簮
-//            }
-//        }
-
         // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶�
         Date now = new Date();
         Calendar ca = Calendar.getInstance();
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 fc06f30..8e97e3a 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -48,7 +48,7 @@
      */
     public TMonitorResult check(TMonitorResult monitor) {
         // 鍏堟娴嬭兘鍚﹁闂ip鐨勭綉椤�
-        ResponseEntity<Object> res = null;
+        ResponseEntity<String> res = null;
         log.info("鐩戞祴IP锛�" + monitor.getIp());
         String prefix = "http://";
         if ("127.0.0.1".equals(monitor.getIp())) {
@@ -115,9 +115,10 @@
         }
         boolean webReachable = false;
         try {
-            ResponseEntity<Object> res = selfHttpUtil.get(prefix + checkUtil.getIp(), null, null);
+            ResponseEntity<String> res = selfHttpUtil.get(prefix + checkUtil.getIp(), null, null);
             webReachable = Objects.nonNull(res) && HttpStatus.OK == res.getStatusCode();
         } catch (Exception e) {
+            log.info("妫�娴媤eb寮傚父"+e.getMessage());
             webReachable = Boolean.FALSE;
         }
         // ping
@@ -130,22 +131,22 @@
         } catch (IOException e) {
             e.printStackTrace();
         }
-
         String imgUrl = "";
-        // 鏌ュ嚭鍥芥爣璁惧锛屽氨涓�鏉℃暟鎹�
-        List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
-                .orderByDesc(DeviceInfo::getUpdateTime)
-                .last("limit 1")
-                .list();
-        if (! CollectionUtils.isEmpty(gbDevices)) {
-            try {
-                imgUrl = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), checkUtil.getSerialNumber(), IdUtils.workOrderNO(new Date(), "99999"));
-                result.setImg(imgUrl);
-            } catch (Exception e) {
-                e.printStackTrace();
+        if(pingReachable || webReachable) {
+            // 鏌ュ嚭鍥芥爣璁惧锛屽氨涓�鏉℃暟鎹�
+            List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
+                    .orderByDesc(DeviceInfo::getUpdateTime)
+                    .last("limit 1")
+                    .list();
+            if (!CollectionUtils.isEmpty(gbDevices)) {
+                try {
+                    imgUrl = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), checkUtil.getSerialNumber(), IdUtils.workOrderNO(new Date(), "99999"));
+                    result.setImg(imgUrl);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         }
-
         String status = "";
         if (! webReachable) {
             status += "璁惧web璁块棶澶辫触锛�";
@@ -155,6 +156,9 @@
         }
         if (StringUtils.isEmpty(imgUrl)) {
             status += "鏈幏鍙栧埌鍥剧墖";
+        }
+        if (StringUtils.isEmpty(status)) {
+            status += "璁惧姝e父";
         }
         result.setStatus(status);
         return result;
@@ -187,6 +191,8 @@
         String status = "";
         if (! pingReachable) {
             status += "ip鏈猵ing閫氾紱";
+        }else {
+            status += "鎴愬姛";
         }
         result.setStatus(status);
         return result;
diff --git a/ycl-server/src/main/java/com/ycl/utils/http/SelfHttpUtil.java b/ycl-server/src/main/java/com/ycl/utils/http/SelfHttpUtil.java
index c83336f..d51198d 100644
--- a/ycl-server/src/main/java/com/ycl/utils/http/SelfHttpUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/http/SelfHttpUtil.java
@@ -1,14 +1,23 @@
 package com.ycl.utils.http;
 
 import lombok.RequiredArgsConstructor;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Component;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
+
+import java.util.Collections;
+import java.util.Map;
 
 /**
  * @author xp
@@ -18,7 +27,8 @@
 @RequiredArgsConstructor
 public class SelfHttpUtil {
 
-    private final RestTemplate httpClient;
+    private final RestTemplate restTemplate;
+
 
     /**
      * post
@@ -29,7 +39,7 @@
      * @return
      */
     public Object post(String url, @Nullable Object data, @Nullable MultiValueMap header) {
-        ResponseEntity<Object> response = httpClient.exchange(
+        ResponseEntity<Object> response = restTemplate.exchange(
                 url,
                 HttpMethod.POST,
                 getHttpEntity(data, header),
@@ -45,7 +55,7 @@
      * @return
      */
     public Object post(String url, String token, @Nullable Object data) {
-        ResponseEntity<Object> response = httpClient.exchange(
+        ResponseEntity<Object> response = restTemplate.exchange(
                 url,
                 HttpMethod.POST,
                 getHttpEntity(data, token),
@@ -81,12 +91,15 @@
      * @param params
      * @return
      */
-    public ResponseEntity<Object> get(String url, @Nullable MultiValueMap header, @Nullable Object... params) {
-        ResponseEntity<Object> response = httpClient.exchange(
+    public ResponseEntity<String> get(String url, @Nullable MultiValueMap header, @Nullable Map<String, Object> params) {
+        if (params == null) {
+            params = Collections.emptyMap();
+        }
+        ResponseEntity<String> response = restTemplate.exchange(
                 url,
                 HttpMethod.GET,
                 getHttpEntity(null, header),
-                Object.class,
+                String.class,
                 params
         );
         return response;
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 1c325c0..5ee4cad 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -111,6 +111,7 @@
         ) w on m.serial_number = w.serial_number and w.deleted = 0
         left join t_yw_unit u on p.unit_id = u.id and u.deleted = 0
         <where>
+            p.examine_status = 1
             <if test="serialNumber != null  and serialNumber != ''">and m.serial_number = #{serialNumber}</if>
             <if test="name != null  and name != ''">
                 and (name like concat('%', #{name}, '%')
@@ -345,7 +346,7 @@
         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 and d.del_flag = 0
         <where>
-            camera_fun_type like concat('%', #{cameraFunType}, '%')
+            camera_fun_type like concat('%', #{cameraFunType}, '%') and p.examine_status = 1
             <if test="provinceTag!=null">
                 and p.province_tag = #{provinceTag}
             </if>
@@ -365,6 +366,7 @@
         LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number
         left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0
         <where>
+            p.examine_status = 1
 <!--             (p.recovery = 1 OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <![CDATA[<=]]> #{time}) -->
              <if test="provinceTag!=null">
                 and p.province_tag = #{provinceTag}
@@ -438,8 +440,8 @@
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
         FROM t_monitor
-        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
-        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number AND p1.examine_status = 1<if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number  AND p2.examine_status = 1 AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
         WHERE INSTR(camera_fun_type, 1)
         UNION ALL
         SELECT
@@ -448,8 +450,8 @@
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
         FROM t_monitor
-        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
-        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = '1' </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number AND p1.examine_status = 1 <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.examine_status = 1 AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = '1' </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
         WHERE INSTR(camera_fun_type, 2)
         UNION ALL
         SELECT
@@ -458,8 +460,8 @@
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
         FROM t_monitor
-        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
-        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number  AND p1.examine_status = 1 <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.dept_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+        LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number  AND p2.examine_status = 1 AND p2.online = 0 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
         WHERE INSTR(camera_fun_type, 3)
     </select>
     <select id="monitorRate" resultType="com.ycl.platform.domain.vo.screen.MonitorRateVO">
@@ -475,8 +477,8 @@
                     COUNT(m2.id) AS faceErrorNum
                 FROM
                     sys_dept d
-                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
-                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.online = 0 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0  AND p.examine_status = 1 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.online = 0 AND p2.examine_status = 1 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
                         LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 3)
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 3)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
@@ -493,8 +495,8 @@
                     COUNT(m2.id) AS carErrorNum
                 FROM
                     sys_dept d
-                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
-                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.online = 0 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 AND p.examine_status = 1 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.examine_status = 1 AND p2.online = 0 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
                         LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 2)
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 2)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
@@ -511,8 +513,8 @@
                     COUNT(m2.id) AS videoErrorNum
                 FROM
                     sys_dept d
-                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
-                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.online = 0 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 AND p.examine_status = 1 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.dept_tag = 1 </if>
+                        LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.examine_status = 1 AND p2.online = 0 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.dept_tag = 1 </if>
                         LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 1)
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 1)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 2ded25c..66fbde5 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -80,6 +80,7 @@
         LEFT JOIN t_yw_unit tyu ON typ.unit_id = tyu.id AND tyu.deleted = 0
         LEFT JOIN sys_dept sd ON typ.dept_id = sd.dept_id AND sd.del_flag = 0
         <where>
+            typ.examine_status = 1
             <if test="query.pointName != null and query.pointName != ''">
                 AND typ.point_name like concat('%', #{query.pointName}, '%')
             </if>
@@ -238,6 +239,7 @@
         INNER JOIN t_monitor m ON yp.serial_number = m.serial_number
         LEFT JOIN t_yw_unit yu ON yu.id = yp.unit_id
         <where>
+            yp.examine_status = 1
             <if test="query.pointName != null and query.pointName != ''">
                 AND m.name like concat('%', #{query.pointName} ,'%')
             </if>

--
Gitblit v1.8.0