lxw
2023-12-23 26576e9f9457467e6d6dbf037fba3f7235e7f38d
修改首页开关统计
2个文件已修改
76 ■■■■ 已修改文件
src/main/java/com/whyc/service/CKPowerDevSignalService.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/CommonUtil.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/CKPowerDevSignalService.java
@@ -9,6 +9,7 @@
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;
@@ -52,13 +53,20 @@
        CKPowerDevSignal switchReal=mapper.selectOne(query);
        int onSwitch=0;
        if(switchReal!=null){
            //交流微段开关
            if (switchReal.getAc1InSwitchTripSt()==0){
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getAc1InSwitchTripReal(),new int[]{0});
            }else{
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getAc1InSwitchTripFake(),new int[]{0});
            }
            //1段交流
            if(switchReal.getAc1OutSwitch1TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripReal());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripFake());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            if(switchReal.getAc1OutSwitch2TripSt()==0){//真实值
            /*if(switchReal.getAc1OutSwitch2TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch2TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch2TripFake());
@@ -72,14 +80,20 @@
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch4TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch4TripFake());
            }*/
            //交流微段开关
            if (switchReal.getAc2InSwitchTripSt()==0){
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getAc2InSwitchTripReal(),new int[]{0});
            }else{
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getAc2InSwitchTripFake(),new int[]{0});
            }
            //2段交流
            if(switchReal.getAc2OutSwitch1TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripReal());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripFake());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            if(switchReal.getAc2OutSwitch2TripSt()==0){//真实值
           /* if(switchReal.getAc2OutSwitch2TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch2TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch2TripFake());
@@ -93,14 +107,22 @@
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch4TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch4TripFake());
            }*/
            //直流微段开关
            if (switchReal.getDcIn1SwitchTripSt()==0){
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn1SwitchTripReal(),new int[]{0});
            }else{
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn1SwitchTripFake(),new int[]{0});
            }
            //1段直流
            if(switchReal.getDc1Switch1TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripReal());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripFake());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            if(switchReal.getDc1Switch2TripSt()==0){//真实值
           /* if(switchReal.getDc1Switch2TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch2TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch2TripFake());
@@ -114,14 +136,22 @@
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch4TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc1Switch4TripFake());
            }*/
            //直流微段开关
            if (switchReal.getDcIn2SwitchTripSt()==0){
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn2SwitchTripReal(),new int[]{0});
            }else{
                onSwitch+=CommonUtil.getIntToBinary(switchReal.getDcIn2SwitchTripFake(),new int[]{0});
            }
            //2段直流
            if(switchReal.getDc2Switch1TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripReal());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripReal(),new int[]{0,1,2,3,4,5,6,7});
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripFake());
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
            }
            if(switchReal.getDc2Switch2TripSt()==0){//真实值
            /*if(switchReal.getDc2Switch2TripSt()==0){//真实值
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch2TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch2TripFake());
@@ -135,7 +165,7 @@
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch4TripReal());
            }else{
                onSwitch+= CommonUtil.getIntToBinary(switchReal.getDc2Switch4TripFake());
            }
            }*/
            map.put("recordTime", DateUtil.format_YYYY_MM_DD_HH_MM_SS(switchReal.getRecordTime()));
        }
        map.put("onSwitch",String.valueOf(onSwitch));
src/main/java/com/whyc/util/CommonUtil.java
@@ -7,19 +7,25 @@
public class CommonUtil {
    //将数转换成二进制字符串并统计1的个数
    public static int getIntToBinary(int switchState){
        /*String binaryString=Integer.toBinaryString(switchState);
        System.out.println(binaryString);*/
    public static int getIntToBinary(int switchState,int[] bit){
        int count=0;
        while (switchState != 0){
            switchState = switchState & (switchState - 1);
        /*int ss=switchState&(1<<bit);
        while (ss != 0){
            ss = ss & (ss - 1);
            count++;
        }*/
        if(bit.length>0){
            for (int i=0;i<bit.length;i++){
                int ss=switchState&(1<<bit[i]);
                if(ss>0){
                    count++;
                }
            }
        }
        //System.out.println(count);
        return count;
    }
    public static void main(String[] args) {
        getIntToBinary(111111024);
        System.out.println(getIntToBinary(15,new int[]{0,1,2,3}));
    }
}