whycxzp
2025-06-10 1d34cb0fbec1f4dd9999747f41f7c18ee25ee835
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
package com.whyc.service;
 
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.dto.Response;
import com.whyc.mapper.BattAlarmParamMapper;
import com.whyc.pojo.db_param.BattAlarmParam;
import com.whyc.util.ActionUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
@Service
public class BattAlarmParamService {
    @Resource
    private BattAlarmParamMapper mapper;
 
    //电池告警参数设置--列表查询
    public Response serchBattParamByCondition(List AlarmIds,  int pageNum,  int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List list = mapper.serchByCondition(AlarmIds);
        PageInfo pageInfo = new PageInfo(list);
        return new Response().set(1, pageInfo);
    }
 
    //查询电池优劣好坏的标准
    public Response serchQuality() {
        //0.查询劣化(告警)和损坏(更换)的阈值
        QueryWrapper<BattAlarmParam> alarmWrapper = new QueryWrapper();
        alarmWrapper.and(wrapper -> {
            return wrapper.eq("alm_name", "Batt_Alarm_Type_CapAlarm").or().eq("alm_name", "Batt_Alarm_Type_CapChange");
        });
        alarmWrapper.orderByAsc("alm_id");
        List<BattAlarmParam> paramList = mapper.selectList(alarmWrapper);
        float capAlarm = 0f;
        float capChange = 0f;
        if (paramList != null && paramList.size() > 0) {
            capAlarm = paramList.get(0).getAlmLowCoe();//劣化参数0.8
            capChange = paramList.get(1).getAlmLowCoe();//损坏参数0.6
        } else {
            capAlarm = 0.8f;
            capChange = 0.6f;
        }
        Map<String, Float> map = new HashMap<>();
        map.put("capAlarm", capAlarm);
        map.put("capChange", capChange);
        return new Response<>().setII(1, true, map, "查询电池优劣好坏的标准");
    }
 
    //告警参数设置
    @Transactional
    public Response setBattParam(List<BattAlarmParam> list) {
        if (list != null && list.size() > 0) {
            for (BattAlarmParam p : list) {
                UpdateWrapper wrapper = new UpdateWrapper();
                wrapper.set("alm_low_coe", p.getAlmLowCoe());
                wrapper.eq("alm_id", p.getAlmId());
                mapper.update((BattAlarmParam) ActionUtil.objeNull, wrapper);
            }
        }
        return new Response().set(1, true);
    }
 
    public List<BattAlarmParam> getList() {
        QueryWrapper<BattAlarmParam> query = Wrappers.query();
        query.orderByAsc("num");
        return mapper.selectList(query);
    }
 
    public Response updateByNum(BattAlarmParam param) {
        mapper.updateById(param);
        return new Response().setII(1,"修改完成");
    }
 
    public BattAlarmParam getTempAlarmParam() {
        QueryWrapper<BattAlarmParam> query = Wrappers.query();
        query.eq("alm_id", 119006);
        query.last(" limit 1");
        return mapper.selectOne(query);
    }
}