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.whyc.dto.CmdDto.DevCmd;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.AlmparamFromDeviceMapper;
|
import com.whyc.pojo.db_ram_db.AlmparamFromDevice;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class AlmparamFromDeviceService {
|
@Autowired(required = false)
|
private AlmparamFromDeviceMapper mapper;
|
|
public boolean sendCmdTo6185Alarm(int opCmd,int devId)
|
{
|
int cmd = opCmd;
|
int cmd_ack = 0;
|
switch(cmd) {
|
case DevCmd.CMD_ReadAlarmParam: cmd_ack = DevCmd.CMD_ReadAlarmParam_ACK; break;
|
case DevCmd.CMD_WriteAlarmParam: cmd_ack = DevCmd.CMD_WriteAlarmParam_ACK; break;
|
default:
|
return false;
|
}
|
//更新op_cmd
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("op_cmd",cmd);
|
updateWrapper.eq("dev_id",devId);
|
int flag=mapper.update((AlmparamFromDevice) ActionUtil.objeNull,updateWrapper);
|
boolean res_exe = false;
|
if(flag>0)
|
{
|
PageHelper.startPage(1,1);
|
QueryWrapper queryWrapper=new QueryWrapper();
|
queryWrapper.eq("dev_id",devId);
|
for(int n=0; n<40; n++)
|
{
|
|
AlmparamFromDevice param=mapper.selectOne(queryWrapper);
|
if(param!=null){
|
if(param.getOpCmd()==cmd_ack){
|
res_exe = true;
|
break;
|
}
|
try {
|
Thread.sleep(500);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}else {
|
break;
|
}
|
}
|
}
|
return res_exe;
|
}
|
//设备的告警参数设置
|
public Response setAlarmFromDevice(AlmparamFromDevice par) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.set("groupvol_high_val",par.getGroupvolHighVal());
|
wrapper.set("groupvol_low_val",par.getGroupvolLowVal());
|
wrapper.set("monvol_high_val",par.getMonvolHighVal());
|
wrapper.set("monvol_low_val",par.getMonvolLowVal());
|
wrapper.set("montmp_high_val",par.getMontmpHighVal());
|
wrapper.set("montmp_low_val",par.getMontmpLowVal());
|
wrapper.set("monres_high_val",par.getMonresHighVal());
|
wrapper.set("monres_low_val",par.getMonresLowVal());
|
wrapper.set("moncap_high_val",par.getMoncapHighVal());
|
wrapper.set("moncap_low_val",par.getMoncapLowVal());
|
wrapper.set("battgroupnum",par.getBattgroupnum());
|
wrapper.set("onlinevol_high_val",par.getOnlinevolHighVal());
|
wrapper.set("onlinevol_low_val",par.getOnlinevolLowVal());
|
wrapper.set("onlinevol_en",par.getOnlinevolEn());
|
wrapper.set("groupvol_en",par.getGroupvolEn());
|
wrapper.set("monvol_en",par.getMonvolEn());
|
wrapper.set("montmp_en",par.getMontmpEn());
|
wrapper.set("monres_en",par.getMonresEn());
|
wrapper.set("moncap_en",par.getMoncapEn());
|
wrapper.set("discurr_high_val",par.getDiscurrHighVal());
|
wrapper.set("discurr_en",par.getDiscurrEn());
|
wrapper.set("chrcurr_high_val",par.getChrcurrHighVal());
|
wrapper.set("chrcurr_en",par.getChrcurrEn());
|
wrapper.eq("dev_id",par.getDevId());
|
int flag=mapper.update((AlmparamFromDevice) ActionUtil.objeNull,wrapper);
|
boolean bl=false;
|
if(flag>0){
|
bl= sendCmdTo6185Alarm(DevCmd.CMD_WriteAlarmParam, par.getDevId());
|
}
|
return new Response().set(1, bl, bl == true ? "设置成功!" : "设置失败,请检查网络!");
|
}
|
//设备的告警参数读取
|
public Response getAlarmFromDevice(int devId) {
|
boolean bl = sendCmdTo6185Alarm(DevCmd.CMD_ReadAlarmParam, devId);
|
UpdateWrapper wrapper = new UpdateWrapper();
|
wrapper.eq("dev_id", devId);
|
wrapper.last("limit 1");
|
AlmparamFromDevice par = mapper.selectOne(wrapper);
|
return new Response().setII(1, bl,par, bl == true ? "读取成功!" : "读取失败,请检查网络!");
|
}
|
}
|