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.dto.PowerDto;
|
import com.whyc.dto.Response;
|
import com.whyc.dto.Statistic.Pwr7Stic;
|
import com.whyc.dto.Statistic.StationStic;
|
import com.whyc.mapper.BaojigroupPowerMapper;
|
import com.whyc.mapper.BaojigroupUsrMapper;
|
import com.whyc.mapper.PowerInfMapper;
|
import com.whyc.mapper.StationInfMapper;
|
import com.whyc.pojo.db_station.BattInf;
|
import com.whyc.pojo.db_station.PowerInf;
|
import com.whyc.pojo.db_station.StationInf;
|
import com.whyc.pojo.db_user.BaojigroupPower;
|
import com.whyc.pojo.db_user.BaojigroupUsr;
|
import com.whyc.pojo.db_user.User;
|
import com.whyc.util.ActionUtil;
|
import org.apache.commons.math3.analysis.function.Power;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class PowerInfService {
|
@Autowired(required = false)
|
private PowerInfMapper mapper;
|
|
@Autowired(required = false)
|
private StationInfMapper sinfMapper;
|
|
@Autowired(required = false)
|
private BaojigroupUsrMapper bjUserMapper;
|
|
@Autowired(required = false)
|
private BaojigroupPowerMapper bjPowerMapper;
|
|
/*添加电源
|
1.判断当前用户是否是包组用户
|
2.判断机房是否存在,若存在则在机房下添加电源,若不存在则新建机房+新建电源
|
3.电源需要编号,powerNum编号,电源名称自动生成通讯电源+powerNum
|
*/
|
@Transactional
|
public void addPower(PowerInf addpinf) {
|
//机房信息
|
StationInf addsinf= addpinf.getSinf();
|
//判断添加锁的时候机房是不是新机房
|
String fullName=addsinf.getProvice()+"_"+addsinf.getCity()+"_"+addsinf.getCountry()+"_"+addsinf.getStationName();
|
//判断机房是否存在
|
QueryWrapper wrapper=new QueryWrapper();
|
wrapper.eq("full_name",fullName);
|
wrapper.last("limit 1");
|
StationInf sinf=sinfMapper.selectOne(wrapper);
|
int stationId=0;
|
int powerId=0;
|
if(sinf!=null){
|
stationId=sinf.getStationId();
|
}else {
|
//获取对应的机房id
|
stationId = sinfMapper.getMaxStationId();
|
if (stationId == 0) {//数据库中没有站点
|
stationId = 40000001;
|
} else {
|
stationId += 1;
|
}
|
addsinf.setFullName(fullName);
|
addsinf.setStationId(stationId);
|
sinfMapper.insert(addsinf);
|
}
|
//电源需要编号,powerNum编号,电源名称自动生成通讯电源+powerNum
|
int powerNum=mapper.getMaxPowerNum(stationId);
|
if(powerNum==0){
|
powerNum=1;
|
}else{
|
powerNum+=1;
|
}
|
//再添加电源信息
|
addpinf.setStationId(stationId);
|
addpinf.setPowerNum(powerNum);
|
addpinf.setPowerName("通讯电源"+powerNum);
|
//获取对应的电源id
|
powerId = mapper.getMaxPowerId();
|
if (powerId == 0) {//数据库中没有站点
|
powerId = 10001;
|
} else {
|
powerId += 1;
|
}
|
addpinf.setPowerId(powerId);
|
int flag=mapper.insert(addpinf);
|
if(flag>0){
|
//当前人所在的包机组添加电源机房
|
insertInbaoji(stationId,powerId);
|
}
|
|
}
|
//当前人所在的包机组添加电源机房
|
public void insertInbaoji(Integer stationId,Integer powerId){
|
//重启线程并将锁加到当前人的包机组
|
User uinf= ActionUtil.getUser();
|
QueryWrapper wrapper1=new QueryWrapper();
|
wrapper1.eq("uid",uinf.getId());
|
List<BaojigroupUsr> groupIdList=bjUserMapper.selectList(wrapper1);
|
List<BaojigroupPower> baojigroupList=new ArrayList();
|
if(groupIdList!=null&&groupIdList.size()>0){
|
for (BaojigroupUsr bjUser:groupIdList) {
|
BaojigroupPower bjPower=new BaojigroupPower();
|
bjPower.setStationId(stationId);
|
bjPower.setPowerId(powerId);
|
bjPower.setBaojiGroupId(bjUser.getBaojiGroupId());
|
baojigroupList.add(bjPower);
|
}
|
}
|
bjPowerMapper.insertBatchSomeColumn(baojigroupList);
|
//processSurveyService.setUpThreadRestart();
|
}
|
//获取电源品牌(下拉)
|
public Response getCompanyByUid(Integer uid) {
|
List<String> list=mapper.getCompanyByUid(uid);
|
return new Response().setII(1,list.size()>0,list,"获取电源品牌(下拉)");
|
}
|
//获取电源型号(下拉)
|
public Response getPowerModelByUid(Integer uid) {
|
List<String> list=mapper.getPowerModelByUid(uid);
|
return new Response().setII(1,list.size()>0,list,"获取电源型号(下拉)");
|
}
|
//获取电源协议(下拉)
|
public Response getProtocolByUid(Integer uid) {
|
List<String> list=mapper.getProtocolByUid(uid);
|
return new Response().setII(1,list.size()>0,list,"获取电源协议(下拉)");
|
}
|
//获取电源信息
|
public PowerInf getPowerInfById(Integer powerId) {
|
QueryWrapper wrapper=new QueryWrapper();
|
wrapper.eq("power_id",powerId);
|
wrapper.last("limit 1");
|
PowerInf pinf=mapper.selectOne(wrapper);
|
return pinf;
|
}
|
//电源信息统计
|
public Response getPowerStatistic(StationStic stic) {
|
PageHelper.startPage(stic.getPageNum(),stic.getPageSize());
|
List<PowerInf> list=mapper.getPowerStatistic(stic);
|
PageInfo<PowerInf> pageInfo=new PageInfo<>(list);
|
return new Response().setII(1,list.size()>0,pageInfo,"电源信息统计");
|
}
|
//优良电源数量统计(1.2.7)
|
public List<PowerInf> getPwr7Statistic(Pwr7Stic stic) {
|
return mapper.getPwr7Statistic(stic);
|
}
|
|
public List<PowerInf> getListByUserId(Integer userId) {
|
return mapper.getListByUserId(userId);
|
}
|
}
|