whycxzp
2025-03-24 acee3ec648c98a29c67efaa6eee416887f588185
src/main/java/com/whyc/service/PowerInfService.java
@@ -1,14 +1,18 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.*;
import com.whyc.pojo.PowerBattRt;
import com.whyc.pojo.PowerInf;
import com.whyc.pojo.PowerRealRt1;
import com.whyc.pojo.db_batt.PowerInf;
import com.whyc.pojo.db_power_alarm.PowerAlarm;
import com.whyc.pojo.db_real_batt.RtData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -19,7 +23,7 @@
    private PowerInfMapper mapper;
    @Autowired(required = false)
    private PowerBattRtMapper powerRtmapper;
    private RtDataMapper rtDataMapper;
    @Autowired(required = false)
    private PowerRealRt1Mapper realRt1Mapper;
@@ -29,6 +33,9 @@
    @Autowired(required = false)
    private PowerRealRt3Mapper realRt3Mapper;
    @Autowired(required = false)
    private PowerAlarmMapper pAlarmMapper;
    //根据id获取电源信息
    public  Map<String,Object> getInfById(int powerId) {
@@ -40,11 +47,14 @@
        Integer devType=pinf.getDevType();
        map.put("devType",devType);
        if(devType!=3){//第三种不包含单体实时
            List<PowerBattRt> list=getBattRt(powerId);
            List<RtData> list=getBattRt(pinf.getBattGroupId());
            map.put("battRt",list);
        }
        Object obj=getRealRt(powerId,devType);
        map.put("realRt"+devType,obj);
        List<PowerAlarm> powerAlarmList=pAlarmMapper.getResPowerAlm(powerId);
        map.put("powerAlarm",powerAlarmList);
        return map;
    }
    //获取电电源信息
@@ -66,10 +76,56 @@
    }
    //获取电源电池组信息
    private List<PowerBattRt> getBattRt(int powerId) {
    private List<RtData> getBattRt(int binfId) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("power_id",powerId);
        List<PowerBattRt> list=mapper.selectList(wrapper);
        wrapper.eq("binf_id",binfId);
        List<RtData> list=rtDataMapper.selectList(wrapper);
        return list;
    }
    public Response add(PowerInf powerInf) {
        powerInf.setCreateTime(new Date());
        //对powerInf的 devType进行判断
        //如果devType=3,battGroupId为0
        //如果devType!=3,battGroupId为数据库中最大值+1
        Integer devType = powerInf.getDevType();
        if(devType == 3){
            powerInf.setBattGroupId(0);
        }else{
            powerInf.setBattGroupId(mapper.selectMaxBattGroupId()+1);
        }
        //如果没指定channelCount,默认为1
        if(powerInf.getChannelCount() == null){
            powerInf.setChannelCount(1);
        }
        mapper.insert(powerInf);
        return new Response().setII(1,"新增完成");
    }
    public Response delete(int powerId) {
        mapper.deleteById(powerId);
        return new Response().setII(1,"删除完成");
    }
    public Response update(PowerInf powerInf) {
        powerInf.setUpdateTime(new Date());
        mapper.updateById(powerInf);
        return new Response().setII(1,"修改完成");
    }
    public Response getPage(int pageNum, int pageSize) {
        PageHelper helper = new PageHelper();
        helper.startPage(pageNum,pageSize);
        QueryWrapper<PowerInf> queryWrapper = Wrappers.query();
        queryWrapper.orderByAsc("power_id");
        List<PowerInf> powerInfs = mapper.selectList(queryWrapper);
        PageInfo<PowerInf> pageInfo = new PageInfo<>(powerInfs);
        return new Response().set(1,pageInfo);
    }
    public Response getById(int powerId) {
        PowerInf powerInf = mapper.selectById(powerId);
        return new Response().set(1,powerInf);
    }
}