代码调整
This commit is contained in:
@@ -99,9 +99,9 @@ public class PreDetectionController extends BaseController {
|
|||||||
@OperateInfo
|
@OperateInfo
|
||||||
@ApiOperation("重新开始检测")
|
@ApiOperation("重新开始检测")
|
||||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
||||||
public HttpResult<String> restartTemTest(){
|
public HttpResult<String> restartTemTest(@RequestBody PreDetectionParam param){
|
||||||
String methodDescribe = getMethodDescribe("restartTemTest");
|
String methodDescribe = getMethodDescribe("restartTemTest");
|
||||||
|
preDetectionService.restartTemTest(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,35 +84,31 @@ public class SocketDevResponseService {
|
|||||||
List<DevData> devInfo = new ArrayList<>();
|
List<DevData> devInfo = new ArrayList<>();
|
||||||
|
|
||||||
Map<String, DevData> devDataMap = new HashMap<>();
|
Map<String, DevData> devDataMap = new HashMap<>();
|
||||||
/**
|
|
||||||
* 成功结束的装置
|
|
||||||
*/
|
|
||||||
List<String> success = new ArrayList<>();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所有装置通道信息
|
* 成功结束的测点
|
||||||
*/
|
|
||||||
List<String> monitorIdListComm = new ArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 装置名称
|
|
||||||
*/
|
|
||||||
Map<String, String> devNameMapComm = new HashMap<>();
|
|
||||||
/**
|
|
||||||
* 装置id
|
|
||||||
*/
|
|
||||||
Map<String, String> devIdMapComm = new HashMap<>();
|
|
||||||
/**
|
|
||||||
* 成功结束的装置
|
|
||||||
*/
|
*/
|
||||||
List<String> successComm = new ArrayList<>();
|
List<String> successComm = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 失败的测点
|
||||||
|
*/
|
||||||
|
List<String> failComm = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成功结束的装置
|
||||||
|
*/
|
||||||
|
Set<String> successDevComm = new HashSet<>();
|
||||||
|
/**
|
||||||
|
* 失败结束的装置
|
||||||
|
*/
|
||||||
|
Set<String> failDevComm = new HashSet<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存成功的协议
|
* 保存成功的协议
|
||||||
*/
|
*/
|
||||||
List<String> successXieyi = new ArrayList<>();
|
|
||||||
List<String> successXieyi3 = new ArrayList<>();
|
|
||||||
DictDataEnum dataRule;
|
DictDataEnum dataRule;
|
||||||
|
|
||||||
|
|
||||||
@@ -130,7 +126,7 @@ public class SocketDevResponseService {
|
|||||||
break;
|
break;
|
||||||
//协议校验
|
//协议校验
|
||||||
case YJC_XYJY:
|
case YJC_XYJY:
|
||||||
devXieyi(socketDataMsg, param, msg);
|
protocolDeal(socketDataMsg, param, msg);
|
||||||
break;
|
break;
|
||||||
//相序校验
|
//相序校验
|
||||||
case YJC_XUJY:
|
case YJC_XUJY:
|
||||||
@@ -138,7 +134,7 @@ public class SocketDevResponseService {
|
|||||||
break;
|
break;
|
||||||
//正式检测
|
//正式检测
|
||||||
case FORMAL_REAL:
|
case FORMAL_REAL:
|
||||||
realDeal(param, socketDataMsg);
|
formalDeal(param, socketDataMsg);
|
||||||
break;
|
break;
|
||||||
//系数校验
|
//系数校验
|
||||||
case Coefficient_Check:
|
case Coefficient_Check:
|
||||||
@@ -149,8 +145,6 @@ public class SocketDevResponseService {
|
|||||||
quitDeal(socketDataMsg, param, msg);
|
quitDeal(socketDataMsg, param, msg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -243,8 +237,8 @@ public class SocketDevResponseService {
|
|||||||
realDataXiList.add(devData);
|
realDataXiList.add(devData);
|
||||||
successComm.add(devData.getId());
|
successComm.add(devData.getId());
|
||||||
|
|
||||||
System.out.println(successComm.size() + " ==" + monitorIdListComm.size() + "realDataXiList:" + realDataXiList.size() + "当前步骤" + XiNumberManager.stepNumber);
|
System.out.println(successComm.size() + " ==" + FormalTestManager.monitorIdListComm.size() + "realDataXiList:" + realDataXiList.size() + "当前步骤" + XiNumberManager.stepNumber);
|
||||||
if (successComm.size() == monitorIdListComm.size()) {
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
System.out.println("从装置中已经完成获取原始数据,准备开始计算----------------------");
|
System.out.println("从装置中已经完成获取原始数据,准备开始计算----------------------");
|
||||||
//获取数据流程结束,先把所有数据存到内存中
|
//获取数据流程结束,先把所有数据存到内存中
|
||||||
Map<String, List<DevData>> realDataXiMap = realDataXiList.stream().collect(Collectors.groupingBy(it -> it.getId().split(splitTag)[0]));
|
Map<String, List<DevData>> realDataXiMap = realDataXiList.stream().collect(Collectors.groupingBy(it -> it.getId().split(splitTag)[0]));
|
||||||
@@ -269,7 +263,7 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
String[] splitStr = monitorId.split(splitTag);
|
String[] splitStr = monitorId.split(splitTag);
|
||||||
coefficientVO.setMonitorNum(splitStr[1]);
|
coefficientVO.setMonitorNum(splitStr[1]);
|
||||||
coefficientVO.setDevName(devNameMapComm.get(splitStr[0]));
|
coefficientVO.setDevName(FormalTestManager.devNameMapComm.get(splitStr[0]));
|
||||||
coefficientVO.setDesc((XiNumberManager.stepNumber == 0 || XiNumberManager.stepNumber == 1) ? "系数下装" : "系数校准");
|
coefficientVO.setDesc((XiNumberManager.stepNumber == 0 || XiNumberManager.stepNumber == 1) ? "系数下装" : "系数校准");
|
||||||
|
|
||||||
assemblyEntity(list, F, coefficientVO, devParameter);
|
assemblyEntity(list, F, coefficientVO, devParameter);
|
||||||
@@ -520,23 +514,27 @@ public class SocketDevResponseService {
|
|||||||
SocketMsg<String> socketMsg = new SocketMsg<>();
|
SocketMsg<String> socketMsg = new SocketMsg<>();
|
||||||
switch (Objects.requireNonNull(dictDataEnumByCode)) {
|
switch (Objects.requireNonNull(dictDataEnumByCode)) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
|
String result = socketDataMsg.getData();
|
||||||
//通讯校验成功
|
//通讯校验成功
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 1));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
|
||||||
successComm.add(socketDataMsg.getData());
|
successDevComm.add(result.split(splitTag)[0]);
|
||||||
System.out.println("设备通讯校验全部成功!" + successComm.size() + "=====" + monitorIdListComm.size());
|
successComm.add(result);
|
||||||
if (successComm.size() == monitorIdListComm.size()) {
|
System.out.println("设备通讯校验全部成功!" + successComm.size() + "=====" + FormalTestManager.monitorIdListComm.size());
|
||||||
|
|
||||||
|
|
||||||
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
SocketDataMsg temMsg = new SocketDataMsg();
|
SocketDataMsg temMsg = new SocketDataMsg();
|
||||||
temMsg.setCode(SourceResponseCodeEnum.DEV_COMM_ALL_SUCCESS.getCode());
|
temMsg.setCode(SourceResponseCodeEnum.DEV_COMM_ALL_SUCCESS.getCode());
|
||||||
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue());
|
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue());
|
||||||
temMsg.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
temMsg.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
||||||
|
|
||||||
|
|
||||||
//开始进行协议校验
|
//开始进行协议校验
|
||||||
List<PreDetection> devList = iPqDevService.getDevInfo(param.getDevIds());
|
successComm.clear();
|
||||||
|
successDevComm.clear();
|
||||||
|
failDevComm.clear();
|
||||||
Map<String, List<PreDetection>> map = new HashMap<>(1);
|
Map<String, List<PreDetection>> map = new HashMap<>(1);
|
||||||
map.put("deviceList", devList);
|
map.put("deviceList", FormalTestManager.devList);
|
||||||
String jsonString = JSON.toJSONString(map);
|
String jsonString = JSON.toJSONString(map);
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
||||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
|
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
|
||||||
@@ -547,6 +545,9 @@ public class SocketDevResponseService {
|
|||||||
SocketManager.sendMsg(s, json);
|
SocketManager.sendMsg(s, json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completeJudgment(param);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case UNPROCESSED_BUSINESS:
|
case UNPROCESSED_BUSINESS:
|
||||||
@@ -554,12 +555,20 @@ public class SocketDevResponseService {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case DEV_ERROR:
|
case DEV_ERROR:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
failDevComm.add(socketDataMsg.getData());
|
||||||
CnSocketUtil.quitSend(param);
|
failComm.addAll(FormalTestManager.devMapMonitorNum.get(socketDataMsg.getData()));
|
||||||
|
|
||||||
|
System.out.println(failDevComm.size() + "xNNN+" + successDevComm.size());
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
|
|
||||||
|
completeJudgment(param);
|
||||||
break;
|
break;
|
||||||
case DEV_TARGET:
|
case DEV_TARGET:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
failDevComm.add(socketDataMsg.getData());
|
||||||
CnSocketUtil.quitSend(param);
|
failComm.addAll(FormalTestManager.devMapMonitorNum.get(socketDataMsg.getData()));
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
|
completeJudgment(param);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case RE_OPERATE:
|
case RE_OPERATE:
|
||||||
//出现已经初始化情况,发送用户用户确认是否继续检测
|
//出现已经初始化情况,发送用户用户确认是否继续检测
|
||||||
@@ -579,29 +588,50 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void completeJudgment(PreDetectionParam param){
|
||||||
|
if(successDevComm.size()+failDevComm.size() == FormalTestManager.devList.size() && successComm.size() + failComm.size() == FormalTestManager.monitorIdListComm.size()){
|
||||||
|
//全部装置返回
|
||||||
|
if(!failDevComm.isEmpty()){
|
||||||
|
CnSocketUtil.quitSend(param);
|
||||||
|
WebSocketVO<String> webSocketVO = new WebSocketVO<>();
|
||||||
|
webSocketVO.setRequestId(SourceOperateCodeEnum.ERROR_FLOW_END.getValue());
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(),JSON.toJSONString(webSocketVO));
|
||||||
|
}
|
||||||
|
successDevComm.clear();
|
||||||
|
failDevComm.clear();
|
||||||
|
successComm.clear();
|
||||||
|
failComm.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置协议检测
|
* 装置协议检测
|
||||||
*/
|
*/
|
||||||
private void devXieyi(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) {
|
private void protocolDeal(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) {
|
||||||
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
||||||
SocketMsg<String> socketMsg = new SocketMsg<>();
|
SocketMsg<String> socketMsg = new SocketMsg<>();
|
||||||
String s = param.getUserPageId() + handlerStr;
|
String s = param.getUserPageId() + handlerStr;
|
||||||
switch (Objects.requireNonNull(dictDataEnumByCode)) {
|
switch (Objects.requireNonNull(dictDataEnumByCode)) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
if (socketDataMsg.getOperateCode().equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) {
|
if (socketDataMsg.getOperateCode().equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) {
|
||||||
successXieyi.add(socketDataMsg.getData());
|
successDevComm.add(socketDataMsg.getData().split(splitTag)[0]);
|
||||||
if (successXieyi.size() == monitorIdListComm.size()) {
|
successComm.add(socketDataMsg.getData());
|
||||||
for (String string : successXieyi) {
|
|
||||||
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
|
for (String string : successComm) {
|
||||||
//模拟统计协议校验,通讯校验已经校验过,模拟直接推送
|
//模拟统计协议校验,通讯校验已经校验过,模拟直接推送
|
||||||
SocketDataMsg webSend = new SocketDataMsg();
|
SocketDataMsg webSend = new SocketDataMsg();
|
||||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue());
|
webSend.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue());
|
||||||
webSend.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
webSend.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
||||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
webSend.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
||||||
webSend.setData(string);
|
webSend.setData(string);
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(webSend, devNameMapComm, 1));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(webSend, FormalTestManager.devNameMapComm, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
successComm.clear();
|
||||||
|
successDevComm.clear();
|
||||||
Map<String, List<PreDetection>> map = new HashMap<>(1);
|
Map<String, List<PreDetection>> map = new HashMap<>(1);
|
||||||
map.put("deviceList", FormalTestManager.devList);
|
map.put("deviceList", FormalTestManager.devList);
|
||||||
String jsonString = JSON.toJSONString(map);
|
String jsonString = JSON.toJSONString(map);
|
||||||
@@ -611,22 +641,31 @@ public class SocketDevResponseService {
|
|||||||
System.out.println("开始3协议校验++++++++++");
|
System.out.println("开始3协议校验++++++++++");
|
||||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completeJudgment(param);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} else if (socketDataMsg.getOperateCode().equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) {
|
} else if (socketDataMsg.getOperateCode().equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) {
|
||||||
successXieyi3.add(socketDataMsg.getData());
|
successDevComm.add(socketDataMsg.getData().split(splitTag)[0]);
|
||||||
System.out.println(successXieyi3.size() + "=====" + monitorIdListComm.size());
|
successComm.add(socketDataMsg.getData());
|
||||||
if (successXieyi3.size() == monitorIdListComm.size()) {
|
System.out.println(successComm.size() + "=====" + FormalTestManager.monitorIdListComm.size());
|
||||||
|
|
||||||
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
SocketDataMsg temMsg = new SocketDataMsg();
|
SocketDataMsg temMsg = new SocketDataMsg();
|
||||||
temMsg.setCode(SourceResponseCodeEnum.DEV_COMM_ALL_SUCCESS.getCode());
|
temMsg.setCode(SourceResponseCodeEnum.DEV_COMM_ALL_SUCCESS.getCode());
|
||||||
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue());
|
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue());
|
||||||
temMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
temMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
||||||
|
|
||||||
|
//开始下源控制脚本
|
||||||
PqScriptIssueParam issueParam = new PqScriptIssueParam();
|
PqScriptIssueParam issueParam = new PqScriptIssueParam();
|
||||||
issueParam.setPlanId(param.getPlanId());
|
issueParam.setPlanId(param.getPlanId());
|
||||||
issueParam.setSourceId(param.getSourceId());
|
issueParam.setSourceId(param.getSourceId());
|
||||||
issueParam.setDevIds(param.getDevIds());
|
issueParam.setDevIds(param.getDevIds());
|
||||||
issueParam.setScriptId(param.getScriptId());
|
issueParam.setScriptId(param.getScriptId());
|
||||||
|
successComm.clear();
|
||||||
|
successDevComm.clear();
|
||||||
socketMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
|
socketMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
|
||||||
List<SourceIssue> sourceIssues;
|
List<SourceIssue> sourceIssues;
|
||||||
if (SourceOperateCodeEnum.FORMAL_TEST.getValue().equals(param.getOperateType())) {
|
if (SourceOperateCodeEnum.FORMAL_TEST.getValue().equals(param.getOperateType())) {
|
||||||
@@ -649,6 +688,8 @@ public class SocketDevResponseService {
|
|||||||
socketMsg.setData(JSON.toJSONString(sourceIssues.get(0)));
|
socketMsg.setData(JSON.toJSONString(sourceIssues.get(0)));
|
||||||
SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, JSON.toJSONString(socketMsg));
|
||||||
} else if (SourceOperateCodeEnum.TEST_TEM_START.getValue().equals(param.getOperateType())) {
|
} else if (SourceOperateCodeEnum.TEST_TEM_START.getValue().equals(param.getOperateType())) {
|
||||||
|
//暂停检测后的继续检测
|
||||||
|
System.out.println("进入暂停后的继续检测》》》》》》》》》》》》》》》》》》》》》》》》》》》" + "剩余检测小项" + SocketManager.getSourceList().size());
|
||||||
if (CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
if (CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
||||||
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
|
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + stepTag + sourceIssue.getType());
|
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + stepTag + sourceIssue.getType());
|
||||||
@@ -661,6 +702,8 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
successComm.clear();
|
successComm.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completeJudgment(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -669,11 +712,13 @@ public class SocketDevResponseService {
|
|||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
break;
|
break;
|
||||||
case DEV_ERROR:
|
case DEV_ERROR:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
failDevComm.add(socketDataMsg.getData());
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
break;
|
break;
|
||||||
case DEV_TARGET:
|
case DEV_TARGET:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
failDevComm.add(socketDataMsg.getData());
|
||||||
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -705,10 +750,10 @@ public class SocketDevResponseService {
|
|||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
//webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(MsgUtil.msgToWebData(socketDataMsg,devNameMapComm,1)));
|
//webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(MsgUtil.msgToWebData(socketDataMsg,devNameMapComm,1)));
|
||||||
devInfo.add(devData);
|
devInfo.add(devData);
|
||||||
success.add(devData.getId());
|
successComm.add(devData.getId());
|
||||||
|
|
||||||
if (success.size() == monitorIdListComm.size()) {
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
System.out.println("相序校验接受数据完成---------" + success.size() + "__" + monitorIdListComm.size());
|
System.out.println("相序校验接受数据完成---------" + successComm.size() + "__" + FormalTestManager.monitorIdListComm.size());
|
||||||
|
|
||||||
PqScriptIssueParam sourceParam = new PqScriptIssueParam();
|
PqScriptIssueParam sourceParam = new PqScriptIssueParam();
|
||||||
sourceParam.setPlanId(param.getPlanId());
|
sourceParam.setPlanId(param.getPlanId());
|
||||||
@@ -741,6 +786,7 @@ public class SocketDevResponseService {
|
|||||||
temMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
temMsg.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(temMsg));
|
||||||
|
|
||||||
|
successComm.clear();
|
||||||
if (param.getOperateType().equals(SourceOperateCodeEnum.PRE_TEST.getValue())) {
|
if (param.getOperateType().equals(SourceOperateCodeEnum.PRE_TEST.getValue())) {
|
||||||
System.out.println("预检测流程接受-----------------关闭源");
|
System.out.println("预检测流程接受-----------------关闭源");
|
||||||
//同时关闭设备三个步骤
|
//同时关闭设备三个步骤
|
||||||
@@ -776,14 +822,15 @@ public class SocketDevResponseService {
|
|||||||
devInfo.add(devData);
|
devInfo.add(devData);
|
||||||
break;
|
break;
|
||||||
case DEV_ERROR:
|
case DEV_ERROR:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
break;
|
break;
|
||||||
case DEV_TARGET:
|
case DEV_TARGET:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, devNameMapComm, 2));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
break;
|
break;
|
||||||
case RE_OPERATE:
|
case RE_OPERATE:
|
||||||
|
CnSocketUtil.quitSend(param);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
WebSocketVO<String> webSocketVO = new WebSocketVO<>();
|
WebSocketVO<String> webSocketVO = new WebSocketVO<>();
|
||||||
@@ -800,7 +847,7 @@ public class SocketDevResponseService {
|
|||||||
/**
|
/**
|
||||||
* 正式检测
|
* 正式检测
|
||||||
*/
|
*/
|
||||||
public void realDeal(PreDetectionParam param, SocketDataMsg socketDataMsg) {
|
public void formalDeal(PreDetectionParam param, SocketDataMsg socketDataMsg) {
|
||||||
String data = socketDataMsg.getData();
|
String data = socketDataMsg.getData();
|
||||||
DevData devData = JSON.parseObject(data, DevData.class);
|
DevData devData = JSON.parseObject(data, DevData.class);
|
||||||
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
|
||||||
@@ -813,7 +860,7 @@ public class SocketDevResponseService {
|
|||||||
|
|
||||||
//FormalTestManager.devXiNumDataMap.put(devData.getId(),)
|
//FormalTestManager.devXiNumDataMap.put(devData.getId(),)
|
||||||
|
|
||||||
if (successComm.size() == monitorIdListComm.size()) {
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
//TODO 理论上遇到返回code10200的数量与监测点数量一致则认为数据返回结束,但是会存在缺失数据情况,例如有部分装置是没有暂降功能的
|
//TODO 理论上遇到返回code10200的数量与监测点数量一致则认为数据返回结束,但是会存在缺失数据情况,例如有部分装置是没有暂降功能的
|
||||||
System.out.println(sourceIssue.getType() + splitTag + sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。");
|
System.out.println(sourceIssue.getType() + splitTag + sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。");
|
||||||
|
|
||||||
@@ -821,7 +868,7 @@ public class SocketDevResponseService {
|
|||||||
baseDataInsert(realDataXiList, sourceIssue, param, SocketManager.valueTypeMap);
|
baseDataInsert(realDataXiList, sourceIssue, param, SocketManager.valueTypeMap);
|
||||||
|
|
||||||
//调用判断方法
|
//调用判断方法
|
||||||
Map<String, Integer> textResult = detectionServiceImpl.processing(realDataXiList, param, devIdMapComm, sourceIssue, dataRule);
|
Map<String, Integer> textResult = detectionServiceImpl.processing(realDataXiList, param, FormalTestManager.devIdMapComm, sourceIssue, dataRule);
|
||||||
|
|
||||||
long tem = SocketManager.getSourceTarget(sourceIssue.getType()) - 1;
|
long tem = SocketManager.getSourceTarget(sourceIssue.getType()) - 1;
|
||||||
SocketManager.addTargetMap(sourceIssue.getType(), tem);
|
SocketManager.addTargetMap(sourceIssue.getType(), tem);
|
||||||
@@ -978,8 +1025,8 @@ public class SocketDevResponseService {
|
|||||||
List<SourceCompareDev> info = new ArrayList<>();
|
List<SourceCompareDev> info = new ArrayList<>();
|
||||||
String[] split = dev.getId().split(splitTag);
|
String[] split = dev.getId().split(splitTag);
|
||||||
String devName = null;
|
String devName = null;
|
||||||
if (devNameMapComm.containsKey(split[0])) {
|
if (FormalTestManager.devNameMapComm.containsKey(split[0])) {
|
||||||
devName = devNameMapComm.get(split[0]);
|
devName = FormalTestManager.devNameMapComm.get(split[0]);
|
||||||
}
|
}
|
||||||
List<SourceIssue.ChannelListDTO> channelList = issue.getChannelList();
|
List<SourceIssue.ChannelListDTO> channelList = issue.getChannelList();
|
||||||
|
|
||||||
@@ -1063,29 +1110,42 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 暂停后的重新检测
|
||||||
|
*/
|
||||||
|
public void initRestart() {
|
||||||
|
this.successComm.clear();
|
||||||
|
this.realDataXiList.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化集合
|
* 初始化集合
|
||||||
*/
|
*/
|
||||||
public void initList(PreDetectionParam param) {
|
public void initList(PreDetectionParam param) {
|
||||||
this.monitorIdListComm.clear();
|
FormalTestManager.monitorIdListComm.clear();
|
||||||
this.successComm.clear();
|
FormalTestManager.devList.clear();
|
||||||
this.successXieyi.clear();
|
SocketManager.valueTypeMap.clear();
|
||||||
this.successXieyi3.clear();
|
SocketManager.clockMap.clear();
|
||||||
|
successComm.clear();
|
||||||
|
successDevComm.clear();
|
||||||
|
failDevComm.clear();
|
||||||
|
|
||||||
//初始化相序集合
|
//初始化相序集合
|
||||||
this.devInfo.clear();
|
this.devInfo.clear();
|
||||||
this.success.clear();
|
|
||||||
this.devDataMap.clear();
|
this.devDataMap.clear();
|
||||||
|
|
||||||
this.realDataXiList.clear();
|
this.realDataXiList.clear();
|
||||||
FormalTestManager.devList.clear();
|
|
||||||
List<PreDetection> pqDevList = iPqDevService.getDevInfo(param.getDevIds());
|
List<PreDetection> pqDevList = iPqDevService.getDevInfo(param.getDevIds());
|
||||||
FormalTestManager.devList = pqDevList;
|
FormalTestManager.devList = pqDevList;
|
||||||
this.monitorIdListComm = pqDevList.stream().flatMap(x -> x.getMonitorList().stream()).map(PreDetection.MonitorListDTO::getLineId).collect(Collectors.toList());
|
FormalTestManager.devMapMonitorNum = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP,it->it.getMonitorList().stream().map(PreDetection.MonitorListDTO::getLineId).collect(Collectors.toList())));
|
||||||
this.devNameMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName));
|
FormalTestManager.monitorIdListComm = pqDevList.stream().flatMap(x -> x.getMonitorList().stream()).map(PreDetection.MonitorListDTO::getLineId).collect(Collectors.toList());
|
||||||
this.devIdMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId));
|
|
||||||
SocketManager.clockMap.clear();
|
FormalTestManager.devNameMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName));
|
||||||
|
FormalTestManager.devIdMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId));
|
||||||
|
|
||||||
//初始化有效数据数
|
//初始化有效数据数
|
||||||
Map<String, SysRegResVO> sysRegResMap = iSysRegResService.listRegRes();
|
//Map<String, SysRegResVO> sysRegResMap = iSysRegResService.listRegRes();
|
||||||
|
|
||||||
SysTestConfig oneConfig = sysTestConfigService.getOneConfig();
|
SysTestConfig oneConfig = sysTestConfigService.getOneConfig();
|
||||||
if (ObjectUtil.isNotNull(oneConfig)) {
|
if (ObjectUtil.isNotNull(oneConfig)) {
|
||||||
@@ -1094,25 +1154,25 @@ public class SocketDevResponseService {
|
|||||||
dataRule = DictDataEnum.AT_WILL_VALUE;
|
dataRule = DictDataEnum.AT_WILL_VALUE;
|
||||||
}
|
}
|
||||||
//字典树
|
//字典树
|
||||||
SocketManager.valueTypeMap.clear();
|
|
||||||
SocketManager.valueTypeMap = iPqScriptCheckDataService.getValueTypeMap(param.getScriptId());
|
SocketManager.valueTypeMap = iPqScriptCheckDataService.getValueTypeMap(param.getScriptId());
|
||||||
|
|
||||||
initXiManager(param);
|
initXiManager(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
//初始化
|
//初始化
|
||||||
private void initXiManager(PreDetectionParam param) {
|
private void initXiManager(PreDetectionParam param) {
|
||||||
|
XiNumberManager.devParameterList.clear();
|
||||||
|
|
||||||
Double v = FormalTestManager.devList.get(0).getDevVolt();
|
Double v = FormalTestManager.devList.get(0).getDevVolt();
|
||||||
Double i = FormalTestManager.devList.get(0).getDevCurr();
|
Double i = FormalTestManager.devList.get(0).getDevCurr();
|
||||||
CoefficientVO.DevParameter devParameterBig = new CoefficientVO.DevParameter();
|
CoefficientVO.DevParameter devParameterBig = new CoefficientVO.DevParameter();
|
||||||
devParameterBig.setDevVolt(BigDecimal.valueOf(v * 1.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
devParameterBig.setDevVolt(BigDecimal.valueOf(v * 1.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
devParameterBig.setDevCurr(BigDecimal.valueOf(i * 1.5).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
devParameterBig.setDevCurr(BigDecimal.valueOf(i * 1.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
|
||||||
CoefficientVO.DevParameter devParameterSmall = new CoefficientVO.DevParameter();
|
CoefficientVO.DevParameter devParameterSmall = new CoefficientVO.DevParameter();
|
||||||
devParameterSmall.setDevVolt(BigDecimal.valueOf(v * 0.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
devParameterSmall.setDevVolt(BigDecimal.valueOf(v * 0.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
devParameterSmall.setDevCurr(BigDecimal.valueOf(i * 0.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
devParameterSmall.setDevCurr(BigDecimal.valueOf(i * 0.2).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
|
||||||
XiNumberManager.devParameterList.clear();
|
|
||||||
XiNumberManager.devParameterList.add(devParameterBig);
|
XiNumberManager.devParameterList.add(devParameterBig);
|
||||||
XiNumberManager.devParameterList.add(devParameterSmall);
|
XiNumberManager.devParameterList.add(devParameterSmall);
|
||||||
|
|
||||||
@@ -1164,7 +1224,7 @@ public class SocketDevResponseService {
|
|||||||
if (Objects.nonNull(localDateTime)) {
|
if (Objects.nonNull(localDateTime)) {
|
||||||
|
|
||||||
String[] splitArr = data.getId().split(splitTag);
|
String[] splitArr = data.getId().split(splitTag);
|
||||||
String temId = devIdMapComm.get(splitArr[0]) + splitTag + splitArr[1];
|
String temId = FormalTestManager.devIdMapComm.get(splitArr[0]) + splitTag + splitArr[1];
|
||||||
|
|
||||||
if (nonHarmonicList.contains(sourceIssue.getType())) {
|
if (nonHarmonicList.contains(sourceIssue.getType())) {
|
||||||
for (DevData.SqlDataDTO sqlDataDTO : data.getSqlData()) {
|
for (DevData.SqlDataDTO sqlDataDTO : data.getSqlData()) {
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ public class SocketSourceResponseService {
|
|||||||
case QUITE_SOURCE:
|
case QUITE_SOURCE:
|
||||||
quitDeal(socketDataMsg,param);
|
quitDeal(socketDataMsg,param);
|
||||||
break;
|
break;
|
||||||
|
case YXT:
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -160,7 +162,7 @@ public class SocketSourceResponseService {
|
|||||||
socketMsg.setData(jsonString);
|
socketMsg.setData(jsonString);
|
||||||
String json = JSON.toJSONString(socketMsg);
|
String json = JSON.toJSONString(socketMsg);
|
||||||
// SocketManager.sendMsg(s,json);
|
// SocketManager.sendMsg(s,json);
|
||||||
NettyClient.socketClient(ip, port, param.getUserPageId(), json, new NettyDevClientHandler(param, socketDevResponseService));
|
NettyClient.socketClient(ip, port, param, json, new NettyDevClientHandler(param, socketDevResponseService));
|
||||||
break;
|
break;
|
||||||
case UNPROCESSED_BUSINESS:
|
case UNPROCESSED_BUSINESS:
|
||||||
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
@@ -205,7 +207,7 @@ public class SocketSourceResponseService {
|
|||||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||||
phaseSequenceParam.setMoniterIdList(moniterIdList);
|
phaseSequenceParam.setMoniterIdList(moniterIdList);
|
||||||
phaseSequenceParam.setDataType(Arrays.asList("real$VRMS", "real$IRMS"));
|
phaseSequenceParam.setDataType(Arrays.asList("real$VRMS", "real$IRMS"));
|
||||||
phaseSequenceParam.setReadCount(1);
|
phaseSequenceParam.setReadCount(5);
|
||||||
phaseSequenceParam.setIgnoreCount(10);
|
phaseSequenceParam.setIgnoreCount(10);
|
||||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import lombok.Getter;
|
|||||||
public enum DetectionResponseEnum {
|
public enum DetectionResponseEnum {
|
||||||
PLAN_PATTERN_NOT("A020001", "计划模式查询为空"),
|
PLAN_PATTERN_NOT("A020001", "计划模式查询为空"),
|
||||||
SOURCE_INFO_NOT("A020002", "源表信息不存在"),
|
SOURCE_INFO_NOT("A020002", "源表信息不存在"),
|
||||||
PLAN_AND_SOURCE_NOT("A020003", "计划和源关系不存在")
|
PLAN_AND_SOURCE_NOT("A020003", "计划和源关系不存在"),
|
||||||
|
ITEM_TEST_NOT("A020003", "检测项为空")
|
||||||
;
|
;
|
||||||
|
|
||||||
private String code;
|
private String code;
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ public enum SourceOperateCodeEnum {
|
|||||||
/**
|
/**
|
||||||
* 请求操作类型对应实体中 requestId
|
* 请求操作类型对应实体中 requestId
|
||||||
*/
|
*/
|
||||||
YJC_YTXJY("yjc_ytxjy", "预检测_源通讯检测"),
|
YJC_YTXJY("yjc_ytxjy", "源通讯检测"),
|
||||||
YJC_SBTXJY("yjc_sbtxjy", "预检测_设备通讯检测"),
|
YJC_SBTXJY("yjc_sbtxjy", "设备通讯检测"),
|
||||||
YJC_XYJY("yjc_xyjy", "预检测_协议校验"),
|
YJC_XYJY("yjc_xyjy", "预检测_协议校验"),
|
||||||
YJC_XUJY("YJC_xujy", "相序校验"),
|
YJC_XUJY("YJC_xujy", "相序校验"),
|
||||||
FORMAL_REAL("formal_real","正式检测_获取实时数据"),
|
FORMAL_REAL("formal_real","正式检测_获取实时数据"),
|
||||||
@@ -52,6 +52,9 @@ public enum SourceOperateCodeEnum {
|
|||||||
Coefficient_Check("Coefficient_Check","系数校验"),
|
Coefficient_Check("Coefficient_Check","系数校验"),
|
||||||
QUITE("quit","预监测_关闭设备通讯初始化"),
|
QUITE("quit","预监测_关闭设备通讯初始化"),
|
||||||
QUITE_SOURCE("close_source","预监测_关闭源通讯"),
|
QUITE_SOURCE("close_source","预监测_关闭源通讯"),
|
||||||
|
ERROR_FLOW_END("error_flow_end","当前流程存在异常结束"),
|
||||||
|
YXT("yxt","心跳"),
|
||||||
|
|
||||||
UNKNOWN_OPERATE("unknown_operate","未知的操作返回,请联系管理员排查"),
|
UNKNOWN_OPERATE("unknown_operate","未知的操作返回,请联系管理员排查"),
|
||||||
SOCKET_TIMEOUT("socket_timeout","与源或者装置通讯等待超时"),
|
SOCKET_TIMEOUT("socket_timeout","与源或者装置通讯等待超时"),
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public enum SourceResponseCodeEnum {
|
|||||||
//自定义前端展示消息
|
//自定义前端展示消息
|
||||||
SOCKET_ERROR(25000,"服务端连接失败"),
|
SOCKET_ERROR(25000,"服务端连接失败"),
|
||||||
DEV_COMM_ALL_SUCCESS(25001,"校验成功"),
|
DEV_COMM_ALL_SUCCESS(25001,"校验成功"),
|
||||||
|
DEV_COMM_TEST_FAIL(25002,"设备通讯校验失败"),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class WebSocketVO<T> {
|
|||||||
|
|
||||||
private String operateCode;
|
private String operateCode;
|
||||||
|
|
||||||
private String code;
|
private Integer code;
|
||||||
|
|
||||||
private T data;
|
private T data;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.gather.detection.service.impl;
|
package com.njcn.gather.detection.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@@ -21,6 +22,7 @@ import com.njcn.gather.detection.util.socket.SocketManager;
|
|||||||
import com.njcn.gather.detection.util.socket.cilent.NettyClient;
|
import com.njcn.gather.detection.util.socket.cilent.NettyClient;
|
||||||
import com.njcn.gather.detection.util.socket.cilent.NettySourceClientHandler;
|
import com.njcn.gather.detection.util.socket.cilent.NettySourceClientHandler;
|
||||||
import com.njcn.gather.device.device.service.IPqDevService;
|
import com.njcn.gather.device.device.service.IPqDevService;
|
||||||
|
import com.njcn.gather.device.script.pojo.po.SourceIssue;
|
||||||
import com.njcn.gather.device.script.service.IPqScriptDtlsService;
|
import com.njcn.gather.device.script.service.IPqScriptDtlsService;
|
||||||
import com.njcn.gather.device.source.pojo.po.PqSource;
|
import com.njcn.gather.device.source.pojo.po.PqSource;
|
||||||
import com.njcn.gather.device.source.pojo.po.SourceInitialize;
|
import com.njcn.gather.device.source.pojo.po.SourceInitialize;
|
||||||
@@ -114,7 +116,7 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
||||||
msg.setData(JSON.toJSONString(sourceParam));
|
msg.setData(JSON.toJSONString(sourceParam));
|
||||||
param.setSourceId(sourceParam.getSourceId());
|
param.setSourceId(sourceParam.getSourceId());
|
||||||
NettyClient.socketClient(ip, port, param.getUserPageId(), JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
NettyClient.socketClient(ip, port, param, JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
||||||
}
|
}
|
||||||
@@ -137,7 +139,7 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
||||||
msg.setData(JSON.toJSONString(sourceParam));
|
msg.setData(JSON.toJSONString(sourceParam));
|
||||||
param.setSourceId(sourceParam.getSourceId());
|
param.setSourceId(sourceParam.getSourceId());
|
||||||
NettyClient.socketClient(ip, port, param.getUserPageId(), JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
NettyClient.socketClient(ip, port, param, JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
||||||
}
|
}
|
||||||
@@ -151,7 +153,7 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
public boolean startTest(PreDetectionParam param) {
|
public boolean startTest(PreDetectionParam param) {
|
||||||
|
|
||||||
socketDevResponseService.initList(param);
|
socketDevResponseService.initList(param);
|
||||||
NettyClient.socketClient(ip, port, param.getUserPageId(), "start\n", new NettySourceClientHandler(param, sourceResponseService));
|
NettyClient.socketClient(ip, port, param, "start\n", new NettySourceClientHandler(param, sourceResponseService));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -169,19 +171,21 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
AdPlanSource planSource = adPlanSourceService.getOne(new LambdaQueryWrapper<AdPlanSource>().eq(AdPlanSource::getPlanId, param.getPlanId()));
|
AdPlanSource planSource = adPlanSourceService.getOne(new LambdaQueryWrapper<AdPlanSource>().eq(AdPlanSource::getPlanId, param.getPlanId()));
|
||||||
if (ObjectUtil.isNotNull(planSource)) {
|
if (ObjectUtil.isNotNull(planSource)) {
|
||||||
SourceInitialize sourceParam = pqSourceService.getSourceInitializeParam(planSource.getSourceId());
|
SourceInitialize sourceParam = pqSourceService.getSourceInitializeParam(planSource.getSourceId());
|
||||||
if (ObjectUtil.isNotNull(sourceParam)) {
|
if (Objects.isNull(sourceParam)) {
|
||||||
|
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
||||||
|
}
|
||||||
|
param.setSourceId(sourceParam.getSourceId());
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
||||||
//开始组装socket报文请求头
|
//开始组装socket报文请求头
|
||||||
socketDevResponseService.initList(param);
|
socketDevResponseService.initRestart();
|
||||||
socketSourceResponseService.initList(param);
|
|
||||||
SocketMsg<String> msg = new SocketMsg<>();
|
SocketMsg<String> msg = new SocketMsg<>();
|
||||||
msg.setRequestId(SourceOperateCodeEnum.YJC_YTXJY.getValue());
|
msg.setRequestId(SourceOperateCodeEnum.YJC_YTXJY.getValue());
|
||||||
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
msg.setOperateCode(SourceOperateCodeEnum.INIT_GATHER.getValue());
|
||||||
msg.setData(JSON.toJSONString(sourceParam));
|
msg.setData(JSON.toJSONString(sourceParam));
|
||||||
param.setSourceId(sourceParam.getSourceId());
|
NettyClient.socketClient(ip, port, param, JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
||||||
param.setOperateType(SourceOperateCodeEnum.TEST_TEM_START.getValue());
|
|
||||||
NettyClient.socketClient(ip, port, param.getUserPageId(), JSON.toJSONString(msg), new NettySourceClientHandler(param, sourceResponseService));
|
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException(DetectionResponseEnum.SOURCE_INFO_NOT);
|
throw new BusinessException(DetectionResponseEnum.ITEM_TEST_NOT);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException(DetectionResponseEnum.PLAN_AND_SOURCE_NOT);
|
throw new BusinessException(DetectionResponseEnum.PLAN_AND_SOURCE_NOT);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.njcn.gather.detection.util.socket;
|
|||||||
import com.njcn.gather.device.device.pojo.vo.PreDetection;
|
import com.njcn.gather.device.device.pojo.vo.PreDetection;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
@@ -14,23 +15,30 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
*/
|
*/
|
||||||
public class FormalTestManager {
|
public class FormalTestManager {
|
||||||
|
|
||||||
public static Map<String, String> devXiNumDataMap = new ConcurrentHashMap<>();
|
|
||||||
|
public static Map<String,List<String>> devMapMonitorNum = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 存储所有准备测试的检测点通道
|
* 所有参与检测的装置
|
||||||
*/
|
*/
|
||||||
public static List<String> allMonitorList = new ArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 存储每个测试项正常结束的监测点通道
|
|
||||||
*/
|
|
||||||
public static List<String> monitorSuccessList = new ArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static List<PreDetection> devList = new ArrayList<>();
|
public static List<PreDetection> devList = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所有参与检测的监测点
|
||||||
|
*/
|
||||||
|
public static List<String> monitorIdListComm = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 装置名称
|
||||||
|
*/
|
||||||
|
public static Map<String, String> devNameMapComm = new HashMap<>();
|
||||||
|
/**
|
||||||
|
* 装置id
|
||||||
|
*/
|
||||||
|
public static Map<String, String> devIdMapComm = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public static Boolean stopFlag = false;
|
public static Boolean stopFlag = false;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.njcn.gather.detection.pojo.enums.SourceResponseCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.SourceResponseCodeEnum;
|
||||||
|
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
||||||
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
||||||
import com.njcn.gather.detection.pojo.vo.WebSocketVO;
|
import com.njcn.gather.detection.pojo.vo.WebSocketVO;
|
||||||
|
import com.njcn.gather.detection.util.socket.CnSocketUtil;
|
||||||
import com.njcn.gather.detection.util.socket.SocketManager;
|
import com.njcn.gather.detection.util.socket.SocketManager;
|
||||||
import com.njcn.gather.detection.util.socket.WebServiceManager;
|
import com.njcn.gather.detection.util.socket.WebServiceManager;
|
||||||
import io.netty.bootstrap.Bootstrap;
|
import io.netty.bootstrap.Bootstrap;
|
||||||
@@ -30,7 +32,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
@Getter
|
@Getter
|
||||||
public class NettyClient {
|
public class NettyClient {
|
||||||
|
|
||||||
public static void socketClient(String ip, Integer port, String userPageId,String msg, SimpleChannelInboundHandler<String> handler) {
|
public static void socketClient(String ip, Integer port, PreDetectionParam param, String msg, SimpleChannelInboundHandler<String> handler) {
|
||||||
NioEventLoopGroup group = new NioEventLoopGroup();
|
NioEventLoopGroup group = new NioEventLoopGroup();
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
try {
|
try {
|
||||||
@@ -72,14 +74,14 @@ public class NettyClient {
|
|||||||
channelFuture.channel().writeAndFlush(msg+"\n");
|
channelFuture.channel().writeAndFlush(msg+"\n");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
NioEventLoopGroup groupByUserId = SocketManager.getGroupByUserId(userPageId + "_Dev");
|
NioEventLoopGroup groupByUserId = SocketManager.getGroupByUserId(param.getUserPageId() + "_Dev");
|
||||||
if(ObjectUtil.isNotNull(groupByUserId)){
|
if(ObjectUtil.isNotNull(groupByUserId)){
|
||||||
groupByUserId.shutdownGracefully();
|
groupByUserId.shutdownGracefully();
|
||||||
}else{
|
}else{
|
||||||
if (handler instanceof NettySourceClientHandler) {
|
if (handler instanceof NettySourceClientHandler) {
|
||||||
SocketManager.addGroup(userPageId+"_Source",group);
|
SocketManager.addGroup(param.getUserPageId()+"_Source",group);
|
||||||
}else{
|
}else{
|
||||||
SocketManager.addGroup(userPageId+"_Dev",group);
|
SocketManager.addGroup(param.getUserPageId()+"_Dev",group);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -94,9 +96,10 @@ public class NettyClient {
|
|||||||
if (handler instanceof NettySourceClientHandler) {
|
if (handler instanceof NettySourceClientHandler) {
|
||||||
socketDataMsg.setOperateCode("Source");
|
socketDataMsg.setOperateCode("Source");
|
||||||
}else{
|
}else{
|
||||||
|
CnSocketUtil.quitSendSource(param);
|
||||||
socketDataMsg.setOperateCode("Dev");
|
socketDataMsg.setOperateCode("Dev");
|
||||||
}
|
}
|
||||||
WebServiceManager.sendMsg(userPageId, JSON.toJSONString(socketDataMsg));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
} finally {
|
} finally {
|
||||||
// System.out.println("进入clientSocket最后步骤---------------------");
|
// System.out.println("进入clientSocket最后步骤---------------------");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler<String
|
|||||||
msg.setRequestId("yxt");
|
msg.setRequestId("yxt");
|
||||||
msg.setOperateCode(SourceOperateCodeEnum.HEARTBEAT.getValue());
|
msg.setOperateCode(SourceOperateCodeEnum.HEARTBEAT.getValue());
|
||||||
msg.setData("");
|
msg.setData("");
|
||||||
ctx.writeAndFlush(JSON.toJSONString(msg));
|
ctx.writeAndFlush(JSON.toJSONString(msg)+"\n");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//防止堆栈溢出
|
//防止堆栈溢出
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import com.njcn.gather.plan.pojo.vo.AdPlanExcel;
|
|||||||
import com.njcn.gather.plan.pojo.vo.AdPlanVO;
|
import com.njcn.gather.plan.pojo.vo.AdPlanVO;
|
||||||
import com.njcn.gather.plan.service.IAdPlanService;
|
import com.njcn.gather.plan.service.IAdPlanService;
|
||||||
import com.njcn.gather.plan.service.IAdPlanSourceService;
|
import com.njcn.gather.plan.service.IAdPlanSourceService;
|
||||||
|
import com.njcn.gather.storage.service.TableGenService;
|
||||||
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
|
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
|
||||||
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
||||||
import com.njcn.gather.system.dictionary.service.IDictTreeService;
|
import com.njcn.gather.system.dictionary.service.IDictTreeService;
|
||||||
@@ -59,6 +60,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
private final IPqSourceService pqSourceService;
|
private final IPqSourceService pqSourceService;
|
||||||
private final IPqScriptDtlsService pqScriptDtlsService;
|
private final IPqScriptDtlsService pqScriptDtlsService;
|
||||||
private final IDictTreeService dictTreeService;
|
private final IDictTreeService dictTreeService;
|
||||||
|
private final TableGenService tableGenService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<AdPlanVO> listAdPlan(AdPlanParam.QueryParam queryParam) {
|
public Page<AdPlanVO> listAdPlan(AdPlanParam.QueryParam queryParam) {
|
||||||
@@ -118,7 +120,10 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
pqDevService.updatePqDevTimeCheckResult(param.getDevIds(), TimeCheckResultEnum.UNKNOWN);
|
pqDevService.updatePqDevTimeCheckResult(param.getDevIds(), TimeCheckResultEnum.UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.save(adPlan);
|
//新增相关计划
|
||||||
|
this.save(adPlan);
|
||||||
|
tableGenService.genAdNonHarmonicTable(adPlan.getCode().toString());
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
3
storage/README.md
Normal file
3
storage/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#### 简介
|
||||||
|
检测数据模块主要包含以下功能:
|
||||||
|
* 计划关联数据管理
|
||||||
@@ -5,6 +5,7 @@ public interface TableGenService {
|
|||||||
|
|
||||||
void genAdNonHarmonicTable(String code);
|
void genAdNonHarmonicTable(String code);
|
||||||
|
|
||||||
|
void delAdNonHarmonicTable(String code);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,9 +62,11 @@ public class TableGenServiceImpl implements TableGenService {
|
|||||||
tableGenMapper.genAdHarmonicTable(sql2);
|
tableGenMapper.genAdHarmonicTable(sql2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delAdNonHarmonicTable(String code) {
|
||||||
|
String sql = "DROP TABLE ad_harmonic_"+code+",ad_harmonic_result_"+code+",ad_non_harmonic_"+code+",ad_non_harmonic_result_"+code;
|
||||||
|
tableGenMapper.genAdHarmonicTable(sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user