package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.FBS9100_ComBase;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.Fbs9100SysparamMapper;
|
import com.whyc.pojo.Fbs9100Setparam;
|
import com.whyc.pojo.Fbs9100Sysparam;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import sun.applet.resources.MsgAppletViewer;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class Fbs9100SysparamService {
|
@Resource
|
private Fbs9100SysparamMapper mapper;
|
@Autowired
|
private Fbs9100SetparamService service;
|
|
//清除告警/重启
|
public Response update61850(Fbs9100Sysparam fbs9100Sysparam) {
|
boolean bl=false;
|
int flag=0;
|
String msg="";
|
if(fbs9100Sysparam.getNum()== FBS9100_ComBase.CMD_ResetSystem){//重启
|
bl=service.sendCmdToFBS9100Dev(fbs9100Sysparam.getNum().intValue(),0, fbs9100Sysparam.getDevId().intValue());
|
if(bl){
|
flag=1;
|
msg="重启成功!";
|
}else{
|
flag=0;
|
msg="重启失败!";
|
}
|
}else{
|
if(fbs9100Sysparam.getNum()==FBS9100_ComBase.CMD_ClearSysAlarm){//消除告警
|
bl=sendCmdToFBS9100DevSysParam(fbs9100Sysparam.getNum().intValue(), fbs9100Sysparam.getDevId().intValue());
|
if(bl){
|
flag=1;
|
msg="消除告警成功!";
|
}else{
|
flag=0;
|
msg="消除告警失败!";
|
}
|
}else{
|
int number=mapper.update61850(fbs9100Sysparam);
|
if(number>0){
|
bl=sendCmdToFBS9100DevSysParam(fbs9100Sysparam.getNum().intValue(), fbs9100Sysparam.getDevId().intValue());
|
if(bl){
|
flag=1;
|
msg="修改成功!";
|
}else{
|
flag=0;
|
msg="设置9100参数失败,请检查网络!";
|
}
|
}else{
|
flag=0;
|
msg="修改失败!";
|
}
|
}
|
}
|
return new Response().set(1,flag>0?true:false,msg);
|
}
|
|
//根据设备id查询系统参数
|
public Response serchByCondition(int devId) {
|
boolean b=mapper.replace(devId);
|
boolean bl=sendCmdToFBS9100DevSysParam(FBS9100_ComBase.CMD_GetSYSSetParam,devId);
|
PageHelper.startPage(1,1);
|
Fbs9100Sysparam sysparam = mapper.serchByCondition(devId);
|
String msg="";
|
if(bl){
|
msg="查询成功!";
|
}else{
|
msg="查询失败!";
|
}
|
|
return new Response().setII(1,sysparam,bl,msg);
|
}
|
//系统参数命令操作设备时的cmd和ack校验
|
public boolean sendCmdToFBS9100DevSysParam(int cmd,int dev_id)
|
{
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
switch(m_cmd) {
|
case FBS9100_ComBase.CMD_GetSYSSetParam: m_cmd_ack = FBS9100_ComBase.CMD_GetSYSSetParamAck; break;
|
case FBS9100_ComBase.CMD_SetSYSSetParam: m_cmd_ack = FBS9100_ComBase.CMD_SetSYSSetParamAck; break;
|
case FBS9100_ComBase.CMD_ClearSysAlarm: m_cmd_ack = FBS9100_ComBase.CMD_ClearSysAlarm_ACK; break;
|
case FBS9100_ComBase.CMD_SetJunHengParam: m_cmd_ack = FBS9100_ComBase.CMD_SetJunHengParamAck;break;
|
case FBS9100_ComBase.CMD_GetJunHengParam: m_cmd_ack = FBS9100_ComBase.CMD_GetJunHengParamAck;break;
|
default: return false;
|
}
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("op_cmd",m_cmd);
|
updateWrapper.eq("dev_id",dev_id);
|
int flag=mapper.update(null,updateWrapper);
|
boolean res_exe = false;
|
if(flag>0)
|
{
|
PageHelper.startPage(1,1);
|
QueryWrapper queryWrapper=new QueryWrapper();
|
queryWrapper.eq("dev_id",dev_id);
|
for(int n=0; n<40; n++)
|
{
|
Fbs9100Sysparam sysparam=mapper.selectOne(queryWrapper);
|
if(sysparam.getOpCmd()==m_cmd_ack){
|
res_exe = true;
|
break;
|
}
|
try {
|
Thread.sleep(250);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
return res_exe;
|
}
|
|
}
|