From b9b396b7df56fd8c76005b3856fc1fd8fbc02ee7 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期一, 02 十二月 2024 16:20:01 +0800
Subject: [PATCH] 控制管理

---
 src/main/java/com/whyc/service/PowerSetparmService.java |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 177 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/PowerSetparmService.java b/src/main/java/com/whyc/service/PowerSetparmService.java
index e1f1255..0bd2a1f 100644
--- a/src/main/java/com/whyc/service/PowerSetparmService.java
+++ b/src/main/java/com/whyc/service/PowerSetparmService.java
@@ -1,7 +1,184 @@
 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鍜宎ck鏍¢獙
+    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);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1