From 403cb373bb78caf1f61aa2c757eb392f3d732eab Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期六, 05 十一月 2022 09:57:25 +0800 Subject: [PATCH] 电操开关遥调遥控点位读取/设置 --- src/main/java/com/whyc/service/Fbs9100SetparamService.java | 64 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/Fbs9100SetparamService.java b/src/main/java/com/whyc/service/Fbs9100SetparamService.java index f695d27..5c2cced 100644 --- a/src/main/java/com/whyc/service/Fbs9100SetparamService.java +++ b/src/main/java/com/whyc/service/Fbs9100SetparamService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.FBS9100_ComBase; @@ -327,4 +328,67 @@ return res_exe; } + public boolean sendCmdToDev(int opCmd,int dev_id) + { + int m_cmd = opCmd; + int m_cmd_ack = opCmd; + switch(m_cmd) { + case FBS9100_ComBase.CMD_SetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck; break; + case FBS9100_ComBase.CMD_GetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck; break; + + default: + return false; + } + //鏇存柊op_cmd + UpdateWrapper updateWrapper=new UpdateWrapper(); + updateWrapper.set("op_cmd",m_cmd); + updateWrapper.eq("dev_id",dev_id); + int flag=mapper.update(null,updateWrapper); + boolean res_exe = false; + if(flag>0) + { + PageHelper.startPage(1,1); + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.eq("dev_id",dev_id); + for(int n=0; n<40; n++) + { + + Fbs9100Setparam fbs9100Setparam=mapper.selectOne(queryWrapper); + if(fbs9100Setparam!=null){ + if(fbs9100Setparam.getOpCmd()==m_cmd_ack){ + res_exe = true; + break; + } + try { + Thread.sleep(250); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + break; + } + } + } + return res_exe; + } + public Response updateEOperatingSwitch(Fbs9100Setparam fbs9100Setparam) { + Boolean b=mapper.updateEOperatingSwitch(fbs9100Setparam); + boolean bl=false; + if(b){ + bl=sendCmdToDev(FBS9100_ComBase.CMD_SetDischargeParm,fbs9100Setparam.getDevId().intValue()); + } + return new Response().set(1,bl,bl==true?"淇敼鍙傛暟鎴愬姛!":"璁剧疆鍙傛暟澶辫触,璇锋鏌ョ綉缁�!"); + } + + public Response getEOperatingSwitch(int devId) { + boolean b = sendCmdToDev(FBS9100_ComBase.CMD_GetDischargeParm, devId); + if(b){ + QueryWrapper<Fbs9100Setparam> query = Wrappers.query(); + query.eq("dev_id",devId).last(" limit 1"); + Fbs9100Setparam param = mapper.selectOne(query); + return new Response().setII(1, true,param,null); + } + return new Response().set(1,false,"璇诲彇鍙傛暟澶辫触,璇锋鏌ョ綉缁�!"); + + } } \ No newline at end of file -- Gitblit v1.9.1