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