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