whyclxw
2025-05-28 e16302f9d475c7cc4dd18c5abf1a23cb5502e362
src/main/java/com/whyc/service/Fbs9100SetparamService.java
@@ -18,6 +18,7 @@
import com.whyc.pojo.Li9130SetparamPlan;
import com.whyc.util.ActionUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -35,7 +36,8 @@
    private BattInfMapper binfMapper;
    @Resource
    private Fbs9100SetParamTempMapper tmpMapper;
    @Autowired
    private PwrdevAcdcdataService pwrdevAcdcservice;
    //查询设备的参数
    public Response serchdevParam(int devId) {
        sendCmdToFBS9100Dev(FBS9100_ComBase.CMD_GetDischargeParm, 0, devId);
@@ -46,7 +48,7 @@
        return new Response().set(1, pageInfo);
    }
    //右键查看参数和弹出框的刷新按钮-----BTS停止
    //右键查看参数和弹出框的刷新按钮-----BTS停止61850,6184
    public Response serchbyDev_id(int num, Integer testCmd, int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(num, testCmd != null ? testCmd : 0, devId, battGroupNum);
        if ((devId / 100000 == DeviceTypeDTO.DEVICE6185) && (num == FBS9100_ComBase.CMD_Start)) {//当启动放电设备为6185时
@@ -68,7 +70,27 @@
            tmpMapper.update((Fbs9100SetParamTemp) ActionUtil.objeNull, wrapper);
        }
        Fbs9100Setparam setparam = mapper.serchbyDev_id(devId);
        Fbs9100Setparam setparam = mapper.serchbyDev_id(devId,battGroupNum-1);
        /*重庆bts4810(61850)
        目前客户的负载电流比较小,充放电参数设置时,小于0.1C10的,电流值要求能自动识别,
        采用一天内电流平均值来放电。负载电流大于0.1C10.用0.1C10放电客户要求自动填充,不要人为的录入.
        (100AH电池 负载电流小于10A 就用负载电流的平均值 大于10A 就用10A)
        */
        if (devId / 100000 == DeviceTypeDTO.DEVICE6185){
            //根据devId获取机房id
            QueryWrapper queryWrapper = new QueryWrapper();
            queryWrapper.eq("FBSDeviceId", devId);
            queryWrapper.last("limit 1");
            Battinf binf = binfMapper.selectOne(queryWrapper);
            if(binf!=null){
                //获取电源的负载电流
                float loadCurr=pwrdevAcdcservice.getBts4810LoadCurr(binf.getStationId(),binf.getMonCapStd());
                setparam.setLoadCurr(loadCurr);
            }else {
                setparam.setLoadCurr(0f);
            }
        }
        return new Response().setII(1, setparam, bl, bl == true ? "查询成功!" : "设置9100参数失败,请检查网络!");
    }
    //内阻测试
@@ -84,7 +106,7 @@
        wrapper.set("is_startup", 0);
        wrapper.eq("dev_id", devId);
        int flag = li9130Mapper.update((Li9130SetparamPlan) ActionUtil.objeNull, wrapper);
        Fbs9100Setparam setparam = mapper.serchbyDev_id(devId);
        Fbs9100Setparam setparam = mapper.serchbyDev_id(devId,battGroupNum-1);
        return new Response().setIII(1, setparam, bl, flag > 0, bl == true ? "查询成功!" : "设置9100参数失败,请检查网络!");
    }
