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.PowerParamCmd;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.PowerSetparmMapper;
|
import com.whyc.pojo.db_power_fk_rt.PowerSetparm;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class PowerSetparmService {
|
@Autowired(required = false)
|
private PowerSetparmMapper mapper;
|
|
//机房命令操作设备时的cmd和ack校验
|
public boolean sendCmdToParam(int cmd, int powerId) {
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
switch (m_cmd) {
|
case PowerParamCmd.CMD_WritePowerOpen:
|
m_cmd_ack = PowerParamCmd.CMD_WritePowerOpen_Ack;
|
break;
|
case PowerParamCmd.CMD_WriteClearAlm:
|
m_cmd_ack = PowerParamCmd.CMD_WriteClearAlm_Ack;
|
break;
|
case PowerParamCmd.CMD_WriteVBus_Vref:
|
m_cmd_ack = PowerParamCmd.CMD_WriteVBus_Vref_Ack;
|
break;
|
case PowerParamCmd.CMD_WritePowerClose:
|
m_cmd_ack = PowerParamCmd.CMD_WritePowerClose_Ack;
|
break;
|
case PowerParamCmd.CMD_WriteLLC_BuckVol:
|
m_cmd_ack = PowerParamCmd.CMD_WriteLLC_BuckVol_Ack;
|
break;
|
case PowerParamCmd.CMD_WriteLLC_BuckCurr:
|
m_cmd_ack = PowerParamCmd.CMD_WriteLLC_BuckCurr_Ack;
|
break;
|
case PowerParamCmd.CMD_WriteTestModel:
|
m_cmd_ack = PowerParamCmd.CMD_WriteTestModel_Ack;
|
break;
|
default:
|
return false;
|
}
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("op_cmd",m_cmd);
|
updateWrapper.eq("power_id",powerId);
|
int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
|
boolean res_exe = false;
|
if(flag>0)
|
{
|
PageHelper.startPage(1,1);
|
QueryWrapper queryWrapper=new QueryWrapper();
|
queryWrapper.eq("dev_id",powerId);
|
for(int n=0; n<40; n++)
|
{
|
|
PowerSetparm param=mapper.selectOne(queryWrapper);
|
if(param!=null){
|
if(param.getOpCmd()==m_cmd_ack){
|
res_exe = true;
|
break;
|
}
|
try {
|
Thread.sleep(250);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}else {
|
break;
|
}
|
}
|
}
|
return res_exe;
|
}
|
|
//控制电源开机
|
public Response controllPowerOpen(Integer powerId) {
|
boolean bl=sendCmdToParam(PowerParamCmd.CMD_WritePowerOpen,powerId);
|
return new Response().set(1,bl, bl == true ? "电源开机成功!" : "电源开机失败,请检查网络!");
|
}
|
//清除变换器故障
|
public Response controllClearAlm(Integer powerId) {
|
boolean bl=sendCmdToParam(PowerParamCmd.CMD_WriteClearAlm,powerId);
|
return new Response().set(1,bl, bl == true ? "清除变换器故障成功!" : "清除变换器故障失败,请检查网络!");
|
}
|
//设置电源工作模式:testModeSet(03-逆变并网06-PFC工作)
|
public Response controllTestModel(Integer powerId, Integer testModeSet) {
|
boolean bl = false;
|
String msg = "";
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("testmode_set",testModeSet);
|
updateWrapper.eq("power_id",powerId);
|
int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
|
if (flag>0) {
|
bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
|
if (bl) {
|
flag = 1;
|
msg = "修改模式参数成功!";
|
} else {
|
flag = 0;
|
msg = "设置电源工作模式失败,请检查网络!";
|
}
|
} else {
|
flag = 0;
|
msg = "修改模式参数失败!";
|
}
|
return new Response().set(1,flag>0?true:false,msg);
|
}
|
//设置PFC模式VBus电压
|
public Response controllVBusVref(Integer powerId, Integer vbusIrefSet) {
|
boolean bl = false;
|
String msg = "";
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("vbus_iref_set",vbusIrefSet);
|
updateWrapper.eq("power_id",powerId);
|
int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
|
if (flag>0) {
|
bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
|
if (bl) {
|
flag = 1;
|
msg = "修改模式参数成功!";
|
} else {
|
flag = 0;
|
msg = "设置PFC模式VBus电压失败,请检查网络!";
|
}
|
} else {
|
flag = 0;
|
msg = "修改模式参数失败!";
|
}
|
return new Response().set(1,flag>0?true:false,msg);
|
}
|
//设置LLCBuck电压
|
public Response controllLLCBuckVol(Integer powerId, Integer llcBuckvolSet) {
|
boolean bl = false;
|
String msg = "";
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("llc_buckvol_set",llcBuckvolSet);
|
updateWrapper.eq("power_id",powerId);
|
int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
|
if (flag>0) {
|
bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
|
if (bl) {
|
flag = 1;
|
msg = "修改模式参数成功!";
|
} else {
|
flag = 0;
|
msg = "设置LLCBuck电压失败,请检查网络!";
|
}
|
} else {
|
flag = 0;
|
msg = "修改模式参数失败!";
|
}
|
return new Response().set(1,flag>0?true:false,msg);
|
}
|
//设置LLCBuck电流
|
public Response controllLLCBuckCurr(Integer powerId, Integer llcBuckcurrSet) {
|
boolean bl = false;
|
String msg = "";
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
updateWrapper.set("llc_buckcurr_set",llcBuckcurrSet);
|
updateWrapper.eq("power_id",powerId);
|
int flag=mapper.update((PowerSetparm) ActionUtil.objeNull,updateWrapper);
|
if (flag>0) {
|
bl=sendCmdToParam(PowerParamCmd.CMD_WriteVBus_Vref,powerId);
|
if (bl) {
|
flag = 1;
|
msg = "修改模式参数成功!";
|
} else {
|
flag = 0;
|
msg = "设置LLCBuck电流失败,请检查网络!";
|
}
|
} else {
|
flag = 0;
|
msg = "修改模式参数失败!";
|
}
|
return new Response().set(1,flag>0?true:false,msg);
|
}
|
}
|