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,7});
|
}else{
|
breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc1OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
|
|
}
|
|
//交流微段开关
|
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,7});
|
}else{
|
breakSwitch+= CommonUtil.getIntToBinary(switchReal.getAc2OutSwitch1TripFake(),new int[]{0,1,2,3,4,5,6,7});
|
}
|
|
//直流微段开关
|
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,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,9,10});
|
|
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);
|
}
|
}
|