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/task/ContractTask.java | 40 ++++++++++++++++++++++++++++++---------- 1 files changed, 30 insertions(+), 10 deletions(-) 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() + "璺澶囪繚鍙嶈鍒�"); -- Gitblit v1.8.0