| | |
| | | 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.PowerInf; |
| | | import com.whyc.pojo.RtData; |
| | | 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; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | @Autowired(required = false) |
| | | private PowerRealRt3Mapper realRt3Mapper; |
| | | |
| | | @Autowired(required = false) |
| | | private PowerAlarmMapper pAlarmMapper; |
| | | |
| | | @Autowired |
| | | private StationPowerRelationService stationPowerRelationService; |
| | | |
| | | @Autowired |
| | | private StationInfService stationInfService; |
| | | |
| | | //根据id获取电源信息 |
| | | public Map<String,Object> getInfById(int powerId) { |
| | | Map<String,Object> map=new HashMap<>(); |
| | |
| | | Integer devType=pinf.getDevType(); |
| | | map.put("devType",devType); |
| | | if(devType!=3){//第三种不包含单体实时 |
| | | List<RtData> list=getBattRt(pinf.getBinfId()); |
| | | 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; |
| | | } |
| | | //获取电电源信息 |
| | |
| | | List<RtData> list=rtDataMapper.selectList(wrapper); |
| | | return list; |
| | | } |
| | | |
| | | @Transactional |
| | | 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); |
| | | |
| | | //电源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,"删除完成"); |
| | | } |
| | | |
| | | 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);*/ |
| | | 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.getById(powerId); |
| | | return new Response().set(1,powerInf); |
| | | } |
| | | |
| | | public Response getProducerList() { |
| | | List<String> producerList = mapper.getProducerList(); |
| | | return new Response().set(1,producerList); |
| | | } |
| | | } |