whyclxw
6 天以前 9b85345450e2e194a84679bb6612f58a3124aee8
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
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.constant.BattAlarmIdEnum;
import com.whyc.dto.Param.ParamAlmDto;
import com.whyc.dto.Real.AlmDto;
import com.whyc.dto.Response;
import com.whyc.mapper.BattAlmparamMapper;
import com.whyc.pojo.db_param.BattAlmparam;
import com.whyc.pojo.db_station.BattInf;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
@Service
public class BattAlmparamService {
    @Autowired(required = false)
    private BattAlmparamMapper mapper;
 
    @Autowired(required = false)
    private BattInfService binfService;
    //获取电池告警参数
    public Response getBattAlmParam(ParamAlmDto dto) {
        //根据查询条件获取电池组集合
        BattInf binf=binfService.getBattgroupIdList(dto.getBattgroupId());
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("battgroup_id",dto.getBattgroupId());
        if(dto.getAlmIdList()!=null){
            wrapper.in("alm_id",dto.getAlmIdList());
        }
        wrapper.orderByAsc("alm_id");
        //PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        List<BattAlmparam> list = mapper.selectList(wrapper);
        //PageInfo<BattAlmparam> pageInfo=new PageInfo<>(list);
        return new Response().setIII(1,list!=null,list,binf,"获取电池告警参数");
    }
    //获取电池告警参数(无参用于导出)
    public Response getBattAlmParamToExport(Integer uid) {
        //获取所有的电池组id
        List<BattAlmparam> list = mapper.getBattAlmParamToExport(uid);
        return new Response().setII(1,list!=null,list,"获取电池告警参数");
    }
    //修改电池告警参数
    public Response setBattAlmParam(List<BattAlmparam> almparamList) {
        for (BattAlmparam param:almparamList) {
            UpdateWrapper wrapper=new UpdateWrapper();
            wrapper.eq("battgroup_id",param.getBattgroupId());
            wrapper.eq("alm_id",param.getAlmId());
            mapper.update(param,wrapper);
        }
        return new Response().set(1,true,"修改电池告警参数");
    }
 
    //查询当前电池组当前单体电压或者单体内阻低于其单体电压的下下限或高于上上限判定当前电池组劣化
    public List<BattAlmparam> getAlmParamVolAndRes(Integer battgroupId) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("battgroup_id",battgroupId);
        wrapper.in("alm_id",  Arrays.asList(BattAlarmIdEnum.ALARM_119005, BattAlarmIdEnum.ALARM_119007));
        wrapper.orderByAsc("alm_id");
        List<BattAlmparam> list = mapper.selectList(wrapper);
        return list;
    }
}