whycxzp
2024-01-24 3dd49c19ec1221c03cbc903f9d68dd18cd2f10c1
黑河更新
10个文件已修改
502 ■■■■■ 已修改文件
src/main/java/com/whyc/mapper/BattRtdataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattRtstateMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/BattRtdata.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRtdataService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRtstateService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/Fbs9100StateService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/HeiHeStationService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/HeiHeUtil.java 434 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattRtdataMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattRtstateMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattRtdataMapper.java
@@ -39,4 +39,6 @@
    //并联电源多组单体数据
    List<BattRtdata> serch9141ByCondition(int devId);
    void addBatch(List<BattRtdata> battDataList);
}
src/main/java/com/whyc/mapper/BattRtstateMapper.java
@@ -46,5 +46,7 @@
    //查询分组电池信息
    List<SystemGrdoupBatt> selectSystemGrdoupBatt(String stationId);
    void updateBatch(List<BattRtstate> battStateList);
}
src/main/java/com/whyc/pojo/BattRtdata.java
@@ -62,8 +62,11 @@
    private Float minmonvol;
    /**黑河项目 使用*/
    @TableField(exist = false)
    private String monVolStr;
    @TableField(exist = false)
    private String monResStr;
    @TableField(exist = false)
    private String monTmpStr;
src/main/java/com/whyc/service/BattRtdataService.java
@@ -85,4 +85,8 @@
        List<BattRtdata> list = mapper.serch9141ByCondition(devId);
        return new Response().setII(1, list.size() > 0 ? true : false, list, "9141数据");
    }
    public void addBatch(List<BattRtdata> battDataList) {
        mapper.addBatch(battDataList);
    }
}
src/main/java/com/whyc/service/BattRtstateService.java
@@ -68,4 +68,7 @@
    }
    public void update(List<BattRtstate> battStateList) {
        battRtstateMapper.updateBatch(battStateList);
    }
}
src/main/java/com/whyc/service/Fbs9100StateService.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.constant.DeviceConstant;
@@ -369,4 +370,25 @@
        res.put("ld9state",ld9stateRes);
        return new Response().set(1, res);
    }
    public void addOrUpdate(List<Fbs9100State> deviceStateList) {
        List<Long> devIdList = deviceStateList.stream().map(Fbs9100State::getDevId).collect(Collectors.toList());
        QueryWrapper<Fbs9100State> query = Wrappers.query();
        query.in("dev_id",devIdList);
        List<Fbs9100State> fbs9100StateListInDB = mapper.selectList(query);
        List<Long> devIdListInDB = fbs9100StateListInDB.stream().map(Fbs9100State::getDevId).collect(Collectors.toList());
        for (Fbs9100State fbs9100State : deviceStateList) {
            if(devIdListInDB.contains(fbs9100State.getDevId())){ //更新
                UpdateWrapper<Fbs9100State> update = Wrappers.update();
                update.set("dev_workstate",fbs9100State.getDevWorkstate())
                        .set("dev_last_captest_stop_type",fbs9100State.getDevLastCaptestStopType())
                        .set("record_datetime",fbs9100State.getRecordDatetime())
                        .eq("dev_id",fbs9100State.getDevId());
            }else{ //新增
                mapper.insert(fbs9100State);
            }
        }
    }
}
src/main/java/com/whyc/service/HeiHeStationService.java
@@ -44,6 +44,15 @@
    @Autowired
    private UserLogService userLogService;
    @Autowired
    private Fbs9100StateService fbs9100StateService;
    @Autowired
    private BattRtstateService battStateService;
    @Autowired
    private BattRtdataService battDataService;
    @Transactional
    public void getAndSaveStationInf() {
        Map<String, Object> params = new HashMap<>();//组合参数
@@ -262,12 +271,15 @@
                                //对应数据库点位并存入
                                List<Battinf> battinfList =  battInfService.getBattListByStatoinId(stationId);
                                Map<String,Object> tableDataMap = HeiHeUtil.relateObidWithTable(battinfList,realtimeDataDTOS);
                                List<Fbs9100State> deviceState = (List<Fbs9100State>) tableDataMap.get("deviceState");
                                List<Fbs9100State> deviceStateList = (List<Fbs9100State>) tableDataMap.get("deviceState");
                                //两组
                                List<BattRtstate> battStateList = (List<BattRtstate>) tableDataMap.get("battState");
                                //单体
                                List<BattRtdata> battDataList = (List<BattRtdata>) tableDataMap.get("battData");
                                //TODO 存入到数据库
                                //更新到数据库
                                fbs9100StateService.addOrUpdate(deviceStateList);
                                battStateService.update(battStateList);
                                battDataService.addBatch(battDataList);
                            }else {
src/main/java/com/whyc/util/HeiHeUtil.java
@@ -7,7 +7,6 @@
import com.whyc.pojo.Battinf;
import com.whyc.pojo.Fbs9100State;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -1492,117 +1491,445 @@
        StringBuffer monTmpSb2 = new StringBuffer();
        StringBuffer monTimeSB2 = new StringBuffer();
        StringBuffer stopReasonSb1 = new StringBuffer();
        StringBuffer stopReasonSb2 = new StringBuffer();
        StringBuffer deviceStateSb1 = new StringBuffer();
        StringBuffer deviceStateSb2 = new StringBuffer();
        for (HeiHeRealtimeDataDTO realtimeDataDTO : realtimeDataDTOS) {
            String name = realtimeDataDTO.getName();
            List<String> allStopReasonSignals1 = new LinkedList<>();
            List<String> allDeviceStateSignals1 = new LinkedList<>();
            List<String> allStopReasonSignals2 = new LinkedList<>();
            List<String> allDeviceStateSignals2 = new LinkedList<>();
            String val = realtimeDataDTO.getVal();
            //获取所有的停止原因
            //获取所有的设备状态
            switch (name){
                case "第一组核容测试设备掉电终止":
                case "第一组核容测试设备掉电终止":{
                    if(val.equals("1")){
                        stopReasonSb1.append("0").append(",");
                    }
                    break;
                }
                case "第一组核容测试手动终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("1").append(",");
                    }
                    break;
                case "第一组核容测试放电时间到终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("2").append(",");
                    }
                    break;
                case "第一组核容测试放电容量到终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("3").append(",");
                    }
                    break;
                case "第一组核容测试单体电压下限到终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("4").append(",");
                    }
                    break;
                case "第一组核容测试单体温度上限终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("5").append(",");
                    }
                    break;
                case "第一组核容测试组端电压下限到终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("6").append(",");
                    }
                    break;
                case "第一组核容测试市电中断终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("7").append(",");
                    }
                    break;
                case "第一组核容测试单体通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("8").append(",");
                    }
                    break;
                case "第一组核容测试存储数据满终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("9").append(",");
                    }
                    break;
                case "第一组核容测试机内温度异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("10").append(",");
                    }
                    break;
                case "第一组核容测试放电电流异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("11").append(",");
                    }
                    break;
                case "第一组核容测试后台通信中断终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("12").append(",");
                    }
                    break;
                case "第一组核容测试内部程序异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("13").append(",");
                    }
                    break;
                case "第一组核容测试电源电压高终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("14").append(",");
                    }
                    break;
                case "第一组核容测试协转通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("15").append(",");
                    }
                    break;
                case "第一组核容测试切换装置通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("16").append(",");
                    }
                    break;
                case "第一组核容测试切换装置故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("27").append(",");
                    }
                    break;
                case "第一组核容测试DCAC模块故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("28").append(",");
                    }
                    break;
                case "第一组核容测试负载功率小终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("29").append(",");
                    }
                    break;
                case "第一组核容测试干接点接入故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("30").append(",");
                    }
                    break;
                case "第一组核容测试母联通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("31").append(",");
                    }
                    break;
                case "第一组核容测试母联手动关闭/信号异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("32").append(",");
                    }
                    break;
                case "第一组核容测试逆变器通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("33").append(",");
                    }
                    break;
                case "第一组核容测试防雷器故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("34").append(",");
                    }
                    break;
                case "第一组核容测试机柜表头通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("35").append(",");
                    }
                    break;
                case "第一组核容测试限流充电模块故障终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("36").append(",");
                    }
                    break;
                case "第一组核容测试紧急停止终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("37").append(",");
                    }
                    break;
                case "第一组核容测试远程闭锁终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("38").append(",");
                    }
                    break;
                case "第一组核容测试切换装置开关异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("39").append(",");
                    }
                    break;
                case "第一组核容测试交流空开异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("40").append(",");
                    }
                    break;
                case "第一组核容测试交流接触器异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("41").append(",");
                    }
                    break;
                case "第一组核容测试直流空开异常终止":
                    if(val.equals("1")){
                        stopReasonSb1.append("42").append(",");
                    }
                    break;
                default:break;
            }
            switch (name){
                case "第二组核容测试设备掉电终止":
                case "第二组核容测试设备掉电终止":{
                    if(val.equals("1")){
                        stopReasonSb2.append("0").append(",");
                    }
                    break;
                }
                case "第二组核容测试手动终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("1").append(",");
                    }
                    break;
                case "第二组核容测试放电时间到终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("2").append(",");
                    }
                    break;
                case "第二组核容测试放电容量到终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("3").append(",");
                    }
                    break;
                case "第二组核容测试单体电压下限到终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("4").append(",");
                    }
                    break;
                case "第二组核容测试单体温度上限终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("5").append(",");
                    }
                    break;
                case "第二组核容测试组端电压下限到终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("6").append(",");
                    }
                    break;
                case "第二组核容测试市电中断终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("7").append(",");
                    }
                    break;
                case "第二组核容测试单体通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("8").append(",");
                    }
                    break;
                case "第二组核容测试存储数据满终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("9").append(",");
                    }
                    break;
                case "第二组核容测试机内温度异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("10").append(",");
                    }
                    break;
                case "第二组核容测试放电电流异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("11").append(",");
                    }
                    break;
                case "第二组核容测试后台通信中断终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("12").append(",");
                    }
                    break;
                case "第二组核容测试内部程序异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("13").append(",");
                    }
                    break;
                case "第二组核容测试电源电压高终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("14").append(",");
                    }
                    break;
                case "第二组核容测试协转通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("15").append(",");
                    }
                    break;
                case "第二组核容测试切换装置通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("16").append(",");
                    }
                    break;
                case "第二组核容测试切换装置故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("27").append(",");
                    }
                    break;
                case "第二组核容测试DCAC模块故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("28").append(",");
                    }
                    break;
                case "第二组核容测试负载功率小终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("29").append(",");
                    }
                    break;
                case "第二组核容测试干接点接入故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("30").append(",");
                    }
                    break;
                case "第二组核容测试母联通信异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("31").append(",");
                    }
                    break;
                case "第二组核容测试母联手动关闭/信号异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("32").append(",");
                    }
                    break;
                case "第二组核容测试逆变器通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("33").append(",");
                    }
                    break;
                case "第二组核容测试防雷器故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("34").append(",");
                    }
                    break;
                case "第二组核容测试机柜表头通信故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("35").append(",");
                    }
                    break;
                case "第二组核容测试限流充电模块故障终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("36").append(",");
                    }
                    break;
                case "第二组核容测试紧急停止终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("37").append(",");
                    }
                    break;
                case "第二组核容测试远程闭锁终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("38").append(",");
                    }
                    break;
                case "第二组核容测试切换装置开关异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("39").append(",");
                    }
                    break;
                case "第二组核容测试交流空开异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("40").append(",");
                    }
                    break;
                case "第二组核容测试交流接触器异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("41").append(",");
                    }
                    break;
                case "第二组核容测试直流空开异常终止":
                    if(val.equals("1")){
                        stopReasonSb2.append("42").append(",");
                    }
                    break;
                default:break;
            }
            switch (name){
                case "第一组通信蓄电池远程核容系统在线浮充":
                {
                    if(val.equals("1")){
                        deviceStateSb1.append("0").append(",");
                    }
                    break;
                }
                case "第一组通信蓄电池远程核容系统充电":
                {
                    if(val.equals("1")){
                        deviceStateSb1.append("1").append(",");
                    }
                    break;
                }
                case "第一组通信蓄电池远程核容系统核容":
                {
                    if(val.equals("1")){
                        deviceStateSb1.append("2").append(",");
                    }
                    break;
                }
                case "第一组通信蓄电池远程核容系统停电放电":
                {
                    if(val.equals("1")){
                        deviceStateSb1.append("3").append(",");
                    }
                    break;
                }
                case "第一组通信蓄电池远程核容系统内阻测试":
                {
                    if(val.equals("1")){
                        deviceStateSb1.append("4").append(",");
                    }
                    break;
                }
                default:break;
            }
            switch (name){
                case "第二组通信蓄电池远程核容系统在线浮充":
                {
                    if(val.equals("1")){
                        deviceStateSb2.append("0").append(",");
                    }
                    break;
                }
                case "第二组通信蓄电池远程核容系统充电":
                {
                    if(val.equals("1")){
                        deviceStateSb2.append("1").append(",");
                    }
                    break;
                }
                case "第二组通信蓄电池远程核容系统核容":
                {
                    if(val.equals("1")){
                        deviceStateSb2.append("2").append(",");
                    }
                    break;
                }
                case "第二组通信蓄电池远程核容系统停电放电":
                {
                    if(val.equals("1")){
                        deviceStateSb2.append("3").append(",");
                    }
                    break;
                }
                case "第二组通信蓄电池远程核容系统内阻测试":
                {
                    if(val.equals("1")){
                        deviceStateSb2.append("4").append(",");
                    }
                    break;
                }
                default:break;
            }
            //填充其他所有的实时值
            switch (name){
                case "第1组电池组电压": battState1.setGroupVol(Float.valueOf(realtimeDataDTO.getVal()));break;
                case "第1组电池组电流": battState1.setGroupCurr(Float.valueOf(realtimeDataDTO.getVal()));break;
                case "第1组电池组电压": battState1.setGroupVol(Float.valueOf(val));break;
                case "第1组电池组电流": battState1.setGroupCurr(Float.valueOf(val));break;
                case "第1组在线端电压": {
                    battState1.setOnlineVol(Float.valueOf(realtimeDataDTO.getVal()));
                    battState1.setOnlineVol(Float.valueOf(val));
                    try {
                        battState1.setRecDatetime(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(realtimeDataDTO.getTimestamp()));
                    }catch (Exception e){
                        //battState1.setRecDatetime();
                    }
                    break;
                }
                break;
                case "第1组电池组第1节单体电池电压值":
                case "第1组电池组第2节单体电池电压值":
                case "第1组电池组第3节单体电池电压值":
@@ -1707,7 +2034,7 @@
                case "第1组电池组第102节单体电池电压值":
                case "第1组电池组第103节单体电池电压值":
                case "第1组电池组第104节单体电池电压值":
                    monVolSb1.append(Float.valueOf(realtimeDataDTO.getVal())+",");break;
                    monVolSb1.append(val).append(",");break;
                case "第1组电池组第1节单体电池内阻值":
                case "第1组电池组第2节单体电池内阻值":
                case "第1组电池组第3节单体电池内阻值":
@@ -1812,10 +2139,10 @@
                case "第1组电池组第102节单体电池内阻值":
                case "第1组电池组第103节单体电池内阻值":
                case "第1组电池组第104节单体电池内阻值": {
                    monResSb1.append(Float.valueOf(realtimeDataDTO.getVal()) + ",");
                    monTimeSB1.append(Float.valueOf(realtimeDataDTO.getTimestamp())+",");
                    break;
                    monResSb1.append(val).append(",");
                    monTimeSB1.append(realtimeDataDTO.getTimestamp()).append(",");
                }
                break;
                case "第1组电池组第1节单体负极极柱温度":
                case "第1组电池组第2节单体负极极柱温度":
                case "第1组电池组第3节单体负极极柱温度":
@@ -1920,10 +2247,18 @@
                case "第1组电池组第102节单体负极极柱温度":
                case "第1组电池组第103节单体负极极柱温度":
                case "第1组电池组第104节单体负极极柱温度":
                    monTmpSb1.append(Float.valueOf(realtimeDataDTO.getVal())+",");break;
                case "第2组电池组电压":battState2.setGroupVol(Float.valueOf(realtimeDataDTO.getVal()));break;
                case "第2组电池组电流":battState2.setGroupCurr(Float.valueOf(realtimeDataDTO.getVal()));break;
                case "第2组在线端电压":battState2.setOnlineVol(Float.valueOf(realtimeDataDTO.getVal()));break;
                    monTmpSb1.append(val).append(",");break;
                case "第2组电池组电压":battState2.setGroupVol(Float.valueOf(val));break;
                case "第2组电池组电流":battState2.setGroupCurr(Float.valueOf(val));break;
                case "第2组在线端电压": {
                    battState2.setOnlineVol(Float.valueOf(val));
                    try {
                        battState2.setRecDatetime(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(realtimeDataDTO.getTimestamp()));
                    }catch (Exception e){
                        //battState1.setRecDatetime();
                    }
                }
                break;
                case "第2组电池组第1节单体电池电压值":
                case "第2组电池组第2节单体电池电压值":
                case "第2组电池组第3节单体电池电压值":
@@ -2028,7 +2363,7 @@
                case "第2组电池组第102节单体电池电压值":
                case "第2组电池组第103节单体电池电压值":
                case "第2组电池组第104节单体电池电压值":
                    monVolSb2.append(Float.valueOf(realtimeDataDTO.getVal())+",");break;
                    monVolSb2.append(val).append(",");break;
                case "第2组电池组第1节单体电池内阻值":
                case "第2组电池组第2节单体电池内阻值":
                case "第2组电池组第3节单体电池内阻值":
@@ -2133,10 +2468,10 @@
                case "第2组电池组第102节单体电池内阻值":
                case "第2组电池组第103节单体电池内阻值":
                case "第2组电池组第104节单体电池内阻值": {
                    monResSb2.append(Float.valueOf(realtimeDataDTO.getVal()) + ",");
                    monTimeSB2.append(Float.valueOf(realtimeDataDTO.getTimestamp())+",");
                    break;
                    monResSb2.append(val).append(",");
                    monTimeSB2.append(realtimeDataDTO.getTimestamp()).append(",");
                }
                break;
                case "第2组电池组第1节单体负极极柱温度":
                case "第2组电池组第2节单体负极极柱温度":
                case "第2组电池组第3节单体负极极柱温度":
@@ -2241,9 +2576,54 @@
                case "第2组电池组第102节单体负极极柱温度":
                case "第2组电池组第103节单体负极极柱温度":
                case "第2组电池组第104节单体负极极柱温度":
                    monTmpSb2.append(Float.valueOf(realtimeDataDTO.getVal())+",");break;
                    monTmpSb2.append(val).append(",");break;
                default:break;
            }
        }
        //确定 设备1停止原因
        int stopReason1;
        String stopReason1Str = stopReasonSb1.toString();
        if(stopReason1Str.equals("")){
            stopReason1=255;
        }else{
            String[] stopReason1Split = stopReason1Str.split(",");
            stopReason1 = Integer.valueOf(stopReason1Split[0]);
        }
        //确定 设备2停止原因
        int stopReason2;
        String stopReason2Str = stopReasonSb2.toString();
        if(stopReason2Str.equals("")){
            stopReason2=255;
        }else{
            String[] stopReason2Split = stopReason2Str.split(",");
            stopReason2 = Integer.valueOf(stopReason2Split[0]);
        }
        //确定 设备状态1
        int deviceStateType1;
        String deviceState1Str = deviceStateSb1.toString();
        if(deviceState1Str.equals("")){
            deviceStateType1=-1;
        }else{
            String[] deviceState1Split = deviceState1Str.split(",");
            deviceStateType1 = Integer.valueOf(deviceState1Split[0]);
        }
        //确定 设备状态2
        int deviceStateType2;
        String deviceState2Str = deviceStateSb2.toString();
        if(deviceState2Str.equals("")){
            deviceStateType2=-1;
        }else{
            String[] deviceState2Split = deviceState2Str.split(",");
            deviceStateType2 = Integer.valueOf(deviceState2Split[0]);
        }
        //回写设备状态和终止原因
        deviceState1.setDevWorkstate(deviceStateType1);
        deviceState1.setDevLastCaptestStopType(stopReason1);
        deviceState2.setDevWorkstate(deviceStateType2);
        deviceState2.setDevLastCaptestStopType(stopReason2);
        //对应结果接收
        deviceStateList.add(deviceState1);
        deviceStateList.add(deviceState2);
