whyclxw
2021-12-29 e7954890e04079ed6673c410fe168f8a13cca890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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.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)
        {
            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.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;
    }
}