lxw
2022-12-21 108da8c66924e7fc4015a0598f79b606f7436ad5
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
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 org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
 
@Service
public class DevParamService {
 
    @Resource
    private DevParamMapper mapper;
 
    //电池告警参数设置--列表查询
    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());
                    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());
        int flag=mapper.update(null,wrapper);
        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);
    }
}