package com.ld.igds.n2.manager;
|
|
import com.ld.igds.constant.Constant;
|
import com.ld.igds.io.N2RemoteManager;
|
import com.ld.igds.io.RemoteN2MacService;
|
import com.ld.igds.io.constant.OrderRespEnum;
|
import com.ld.igds.io.request.N2MacRequest;
|
import com.ld.igds.io.response.BaseResponse;
|
import com.ld.igds.log.service.LogOperationService;
|
import com.ld.igds.models.N2MacConf;
|
import com.ld.igds.n2.service.HMacConfService;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* 制氮机设备操作管理
|
*
|
* @author: andy.jia
|
* @description:
|
* @version:
|
* @data:2020年4月26日
|
*/
|
@Component
|
public class N2MacManager {
|
|
@Resource
|
private N2RemoteManager n2RemoteManager;
|
@Resource
|
private LogOperationService logService;
|
@Resource
|
private HMacConfService macConfService;
|
|
public BaseResponse runMac(N2MacRequest request) {
|
|
N2MacConf conf = macConfService.getDataBySn(request.getSn());
|
|
if (null == conf) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"没有获取到制氮机信息,无法执行");
|
}
|
if (Constant.YN_N.equals(conf.getConStatus())) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机通讯模块不在线,无法执行远程操作,请联系管理员");
|
}
|
|
request.setCompanyId(conf.getCompanyId());
|
request.setDeptId(conf.getDeptId());
|
request.setIp(conf.getIp());
|
request.setPort(conf.getPort());
|
request.setSn(conf.getSn());
|
request.setProtocol(conf.getProtocol());
|
request.setRunStatus(Constant.YN_Y);
|
|
|
RemoteN2MacService remoteN2Service = n2RemoteManager.getRemoteN2MacService(request.getProtocol());
|
|
if (null == remoteN2Service) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机所属通讯分机协议系统未实现,请联系管理员");
|
}
|
|
request.setRunStatus(Constant.YN_Y);
|
|
logService.addLogByN2Mac(request.getCompanyId(), "开启制氮机-" + request.getName());
|
|
return remoteN2Service.remoteRun(request);
|
}
|
|
public BaseResponse stopMac(N2MacRequest request) {
|
|
|
N2MacConf conf = macConfService.getDataBySn(request.getSn());
|
|
if (null == conf) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"没有获取到制氮机信息,无法执行");
|
}
|
|
if (Constant.YN_N.equals(conf.getConStatus())) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机通讯模块不在线,无法执行远程操作,请联系管理员");
|
}
|
request.setCompanyId(conf.getCompanyId());
|
request.setDeptId(conf.getDeptId());
|
request.setIp(conf.getIp());
|
request.setPort(conf.getPort());
|
request.setSn(conf.getSn());
|
request.setProtocol(conf.getProtocol());
|
request.setRunStatus(Constant.YN_N);
|
|
RemoteN2MacService remoteN2Service = n2RemoteManager.getRemoteN2MacService(request.getProtocol());
|
|
if (null == remoteN2Service) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机所属通讯分机协议系统未实现,请联系管理员");
|
}
|
|
|
logService.addLogByN2Mac(request.getCompanyId(), "关闭制氮机-" + request.getName());
|
|
return remoteN2Service.remoteStop(request);
|
}
|
|
public BaseResponse queryStatusMac(N2MacRequest request) {
|
|
|
N2MacConf conf = macConfService.getDataBySn(request.getSn());
|
|
if (null == conf) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"没有获取到制氮机信息,无法执行");
|
}
|
|
if (Constant.YN_N.equals(conf.getConStatus())) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机通讯模块不在线,无法执行远程操作,请联系管理员");
|
}
|
|
request.setCompanyId(conf.getCompanyId());
|
request.setDeptId(conf.getDeptId());
|
request.setIp(conf.getIp());
|
request.setPort(conf.getPort());
|
request.setSn(conf.getSn());
|
request.setProtocol(conf.getProtocol());
|
|
RemoteN2MacService remoteN2Service = n2RemoteManager.getRemoteN2MacService(request.getProtocol());
|
|
if (null == remoteN2Service) {
|
return new BaseResponse(
|
OrderRespEnum.ORDER_ERROR.getCode(),
|
"制氮机所属通讯分机协议系统未实现,请联系管理员");
|
}
|
|
logService.addLogByN2Mac(request.getCompanyId(), "状态查询-" + request.getName());
|
|
return remoteN2Service.remoteStatus(request);
|
}
|
|
|
public List<N2MacConf> listN2Mac(String companyId, String deptId) {
|
return macConfService.getConfData(companyId, deptId);
|
}
|
|
public N2MacConf getDataBySn(String sn) {
|
return macConfService.getDataBySn(sn);
|
}
|
}
|