whycxzp
2025-06-09 c971825d2a2bc48c74f2ffe97127b50b14445e12
src/main/java/com/whyc/service/PowerInfService.java
@@ -7,10 +7,13 @@
import com.whyc.dto.Response;
import com.whyc.mapper.*;
import com.whyc.pojo.db_batt.PowerInf;
import com.whyc.pojo.db_batt.StationInf;
import com.whyc.pojo.db_batt.StationPowerRelation;
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 org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
@@ -36,6 +39,12 @@
    @Autowired(required = false)
    private PowerAlarmMapper pAlarmMapper;
    @Autowired
    private StationPowerRelationService stationPowerRelationService;
    @Autowired
    private StationInfService stationInfService;
    //根据id获取电源信息
    public  Map<String,Object> getInfById(int powerId) {
@@ -83,6 +92,7 @@
        return list;
    }
    @Transactional
    public Response add(PowerInf powerInf) {
        powerInf.setCreateTime(new Date());
        //对powerInf的 devType进行判断
@@ -99,11 +109,31 @@
            powerInf.setChannelCount(1);
        }
        mapper.insert(powerInf);
        //电源id获取
        int powerId = powerInf.getPowerId();
        //对站点名称进行查询,如果存在则直接绑定关系
        //如果不存在,则新增后,再绑定关系
        StationInf stationInf = stationInfService.getByStationName(powerInf.getStationName());
        Integer stationId = stationInf.getSinfId();
        if(stationInf == null) {
            StationInf stationNew = new StationInf();
            stationNew.setSinfName(powerInf.getStationName());
            int stationIdInDB = stationInfService.getMaxStationId();
            stationId = stationIdInDB + 1;
            stationNew.setSinfId(stationId);
            stationInfService.add(stationNew);
        }
        //站点和电源id关联
        stationPowerRelationService.add(stationId,powerId);
        return new Response().setII(1,"新增完成");
    }
    @Transactional
    public Response delete(int powerId) {
        mapper.deleteById(powerId);
        //删除跟电源相关的所有关联
        stationPowerRelationService.deleteByPowerId(powerId);
        return new Response().setII(1,"删除完成");
    }
@@ -116,16 +146,31 @@
    public Response getPage(int pageNum, int pageSize) {
        PageHelper helper = new PageHelper();
        helper.startPage(pageNum,pageSize);
        QueryWrapper<PowerInf> queryWrapper = Wrappers.query();
        /*QueryWrapper<PowerInf> queryWrapper = Wrappers.query();
        queryWrapper.orderByAsc("power_id");
        List<PowerInf> powerInfs = mapper.selectList(queryWrapper);
        List<PowerInf> powerInfs = mapper.selectList(queryWrapper);*/
        List<PowerInf> powerInfs = mapper.getList();
        PageInfo<PowerInf> pageInfo = new PageInfo<>(powerInfs);
        return new Response().set(1,pageInfo);
    }
    public Response getById(int powerId) {
        PowerInf powerInf = mapper.selectById(powerId);
        //PowerInf powerInf = mapper.selectById(powerId);
        PowerInf powerInf = mapper.getById(powerId);
        return new Response().set(1,powerInf);
    }
    public Response getProducerList() {
        List<String> producerList = mapper.getProducerList();
        return new Response().set(1,producerList);
    }
    public PowerInf getByBattGroupId(Integer battGroupId) {
        QueryWrapper<PowerInf> query = Wrappers.query();
        query.eq("binf_id",battGroupId);
        query.last(" limit 1");
        return mapper.selectOne(query);
    }
}