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