ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/ContractTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/OsdTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java
@@ -26,7 +26,7 @@ /** 当前读取的目录 */ private static String currentFold; /** 动态库需要写入的目录 */ private static String EXTRACT_PATH = System.getProperty("java.io.tmpdir"); private static String EXTRACT_PATH = "/deviceSDK/linux64"; private static boolean written = false; ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -15,7 +15,9 @@ import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.mapper.*; import com.ycl.platform.service.IContractScoreService; import com.ycl.system.mapper.SysConfigMapper; import com.ycl.utils.DateUtils; import com.ycl.utils.StringUtils; import constant.ApiConstants; import enumeration.ContractRule; import enumeration.ErrorType; @@ -56,7 +58,8 @@ private IContractScoreService contractScoreService; @Autowired private WorkOrderMapper workOrderMapper; @Autowired private SysConfigMapper sysConfigMapper; private static final Integer Online = 1; private static final Integer Offline = -1; private static final String AuditStatus_Pass = "1"; @@ -220,7 +223,7 @@ for (WorkOrderVO workOrder : workOrders) { //检测是否报备过 if (!CollectionUtils.isEmpty(reportNumbers)) { if(reportNumbers.contains(workOrder.getSerialNumber())) continue; if (reportNumbers.contains(workOrder.getSerialNumber())) continue; } String errorType = workOrder.getErrorType(); //存储故障 录像或图片访问异常 @@ -323,8 +326,16 @@ */ public void randomDeductPic() { Random random = new Random(); Integer num = randomSize; //给定随机范围 int number = random.nextInt(randomSize); String count = sysConfigMapper.checkConfigKeyUnique("check.contract.sample").getConfigValue(); if (!StringUtils.isEmpty(count)) { Integer temp = Integer.valueOf(count); if (temp > 0) { num = temp; } } int number = random.nextInt(num); if (number == 0) { log.info("开始抽查图片完整状态"); //准备批量打分的集合 @@ -346,7 +357,7 @@ queryWrapper.in("serial_number", serialNumbers); //获取公司所运维的设备集合,key为unitId value为设备国标码集合 Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() .collect(Collectors.groupingBy(YwPoint::getUnitId, .filter(ywPoint -> ywPoint.getUnitId()!=null).collect(Collectors.groupingBy(YwPoint::getUnitId, Collectors.mapping( YwPoint::getSerialNumber, Collectors.toList()))); @@ -361,7 +372,7 @@ for (PicAccessResult picAccessResult : picAccessResults) { //判断是否报备过 if (!CollectionUtils.isEmpty(reportNumbers)) { if(reportNumbers.contains(picAccessResult.getExternalIndexCode())) continue; if (reportNumbers.contains(picAccessResult.getExternalIndexCode())) continue; } //判断是否是该公司运维 if (monitorList.contains(picAccessResult.getExternalIndexCode())) { @@ -395,7 +406,16 @@ public void randomDeductVideo() { Random random = new Random(); //给定随机范围 int number = random.nextInt(randomSize); Integer num = randomSize; //给定随机范围 String count = sysConfigMapper.checkConfigKeyUnique("check.contract.sample").getConfigValue(); if (!StringUtils.isEmpty(count)) { Integer temp = Integer.valueOf(count); if (temp > 0) { num = temp; } } int number = random.nextInt(num); if (number == 0) { log.info("开始抽查录像完整状态"); //准备批量打分的集合 @@ -417,7 +437,7 @@ queryWrapper.in("serial_number", serialNumbers); //获取公司所运维的设备集合,key为unitId value为设备国标码集合 Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() .collect(Collectors.groupingBy(YwPoint::getUnitId, .filter(ywPoint -> ywPoint.getUnitId()!=null).collect(Collectors.groupingBy(YwPoint::getUnitId, Collectors.mapping( YwPoint::getSerialNumber, Collectors.toList()))); @@ -430,7 +450,7 @@ for (RecordMetaDSumResult result : recordMetaDSumResults) { //判断是否报备过 if (!CollectionUtils.isEmpty(reportNumbers)) { if(reportNumbers.contains(result.getDeviceId())) continue; if (reportNumbers.contains(result.getDeviceId())) continue; } //判断是否是该公司运维 if (monitorList.contains(result.getDeviceId())) { @@ -440,7 +460,7 @@ Double max = calculateRuleVO.getMax(); Double min = calculateRuleVO.getMin(); //判断范围在哪个区间 单位是小时转换为分钟 if (checkRange(min, max, BigDecimal.valueOf(result.getMissDuration()*60))) { if (checkRange(min, max, BigDecimal.valueOf(result.getMissDuration() * 60))) { if (calculateRuleVO.getNum() == null) { calculateRuleVO.setNum(1); } else { @@ -452,7 +472,7 @@ } } for (CalculateRuleVO calculateRuleVO : ruleList) { if (calculateRuleVO.getNum()!=null && calculateRuleVO.getNum() > 0) { if (calculateRuleVO.getNum() != null && calculateRuleVO.getNum() > 0) { //需要扣除的分数,此规则只有一条不需要判断范围 double deductScore = calculateRuleVO.getCalcFraction() * calculateRuleVO.getNum(); ContractScore contractScore = getContractScore(calculateRuleVO, deductScore, calculateRuleVO.getNum() + "", Remark + calculateRuleVO.getNum() + "路设备违反规则"); ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -47,6 +47,18 @@ private UYErrorTypeCheckService uyErrorTypeCheckService; @Autowired private YwPointService pointService; @Value("${HK.userName}") public String HKUserName; @Value("${HK.password}") public String HKPassword; @Value("${DH.userName}") public String DHUserName; @Value("${DH.password}") public String DHPassword; @Value("${YS.userName}") public String YSUserName; @Value("${YS.password}") public String YSPassword; /** * 通过查mongoDB每日一机一档数据获取设备ip * 通过设备ip、品牌调用不同api获取osd信息 @@ -75,7 +87,7 @@ List<Future<OSDResult>> futureList = new ArrayList<>(48); List<OSDResult> osdResultList = new ArrayList<>(); for (TMonitor monitor : monitors) { OSDCheckThread thread = new OSDCheckThread(monitor); OSDCheckThread thread = new OSDCheckThread(monitor,HKUserName,HKPassword,DHUserName,DHPassword,YSUserName,YSPassword); Future<OSDResult> future = executorService.submit(thread); futureList.add(future); } ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
@@ -13,21 +13,21 @@ @Slf4j public class OSDCheckThread implements Callable<OSDResult> { private TMonitor monitor; @Value("${HK.userName}") public String HKUserName; @Value("${HK.password}") public String HKPassword; @Value("${DH.userName}") public String DHUserName; @Value("${DH.password}") public String DHPassword; @Value("${YS.userName}") public String YSUserName; @Value("${YS.password}") public String YSPassword; public OSDCheckThread(TMonitor monitor) { public OSDCheckThread(TMonitor monitor, String HKUserName, String HKPassword, String DHUserName, String DHPassword, String YSUserName, String YSPassword) { this.monitor = monitor; this.HKUserName = HKUserName; this.HKPassword = HKPassword; this.DHUserName = DHUserName; this.DHPassword = DHPassword; this.YSUserName = YSUserName; this.YSPassword = YSPassword; } public TMonitor getMonitor() { @@ -38,6 +38,54 @@ this.monitor = monitor; } public String getHKUserName() { return HKUserName; } public void setHKUserName(String HKUserName) { this.HKUserName = HKUserName; } public String getHKPassword() { return HKPassword; } public void setHKPassword(String HKPassword) { this.HKPassword = HKPassword; } public String getDHUserName() { return DHUserName; } public void setDHUserName(String DHUserName) { this.DHUserName = DHUserName; } public String getDHPassword() { return DHPassword; } public void setDHPassword(String DHPassword) { this.DHPassword = DHPassword; } public String getYSUserName() { return YSUserName; } public void setYSUserName(String YSUserName) { this.YSUserName = YSUserName; } public String getYSPassword() { return YSPassword; } public void setYSPassword(String YSPassword) { this.YSPassword = YSPassword; } @Override public OSDResult call() throws Exception { if (DeviceType.HK.getType().equals(monitor.getDeviceType())) {