whyclxw
5 天以前 8c635598000e40edfb3edf5934124ad48d60f62d
src/main/java/com/whyc/service/PowerInfService.java
@@ -4,12 +4,23 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.BattCapperformanceEnum;
import com.whyc.constant.PwrCapperformanceEnum;
import com.whyc.dto.Param.ParamAlmDto;
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.PowerInfChange;
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;
@@ -17,7 +28,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class PowerInfService {
@@ -28,10 +41,16 @@
    private StationInfMapper sinfMapper;
    @Autowired(required = false)
    private BaojigroupService bjService;
    private BaojigroupUsrMapper bjUserMapper;
    @Autowired(required = false)
    private BattInfService binfService;
    private BaojigroupPowerMapper bjPowerMapper;
    @Autowired(required = false)
    private InfoChangeService changeService;
    @Autowired
    private PowerheartParamService heartService;
    /*添加电源
    1.判断当前用户是否是包组用户
@@ -39,13 +58,7 @@
    3.电源需要编号,powerNum编号,电源名称自动生成通讯电源+powerNum
    */
    @Transactional
   public Response addPower(PowerInf addpinf) {
       //先校验当前用户是否存在包机组不存在则不让添加电源
       User user= ActionUtil.getUser();
       int flag=bjService.checkUserBaojiGroup(user.getId());
       if(flag==0){
           return new Response().set(1,false,"当前用户不存在包机组");
       }
   public void addPower(PowerInf addpinf) {
        //机房信息
        StationInf addsinf= addpinf.getSinf();
        //判断添加锁的时候机房是不是新机房
@@ -90,52 +103,81 @@
            powerId += 1;
        }
        addpinf.setPowerId(powerId);
        mapper.insert(addpinf);
        return new Response().set(1, true, "添加电源");
        int flag=mapper.insert(addpinf);
        if(flag>0){
            //当前人所在的包机组添加电源机房
            insertInbaoji(stationId,powerId);
        }
        //添加完电源需要插入默认实时页面电源的心跳数据
        heartService.insertHeartData(powerId);
    }
    //删除电源(删除包机组下记录,删除电源下的电池组设备)
    @Transactional
    public Response delPower(Integer pid) {
        //删除所有包机组下的电源
        bjService.delPowerInBaoji(pid);
        //删除电源下的电池组
        binfService.delBattInPower(pid);
        //删除电源
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("power_id",pid);
        mapper.delete(wrapper);
        return new Response().set(1,true);
    //当前人所在的包机组添加电源机房
    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 updatePower(PowerInf pinf) {
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("power_id",pinf.getPowerId());
        if(pinf.getPowerName()!=null){
            wrapper.set("power_name",pinf.getPowerName());
        }
        if(pinf.getCompany()!=null){
            wrapper.set("company",pinf.getCompany());
        }
        if(pinf.getModel()!=null){
            wrapper.set("model",pinf.getModel());
        }
        if(pinf.getProtocol()!=null){
            wrapper.set("protocol",pinf.getProtocol());
        }
        if(pinf.getPowerIp()!=null){
            wrapper.set("power_ip",pinf.getPowerIp());
        }
        mapper.update((PowerInf) ActionUtil.objeNull,wrapper);
        return new Response().set(1,true);
    //获取电源品牌(下拉)
    public Response getCompanyByUid(Integer uid) {
        List<String> list=mapper.getCompanyByUid(uid);
        return new Response().setII(1,list.size()>0,list,"获取电源品牌(下拉)");
    }
    //查询电源
    public Response getPower(PowerDto dto) {
        User user= ActionUtil.getUser();
        dto.setUid(user.getId());
        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        List<PowerInf> list=mapper.getPower(dto);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list!=null,pageInfo,"查询电源");
    //获取电源型号(下拉)
    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);
        List<PowerInfChange> pinfChangeList=changeService.getPinfChange(powerId);
        pinf.setPinfChangeList(pinfChangeList);
        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);
    }
    //根据查询条件获取电源集合
    public PowerInf getPowerIdList(Integer powerId) {
        return mapper.getPowerIdList(powerId);
    }
    //获取电源性能(下拉)
    public Response getPwrCapperformance() {
        Map<Integer,String> map= PwrCapperformanceEnum.getOpInfo();
        return new Response().setII(1,true,map,"获取电源性能(下拉)");
    }
}