From d864bab0b2104b35e8424084d6174efbc5538f32 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 15 一月 2025 16:28:08 +0800
Subject: [PATCH] 视频考核:优云的数据筛选出视频设备、资产管理、取消海康在线工单
---
ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml | 2
ycl-server/src/main/java/com/ycl/task/ContractTask.java | 1
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java | 4 +
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 2
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java | 3
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java | 7 +
ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java | 1
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 22 +++++
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java | 40 +++++-----
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 6 +
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java | 3
ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java | 2
ycl-server/src/main/java/com/ycl/task/OsdTask.java | 10 ++
ycl-server/src/main/java/com/ycl/task/VideoTask.java | 18 ++++
ycl-server/src/main/java/com/ycl/task/UYTask.java | 1
ycl-common/src/main/java/enumeration/ErrorType.java | 2
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 40 +++++++--
ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java | 23 +++++
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java | 1
19 files changed, 150 insertions(+), 38 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java
index 0fff84a..50342a9 100644
--- a/ycl-common/src/main/java/enumeration/ErrorType.java
+++ b/ycl-common/src/main/java/enumeration/ErrorType.java
@@ -20,7 +20,7 @@
DEVICE_OFFLINE("DEVICEOFFLINE", "璁惧绂荤嚎","COMMON",false),
POINT_INFO_ERROR("POINTINFOERRO", "鐐逛綅淇℃伅閿欒","COMMON",false),
//瑙嗛
- CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊","VIDEO",true),
+ CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊","VIDEO",false),
SIGNAL_LOSS("SIGNALMISS", "淇″彿缂哄け","VIDEO",true),
SCREEN_COLOR_DEVIATION("SCREENCOLOR", "鐢婚潰鍋忚壊","VIDEO",true),
SNOW_STORM("SCREENSNOW", "闆姳骞叉壈","VIDEO",true),
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
index 94cf46c..00fbaa9 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -147,7 +147,8 @@
/** 璁惧鍘傚晢锛� 0娴峰悍 1澶у崕 2瀹囪*/
private Integer deviceType;
-
+ @TableField(exist = false)
private String username;
+ @TableField(exist = false)
private String password;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
index 4a241b7..3f98a2a 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
@@ -44,7 +44,8 @@
private Integer deviceType;
/** 涓嬫媺妗� */
private Integer option;
-
+ /** 鑰冩牳鐘舵�� */
+ private Integer examineStatus;
public void setTime() {
if (Objects.nonNull(this.date)) {
this.startTime = DateUtils.getDayStart(this.date);
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
index fd10c35..e1cd357 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
@@ -1,10 +1,12 @@
package com.ycl.platform.controller;
+import annotation.Log;
import com.ycl.platform.domain.query.DataCenterQuery;
import com.ycl.platform.service.DataCenterService;
import com.ycl.platform.service.ITMonitorService;
import com.ycl.platform.service.PlatformOnlineService;
import com.ycl.system.Result;
+import enumeration.BusinessType;
import io.swagger.annotations.ApiOperation;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
@@ -39,7 +41,26 @@
query.setTime();
return monitorService.assetManagement(query);
}
-
+ /**
+ * 璧勪骇绠$悊缁熻
+ *
+ * @param query
+ * @return
+ */
+ @GetMapping("/assetManagement/count")
+ @ApiOperation(value = "璧勪骇绠$悊缁熻", notes = "璧勪骇绠$悊缁熻")
+ @PreAuthorize("@ss.hasPermi('assetManagement:page')")
+ public Result assetManagementCount(DataCenterQuery query) {
+ query.setTime();
+ return monitorService.assetManagementCount(query);
+ }
+ @DeleteMapping("/assetManagement/clear")
+ @ApiOperation(value = "娓呯悊涓�鏈轰竴妗�", notes = "娓呯悊涓�鏈轰竴妗�")
+ @PreAuthorize("@ss.hasPermi('point:remove')")
+ @Log(title = "娓呯悊涓�鏈轰竴妗�", businessType = BusinessType.DELETE)
+ public Result clear() {
+ return monitorService.clearMonitor();
+ }
/**
* 骞冲彴鍦ㄧ嚎鐜�
*
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 0be073f..c3e52a4 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -101,6 +101,7 @@
@DeleteMapping("/{id}")
@ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎")
@PreAuthorize("@ss.hasPermi('work:order:remove')")
+ @Log(title = "鍒犻櫎宸ュ崟", businessType = BusinessType.DELETE)
public Result removeById(@PathVariable("id") String id) {
return workOrderService.removeById(id);
}
@@ -205,6 +206,7 @@
@DeleteMapping("/batchDelete")
@PreAuthorize("@ss.hasPermi('work:order:delete')")
@ApiOperation(value = "鎵归噺鍒犻櫎宸ュ崟", notes = "鎵归噺鍒犻櫎宸ュ崟")
+ @Log(title = "鎵归噺鍒犻櫎宸ュ崟", businessType = BusinessType.DELETE)
public Result batchDeleteWorkOrder(@RequestBody List<String> workOrderNos) {
return workOrderService.batchDeleteWorkOrder(workOrderNos);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
index 5cbd808..f7fce50 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
@@ -143,4 +143,5 @@
return ywPointService.importData(file, unitId, start, end, needUpdateUnit);
}
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
index 62b512e..4137721 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -185,4 +185,11 @@
List<TMonitorExp> exportTMonitorList(TMonitorVO tMonitor);
List<TMonitorResult> getByIp(@Param("ipList")List<String> ips);
+
+ void clearMonitor();
+
+ List<String> getVideoIds();
+
+ Map<String, String> assetManagementCount();
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
index a08b230..7cb2a2d 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
@@ -119,4 +119,6 @@
List<YwPointVO> selectToCount(Short examineCategory, Short examineTag);
void myUpdateById(YwPoint entity);
+
+ void clearMonitor();
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
index 3b8a84b..15fbd8b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
@@ -130,4 +130,8 @@
Map<String, Object> videoHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
void export(HttpServletResponse response, TMonitorVO tMonitor);
+
+ Result clearMonitor();
+
+ Result assetManagementCount(DataCenterQuery query);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index 53239d6..f0185dc 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -164,4 +164,5 @@
* @author
*/
YwPoint selectBySerialNumber(String serialNumber);
+
}
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 8aaa8bf..3cc7abe 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
@@ -33,6 +33,7 @@
import com.ycl.platform.mapper.DynamicColumnMapper;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.mapper.WorkOrderMapper;
+import com.ycl.platform.mapper.YwPointMapper;
import com.ycl.platform.service.ITMonitorService;
import com.ycl.system.Result;
import com.ycl.system.entity.SysDictData;
@@ -57,6 +58,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import pojo.ExcelExp;
import utils.poi.ExcelUtilManySheet;
@@ -89,6 +91,8 @@
public class TMonitorServiceImpl extends ServiceImpl<TMonitorMapper, TMonitor> implements ITMonitorService {
@Autowired
private TMonitorMapper tMonitorMapper;
+ @Autowired
+ private YwPointMapper pointMapper;
@Autowired
private ISysConfigService configService;
@Autowired
@@ -1084,6 +1088,24 @@
util.exportExcel(response, monitors, sheetName);
}
+ /**
+ * 娓呯悊涓�鏈轰竴妗�
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result clearMonitor() {
+ tMonitorMapper.clearMonitor();
+ pointMapper.clearMonitor();
+ return Result.ok();
+ }
+
+ @Override
+ public Result assetManagementCount(DataCenterQuery query) {
+ Map<String, String> map =tMonitorMapper.assetManagementCount();
+ return Result.ok().data(map);
+ }
+
//棣栭〉杞﹁締鎶ヨ〃
@Override
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
index 440e2a7..8a19b35 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
@@ -228,16 +228,16 @@
check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.MODELING_FAIL.getValue());
}
// 鐐逛綅鍦ㄧ嚎鐜�
- if (2 == result.getSnapResult()) {
- workOrder.setSerialNumber(result.getExternalIndexCode());
- workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
- if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
- workOrder.setErrorTypeList(new ArrayList<>());
- workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
- } else {
- workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
- }
- }
+// if (2 == result.getSnapResult()) {
+// workOrder.setSerialNumber(result.getExternalIndexCode());
+// workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+// if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+// workOrder.setErrorTypeList(new ArrayList<>());
+// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+// } else {
+// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+// }
+// }
if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) {
workOrderList.add(workOrder);
} else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) {
@@ -299,16 +299,16 @@
check(YwThreadConstants.Car_NoIntegrityCount, integrityRate, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CAR_SIX.getValue());
}
// 鐐逛綅鍦ㄧ嚎鐜�
- if (2 == result.getSnapResult()) {
- workOrder.setSerialNumber(result.getExternalIndexCode());
- workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
- if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
- workOrder.setErrorTypeList(new ArrayList<>());
- workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
- } else {
- workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
- }
- }
+// if (2 == result.getSnapResult()) {
+// workOrder.setSerialNumber(result.getExternalIndexCode());
+// workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+// if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+// workOrder.setErrorTypeList(new ArrayList<>());
+// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+// } else {
+// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue());
+// }
+// }
if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) {
workOrderList.add(workOrder);
} else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) {
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 a31b5e5..d3a5c7c 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -194,7 +194,6 @@
LocalDateTime endTime = LocalDateTime.now();
// 璁$畻30澶╁墠鐨勬棩鏈�
LocalDateTime startTime = endTime.minusDays(30);
- //闇�瑕佹煡瀹℃牳閫氳繃閭f潯璁板綍鐨勬椂闂�
List<WorkOrderVO> workOrders = workOrderMapper.selectPassOrder(startTime, endTime, WorkOrderStatusEnum.AUDITING_SUCCESS.getValue(), "瀹℃牳閫氳繃");
for (WorkOrderVO workOrder : workOrders) {
//妫�娴嬫槸鍚︽姤澶囪繃
diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index 9971b41..2fab0ee 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -62,6 +62,7 @@
public String YSPassword;
/**
* 閫氳繃鏌ongoDB姣忔棩涓�鏈轰竴妗f暟鎹幏鍙栬澶噄p
+ * 绛涢�夎棰戣澶�
* 閫氳繃璁惧ip銆佸搧鐗岃皟鐢ㄤ笉鍚宎pi鑾峰彇osd淇℃伅
* 姣斿mongoDB涓�鏈轰竴妗d俊鎭紝鏁寸悊鎴恟esult瀛樺叆mongo
* 鍚屾鍝佺墝鍒癿ysql
@@ -94,8 +95,13 @@
new ThreadPoolExecutor.CallerRunsPolicy()
);
List<TMonitor> monitors = monitorMapper.selectByNumbers(serialNumbers);
- //杩囨护ip
- monitors = monitors.stream().filter(monitor -> !StringUtils.isEmpty(monitor.getIp()) && !"127.0.0.1".equals(monitor.getIp())).collect(Collectors.toList());
+ //杩囨护鎺夋棤鏁坕p骞剁瓫閫夊嚭瑙嗛璁惧
+ monitors = monitors.stream()
+ .filter(monitor -> !StringUtils.isEmpty(monitor.getIp()) &&
+ !"127.0.0.1".equals(monitor.getIp()) &&
+ monitor.getCameraFunType()!=null &&
+ monitor.getCameraFunType().contains("1"))
+ .collect(Collectors.toList());
List<Future<OSDResult>> futureList = new ArrayList<>(48);
List<OSDResult> osdResultList = new ArrayList<>();
for (TMonitor monitor : monitors) {
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 40c57fc..d75304f 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -339,7 +339,6 @@
item.setNo(item.getDeviceId());
}
});
- //璨屼技杩欓噷鍙互蹇界暐鐪佸巺鏍囩鍥犱负椤圭洰灞曠ず鐨勫悗闈ing鐨勬椂鍊欏瓨鐨勬暟鎹�
pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(records);
diff --git a/ycl-server/src/main/java/com/ycl/task/VideoTask.java b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
index dc3b8b8..bb99e10 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -20,6 +20,7 @@
import constant.CheckConstants;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
@@ -33,6 +34,7 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 瑙嗛璁$畻鑰冩牳鎸囨爣浠诲姟
@@ -64,6 +66,11 @@
query.addCriteria(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class);
+ //浼樹簯涓婃湁杞﹁締鍜屼汉鑴哥殑璁惧鏁版嵁锛岄渶瑕佽繃婊ゅ嚭瑙嗛璁惧
+ List<String> videoIds = monitorMapper.getVideoIds();
+ if(!CollectionUtils.isEmpty(results)){
+ results = results.stream().filter(result -> videoIds.contains(result.getNo())).collect(Collectors.toList());
+ }
CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_SiteOnline);
calculator.calculate(results);
log.info("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
@@ -78,6 +85,11 @@
.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
List<RecordMetaDSumResult> results = mongoTemplate.find(query, RecordMetaDSumResult.class);
+ //浼樹簯涓婃湁杞﹁締鍜屼汉鑴哥殑璁惧鏁版嵁锛岄渶瑕佽繃婊ゅ嚭瑙嗛璁惧
+ List<String> videoIds = monitorMapper.getVideoIds();
+ if(!CollectionUtils.isEmpty(results)){
+ results = results.stream().filter(result -> videoIds.contains(result.getNo())).collect(Collectors.toList());
+ }
CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_Usability);
calculator.calculate(results);
log.info("缁撴潫璁$畻褰曞儚鍙敤鐜囧拰閲嶇偣褰曞儚鍙敤鐜�");
@@ -126,6 +138,12 @@
query.addCriteria(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
List<OsdCheckResult> results = mongoTemplate.find(query, OsdCheckResult.class);
+
+ //浼樹簯涓婃湁杞﹁締鍜屼汉鑴哥殑璁惧鏁版嵁锛岄渶瑕佽繃婊ゅ嚭瑙嗛璁惧
+ List<String> videoIds = monitorMapper.getVideoIds();
+ if(!CollectionUtils.isEmpty(results)){
+ results = results.stream().filter(result -> videoIds.contains(result.getNo())).collect(Collectors.toList());
+ }
CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_OsdTime);
calculator.calculate(results);
log.info("缁撴潫璁$畻Osd鏍囨敞銆佹椂闂村噯纭巼");
diff --git a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
index c640b36..3a5bce8 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
@@ -84,7 +84,7 @@
*
FROM
t_dynamic_column_value dcv
- LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
+ INNER 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=")">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 9ff1133..2c6604a 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -92,7 +92,7 @@
<select id="selectByNumbers" resultType="com.ycl.platform.domain.entity.TMonitor">
select m.*,p.username,p.password
from t_monitor m left join t_yw_point p on m.serial_number = p.serial_number
- where serial_number in
+ where m.serial_number in
<foreach collection="numbers" separator="," open="(" close=")" item="number">
#{number}
</foreach>
@@ -417,7 +417,16 @@
${params.dataScope}
</where>
</select>
-
+ <select id="assetManagementCount" resultType="java.util.Map">
+ SELECT count(*) AS total,
+ IFNULL(SUM(IF((m.camera_fun_type like '%1%'), 1, 0)), 0) AS video,
+ IFNULL(SUM(IF((m.camera_fun_type like '%2%'), 1, 0)), 0) AS face,
+ IFNULL(SUM(IF((m.camera_fun_type like '%3%'), 1, 0)), 0) AS car,
+ IFNULL(SUM(IF((p.examine_status = 1), 1, 0)), 0) as examine,
+ IFNULL(SUM(IF((p.examine_status = 0), 1, 0)), 0) as notExamine
+ FROM t_monitor m
+ left join t_yw_point p on m.serial_number = p.serial_number
+ </select>
<select id="recoveryException" resultType="java.util.Map">
SELECT count(*) AS totalPosts,
IFNULL(SUM(IF((p.online = 1 and p.ping_online = 1), 1, 0)), 0) AS totalMembers,
@@ -609,16 +618,16 @@
tm.camera_fun_type,
tm.longitude,
tm.latitude,
- tm.camera_capture_area,
- tm.on_state,
+ d.dept_name as camera_capture_area,
+ yp.examine_status as 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,
+ yp.create_time as installed_time,
+ u.unit_name as management_unit,
tm.mu_contact_info,
tm.storage_days,
tm.monitor_azimuth,
@@ -628,15 +637,18 @@
tm.camera_type,
tm.camera_light_type,
tm.encoded_format,
- tm.camera_dept,
- tm.hybm,
- tm.lxbm
+ tm.camera_dept
FROM
t_monitor tm
INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
+ left join sys_dept d on yp.dept_id = d.dept_id and d.del_flag = 0
+ left join t_yw_unit u on yp.unit_id = u.id and u.deleted = 0
<where>
<if test="query.keyword != null and query.keyword != ''">
AND tm.name like concat('%', #{query.keyword}, '%')
+ </if>
+ <if test="query.examineStatus != null">
+ AND yp.examine_status = #{query.examineStatus}
</if>
<if test="query.startTIme != null and query.endTime != null">
AND yp.create_time between #{query.startTime} and #{query.endTime}
@@ -708,4 +720,14 @@
#{ip}
</foreach>
</select>
+ <!-- 娓呯悊涓�鏈轰竴妗� -->
+ <delete id="clearMonitor">
+ delete m from t_monitor m left join t_yw_point p on m.serial_number = p.serial_number
+ where p.examine_status != 1
+ </delete>
+
+ <select id ="getVideoIds" resultType="java.lang.String">
+ select serial_number from t_monitor
+ where camera_fun_type like '%1%'
+ </select>
</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 7e7de1c..74a5004 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -303,4 +303,10 @@
</set>
where id =#{id}
</update>
+
+ <!-- 娓呯悊涓�鏈轰竴妗� -->
+ <delete id="clearMonitor">
+ delete from t_yw_point p
+ where p.examine_status != 1
+ </delete>
</mapper>
--
Gitblit v1.8.0