src/main/resources/mapper/BattRtdataMapper.xml
@@ -174,6 +174,12 @@
        (#{battGroupId},#{item})
      </foreach>
    </insert>
    <insert id="addBatch">
      INSERT INTO `db_ram_db`.tb_batt_rtdata(BattGroupId,rec_datetime,mon_num,mon_vol,mon_tmp,mon_res) VALUES
      <foreach collection="list" item="item" separator=",">
        (#{item.battGroupId},#{item.recDatetime},#{item.monNum},#{item.monVol},#{item.monTmp},#{item.monRes})
      </foreach>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.whyc.pojo.BattRtdata">
    update tb_batt_rtdata
    <set>
src/main/resources/mapper/BattRtstateMapper.xml
@@ -364,7 +364,13 @@
      test_recordnum = #{testRecordnum,jdbcType=INTEGER}
    where num = #{num,jdbcType=BIGINT}
  </update>
  <select id="getCurrentSate" resultType="com.whyc.pojo.BattRtstate">
    <update id="updateBatch">
      <foreach collection="list" item="item" separator=";">
        update db_ram_db.tb_batt_rtstate set rec_datetime = #{item.recDatetime},online_vol = #{item.onlineVol},group_vol = #{item.groupVol},group_curr = #{item.groupCurr}
        where BattGroupId = #{item.battGroupId}
      </foreach>
    </update>
    <select id="getCurrentSate" resultType="com.whyc.pojo.BattRtstate">
    select batt_state,rec_datetime from db_ram_db.tb_batt_rtstate where BattGroupId=#{battGroupId} limit 1
  </select>
    <select id="getStation3D" resultType="com.whyc.pojo.BattRtstate">