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.Ld9Setparam;
|
import com.whyc.util.ActionUtil;
|
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参数失败,请检查网络!");
|
}
|
//获取LD9放电参数
|
public Response serchByCondition(int num, int devId,int battGroupid) {
|
boolean bl=sendCmdToLd9Dev(num,devId);
|
List<Ld9Setparam> list=mapper.serchByCondition(battGroupid);
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().setII(1,bl,pageInfo,bl==true?"读取参数成功!":"设置ld9参数失败,请检查网络!");
|
}
|
|
//设置LD9放电参数
|
public Response update(Ld9Setparam ld9Setparam) {
|
Boolean b=mapper.updateParam(ld9Setparam);
|
boolean bl=false;
|
if(b){
|
bl=sendCmdToLd9Dev(ld9Setparam.getNum().intValue(),ld9Setparam.getDevId().intValue());
|
}
|
return new Response().set(1,bl,bl==true?"修改参数成功!":"设置ld参数失败,请检查网络!");
|
}
|
//机房命令操作设备时的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((Ld9Setparam) ActionUtil.objeNull,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;
|
}
|
|
}
|