whyclxw
2021-12-17 a9fd13bd70b2ffa2df3b56529cace304a0b46166
作业管理-放电计划-查询设备的参数
5个文件已添加
265 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/Fbs9100SetparamController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/FBS9100_ComBase.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/Fbs9100SetparamMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/Fbs9100SetparamService.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/Fbs9100SetparamMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/Fbs9100SetparamController.java
New file
@@ -0,0 +1,25 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.service.Fbs9100SetparamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "作业管理-放电计划管理")
@RestController
@RequestMapping()
public class Fbs9100SetparamController {
    @Autowired
    private Fbs9100SetparamService service;
    @ApiOperation(value = "查询设备的参数",notes = "等10s响应")
    @GetMapping("/serchdevParam")
    private Response serchdevParam(@RequestParam int devId){
        return  service.serchdevParam(devId);
    }
}
src/main/java/com/whyc/dto/FBS9100_ComBase.java
New file
@@ -0,0 +1,139 @@
package com.whyc.dto;
public class FBS9100_ComBase {
    //机房命令
    final public static  int CMD_Start=81;
    final public static  int CMD_Stop=83;
    final public static  int CMD_SetDischargeParm=40;
    final public static  int CMD_GetDischargeParm=41;
    final public static  int CMd_SetIp_Tem=90;        //    暂时
    final public static  int CMd_SetIp_Per=88;        //    永久
    /**测试类型:核容测试:37,内阻测试:50*/
    public final static int CMD_CHECK_CAP =37;
    final public static  int CMD_StartAck=82;
    final public static  int CMD_StopAck=84;
    final public static  int CMD_SetDischargeParmAck=39;
    final public static  int CMD_GetDischargeParmAck=48;
    final public static  int CMd_SetIpAck=89;        //修改成功
    final public static  int CMD_StartRES=50;
    final public static  int CMD_StartRES_ACK=51;
    //------------ 离线养护功能参数 ---------------------------------
    public static final int        CMD_GetOffLineYHParam            =    0xB0;
    public static final int        CMD_GetOffLineYHParam_ACK        =    0xB1;
    public static final int        CMD_SetOffLineYHParam            =    0xB2;
    public static final int        CMD_SetOffLineYHParam_ACK        =    0xB3;
    public static final int        CMD_StartOffLine                =   0xB4;
    public static final int        CMD_StartOffLine_ACK            =   0xB5;
    public static final int        CMD_StopOffLine                 =   0xB6;
    public static final int        CMD_StopOffLine_ACK             =   0xB7;
    //系统参数命令
    public static final int     CMD_GetSYSSetParamAck            =    0x7E; //126
    public static final int     CMD_SetSYSSetParamAck            =    0x7F; //127
    public static final int     CMD_GetSYSSetParam                =    0x80;//获取系统参数128
    public static final int     CMD_SetSYSSetParam                =    0x81;//设置系统参数129
    public static final int     CMD_ResetSystemAck                =     0x0F;//15
    public static final int     CMD_ResetSystem                    =     0x10;//重启16
    public static final int        CMD_ClearSysAlarm               =   0xB8;                    //清除告警
    public static final int        CMD_ClearSysAlarm_ACK           =   0xB9;
    //养护除硫
    final public static  int CMD_ReadFodParam=160;//读取FOD参数
    final public static  int CMD_WriteFodParam=161;//设置FOD参数
    final public static  int CMD_Start_FODCL_test=162;//启动除硫
    final public static  int CMD_Start_FODYH_test=163;//启动养护
    final public static  int CMD_Stop_FOD_test=164;//停止除硫
    //养护除硫对应的ACK
    final public static  int CMD_ReadFodParamAck=167;
    final public static  int CMD_WriteFodParamAck=168;
    final public static  int CMD_Start_FODCL_testAck=169;
    final public static  int CMD_Start_FODYH_testAck=170;
    final public static  int CMD_Stop_FOD_testAck=171;
    //一期二期设备分类
    final public static  int EQUIPMENTCLASSIFICATION_ONE=91000000;
    final public static  int EQUIPMENTCLASSIFICATION_TWO=910000000;
    //BTS设备命令
    final public static int CMD_61850_START_HR=2; //核容测试启动内阻测试停止
    final public static int CMD_61850_START_RES=1; //核容测试停止内阻测试启动
    final public static int CMD_61850_STOP=0; //核容测试内阻测试均停止
    final public static int CMD_61850_START_ACK=100; //核容测试或内阻测试启动成功
    final public static int CMD_61850_STOP_ACK=101; //核容测试或内阻测试均停止成功
    final public static int CMD_61850_CHANGE=99; //核容测试或内阻测试均停止成功
    //FBS9600S设备内阻测试的启动命令
    final public static  int CMD_9600_Start=1;
    //6185设备工作状态对应关系workstate
    final public static  int DEV_ONLINE_CHARGE=0;  //在线浮充
    final public static  int DEV_PRE_CHARGE=1;     //预充电
    final public static  int DEV_NUCLEAR_CAP=2;    //核容测试
    final public static  int DEV_POWER_CUT=3;      //停电测试
    final public static  int DEV_RES_TEST=4;       //内阻测试
    final public static  int DEV_KD_TEST=5;        //kd测试
    //-----------------------------61850均衡参数
    public static final int  CMD_GetJunHengParam    =   0xC1;     //读取均衡参数
    public static final int  CMD_GetJunHengParamAck   =   0xC2;     //读取均衡参数成功
    public static final int  CMD_SetJunHengParam    =   0xC3;     //设置均衡参数
    public static final int  CMD_SetJunHengParamAck   =   0xC4;     //设置均衡参数成功
    /**电源一体机 充电/放电/活化测试命令/文件命令*/
    //-----------------------------启动/停止放电测试命令
    public static final int  CMD_StartDischarge    = 0x25;  //启动放电
    public static final int  CMD_StartDischargeAck   = 0x26;  //启动放电成功
    public static final int  CMD_StopDischarge    = 0x23;  //停止放电
    public static final int  CMD_StopDischargeAck   = 0x24;  //停止放电成功
    public static final int  CMD_PauseDischarge    = 0x21;  //暂停放电
    public static final int  CMD_PauseDischargeAck   = 0x22;  //暂停放电成功
    //-----------------------------启动/停止充电测试命令
    public static final int  CMD_StartCharTest    = 0xB1;  //启动充电
    public static final int  CMD_StartCharTestAck   = 0xB2;  //启动充电成功
    public static final int  CMD_StopCharTest    = 0xB3;  //停止充电
    public static final int  CMD_StopCharTestAck    = 0xB4;  //停止充电成功
    public static final int  CMD_PauseCharTest    = 0xB5;  //暂停充电
    public static final int  CMD_PauseCharTestAck   = 0xB6;  //暂停充电成功
    //-----------------------------启动活化测试命令
    public static final int  CMD_StartHUOHUATest    = 0xC1;  //启动活化测试
    public static final int  CMD_StartHUOHUATestACK   = 0xC2;  //启动活化测试成功
    public static final int  CMD_StopHUOHUATest    = 0xC3;  //停止活化测试
    public static final int  CMD_StopHUOHUATestACK   = 0xC4;  //停止活化测试成功
    public static final int  CMD_PauseHUOHUATest    = 0xC5;  //暂停活化测试
    public static final int  CMD_PauseHUOHUATestACK   = 0xC6;  //暂停活化测试成功
    //----------------------------锂电池DCDC
    public static final int CMD_GetLiDCDCParam=0x8B;        //读取锂电DCDC参数
    public static final int CMD_GetLiDCDCParam_Ack    = 0x8D;    //读取锂电DCDC参数成功
    public static final int CMD_SetLiDCDCParam    =0x8C;        //设置锂电DCDC参数
    public static final int CMD_SetLiDCDCParam_Ack    = 0x8E;    //设置锂电DCDC参数成功
    public static final int CMD_GetSXDCDCData    =    0x8F;    //读取双向DCDC内部数据
    public static final int CMD_GetSXDCDCData_Ack    = 0x92;    //读取双向DCDC内部数据成功
    public static final int CMD_GetLiBMSData=    0x95;        //读取锂电池BMS模拟量
    public static final int CMD_GetLiBMSData_Ack =     0x93;    //读取锂电池BMS模拟量成功
    public static final int CMD_GetLiBMSState    =0x96;        //读取锂电池BMS告警量
    public static final int CMD_GetLiBMSState_Ack= 0x94;        //读取锂电池BMS告警量成功
    //------------------------------下载文件命令
    public static final int  CMD_DownLoadFBDFile    = 0xA3;   //开始下载
    public static final int  CMD_DownLoadFBDFile_ACK   = 0xA4;   //下载成功
    //------------------------------读取文件列表
    public static final int  CMD_ReadFBDFile     = 0xA1;   //读取历史文件
    public static final int  CMD_ReadFBDFile_ACK    = 0xA2;   //读取历史文件成功
    //------------------------------停止文件下载
    public static final int  CMD_StopFile  = 0xA5;   //停止下载文件
    public static final int  CMD_StopFile_ACK = 0xA6;   //停止下载文件成功
}
src/main/java/com/whyc/mapper/Fbs9100SetparamMapper.java
New file
@@ -0,0 +1,10 @@
package com.whyc.mapper;
import com.whyc.pojo.Fbs9100Setparam;
import java.util.List;
public interface Fbs9100SetparamMapper extends CustomMapper<Fbs9100Setparam>{
    //查询设备的参数
    List serchdevParam(int devId);
}
src/main/java/com/whyc/service/Fbs9100SetparamService.java
New file
@@ -0,0 +1,86 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.FBS9100_ComBase;
import com.whyc.dto.Response;
import com.whyc.mapper.Fbs9100SetparamMapper;
import com.whyc.pojo.Fbs9100Setparam;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class Fbs9100SetparamService {
    @Resource
    private Fbs9100SetparamMapper mapper;
    //查询设备的参数
    public Response serchdevParam(int devId) {
        sendCmdToFBS9100Dev(FBS9100_ComBase.CMD_GetDischargeParm,0,devId);
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",devId);
        List list=mapper.selectList(wrapper);
        PageInfo pageInfo=new PageInfo(list);
        return  new Response().set(1,pageInfo);
    }
    //机房命令操作设备时的cmd和ack校验  test_type  -->默认启动测试的类型
    public boolean sendCmdToFBS9100Dev(int cmd,int test_type,int dev_id)
    {
        int m_cmd = cmd;
        int m_cmd_ack = cmd;
        switch(m_cmd) {
            case FBS9100_ComBase.CMD_Start: m_cmd_ack = FBS9100_ComBase.CMD_StartAck; break;
            case FBS9100_ComBase.CMD_Stop: m_cmd_ack = FBS9100_ComBase.CMD_StopAck; break;
            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;
            case FBS9100_ComBase.CMd_SetIp_Tem: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
            case FBS9100_ComBase.CMd_SetIp_Per: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
            case FBS9100_ComBase.CMD_GetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_GetOffLineYHParam_ACK; break;
            case FBS9100_ComBase.CMD_SetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_SetOffLineYHParam_ACK; break;
            case FBS9100_ComBase.CMD_StartOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StartOffLine_ACK; break;
            case FBS9100_ComBase.CMD_StopOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StopOffLine_ACK; break;
            case FBS9100_ComBase.CMD_ResetSystem: m_cmd_ack = FBS9100_ComBase.CMD_ResetSystemAck; break;
            //一体机A059
            case FBS9100_ComBase.CMD_StartDischarge: m_cmd_ack = FBS9100_ComBase.CMD_StartDischargeAck; break;
            case FBS9100_ComBase.CMD_StopDischarge: m_cmd_ack = FBS9100_ComBase.CMD_StopDischargeAck; break;
            case FBS9100_ComBase.CMD_PauseDischarge: m_cmd_ack = FBS9100_ComBase.CMD_PauseDischargeAck; break;
            case FBS9100_ComBase.CMD_StartCharTest: m_cmd_ack = FBS9100_ComBase.CMD_StartCharTestAck; break;
            case FBS9100_ComBase.CMD_StopCharTest: m_cmd_ack = FBS9100_ComBase.CMD_StopCharTestAck; break;
            case FBS9100_ComBase.CMD_PauseCharTest: m_cmd_ack = FBS9100_ComBase.CMD_PauseCharTestAck; break;
            case FBS9100_ComBase.CMD_StartHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_StartHUOHUATestACK; break;
            case FBS9100_ComBase.CMD_StopHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_StopHUOHUATestACK; break;
            case FBS9100_ComBase.CMD_PauseHUOHUATest: m_cmd_ack = FBS9100_ComBase.CMD_PauseHUOHUATestACK; break;
            default: return false;
        }
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("op_cmd",m_cmd);
        if(test_type > 0 && cmd == FBS9100_ComBase.CMD_Start){                    //启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复
            updateWrapper.set("TestCmd",test_type);
        }
        updateWrapper.eq("dev_id",dev_id);
        int flag=mapper.update(null,updateWrapper);
        boolean res_exe = false;
        if(flag>0)
        {
            QueryWrapper queryWrapper=new QueryWrapper();
            queryWrapper.eq("dev_id",dev_id);
            for(int n=0; n<40; n++)
            {
                Fbs9100Setparam fbs9100Setparam=mapper.selectOne(queryWrapper);
                if(fbs9100Setparam.getOpCmd()==m_cmd_ack){
                    res_exe = true;
                    break;
                }
                try {
                    Thread.sleep(250);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        return res_exe;
    }
}
src/main/resources/mapper/Fbs9100SetparamMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whyc.mapper.Fbs9100SetparamMapper">
</mapper>