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 {
@@ -27,6 +40,17 @@
    @Autowired(required = false)
    private StationInfMapper sinfMapper;
    @Autowired(required = false)
    private BaojigroupUsrMapper bjUserMapper;
    @Autowired(required = false)
    private BaojigroupPowerMapper bjPowerMapper;
    @Autowired(required = false)
    private InfoChangeService changeService;
    @Autowired
    private PowerheartParamService heartService;
    /*添加电源
    1.判断当前用户是否是包组用户
@@ -79,11 +103,81 @@
            powerId += 1;
        }
        addpinf.setPowerId(powerId);
        mapper.insert(addpinf);
        int flag=mapper.insert(addpinf);
        if(flag>0){
            //当前人所在的包机组添加电源机房
            insertInbaoji(stationId,powerId);
        }
        //添加完电源需要插入默认实时页面电源的心跳数据
        heartService.insertHeartData(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);
        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,"获取电源性能(下拉)");
    }
}