New file |
| | |
| | | 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.Li9130DcdcParamMapper; |
| | | import com.whyc.pojo.Li9130DcdcParam; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.sql.Connection; |
| | | import java.sql.PreparedStatement; |
| | | import java.sql.ResultSet; |
| | | import java.sql.SQLException; |
| | | |
| | | @Service |
| | | public class Li9130DcdcParamService { |
| | | @Resource |
| | | private Li9130DcdcParamMapper mapper; |
| | | |
| | | //读取DCDC工作参数 |
| | | public Response searchParam(int devId) { |
| | | boolean bl=checkOpCmdAndAck(devId, FBS9100_ComBase.CMD_GetLiDCDCParam, FBS9100_ComBase.CMD_GetLiDCDCParam_Ack, 40); |
| | | PageHelper.startPage(1,1); |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.eq("dev_id",devId); |
| | | Li9130DcdcParam dcdcParam=mapper.selectOne(wrapper); |
| | | return new Response().setII(1,bl,dcdcParam,bl==true?"查询成功!":"查询失败!"); |
| | | } |
| | | //设置DCDC工作参数 |
| | | public Response updateParam(Li9130DcdcParam param) { |
| | | boolean bl=mapper.updateParam(param); |
| | | boolean b=false; |
| | | if(bl){ |
| | | int cmd=param.getOpCmd(); |
| | | int cmd_ack=0; |
| | | switch (cmd) { |
| | | case FBS9100_ComBase.CMD_GetLiDCDCParam: |
| | | cmd_ack = FBS9100_ComBase.CMD_GetLiDCDCParam_Ack; |
| | | break; |
| | | case FBS9100_ComBase.CMD_SetLiDCDCParam: |
| | | cmd_ack = FBS9100_ComBase.CMD_SetLiDCDCParam_Ack; |
| | | break; |
| | | } |
| | | b=checkOpCmdAck(param.getDevId(),cmd_ack, 40); |
| | | } |
| | | return new Response().set(1,b,b==true?"修改成功!":"修改失败!"); |
| | | } |
| | | /**查询op_cmd和op_cmd_ack是否相同判断设备指令是否被正常接收*/ |
| | | public boolean checkOpCmdAck(Integer devId,Integer cmdAck,Integer sendCounts){ |
| | | boolean res_exe = false; |
| | | PageHelper.startPage(1,1); |
| | | QueryWrapper wrapper1=new QueryWrapper(); |
| | | wrapper1.eq("dev_id",devId); |
| | | for(int n=0; n<sendCounts; n++) |
| | | { |
| | | Li9130DcdcParam dcdcParam=mapper.selectOne(wrapper1); |
| | | if(dcdcParam.getOpCmd() == cmdAck) |
| | | { |
| | | res_exe = true; |
| | | break; |
| | | } |
| | | try { |
| | | Thread.sleep(250); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | return res_exe; |
| | | } |
| | | /**查询op_cmd和op_cmd_ack是否相同判断设备指令是否被正常接收*/ |
| | | public boolean checkOpCmdAndAck(Integer devId,Integer cmd,Integer cmdAck,Integer sendCounts){ |
| | | boolean res_exe = false; |
| | | //先更新op_cmd |
| | | UpdateWrapper wrapper=new UpdateWrapper(); |
| | | wrapper.set("op_cmd",cmd); |
| | | wrapper.eq("dev_id",devId); |
| | | mapper.update(null,wrapper); |
| | | |
| | | //校验op_cmd和后op_cmd(cmdAck) |
| | | PageHelper.startPage(1,1); |
| | | QueryWrapper wrapper1=new QueryWrapper(); |
| | | wrapper1.eq("dev_id",devId); |
| | | for(int n=0; n<sendCounts; n++) { |
| | | Li9130DcdcParam dcdcParam=mapper.selectOne(wrapper1); |
| | | if(dcdcParam.getOpCmd() == cmdAck) |
| | | { |
| | | res_exe = true; |
| | | break; |
| | | } |
| | | try { |
| | | Thread.sleep(250); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | return res_exe; |
| | | } |
| | | |
| | | |
| | | } |