whyclxw
2024-07-01 0ce771b4a4ff5897dc91bb1b84a4561781b00ca5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.whyc.service;
 
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.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;
 
/**
 * 测控电源遥信量
 */
@Service
public class CKPowerDevSignalService {
 
    @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);
    }
}