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.FBS9100_ComBase; import com.whyc.dto.Response; import com.whyc.mapper.Dev6185AlmparamMapper; import com.whyc.pojo.Dev6185Almparam; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class Dev6185AlmparamService { @Autowired(required = false) private Dev6185AlmparamMapper mapper; /*6185参数设置*/ public Response set6185Alarm(Dev6185Almparam 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.eq("dev_id",par.getDevId()); int flag=mapper.update((Dev6185Almparam) ActionUtil.objeNull,wrapper); boolean bl=false; if(flag>0){ bl= sendCmdTo6185Alarm(FBS9100_ComBase.CMD6185_WriteAlarmParam, par.getDevId()); } return new Response().set(1, bl, bl == true ? "设置成功!" : "核容6185参数设置失败,请检查网络!"); } /*6185参数读取*/ public Response get6185Alarm(int devId) { boolean bl = sendCmdTo6185Alarm(FBS9100_ComBase.CMD6185_ReadAlarmParam, devId); UpdateWrapper wrapper = new UpdateWrapper(); wrapper.eq("dev_id", devId); wrapper.last("limit 1"); Dev6185Almparam par = mapper.selectOne(wrapper); return new Response().setII(1, bl,par, bl == true ? "查询成功!" : "核容6185参数读取失败,请检查网络!"); } /*6186/6286(485通讯)参数设置*/ public Response set6186Alarm(Dev6185Almparam 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((Dev6185Almparam) ActionUtil.objeNull,wrapper); boolean bl=false; if(flag>0){ bl= sendCmdTo6185Alarm(FBS9100_ComBase.CMD6185_WriteAlarmParam, par.getDevId()); } return new Response().set(1, bl, bl == true ? "设置成功!" : "核容6186/6286(485通讯)参数设置失败,请检查网络!"); } /*6186/6286(485通讯)参数读取*/ public Response get6186Alarm(int devId,int battgroupnum) { UpdateWrapper wrapper = new UpdateWrapper(); wrapper.set("battgroupnum",battgroupnum); wrapper.eq("dev_id", devId); mapper.update((Dev6185Almparam) ActionUtil.objeNull,wrapper); boolean bl = sendCmdTo6185Alarm(FBS9100_ComBase.CMD6185_ReadAlarmParam, devId); QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("dev_id", devId); queryWrapper.last("limit 1"); Dev6185Almparam par = mapper.selectOne(queryWrapper); return new Response().setII(1, bl,par, bl == true ? "查询成功!" : "6186/6286(485通讯)参数设置读取失败,请检查网络!"); } public boolean sendCmdTo6185Alarm(int opCmd,int devId) { int m_cmd = opCmd; int m_cmd_ack = opCmd; switch(m_cmd) { case FBS9100_ComBase.CMD6185_ReadAlarmParam: m_cmd_ack = FBS9100_ComBase.CMD6185_ReadAlarmParam_ACK; break; case FBS9100_ComBase.CMD6185_WriteAlarmParam: m_cmd_ack = FBS9100_ComBase.CMD6185_WriteAlarmParam_ACK; break; default: return false; } //更新op_cmd UpdateWrapper updateWrapper=new UpdateWrapper(); updateWrapper.set("op_cmd",m_cmd); updateWrapper.eq("dev_id",devId); int flag=mapper.update((Dev6185Almparam) 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++) { Dev6185Almparam dev6185Almparam=mapper.selectOne(queryWrapper); if(dev6185Almparam!=null){ if(dev6185Almparam.getOpCmd()==m_cmd_ack){ res_exe = true; break; } try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } }else { break; } } } return res_exe; } }