diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java index 0c96ee1f..3c1cbc94 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketFreqConverterService.java @@ -306,13 +306,13 @@ public class SocketFreqConverterService { List testResList = new ArrayList<>(); FormalTestManager.pendingDipTaskMap.forEach((key, task) -> { - PqFreqConverterTestRes testRes = new PqFreqConverterTestRes(); - testRes.setId(key); - testRes.setDurationMs(task.getPqDipData().getDurationMs()); - testRes.setResidualVoltage(task.getPqDipData().getResidualVoltage()); - testRes.setTolerant(task.getOriginalTolerant() & (freqConverterStatus.getStatusWord1() == freqConverterConfig.getTolerant() ? 1 : 0)); - if (freqConverterStatus.getTimestamp().isAfter(task.getTargetEndTime())) { + PqFreqConverterTestRes testRes = new PqFreqConverterTestRes(); + testRes.setId(key); + testRes.setDurationMs(task.getPqDipData().getDurationMs()); + testRes.setResidualVoltage(task.getPqDipData().getResidualVoltage()); + testRes.setTolerant(task.getOriginalTolerant() & (freqConverterStatus.getStatusWord1() == freqConverterConfig.getTolerant() ? 1 : 0)); + finishedTestResIdList.add(key); SocketDataMsg socketDataMsg = new SocketDataMsg(); @@ -360,8 +360,9 @@ public class SocketFreqConverterService { } } this.lastTolerancePoint = newTolerantPointVO; + testResList.add(testRes); } - testResList.add(testRes); + }); pqFreqConverterTestResService.saveOrUpdateTestRes(suffix, testResList); @@ -381,7 +382,7 @@ public class SocketFreqConverterService { private boolean isNewGroup(TolerantPointVO lastTolerancePoint, TolerantPointVO newTolerantPointVO) { // 横向分组 if (freqConverterConfig.getDirection() == 0) { - return lastTolerancePoint.getDurationMs() - newTolerantPointVO.getDurationMs() <= -10; + return lastTolerancePoint.getDurationMs() - newTolerantPointVO.getDurationMs() >= 10; } // 纵向分租 if (freqConverterConfig.getDirection() == 1) { diff --git a/detection/src/main/java/com/njcn/gather/freqConverter/service/impl/PqFreqConverterTestResServiceImpl.java b/detection/src/main/java/com/njcn/gather/freqConverter/service/impl/PqFreqConverterTestResServiceImpl.java index 129003ed..8f861237 100644 --- a/detection/src/main/java/com/njcn/gather/freqConverter/service/impl/PqFreqConverterTestResServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/freqConverter/service/impl/PqFreqConverterTestResServiceImpl.java @@ -27,7 +27,23 @@ public class PqFreqConverterTestResServiceImpl extends ServiceImpl testResList) { DynamicTableNameHandler.setTableName(PqFreqConverterConfigServiceImpl.PQ_FREQ_CONVERTER_TEST_RES_TB_PREFIX + suffix); - this.saveOrUpdateBatch(testResList); + + List existTestResList = new ArrayList<>(); + List newTestResList = new ArrayList<>(); + for (PqFreqConverterTestRes testRes : testResList) { + PqFreqConverterTestRes existTestRes = this.getById(testRes.getId()); + if (ObjectUtil.isNotNull(existTestRes)) { + existTestResList.add(existTestRes); + }else{ + newTestResList.add(testRes); + } + } + if(existTestResList.size() > 0){ + this.updateBatchById(existTestResList); + } + if(newTestResList.size() > 0){ + this.saveBatch(newTestResList); + } DynamicTableNameHandler.remove(); return true; }