diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java index 8a3a18c3..0e938af5 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java @@ -278,7 +278,7 @@ public class SocketDevResponseService { coefficientVO.setDesc((XiNumberManager.stepNumber == 0 || XiNumberManager.stepNumber == 1) ? "系数下装" : "系数校准"); assemblyEntity(list, F, coefficientVO, devParameter); - if(Objects.nonNull(coefficientVO.getResultFlag()) && coefficientVO.getResultFlag() == 0){ + if (Objects.nonNull(coefficientVO.getResultFlag()) && coefficientVO.getResultFlag() == 0) { xiFlag.set(false); } @@ -298,15 +298,15 @@ public class SocketDevResponseService { devXiNumData.setChnNum(0); devXiNumData.setDevIP(devIp); devXiNumData.setGf(gf); - if(xiFlag.get()){ + if (xiFlag.get()) { devXiNumData.setResultFlag(1); - }else { + } else { devXiNumData.setResultFlag(0); } - if (XiNumberManager.stepNumber == 0||XiNumberManager.stepNumber == 2) { + if (XiNumberManager.stepNumber == 0 || XiNumberManager.stepNumber == 2) { XiNumberManager.devXiNumDataMap.put(devIp, devXiNumData); - } else if (XiNumberManager.stepNumber == 1||XiNumberManager.stepNumber == 3) { + } else if (XiNumberManager.stepNumber == 1 || XiNumberManager.stepNumber == 3) { XiNumberManager.smallDevXiNumDataMap.put(devIp, devXiNumData); } }); @@ -410,14 +410,14 @@ public class SocketDevResponseService { System.out.println("-------------------------已经全部结束----------------------"); CnSocketUtil.quitSend(param); //修改设备表Factor_Check_Result字段 - XiNumberManager.devXiNumDataMap.forEach((key,val)->{ + XiNumberManager.devXiNumDataMap.forEach((key, val) -> { DevXiNumData small = XiNumberManager.smallDevXiNumDataMap.get(key); LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(PqDev::getId,FormalTestManager.devIdMapComm.get(key)); - if(val.getResultFlag() == 0 || small.getResultFlag() == 0){ - updateWrapper.set(PqDev::getFactorCheckResult,0); - }else { - updateWrapper.set(PqDev::getFactorCheckResult,1); + updateWrapper.eq(PqDev::getId, FormalTestManager.devIdMapComm.get(key)); + if (val.getResultFlag() == 0 || small.getResultFlag() == 0) { + updateWrapper.set(PqDev::getFactorCheckResult, 0); + } else { + updateWrapper.set(PqDev::getFactorCheckResult, 1); } iPqDevService.update(updateWrapper); updateWrapper.clear(); @@ -463,14 +463,13 @@ public class SocketDevResponseService { return percentage <= limit; } - private BigDecimal rangeNum(double num1, double num2){ + private BigDecimal rangeNum(double num1, double num2) { double diff = Math.abs(num1 - num2); double larger = Math.max(num1, num2); - return BigDecimal.valueOf(diff / larger).setScale(4,RoundingMode.HALF_UP); + return BigDecimal.valueOf(diff / larger).setScale(4, RoundingMode.HALF_UP); } - private void assemblyEntity(List deList, DevXiNumData.F F, CoefficientVO coefficientVO, CoefficientVO.DevParameter devParameter) { //表示接收完成,必须保证10个数 if (deList.size() >= 10) { @@ -536,9 +535,9 @@ public class SocketDevResponseService { coefficientVO.setBI(rangeNum(optionalIB, devParameter.getDevVolt()).toString()); coefficientVO.setCI(rangeNum(optionalIC, devParameter.getDevVolt()).toString()); - if("不合格".equals(coefficientVO.getAVuXi()) ||"不合格".equals(coefficientVO.getBVuXi()) ||"不合格".equals(coefficientVO.getCVuXi()) ||"不合格".equals(coefficientVO.getAIeXi()) ||"不合格".equals(coefficientVO.getBIeXi()) ||"不合格".equals(coefficientVO.getCIeXi())){ + if ("不合格".equals(coefficientVO.getAVuXi()) || "不合格".equals(coefficientVO.getBVuXi()) || "不合格".equals(coefficientVO.getCVuXi()) || "不合格".equals(coefficientVO.getAIeXi()) || "不合格".equals(coefficientVO.getBIeXi()) || "不合格".equals(coefficientVO.getCIeXi())) { coefficientVO.setResultFlag(0); - }else { + } else { coefficientVO.setResultFlag(1); } } @@ -567,7 +566,7 @@ public class SocketDevResponseService { String result = socketDataMsg.getData(); successComm.add(result); //通讯校验成功 - if(!param.getOperateType().equals(SourceOperateCodeEnum.TEST_TEM_START.getValue())) { + if (!param.getOperateType().equals(SourceOperateCodeEnum.TEST_TEM_START.getValue())) { webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1)); } @@ -575,7 +574,7 @@ public class SocketDevResponseService { if (successComm.size() == FormalTestManager.monitorIdListComm.size()) { - if(!param.getOperateType().equals(SourceOperateCodeEnum.TEST_TEM_START.getValue())) { + if (!param.getOperateType().equals(SourceOperateCodeEnum.TEST_TEM_START.getValue())) { SocketDataMsg temMsg = new SocketDataMsg(); temMsg.setCode(SourceResponseCodeEnum.DEV_COMM_ALL_SUCCESS.getCode()); temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue()); @@ -637,7 +636,7 @@ public class SocketDevResponseService { private void completeJudgment(PreDetectionParam param) { - System.out.println("成功失败测点数量"+successComm.size()+":"+failComm.size()+"监测点总数"+FormalTestManager.monitorIdListComm.size()); + System.out.println("成功失败测点数量" + successComm.size() + ":" + failComm.size() + "监测点总数" + FormalTestManager.monitorIdListComm.size()); if (successComm.size() + failComm.size() == FormalTestManager.monitorIdListComm.size()) { //全部装置返回 @@ -835,16 +834,20 @@ public class SocketDevResponseService { for (SourceCompareDev sourceCompareDev : info) { String temStr = "未知指标"; - if("VRMS".equals(sourceCompareDev.getDesc())){ + if ("VRMS".equals(sourceCompareDev.getDesc())) { temStr = "电压"; - }else if("IRMS".equals(sourceCompareDev.getDesc())){ + } else if ("IRMS".equals(sourceCompareDev.getDesc())) { temStr = "电流"; + }else if ("VA".equals(sourceCompareDev.getDesc())) { + temStr = "电压相角"; + }else if ("IA".equals(sourceCompareDev.getDesc())) { + temStr = "电流相角"; } dataMsg.setData(sourceCompareDev.getDevName() + splitTag + sourceCompareDev.getLineNum() + temStr + "校验结果:" + (sourceCompareDev.getIsQualified() ? "合格" : "不合格")); webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(dataMsg)); } - if(info.stream().anyMatch(it -> !it.getIsQualified())){ + if (info.stream().anyMatch(it -> !it.getIsQualified())) { WebSocketVO webSocketVO = new WebSocketVO<>(); webSocketVO.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue()); webSocketVO.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue()); @@ -1022,8 +1025,8 @@ public class SocketDevResponseService { List sourceIssueList = SocketManager.getSourceList(); if (CollUtil.isNotEmpty(sourceIssueList)) { SourceIssue sourceIssues = SocketManager.getSourceList().get(0); - if(tem == 0){ - webSocketVO.setRequestId(sourceIssues.getType()+ stepBegin); + if (tem == 0) { + webSocketVO.setRequestId(sourceIssues.getType() + stepBegin); webSocketVO.setData(new ArrayList<>()); webSocketVO.setDesc(null); webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO)); @@ -1038,12 +1041,12 @@ public class SocketDevResponseService { SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, JSON.toJSONString(xuMsg)); } else { //TODO 是否最终检测完成需要推送给用户 - PqScriptCheckDataParam checkDataParam=new PqScriptCheckDataParam(); + PqScriptCheckDataParam checkDataParam = new PqScriptCheckDataParam(); checkDataParam.setScriptId(param.getScriptId()); checkDataParam.setIsValueTypeName(false); List valueType = iPqScriptCheckDataService.getValueType(checkDataParam); - iPqDevService.updateResult(param.getDevIds(),valueType, param.getCode()); + iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode()); CnSocketUtil.quitSend(param); } successComm.clear(); @@ -1174,14 +1177,26 @@ public class SocketDevResponseService { List sqlData = dev.getSqlData(); List dataV = sqlData.stream().filter(x -> "VRMS".equals(x.getDesc())).collect(Collectors.toList()); + List dataVA = sqlData.stream().filter(x -> "VA".equals(x.getDesc())).collect(Collectors.toList()); List dataI = sqlData.stream().filter(x -> "IRMS".equals(x.getDesc())).collect(Collectors.toList()); + List dataIA = sqlData.stream().filter(x -> "IA".equals(x.getDesc())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(dataV)) { - SourceCompareDev compareDev = getSourceCompareDev(split, dataV, "VRMS", "U", channelList); + SourceCompareDev compareDev = getSourceCompareDev(split, dataV, "VRMS", "U", channelList, false); + compareDev.setDevName(devName); + info.add(compareDev); + } + if (CollUtil.isNotEmpty(dataVA)) { + SourceCompareDev compareDev = getSourceCompareDev(split, dataVA, "VA", "U", channelList, true); compareDev.setDevName(devName); info.add(compareDev); } if (CollUtil.isNotEmpty(dataI)) { - SourceCompareDev compareDev = getSourceCompareDev(split, dataI, "IRMS", "I", channelList); + SourceCompareDev compareDev = getSourceCompareDev(split, dataI, "IRMS", "I", channelList, false); + compareDev.setDevName(devName); + info.add(compareDev); + } + if (CollUtil.isNotEmpty(dataVA)) { + SourceCompareDev compareDev = getSourceCompareDev(split, dataVA, "IA", "I", channelList, true); compareDev.setDevName(devName); info.add(compareDev); } @@ -1203,10 +1218,10 @@ public class SocketDevResponseService { List data, String name, String type, - List channelList + List channelList, + Boolean isPhase ) { SourceCompareDev compareDev = new SourceCompareDev(); - compareDev.setIp(split[0]); compareDev.setLineNum(split[1]); compareDev.setDesc(name); @@ -1218,7 +1233,7 @@ public class SocketDevResponseService { ).collect(Collectors.toList()); Map sourceMap = sourceList.stream() .collect(Collectors.toMap(x -> x.getChannelType().toUpperCase().replace(type, "") - , SourceIssue.ChannelListDTO::getFAmp)); + , isPhase ? SourceIssue.ChannelListDTO::getFPhase : SourceIssue.ChannelListDTO::getFAmp)); Map devMap = new HashMap<>(3); devMap.put("A", devData.getA()); devMap.put("B", devData.getB()); @@ -1229,19 +1244,60 @@ public class SocketDevResponseService { break; } if (channelListDTO.getChannelType().equals((type + "a"))) { - is = NumberUtil.isIn(BigDecimal.valueOf(devData.getA()), - BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), - BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + if (isPhase) { + if (channelListDTO.getFPhase() == 0.0) { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getA()), + BigDecimal.valueOf(-0.05), + BigDecimal.valueOf(0.05)); + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getA()), + BigDecimal.valueOf(channelListDTO.getFPhase() * 0.95), + BigDecimal.valueOf(channelListDTO.getFPhase() * 1.05)); + } + + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getA()), + BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), + BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + } + } if (channelListDTO.getChannelType().equals((type + "b"))) { - is = NumberUtil.isIn(BigDecimal.valueOf(devData.getB()), - BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), - BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + if (isPhase) { + if (channelListDTO.getFPhase() == 0.0) { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getB()), + BigDecimal.valueOf(-0.05), + BigDecimal.valueOf(0.05)); + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getB()), + BigDecimal.valueOf(channelListDTO.getFPhase() * 0.95), + BigDecimal.valueOf(channelListDTO.getFPhase() * 1.05)); + } + + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getB()), + BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), + BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + } + } if (channelListDTO.getChannelType().equals((type + "c"))) { - is = NumberUtil.isIn(BigDecimal.valueOf(devData.getC()), - BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), - BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + if (isPhase) { + if (channelListDTO.getFPhase() == 0.0) { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getC()), + BigDecimal.valueOf(-0.05), + BigDecimal.valueOf(0.05)); + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getC()), + BigDecimal.valueOf(channelListDTO.getFPhase() * 0.95), + BigDecimal.valueOf(channelListDTO.getFPhase() * 1.05)); + } + + } else { + is = NumberUtil.isIn(BigDecimal.valueOf(devData.getC()), + BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), + BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)); + } } } @@ -1529,7 +1585,7 @@ public class SocketDevResponseService { public void backCheckState(PreDetectionParam param) { if (CollUtil.isNotEmpty(param.getDevIds()) && StrUtil.isNotBlank(param.getPlanId())) { - adPlanService.updateBackTestState(param.getPlanId(),param.getDevIds()); + adPlanService.updateBackTestState(param.getPlanId(), param.getDevIds()); } } diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketSourceResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketSourceResponseService.java index 77f9e8c6..4af5820b 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketSourceResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketSourceResponseService.java @@ -236,7 +236,7 @@ public class SocketSourceResponseService { DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam(); phaseSequenceParam.setMoniterIdList(moniterIdList); - phaseSequenceParam.setDataType(Arrays.asList("real$VRMS", "real$IRMS")); + phaseSequenceParam.setDataType(Arrays.asList("real$VRMS", "real$VA", "real$IRMS", "real$IA")); phaseSequenceParam.setReadCount(5); phaseSequenceParam.setIgnoreCount(10); socketMsg.setData(JSON.toJSONString(phaseSequenceParam)); @@ -296,8 +296,8 @@ public class SocketSourceResponseService { readData = 1; socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue()); }else { - ignoreCount = 7; - readData = 20; + ignoreCount = 1; + readData = 1; socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue()); } diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index ce73f92f..dcd1e4e6 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -252,7 +252,7 @@ public class DetectionServiceImpl { } if (CollUtil.isNotEmpty(info)) { detectionDataDealService.acceptAdNonResult(info, code); - List resultFlag = info.stream().filter(x->4!=x.getResultFlag()).map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); + List resultFlag = info.stream().filter(x -> 4 != x.getResultFlag()).map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); return getInteger(resultFlag); } return 4; @@ -744,15 +744,16 @@ public class DetectionServiceImpl { public Map>> devHarmListMap(List dev, SourceIssue sourceIssue, DictDataEnum dataRule, Integer num) { Map>> map = new HashMap<>(3); - List harmNum; + List harmNum = new ArrayList<>(); + harmNum.add(1.0); if (1 == num) { - harmNum = sourceIssue.getChannelList().stream() + harmNum.addAll(sourceIssue.getChannelList().stream() .flatMap(x -> x.getInharmList().stream().map(f -> f.getInharm())) - .sorted().distinct().collect(Collectors.toList()); + .sorted().distinct().collect(Collectors.toList())); } else { - harmNum = sourceIssue.getChannelList().stream() + harmNum.addAll(sourceIssue.getChannelList().stream() .flatMap(x -> x.getHarmList().stream().map(f -> f.getHarm())) - .sorted().distinct().collect(Collectors.toList()); + .sorted().distinct().collect(Collectors.toList())); } for (DevData devData : dev) { Optional first = devData.getSqlData().stream().collect(Collectors.toList()).stream().findFirst(); @@ -810,6 +811,9 @@ public class DetectionServiceImpl { public DetectionData rangeComparisonList(List list, List pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) { DetectionData detectionData = new DetectionData(); detectionData.setIsData(4); + if (CollUtil.isNotEmpty(list)) { + detectionData.setData(list.get(0)); + } //先根据源所下发的数据,是否在误差体系范围内在则可以进行误差体系判断 //获得误差体系 List errSysDtls = pqErrSysDtls.stream().filter(x -> rangeComparison(startRadiusEnd(x.getStartValue(), data, channelData, x.getConditionType()), @@ -994,14 +998,18 @@ public class DetectionServiceImpl { Map> integerListMap = map.get(type); for (Double i : harmNum) { if (integerListMap.containsKey(i)) { - if (type.equals("A")) { - integerListMap.get(i).add(multiply(harm.getList().getA().get((int) (i - num)), fund)); - } - if (type.equals("B")) { - integerListMap.get(i).add(multiply(harm.getList().getB().get((int) (i - num)), fund)); - } - if (type.equals("C")) { - integerListMap.get(i).add(multiply(harm.getList().getC().get((int) (i - num)), fund)); + if (i.equals(1.0)) { + integerListMap.get(1.0).add(multiply(fund, fund)); + }else{ + if (type.equals("A")) { + integerListMap.get(i).add(multiply(harm.getList().getA().get((int) (i - num)), fund)); + } + if (type.equals("B")) { + integerListMap.get(i).add(multiply(harm.getList().getB().get((int) (i - num)), fund)); + } + if (type.equals("C")) { + integerListMap.get(i).add(multiply(harm.getList().getC().get((int) (i - num)), fund)); + } } } } @@ -1009,16 +1017,22 @@ public class DetectionServiceImpl { Map> integerListMap = new LinkedHashMap<>(5); for (Double i : harmNum) { List integerList = new ArrayList<>(); - if (type.equals("A")) { - integerList.add(multiply(harm.getList().getA().get((int) (i - num)), fund)); + if (i.equals(1.0)) { + integerList.add(multiply(fund, fund)); + integerListMap.put(1.0, integerList); + } else { + if (type.equals("A")) { + integerList.add(multiply(harm.getList().getA().get((int) (i - num)), fund)); + } + if (type.equals("B")) { + integerList.add(multiply(harm.getList().getB().get((int) (i - num)), fund)); + } + if (type.equals("C")) { + integerList.add(multiply(harm.getList().getC().get((int) (i - num)), fund)); + } + integerListMap.put(i, integerList); } - if (type.equals("B")) { - integerList.add(multiply(harm.getList().getB().get((int) (i - num)), fund)); - } - if (type.equals("C")) { - integerList.add(multiply(harm.getList().getC().get((int) (i - num)), fund)); - } - integerListMap.put(i, integerList); + } map.put(type, integerListMap); } diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java index 2e3cc67b..32a817de 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java @@ -100,6 +100,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { */ @Override public void userEventTriggered(ChannelHandlerContext ctx, Object evt) { + Boolean fly = false; if (evt instanceof IdleStateEvent) { if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) { if(!FormalTestManager.hasStopFlag) { @@ -114,6 +115,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) { //闪变,正常抛一轮最大等待20分钟超时 if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1300) { + fly=true; System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭"); CnSocketUtil.quitSend(param); timeoutSend(sourceIssue); @@ -121,6 +123,7 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { } else if (sourceIssue.getType().equals(DicDataEnum.VOLTAGE.getCode()) || sourceIssue.getType().equals(DicDataEnum.HP.getCode())) { //统计数据项,正常抛一轮数据,超时 if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 180) { + fly=true; CnSocketUtil.quitSend(param); System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭"); timeoutSend(sourceIssue); @@ -129,15 +132,20 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { } else { //实时数据 if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 60) { + fly=true; CnSocketUtil.quitSend(param); System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭"); timeoutSend(sourceIssue); } } } else { + fly=true; //为空则认为是常规步骤,设定一分钟超时 CnSocketUtil.quitSend(param); } + if(fly){ + socketResponseService.backCheckState(param); + } System.out.println("已经等了一分钟了。。。。。。。。。。。。"); }else { //如果是暂停操作后 @@ -188,9 +196,9 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { System.out.println("Unknown exception caught: " + cause.getMessage()); // 可以记录未知异常信息 } + CnSocketUtil.quitSend(param); + socketResponseService.backCheckState(param); ctx.close(); - - } diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index 9ad1b13c..1655fe2b 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -338,10 +338,11 @@ public class AdPlanServiceImpl extends ServiceImpl impleme pqDevService.update(new LambdaUpdateWrapper() .set(PqDev::getCheckState, CheckStateEnum.CHECKING.getValue()) .in(PqDev::getId, devIds)); + return this.update(new LambdaUpdateWrapper() + .set(AdPlan::getTestState, CheckStateEnum.CHECKING.getValue()) + .eq(AdPlan::getId, planId)); } - return this.update(new LambdaUpdateWrapper() - .set(AdPlan::getTestState, CheckStateEnum.CHECKING.getValue()) - .eq(AdPlan::getId, planId)); + return true; } @Override diff --git a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java index 00d30faf..fd0f8790 100644 --- a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java +++ b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java @@ -29,6 +29,8 @@ import com.njcn.gather.device.pojo.enums.*; import com.njcn.gather.device.type.entity.DevType; import com.njcn.gather.device.type.service.IDevTypeService; import com.njcn.gather.storage.service.DetectionDataDealService; +import com.njcn.gather.system.config.pojo.po.SysTestConfig; +import com.njcn.gather.system.config.service.ISysTestConfigService; import com.njcn.gather.system.dictionary.pojo.po.DictData; import com.njcn.gather.system.dictionary.service.IDictDataService; import com.njcn.web.factory.PageFactory; @@ -56,6 +58,7 @@ public class PqDevServiceImpl extends ServiceImpl implements private final IPqMonitorService pqMonitorService; private final DetectionDataDealService detectionDataDealService; private final IDevTypeService devTypeService; + private final ISysTestConfigService sysTestConfigService; @Override @@ -491,13 +494,20 @@ public class PqDevServiceImpl extends ServiceImpl implements @Override public boolean updateResult(List ids,List valueType, String code) { if (CollUtil.isNotEmpty(ids)) { + SysTestConfig config = sysTestConfigService.getOneConfig(); Map result = detectionDataDealService.devResult(ids,valueType, code); List list = this.list(new LambdaQueryWrapper().in(PqDev::getId, ids)); for (PqDev pqDev : list) { if (result.containsKey(pqDev.getId())) { + Integer checkState; + if (pqDev.getReCheckNum() >= config.getMaxTime()) { + checkState = CheckStateEnum.DOCUMENTED.getValue(); + }else{ + checkState = CheckStateEnum.CHECKED.getValue(); + } this.update(new LambdaUpdateWrapper() .set(PqDev::getReCheckNum, pqDev.getReCheckNum() + 1) - .set(PqDev::getCheckState, CheckStateEnum.CHECKED.getValue()) + .set(PqDev::getCheckState, checkState) .set(PqDev::getCheckResult, result.get(pqDev.getId())) .set(PqDev::getCheckTime, LocalDateTime.now()) .set(PqDev::getReportState, DevReportStateEnum.NOT_GENERATED.getValue()) diff --git a/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptCheckDataServiceImpl.java b/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptCheckDataServiceImpl.java index 000dfa8a..4c331eb8 100644 --- a/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptCheckDataServiceImpl.java +++ b/device/src/main/java/com/njcn/gather/device/script/service/impl/PqScriptCheckDataServiceImpl.java @@ -34,6 +34,8 @@ public class PqScriptCheckDataServiceImpl extends ServiceImpl checkData = pqScriptCheckData.stream().map(x -> x.getDataType() + "$" + x.getValueType()).distinct().collect(Collectors.toList()); - if(checkData.contains(V)||checkData.contains(SV)){ - checkData.add("real$U1"); + if(!checkData.contains("real$U1")){ + if(checkData.contains(V)||checkData.contains(SV)){ + checkData.add("real$U1"); + } + } + if(!checkData.contains("real$I1")){ + if(checkData.contains(I)||checkData.contains(IV)){ + checkData.add("real$I1"); + } } return checkData; } else {