|
|
|
|
@@ -313,14 +313,14 @@ public class SocketDevResponseService {
|
|
|
|
|
|
|
|
|
|
//判断小电压是否系数超过大电压10%
|
|
|
|
|
double limit = 0.1;
|
|
|
|
|
XiNumberManager.smallDevXiNumDataMap.forEach((devIp, devXiNumDataBig) -> {
|
|
|
|
|
XiNumberManager.smallDevXiNumDataMap.forEach((devIp, devXiNumDataSmall) -> {
|
|
|
|
|
//定义一个标识: false:表示小电流系数和大电流系数
|
|
|
|
|
boolean flag = true;
|
|
|
|
|
DevXiNumData devXiNumDataSmall = XiNumberManager.devXiNumDataMap.get(devIp);
|
|
|
|
|
Map<Integer, DevXiNumData.GF> gfMap = devXiNumDataSmall.getGf().stream().collect(Collectors.toMap(DevXiNumData.GF::getUMonitorPoint, Function.identity()));
|
|
|
|
|
DevXiNumData devXiNumDataBig = XiNumberManager.devXiNumDataMap.get(devIp);
|
|
|
|
|
Map<Integer, DevXiNumData.GF> gfMapSmall = devXiNumDataSmall.getGf().stream().collect(Collectors.toMap(DevXiNumData.GF::getUMonitorPoint, Function.identity()));
|
|
|
|
|
|
|
|
|
|
for (DevXiNumData.GF bigGf : devXiNumDataBig.getGf()) {
|
|
|
|
|
DevXiNumData.F smallF = gfMap.get(bigGf.getUMonitorPoint()).getF();
|
|
|
|
|
DevXiNumData.F smallF = gfMapSmall.get(bigGf.getUMonitorPoint()).getF();
|
|
|
|
|
DevXiNumData.F bigF = bigGf.getF();
|
|
|
|
|
|
|
|
|
|
boolean ia = isWithinTenPercent(smallF.getIa_gain(), bigF.getIa_gain(), limit);
|
|
|
|
|
@@ -456,12 +456,12 @@ public class SocketDevResponseService {
|
|
|
|
|
return percentage <= limit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private BigDecimal rangeNum(double num1, double num2, String type) {
|
|
|
|
|
private BigDecimal rangeNum(double num1, double num2,String type) {
|
|
|
|
|
double diff = Math.abs(num1 - num2);
|
|
|
|
|
double larger = Math.max(num1, num2);
|
|
|
|
|
if (DicDataEnum.V.getCode().equals(type)) {
|
|
|
|
|
if(DicDataEnum.V.getCode().equals(type)){
|
|
|
|
|
return BigDecimal.valueOf(diff / larger).setScale(4, RoundingMode.HALF_UP);
|
|
|
|
|
} else {
|
|
|
|
|
}else {
|
|
|
|
|
return BigDecimal.valueOf(diff / larger).multiply(BigDecimal.valueOf(100)).setScale(4, RoundingMode.HALF_UP);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -525,12 +525,12 @@ public class SocketDevResponseService {
|
|
|
|
|
coefficientVO.setBIeXi(isWithinTenPercent(optionalIB, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
|
|
|
|
coefficientVO.setCIeXi(isWithinTenPercent(optionalIC, devParameter.getDevCurr(), iLimit) ? "合格" : "不合格");
|
|
|
|
|
|
|
|
|
|
coefficientVO.setAV(rangeNum(optionalA, devParameter.getDevVolt(), DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setBV(rangeNum(optionalB, devParameter.getDevVolt(), DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setCV(rangeNum(optionalC, devParameter.getDevVolt(), DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setAI(rangeNum(optionalIA, devParameter.getDevCurr(), DicDataEnum.I.getCode()).toString());
|
|
|
|
|
coefficientVO.setBI(rangeNum(optionalIB, devParameter.getDevCurr(), DicDataEnum.I.getCode()).toString());
|
|
|
|
|
coefficientVO.setCI(rangeNum(optionalIC, devParameter.getDevCurr(), DicDataEnum.I.getCode()).toString());
|
|
|
|
|
coefficientVO.setAV(rangeNum(optionalA, devParameter.getDevVolt(),DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setBV(rangeNum(optionalB, devParameter.getDevVolt(),DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setCV(rangeNum(optionalC, devParameter.getDevVolt(),DicDataEnum.V.getCode()).toString());
|
|
|
|
|
coefficientVO.setAI(rangeNum(optionalIA, devParameter.getDevCurr(),DicDataEnum.I.getCode()).toString());
|
|
|
|
|
coefficientVO.setBI(rangeNum(optionalIB, devParameter.getDevCurr(),DicDataEnum.I.getCode()).toString());
|
|
|
|
|
coefficientVO.setCI(rangeNum(optionalIC, devParameter.getDevCurr(),DicDataEnum.I.getCode()).toString());
|
|
|
|
|
|
|
|
|
|
if ("不合格".equals(coefficientVO.getAVuXi()) || "不合格".equals(coefficientVO.getBVuXi()) || "不合格".equals(coefficientVO.getCVuXi()) || "不合格".equals(coefficientVO.getAIeXi()) || "不合格".equals(coefficientVO.getBIeXi()) || "不合格".equals(coefficientVO.getCIeXi())) {
|
|
|
|
|
coefficientVO.setResultFlag(0);
|
|
|
|
|
@@ -908,7 +908,9 @@ public class SocketDevResponseService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<DevLineTestResult>> targetTestMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String,List<DevLineTestResult>> targetTestMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 正式检测
|
|
|
|
|
@@ -939,7 +941,7 @@ public class SocketDevResponseService {
|
|
|
|
|
Map<String, Integer> textResult = detectionServiceImpl.processing(realDataXiList, param, FormalTestManager.devIdMapComm, sourceIssue, dataRule);
|
|
|
|
|
|
|
|
|
|
//组装实体推送给前台
|
|
|
|
|
assWebJson(param, textResult, socketDataMsg, sourceIssue);
|
|
|
|
|
assWebJson(param,textResult,socketDataMsg,sourceIssue);
|
|
|
|
|
|
|
|
|
|
//当小项结束后需要删除集合中的小项
|
|
|
|
|
SocketManager.delSource(sourceIssue.getIndex());
|
|
|
|
|
@@ -967,7 +969,7 @@ public class SocketDevResponseService {
|
|
|
|
|
resultList.add(devTem);
|
|
|
|
|
});
|
|
|
|
|
allDevTestList.clear();
|
|
|
|
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(), socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd, null, resultList, null);
|
|
|
|
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(),socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd,null,resultList,null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//在这一步判断是否已经触发暂停按钮
|
|
|
|
|
@@ -985,7 +987,7 @@ public class SocketDevResponseService {
|
|
|
|
|
if (CollUtil.isNotEmpty(sourceIssueList)) {
|
|
|
|
|
SourceIssue sourceIssues = SocketManager.getSourceList().get(0);
|
|
|
|
|
if (residueCount == 0) {
|
|
|
|
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(), sourceIssues.getType() + stepBegin, null, new ArrayList<>(), null);
|
|
|
|
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(),sourceIssues.getType() + stepBegin,null,new ArrayList<>(),null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SocketMsg<String> xuMsg = new SocketMsg<>();
|
|
|
|
|
@@ -1036,7 +1038,7 @@ public class SocketDevResponseService {
|
|
|
|
|
/**
|
|
|
|
|
* 组装实体推送给前端
|
|
|
|
|
*/
|
|
|
|
|
private void assWebJson(PreDetectionParam param, Map<String, Integer> textResult, SocketDataMsg socketDataMsg, SourceIssue sourceIssue) {
|
|
|
|
|
private void assWebJson(PreDetectionParam param,Map<String, Integer> textResult,SocketDataMsg socketDataMsg,SourceIssue sourceIssue){
|
|
|
|
|
List<DevLineTestResult> devListRes = new ArrayList<>();
|
|
|
|
|
FormalTestManager.devList.forEach(dev -> {
|
|
|
|
|
DevLineTestResult devLineTestResult = new DevLineTestResult();
|
|
|
|
|
@@ -1053,11 +1055,11 @@ public class SocketDevResponseService {
|
|
|
|
|
devListRes.add(devLineTestResult);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (targetTestMap.containsKey(sourceIssue.getType())) {
|
|
|
|
|
if(targetTestMap.containsKey(sourceIssue.getType())){
|
|
|
|
|
List<DevLineTestResult> devLineTestResultList = targetTestMap.get(sourceIssue.getType());
|
|
|
|
|
devLineTestResultList.addAll(devListRes);
|
|
|
|
|
} else {
|
|
|
|
|
targetTestMap.put(sourceIssue.getType(), devListRes);
|
|
|
|
|
}else {
|
|
|
|
|
targetTestMap.put(sourceIssue.getType(),devListRes);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
WebSocketVO<List<DevLineTestResult>> webSocketVO = new WebSocketVO<>();
|
|
|
|
|
@@ -1197,8 +1199,8 @@ public class SocketDevResponseService {
|
|
|
|
|
.sorted(Comparator.comparing(SourceIssue.ChannelListDTO::getChannelType))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
Map<String, String> sourceMessageMap = sourceMessage(issue);
|
|
|
|
|
List<String> v = Arrays.asList("VRMS", "VA", "U", "V", "电压");
|
|
|
|
|
List<String> i = Arrays.asList("IRMS", "IA", "I", "I", "电流");
|
|
|
|
|
List<String> v = Arrays.asList("VRMS", "VA", "U", "V");
|
|
|
|
|
List<String> i = Arrays.asList("IRMS", "IA", "I", "I");
|
|
|
|
|
devMap.forEach((key, value) -> {
|
|
|
|
|
List<DevData.SqlDataDTO> sqlData = value.stream().flatMap(x -> x.getSqlData().stream()).collect(Collectors.toList());
|
|
|
|
|
getResult(key, sqlData, sourceMessageMap, sourceV, info, v);
|
|
|
|
|
@@ -1253,7 +1255,7 @@ public class SocketDevResponseService {
|
|
|
|
|
Boolean b = getaBoolean(sourceMap.get(type + "b"), data.get(0).getList().getB(), dataPhase.get(0).getList().getB());
|
|
|
|
|
Boolean c = getaBoolean(sourceMap.get(type + "c"), data.get(0).getList().getC(), dataPhase.get(0).getList().getC());
|
|
|
|
|
compareDev.setIsQualified(a && b && c);
|
|
|
|
|
compareDev.setDesc(name + (compareDev.getIsQualified() ? "合格->" : "不合格->") + desc + stepTag + devMessage(type, data, dataPhase));
|
|
|
|
|
compareDev.setDesc(name + (compareDev.getIsQualified() ? "合格->" : "不合格->") +stepTag + desc + stepTag + devMessage(type, data, dataPhase));
|
|
|
|
|
return compareDev;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|