whyclxw
2024-07-01 0ce771b4a4ff5897dc91bb1b84a4561781b00ca5
src/main/java/com/whyc/service/CKPowerDevSignalService.java
@@ -2,12 +2,20 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.dto.Response;
import com.whyc.mapper.BreakerInfMapper;
import com.whyc.mapper.CKPowerDevSignalMapper;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevRt;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignal;
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignalSet;
import com.whyc.util.CommonUtil;
import com.whyc.util.DateUtil;
import org.omg.CORBA.OMGVMCID;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * 测控电源遥信量
@@ -18,10 +26,102 @@
    @Resource
    private CKPowerDevSignalMapper mapper;
    @Resource
    private BreakerInfMapper breakerInfMapper;
    public CKPowerDevSignal get() {
        QueryWrapper<CKPowerDevSignal> query = Wrappers.query();
        query.last(" limit 1");
        return mapper.selectOne(query);
    }
    public CKPowerDevSignalSet getForSet() {
        return mapper.getForSet();
    }
    //头部开关统计
    public Response getSwitchReal(){
        Map<String,String> map=new HashMap<>();
        map.put("onSwitch","0");
        map.put("offSwitch","0");
        map.put("nowTime",DateUtil.format_YYYY_MM_DD_HH_MM_SS(new Date()));
        map.put("recordTime",DateUtil.format_YYYY_MM_DD_HH_MM_SS(new Date()));
        QueryWrapper<CKPowerDevSignal> query = Wrappers.query();
        query.last(" limit 1");
        CKPowerDevSignal switchReal=mapper.selectOne(query);
        int breakSwitch=0;
        int offSwitch=0;
        if(switchReal!=null){
            //交流微段开关
            if (switchReal.getAc1InSwitchTripSt()==0){
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getAc1InSwitchTripReal(),new int[]{0});
            }else{
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getAc1InSwitchTripFake(),new int[]{0});
            }
            //1段交流
            if(switchReal.getAc1OutSwitch1TripSt()==0){//真实值
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripReal(),new int[]{0,1,2,3,4,5,6});
            }else{
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6});
            }
            //交流微段开关
            if (switchReal.getAc2InSwitchTripSt()==0){
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getAc2InSwitchTripReal(),new int[]{0});
            }else{
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getAc2InSwitchTripFake(),new int[]{0});
            }
            //2段交流
            if(switchReal.getAc2OutSwitch1TripSt()==0){//真实值
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripReal(),new int[]{0,1,2,3,4,5,6});
            }else{
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6});
            }
            //直流微段开关
            if (switchReal.getDcIn1SwitchTripSt()==0){
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn1SwitchTripReal(),new int[]{0});
            }else{
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn1SwitchTripFake(),new int[]{0});
            }
            //1段直流
            if(switchReal.getDc1Switch1TripSt()==0){//真实值
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            //直流微段开关
            if (switchReal.getDcIn2SwitchTripSt()==0){
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn2SwitchTripReal(),new int[]{0});
            }else{
                breakSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn2SwitchTripFake(),new int[]{0});
            }
            //2段直流
            if(switchReal.getDc2Switch1TripSt()==0){//真实值
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                breakSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            //统计分闸
            offSwitch+=CommonUtil.getIntToBinary(switchReal.getBreakerState1(),new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24});
            offSwitch+=CommonUtil.getIntToBinary(switchReal.getBreakerState2(),new int[]{0,1,2,3,4,5,6,7,8});
            map.put("recordTime", DateUtil.format_YYYY_MM_DD_HH_MM_SS(switchReal.getRecordTime()));
        }
        //获取总的启用断路器开关数
        int swtichAll=breakerInfMapper.getSwtichAll();
        map.put("offSwitch",String.valueOf(offSwitch));
        map.put("onSwitch",String.valueOf(swtichAll-offSwitch));
        map.put("breakSwitch",String.valueOf(breakSwitch));
        return new Response().set(1,map);
    }
}