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.Fbs9600StateMapper;
|
import com.whyc.pojo.Fbs9100State;
|
import com.whyc.pojo.Fbs9600State;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.sql.Connection;
|
import java.sql.PreparedStatement;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.List;
|
|
@Service
|
public class Fbs9600StateService {
|
@Resource
|
private Fbs9600StateMapper mapper;
|
|
//FBS9100设备通信状态查询
|
public Response searchByCondition(int pageNum,int pageSize,int devErrcommcount,int uId){
|
PageHelper.startPage(pageNum,pageSize);
|
List<Fbs9600State> list = mapper.searchByCondition(devErrcommcount,uId);
|
PageInfo<Fbs9600State> pageInfo = new PageInfo<>(list);
|
return new Response().set(1,pageInfo,"查询成功");
|
}
|
//在线监测-实时监控-启动测试-bts显示屏(fbs9600)启动放电
|
public Response update(int cmd, int devId) {
|
boolean bl=sendCmdToFBS9600Dev(cmd,devId);
|
return new Response().set(1,bl);
|
}
|
|
//机房命令操作设备时的cmd和ack校验
|
public boolean sendCmdToFBS9600Dev(int cmd,int dev_id)
|
{
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
switch(m_cmd) {
|
case FBS9100_ComBase.CMD_Start: m_cmd_ack = FBS9100_ComBase.CMD_StartAck; break;
|
case FBS9100_ComBase.CMD_Stop: m_cmd_ack = FBS9100_ComBase.CMD_StopAck; break;
|
default: return false;
|
}
|
boolean res_exe = false;
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.eq("dev_id",dev_id);
|
wrapper.set("op_cmd",m_cmd);
|
int number=mapper.update((Fbs9600State) ActionUtil.objeNull,wrapper);
|
if(number>0)
|
{
|
|
QueryWrapper wrapper1=new QueryWrapper();
|
wrapper1.eq("dev_id",dev_id);
|
for(int n=0; n<40; n++)
|
{
|
PageHelper.startPage(1,1);
|
Fbs9600State fbs9600State=mapper.selectOne(wrapper1);
|
if(fbs9600State!=null)
|
{
|
if(fbs9600State.getOpCmd() == m_cmd_ack)
|
{
|
res_exe = true;
|
break;
|
}
|
}else{
|
break;
|
}
|
try {
|
Thread.sleep(250);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
return res_exe;
|
}
|
}
|