| | |
| | | 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); |
| | | } |
| | | } |