@@ -140,6 +162,28 @@
        }
        return new Response().set(1,bl,bl==true?"修改参数成功!":"设置61850参数失败,请检查网络!");
    }
    //在线监测-实时监控-设置61853放电参数设置
    public Response update61853Param(Fbs9100Setparam fbs9100Setparam) {
        Boolean b=mapper.update61853Param(fbs9100Setparam);
        boolean bl=false;
        if(b){
            bl=sendCmdToFBS9100Dev(fbs9100Setparam.getNum().intValue(),0,fbs9100Setparam.getDevId().intValue());
        }
        return new Response().set(1,bl,bl==true?"修改参数成功!":"设置61853参数失败,请检查网络!");
    }
    //在线监测-实时监控-设置6186放电参数设置
    public Response update6186Param(Fbs9100Setparam fbs9100Setparam) {
        Boolean b=mapper.update6186Param(fbs9100Setparam);
        boolean bl=false;
        if(b){
            bl=sendCmdToFBS9100Dev(fbs9100Setparam.getNum().intValue(),0,fbs9100Setparam.getDevId().intValue());
        }
        return new Response().set(1,bl,bl==true?"修改参数成功!":"设置61853参数失败,请检查网络!");
    }
    //在线监测-实时监控-A059发送指令
    public Response updateA059Cmd(int opCmd, int devId) {
@@ -289,11 +333,12 @@
        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<stopTime; n++)
            {
                PageHelper.startPage(1,1);
                QueryWrapper queryWrapper=new QueryWrapper();
                queryWrapper.eq("dev_id",dev_id);
                Fbs9100Setparam fbs9100Setparam=mapper.selectOne(queryWrapper);
                if(fbs9100Setparam!=null){
                    if (fbs9100Setparam.getOpCmd() == m_cmd_ack) {
@@ -456,7 +501,7 @@
        UpdateWrapper updateWrapper=new UpdateWrapper();
        updateWrapper.set("op_cmd",m_cmd);
        updateWrapper.set("BattGroupNum",battGroupNum);
        if(test_type > 0 && cmd == FBS9100_ComBase.CMD_Start){               //启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复
        if(test_type > 0 && (cmd == FBS9100_ComBase.CMD_Start||cmd == FBS9100_ComBase.CMD_Stop)){               //启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复
            updateWrapper.set("TestCmd",test_type);
        }
        updateWrapper.eq("dev_id",dev_id);
@@ -477,7 +522,7 @@
                        break;
                    }
                    try {
                        Thread.sleep(250);
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
@@ -829,5 +874,48 @@
        boolean bl = sendCmdToFBS9100Dev(opCmd, testType, devId);
        return new Response().set(1, bl, bl == true ? "操控FBO4830成功!" : "操控FBO4830失败,请检查网络!");
    }
    //在线监测-实时监控-设置6184放电参数设置
    public Response update6184Param(Fbs9100Setparam fbs9100Setparam) {
        Boolean b=mapper.update6184Param(fbs9100Setparam);
        boolean bl=false;
        if(b){
            bl=sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_SetDischargeParm,0,fbs9100Setparam.getDevId().intValue(),fbs9100Setparam.getBattGroupNum());
        }
        return new Response().set(1,bl,bl==true?"修改参数成功!":"设置6184参数失败,请检查网络!");
    }
    //在线监测-实时监控-读取6184放电参数
    public Response get6184Param(int devId, int battGroupNum) {
        PageHelper.startPage(1, 1);
        QueryWrapper wrapper = new QueryWrapper();
        wrapper.eq("dev_id", devId);
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_GetDischargeParm,0, devId, battGroupNum);
        Fbs9100Setparam setparam = mapper.serchbyDev_id(devId,battGroupNum-1);
        return new Response().setII(1, bl, setparam, bl == true ? "读取参数成功!" : "读取6184放电参数,请检查网络!");
    }
    //在线监测-实时监控-6184设备远程重启
    public Response restart6184(int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_ResetSystem,0, devId, battGroupNum);
        return new Response().set(1,bl,bl==true?"6184设备远程重启成功!":"6184设备远程重启失败!");
    }
    //在线监测-实时监控-6184远程启动放电测试
    public Response startDis6184(int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_Start,FBS9100_ComBase.CMD_StartDischarge, devId, battGroupNum);
        return new Response().set(1,bl,bl==true?"6184远程启动放电测试成功!":"6184远程启动放电测试失败!");
    }
    //在线监测-实时监控-6184启动内阻测试
    public Response startRes6184(int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_Start,FBS9100_ComBase.CMD_StartResDischarge, devId, battGroupNum);
        return new Response().set(1,bl,bl==true?"启动内阻测试成功!":"启动内阻测试失败!");
    }
    //在线监测-实时监控-6184停止测试
    public Response stop6184(int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_Stop,FBS9100_ComBase.CMD_StopDischarge, devId, battGroupNum);
        return new Response().set(1,bl,bl==true?"6184停止测试成功!":"6184停止测试失败!");
    }
    //在线监测-实时监控-6184停止内阻测试
    public Response stopRes6184(int devId, int battGroupNum) {
        boolean bl = sendCmdToFBS9100Dev2(FBS9100_ComBase.CMD_Stop,FBS9100_ComBase.CMD_StopResDischarge, devId, battGroupNum);
        return new Response().set(1,bl,bl==true?"停止内阻测试成功!":"停止内阻测试失败!");
    }
}