fg电池监控平台的达梦数据库版本
whycxzp
2024-11-11 0f5f5e435cbc4c60ffad2bb84cfe8cc57ea32ddc
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.whyc.service;
 
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.Response;
import com.whyc.mapper.DevParamMapper;
import com.whyc.pojo.DevParam;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import javax.swing.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
 
@Service
public class DevParamService {
 
    @Resource
    private DevParamMapper mapper;
 
    @Autowired
    private ProcessSurveyService proSurveyservice;
 
    //电池告警参数设置--列表查询
    public Response serchByCondition(int devId, int almId) {
        List<DevParam> list=mapper.serchByCondition(devId,almId);
        list.stream().forEach(devParam->{
            switch (devParam.getAlmId()){
                case AlarmDaoFactory.Alarm_vol_Online :
                case AlarmDaoFactory.Alarm_vol_Group :
                    devParam.setBaseValue(String.valueOf(devParam.getMonVolStd()*devParam.getMonCount()));
                    break;
                case AlarmDaoFactory.Alarm_curr_Charge :
                case AlarmDaoFactory.Alarm_curr_Discharge :
                    devParam.setBaseValue(BigDecimal.valueOf(devParam.getMonCapStd()/10).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
                    break;
                case AlarmDaoFactory.Alarm_vol_Monomer :
                case AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID :
                    devParam.setBaseValue(String.valueOf(devParam.getMonVolStd()));
                    break;
                case AlarmDaoFactory.Alarm_tmp_Monomer :
                    devParam.setBaseValue("25");
                    break;
                case AlarmDaoFactory.Alarm_res_Monomer:
                    //基准值用标称值
                    //devParam.setBaseValue(BigDecimal.valueOf((1 * (devParam.getMonVolStd() / 2) / (devParam.getMonCapStd() / 100))).setScale(2, RoundingMode.HALF_UP).toString());
                    devParam.setBaseValue(String.valueOf(devParam.getMonResStd()));
                    break;
                case AlarmDaoFactory.Alarm_res_Conn:
                    devParam.setBaseValue("0.2");
                    break;
                case AlarmDaoFactory.ALM_TYPE_MONLYVOL_ID:
                    devParam.setBaseValue("1");
                    break;
                case AlarmDaoFactory.ALM_TYPE_MONREALCAP_ID:
                    devParam.setBaseValue(BigDecimal.valueOf(devParam.getMonCapStd()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
                    break;
            }
        });
        PageInfo pageInfo=new PageInfo(list);
        return  new Response().set(1,list);
    }
    //电池告警参数设置--列表修改
    public Response update(DevParam devParam) {
        UpdateWrapper wrapper = new UpdateWrapper();
        wrapper.eq("dev_id", devParam.getDevId());
        wrapper.eq("alm_id", devParam.getAlmId());
        wrapper.set("alm_high_coe", devParam.getAlmHighCoe());
        wrapper.set("alm_low_coe", devParam.getAlmLowCoe());
        wrapper.set("alm_high_level", devParam.getAlmHighLevel());
        wrapper.set("alm_low_level", devParam.getAlmLowLevel());
        wrapper.set("alm_high_en", devParam.getAlmHighEn());
        wrapper.set("alm_low_en", devParam.getAlmLowEn());
        wrapper.set("alm_delay_time", devParam.getAlmDelayTime());
        wrapper.set("alm_high_level_upper", devParam.getAlmHighLevelUpper());
        wrapper.set("alm_low_level_lower", devParam.getAlmLowLevelLower());
        if (devParam.getAlmHighCoeUpper() != null) {
            wrapper.set("alm_high_coe_upper", devParam.getAlmHighCoeUpper());
        }
        if (devParam.getAlmHighCoeUpperEn() != null) {
            wrapper.set("alm_high_coe_upper_en", devParam.getAlmHighCoeUpperEn());
        }
        if (devParam.getAlmLowCoeLower() != null) {
            wrapper.set("alm_low_coe_lower", devParam.getAlmLowCoeLower());
        }
        if (devParam.getAlmLowCoeLowerEn() != null) {
            wrapper.set("alm_low_coe_lower_en", devParam.getAlmLowCoeLowerEn());
        }
        int flag = mapper.update((DevParam) ActionUtil.objeNull, wrapper);
        //修改告警阈值重启线程
        proSurveyservice.setAlmThreadRestart();
        return new Response().set(flag);
    }
    //在线监测-实时监控-查询告警
    public Response serchParamById(int devId) {
        List list=mapper.serchParamById(devId);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().set(1,pageInfo);
    }
}