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.Ld9SetparamMapper;
|
import com.whyc.pojo.Fbs9100Setparam;
|
import com.whyc.pojo.Fbs9100Sysparam;
|
import com.whyc.pojo.Ld9Setparam;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@Service
|
public class Ld9SetparamService {
|
@Resource
|
private Ld9SetparamMapper mapper;
|
|
|
//LD9启停功能
|
public Response serchbyDev_id(int num,int devId) {
|
boolean bl=sendCmdToLd9Dev(num,devId);
|
List list=mapper.serchbyDev_id(devId);
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().setII(1,pageInfo,bl,bl==true?"查询成功!":"设置9100参数失败,请检查网络!");
|
}
|
|
//机房命令操作设备时的cmd和ack校验
|
public boolean sendCmdToLd9Dev(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;
|
case FBS9100_ComBase.CMD_SetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck; break;
|
case FBS9100_ComBase.CMD_StartRES: m_cmd_ack = FBS9100_ComBase.CMD_StartRES_ACK; break;
|
case FBS9100_ComBase.CMD_GetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck; 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++)
|
{
|
Ld9Setparam ld9Setparam=mapper.selectOne(queryWrapper);
|
if(ld9Setparam.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;
|
}
|
}
|