From cf2ca433a7e6ef92b33c1479f60702e97c2cb1bf Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 19 九月 2024 19:55:33 +0800
Subject: [PATCH] OSDbug修复、合同抽检可配置、合同抽检任务空指针修复
---
ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java | 2
ycl-server/src/main/java/com/ycl/task/ContractTask.java | 40 +++++++++++++++-----
ycl-server/src/main/java/com/ycl/task/OsdTask.java | 14 ++++++
ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java | 62 +++++++++++++++++++++++++++---
4 files changed, 99 insertions(+), 19 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java b/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java
index 18de255..0073026 100644
--- a/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java
+++ b/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;
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 dc737b0..26c75e0 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/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涓簎nitId 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涓簎nitId 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() + "璺澶囪繚鍙嶈鍒�");
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 a50e42a..4829199 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/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;
/**
* 閫氳繃鏌ongoDB姣忔棩涓�鏈轰竴妗f暟鎹幏鍙栬澶噄p
* 閫氳繃璁惧ip銆佸搧鐗岃皟鐢ㄤ笉鍚宎pi鑾峰彇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);
}
diff --git a/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java b/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
index ab6dbe5..f07f09f 100644
--- a/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
+++ b/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())) {
--
Gitblit v1.8.0