bug修复
This commit is contained in:
parent
b4ac183029
commit
fb21ee1fc3
@ -5,6 +5,7 @@ import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket;
|
||||
import com.zhgd.xmgl.modules.rt.entity.vo.CountRtWorkTicketVo;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtWorkTicketService;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@ -129,4 +130,14 @@ public class RtWorkTicketController {
|
||||
public Result<CountRtWorkTicketVo> countRtWorkTicket(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||
return Result.success(rtWorkTicketService.countRtWorkTicket(paramMap));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "列表查询查询监控点预览取流URL列表(海康)", notes = "列表查询查询监控点预览取流URL列表(海康)", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "rtWorkTicketId", value = "榕图-工作票id", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = false, dataType = "String"),
|
||||
})
|
||||
@GetMapping(value = "/queryPlayUrlFromHikvision")
|
||||
public Result<List<VideoItem>> queryPlayUrlFromHikvision(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
return Result.success(rtWorkTicketService.queryPlayUrlFromHikvision(paramMap));
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket;
|
||||
import com.zhgd.xmgl.modules.rt.entity.vo.CountRtWorkTicketVo;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -27,4 +28,6 @@ public interface RtWorkTicketMapper extends BaseMapper<RtWorkTicket> {
|
||||
List<RtWorkTicket> queryList(@Param(Constants.WRAPPER) QueryWrapper<RtWorkTicket> queryWrapper);
|
||||
|
||||
CountRtWorkTicketVo countRtWorkTicket(HashMap<String, Object> paramMap);
|
||||
|
||||
List<VideoItem> selectProjectVideoList(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -35,4 +35,18 @@
|
||||
from rt_work_ticket
|
||||
where project_sn = #{projectSn}) t
|
||||
</select>
|
||||
|
||||
<select id="selectProjectVideoList" resultType="com.zhgd.xmgl.modules.video.entity.VideoItem">
|
||||
SELECT t1.*
|
||||
FROM video_item t1
|
||||
INNER JOIN project_video_config t2 ON t2.id = t1.video_id
|
||||
inner join rt_work_ticket_to_video_item rwttvi ON t1.item_id = rwttvi.video_item_id
|
||||
WHERE t2.is_enable = 1
|
||||
and t2.project_sn = #{projectSn}
|
||||
<if test="rtWorkTicketId != null and rtWorkTicketId != ''">
|
||||
and rwttvi.rt_work_ticket_id = #{rtWorkTicketId}
|
||||
</if>
|
||||
GROUP BY t1.item_id
|
||||
order by t1.sort_num
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -4,6 +4,7 @@ import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.xmgl.modules.rt.entity.vo.CountRtWorkTicketVo;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -27,4 +28,6 @@ public interface IRtWorkTicketService extends IService<RtWorkTicket> {
|
||||
void delete(HashMap<String, Object> map);
|
||||
|
||||
CountRtWorkTicketVo countRtWorkTicket(HashMap<String, Object> paramMap);
|
||||
|
||||
List<VideoItem> queryPlayUrlFromHikvision(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -10,7 +10,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectVideoConfigMapper;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryType;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket;
|
||||
@ -21,15 +23,20 @@ import com.zhgd.xmgl.modules.rt.mapper.*;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtWorkTicketService;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
||||
import com.zhgd.xmgl.modules.video.service.IVideoItemService;
|
||||
import com.zhgd.xmgl.modules.video.service.impl.VideoItemServiceImpl;
|
||||
import com.zhgd.xmgl.util.HikVideoUtil;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.AsyncResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -55,7 +62,9 @@ public class RtWorkTicketServiceImpl extends ServiceImpl<RtWorkTicketMapper, RtW
|
||||
@Autowired
|
||||
private ProjectVideoConfigMapper projectVideoConfigMapper;
|
||||
@Autowired
|
||||
private RtRiskSecurityLibraryTypeConcreteMapper rtRiskSecurityLibraryTypeConcreteMapper;
|
||||
private RtRiskSecurityLibraryTypeConcreteMapper rtiskSecurityLibraryTypeConcreteMapper;
|
||||
@Autowired
|
||||
private VideoItemServiceImpl videoItemService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -183,4 +192,21 @@ public class RtWorkTicketServiceImpl extends ServiceImpl<RtWorkTicketMapper, RtW
|
||||
public CountRtWorkTicketVo countRtWorkTicket(HashMap<String, Object> paramMap) {
|
||||
return baseMapper.countRtWorkTicket(paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VideoItem> queryPlayUrlFromHikvision(HashMap<String, Object> paramMap) {
|
||||
ProjectVideoConfig videoConfig = videoItemService.getEnableProjectVideoConfigByProjectSn(paramMap);
|
||||
if (videoConfig == null) {
|
||||
return null;
|
||||
}
|
||||
List<VideoItem> videoList = baseMapper.selectProjectVideoList(paramMap);
|
||||
for (VideoItem videoItem : videoList) {
|
||||
if (StringUtils.isNotEmpty(videoItem.getSerialNumber())) {
|
||||
String url = HikVideoUtil.callPostApiGetPreviewURL(videoItem.getSerialNumber(), "hls", null, videoConfig.getAccount(),
|
||||
videoConfig.getPassword(), videoConfig.getAppId(), videoConfig.getAppSecret());
|
||||
videoItem.setPlayUrl(url);
|
||||
}
|
||||
}
|
||||
return videoList;
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -187,4 +186,7 @@ public class VideoItem implements Serializable {
|
||||
@ApiModelProperty(value = "报警总数")
|
||||
private java.lang.Integer alarmCount;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "海康视频播放url(m3u8)")
|
||||
private java.lang.String playUrl;
|
||||
}
|
||||
|
||||
@ -546,7 +546,7 @@ public class VideoItemServiceImpl extends ServiceImpl<VideoItemMapper, VideoItem
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
private ProjectVideoConfig getEnableProjectVideoConfigByProjectSn(Map<String, Object> map) {
|
||||
public ProjectVideoConfig getEnableProjectVideoConfigByProjectSn(Map<String, Object> map) {
|
||||
QueryWrapper<ProjectVideoConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn"))
|
||||
.eq(ProjectVideoConfig::getIsEnable, 1);
|
||||
|
||||
@ -277,6 +277,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
.antMatchers("/xmgl/rtTool/updateRtToolStatus").permitAll()
|
||||
.antMatchers("/xmgl/rtWorkTicket/countRtWorkTicket").permitAll()
|
||||
.antMatchers("/xmgl/rtWorkTicket/page").permitAll()
|
||||
.antMatchers("/xmgl/rtWorkTicket/queryPlayUrlFromHikvision").permitAll()
|
||||
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
|
||||
.anyRequest().authenticated() // 剩下所有的验证都需要验证
|
||||
.and()
|
||||
|
||||
148
src/main/java/com/zhgd/xmgl/task/GantryCraneTask.java
Normal file
148
src/main/java/com/zhgd/xmgl/task/GantryCraneTask.java
Normal file
@ -0,0 +1,148 @@
|
||||
package com.zhgd.xmgl.task;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.jeecg.common.util.pass.HttpUtils;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.GantryCrane;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.GantryCraneCurrentData;
|
||||
import com.zhgd.xmgl.modules.bigdevice.mapper.GantryCraneCurrentDataMapper;
|
||||
import com.zhgd.xmgl.modules.bigdevice.mapper.GantryCraneMapper;
|
||||
import com.zhgd.xmgl.task.dto.GantryCraneCurrentDataDto;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 龙门吊定时任务
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class GantryCraneTask {
|
||||
@Autowired
|
||||
GantryCraneCurrentDataMapper gantryCraneCurrentDataMapper;
|
||||
@Autowired
|
||||
GantryCraneMapper gantryCraneMapper;
|
||||
|
||||
/**
|
||||
* 定时获取实时数据
|
||||
*/
|
||||
@SchedulerLock(name = "getGantryCraneTaskData", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||
@Scheduled(cron = "0 5 * * * ?")
|
||||
public void getGantryCraneTaskData() {
|
||||
log.info("getGantryCraneTaskData任务执行");
|
||||
HashMap<String, Object> pMap = new HashMap<>();
|
||||
pMap.put("uuid", "");
|
||||
pMap.put("time", "");
|
||||
pMap.put("interval", "");
|
||||
String rs = HttpUtils.postJson("", pMap);
|
||||
String uuid = null;
|
||||
GantryCrane gc = gantryCraneMapper.selectOne(new LambdaQueryWrapper<GantryCrane>()
|
||||
.eq(GantryCrane::getDevSn, uuid));
|
||||
if (gc == null) {
|
||||
//
|
||||
}
|
||||
GantryCraneCurrentDataDto dto = new GantryCraneCurrentDataDto();
|
||||
GantryCraneCurrentData entity = new GantryCraneCurrentData();
|
||||
entity.setDevSn(uuid);
|
||||
entity.setProjectSn(gc.getProjectSn());
|
||||
entity.setReciveTime(new Date());
|
||||
entity.setRunTime(null);
|
||||
entity.setWindSpeed(String.valueOf(dto.getWind1()));
|
||||
entity.setWindSpeedState(getWindSpeedState(dto.getAL1bit5()));
|
||||
entity.setAngleXAxis(null);
|
||||
entity.setAngleYAxis(null);
|
||||
entity.setLargeCraneRange(String.valueOf(dto.getDistance7()));
|
||||
entity.setLargeCraneSpeed(String.valueOf(dto.getSpeed1()));
|
||||
entity.setSmallCraneRange(null);
|
||||
entity.setSmallCraneSpeed(String.valueOf(dto.getSpeed1()));
|
||||
entity.setSecondSmallCraneRange(null);
|
||||
entity.setSecondSmallCraneSpeed(String.valueOf(dto.getSpeed2()));
|
||||
entity.setSmallCraneMainHookLoad(String.valueOf(dto.getNeiweight1()));
|
||||
entity.setSmallCraneMainHookHeight(String.valueOf(dto.getDistance5()));
|
||||
entity.setSmallCraneAuxiliaryHookLoad(String.valueOf(dto.getDistance6()));
|
||||
entity.setSmallCraneAuxiliaryHookHeight(null);
|
||||
entity.setSecondSmallCraneMainHookLoad(String.valueOf(dto.getNeiweight2()));
|
||||
entity.setSecondSmallCraneMainHookHeight(String.valueOf(dto.getDistance6()));
|
||||
entity.setSecondSmallCraneAuxiliaryHookLoad(null);
|
||||
entity.setSecondSmallCraneAuxiliaryHookHeight(null);
|
||||
entity.setMainHookCurrent(null);
|
||||
entity.setMainHookVoltage(null);
|
||||
entity.setSecondMainHookCurrent(null);
|
||||
entity.setSecondMainHookVoltage(null);
|
||||
entity.setSmallCraneRangeState(null);
|
||||
entity.setSecondSmallCraneRangeState(null);
|
||||
entity.setLargeCraneDistanceState(null);
|
||||
entity.setMainHookWeightState(null);
|
||||
entity.setSecondMainHookWeightState(null);
|
||||
entity.setAuxiliaryHookWeightState(null);
|
||||
entity.setSecondAuxiliaryHookWeightState(null);
|
||||
entity.setMainHookHeightState(null);
|
||||
entity.setSecondMainHookHeightState(null);
|
||||
entity.setAuxiliaryHookHeightState(null);
|
||||
entity.setSecondAuxiliaryHookHeightState(null);
|
||||
entity.setAngleXState(null);
|
||||
entity.setAngleYState(null);
|
||||
entity.setGatedState(null);
|
||||
entity.setAntiWindAndNonslipState(null);
|
||||
entity.setCableReelStatus(null);
|
||||
entity.setLargeCarSafeStatus(null);
|
||||
entity.setLargeCarRunStatus(null);
|
||||
entity.setSmallCarRunStatus(null);
|
||||
entity.setSecondSmallCarRunStatus(null);
|
||||
entity.setMasterHookRunStatus(getMasterHookRunStatus(dto));
|
||||
entity.setSecondMasterHookRunStatus(getSecondMasterHookRunStatus(dto));
|
||||
entity.setSubHookRunStatus(null);
|
||||
entity.setSecondSubHookRunStatus(null);
|
||||
entity.setDriverName(null);
|
||||
entity.setDriverIdCard(null);
|
||||
entity.setTotalDay(String.valueOf(dto.getCumulativeWorkingTime()));
|
||||
entity.setTotalTimes(String.valueOf(dto.getCumulativeWorkingTime()));
|
||||
entity.setPowerOnDay(String.valueOf(dto.getWorkTime()));
|
||||
entity.setPowerOnTimes(String.valueOf(dto.getWorkTime()));
|
||||
//gantryCraneCurrentDataMapper.insert(entity);
|
||||
}
|
||||
|
||||
private Integer getSecondMasterHookRunStatus(GantryCraneCurrentDataDto dto) {
|
||||
//小车2主钩运行状态 0:停止 1:上升 2:下降 3:故障
|
||||
if (Objects.equals(dto.getOP1bit6(), 0) || Objects.equals(dto.getOP1bit7(), 0)) {
|
||||
return 0;
|
||||
} else if (Objects.equals(dto.getOP1bit6(), 1)) {
|
||||
return 1;
|
||||
} else if (Objects.equals(dto.getOP1bit7(), 1)) {
|
||||
return 2;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Integer getMasterHookRunStatus(GantryCraneCurrentDataDto dto) {
|
||||
//主钩运行状态 0:停止 1:上升 2:下降 3:故障
|
||||
if (Objects.equals(dto.getOP1bit0(), 0) || Objects.equals(dto.getOP1bit1(), 0)) {
|
||||
return 0;
|
||||
} else if (Objects.equals(dto.getOP1bit0(), 1)) {
|
||||
return 1;
|
||||
} else if (Objects.equals(dto.getOP1bit1(), 1)) {
|
||||
return 2;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Integer getWindSpeedState(String al1bit5) {
|
||||
if (StrUtil.isBlank(al1bit5)) {
|
||||
return null;
|
||||
}
|
||||
switch (al1bit5) {
|
||||
case "0":
|
||||
return 0;
|
||||
case "1":
|
||||
return 2;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
package com.zhgd.xmgl.task.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GantryCraneCurrentDataDto {
|
||||
@JsonProperty("DevID")
|
||||
private String devID;
|
||||
@JsonProperty("DevType")
|
||||
private String devType;
|
||||
@JsonProperty("WorkTime")
|
||||
private Double workTime;
|
||||
@JsonProperty("CumulativeWorkingTime")
|
||||
private Double cumulativeWorkingTime;
|
||||
@JsonProperty("OperatingCycleNumber")
|
||||
private Long operatingCycleNumber;
|
||||
@JsonProperty("Neiweight1")
|
||||
private Long neiweight1;
|
||||
@JsonProperty("Neiweight2")
|
||||
private Long neiweight2;
|
||||
@JsonProperty("Neiweight5")
|
||||
private Long neiweight5;
|
||||
@JsonProperty("Distance5")
|
||||
private Double distance5;
|
||||
@JsonProperty("Distance6")
|
||||
private Double distance6;
|
||||
@JsonProperty("Distance7")
|
||||
private Long distance7;
|
||||
@JsonProperty("Distance10")
|
||||
private Double distance10;
|
||||
@JsonProperty("Distance11")
|
||||
private Double distance11;
|
||||
@JsonProperty("Distance12")
|
||||
private Double distance12;
|
||||
@JsonProperty("Distance13")
|
||||
private Long distance13;
|
||||
@JsonProperty("Distance14")
|
||||
private Long distance14;
|
||||
@JsonProperty("Wind1")
|
||||
private Long wind1;
|
||||
@JsonProperty("Wind2")
|
||||
private Long wind2;
|
||||
@JsonProperty("Speed1")
|
||||
private Long speed1;
|
||||
@JsonProperty("Speed2")
|
||||
private Long speed2;
|
||||
@JsonProperty("BRbit0")
|
||||
private String bRbit0;
|
||||
@JsonProperty("BRbit1")
|
||||
private String bRbit1;
|
||||
@JsonProperty("BRbit2")
|
||||
private String bRbit2;
|
||||
@JsonProperty("BRbit3")
|
||||
private String bRbit3;
|
||||
@JsonProperty("LI1bit0")
|
||||
private String lI1bit0;
|
||||
@JsonProperty("LI1bit1")
|
||||
private String lI1bit1;
|
||||
@JsonProperty("LI1bit2")
|
||||
private String lI1bit2;
|
||||
@JsonProperty("LI1bit3")
|
||||
private String lI1bit3;
|
||||
@JsonProperty("LI1bit8")
|
||||
private String lI1bit8;
|
||||
@JsonProperty("LI1bit10")
|
||||
private String lI1bit10;
|
||||
@JsonProperty("LI1bit12")
|
||||
private String lI1bit12;
|
||||
@JsonProperty("LI1bit13")
|
||||
private String lI1bit13;
|
||||
@JsonProperty("LI2bit0")
|
||||
private String lI2bit0;
|
||||
@JsonProperty("LI2bit3")
|
||||
private String lI2bit3;
|
||||
@JsonProperty("LI2bit4")
|
||||
private String lI2bit4;
|
||||
@JsonProperty("LI2bit5")
|
||||
private String lI2bit5;
|
||||
@JsonProperty("AL1bit0")
|
||||
private String aL1bit0;
|
||||
@JsonProperty("AL1bit1")
|
||||
private String aL1bit1;
|
||||
@JsonProperty("AL1bit4")
|
||||
private String aL1bit4;
|
||||
@JsonProperty("AL1bit5")
|
||||
private String aL1bit5;
|
||||
@JsonProperty("AL1bit12")
|
||||
private String aL1bit12;
|
||||
@JsonProperty("AL1bit13")
|
||||
private String aL1bit13;
|
||||
@JsonProperty("AL2bit0")
|
||||
private String aL2bit0;
|
||||
@JsonProperty("OP1bit0")
|
||||
private String oP1bit0;
|
||||
@JsonProperty("OP1bit1")
|
||||
private String oP1bit1;
|
||||
@JsonProperty("OP1bit6")
|
||||
private String oP1bit6;
|
||||
@JsonProperty("OP1bit7")
|
||||
private String oP1bit7;
|
||||
@JsonProperty("OP2bit0")
|
||||
private String oP2bit0;
|
||||
@JsonProperty("OP2bit1")
|
||||
private String oP2bit1;
|
||||
@JsonProperty("OP2bit6")
|
||||
private String oP2bit6;
|
||||
@JsonProperty("OP2bit7")
|
||||
private String oP2bit7;
|
||||
@JsonProperty("OP3bit0")
|
||||
private String oP3bit0;
|
||||
@JsonProperty("OP3bit1")
|
||||
private String oP3bit1;
|
||||
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user