Merge remote-tracking branch 'origin/dunhuan_jdk8' into dunhuang
# Conflicts: # src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java # src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java
This commit is contained in:
commit
2c2a30fd39
@ -276,38 +276,49 @@ public class HighFormworkSupportService {
|
|||||||
if (StringUtils.isNotBlank(no)) {
|
if (StringUtils.isNotBlank(no)) {
|
||||||
String noType = no.substring(no.length() - 1);
|
String noType = no.substring(no.length() - 1);
|
||||||
String f = "F";
|
String f = "F";
|
||||||
|
String val = dataMap.get(gzDs2);
|
||||||
if (f.equals(noType)) {
|
if (f.equals(noType)) {
|
||||||
currentData.setPoleAxialForce(String.valueOf(Double.parseDouble(dataMap.get(gzDs2))));
|
currentData.setPoleAxialForce(String.valueOf(Double.parseDouble(val)));
|
||||||
}
|
}
|
||||||
String h = "H";
|
String h = "H";
|
||||||
if (h.equals(noType)) {
|
if (h.equals(noType)) {
|
||||||
currentData.setHorizontalDisplacement(dataMap.get(gzDs2));
|
currentData.setHorizontalDisplacement(val);
|
||||||
}
|
}
|
||||||
String v = "V";
|
String v = "V";
|
||||||
if (v.equals(noType)) {
|
if (v.equals(noType)) {
|
||||||
currentData.setFormworkSettlement(dataMap.get(gzDs2));
|
currentData.setFormworkSettlement(val);
|
||||||
}
|
}
|
||||||
String l = "L";
|
String l = "L";
|
||||||
if (l.equals(noType)) {
|
if (l.equals(noType)) {
|
||||||
currentData.setPoleTilt(dataMap.get(gzDs2));
|
currentData.setPoleTilt(val);
|
||||||
}
|
}
|
||||||
String d = "D";
|
String d = "D";
|
||||||
if (d.equals(noType)) {
|
if (d.equals(noType)) {
|
||||||
currentData.setFoundationSettlement(dataMap.get(gzDs2));
|
currentData.setFoundationSettlement(val);
|
||||||
|
}
|
||||||
|
String s = "S";
|
||||||
|
if (s.equals(noType)) {
|
||||||
|
currentData.setHorizontalTilt(val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAlarmStatus(HashMap<String, String> dataMap, HighFormworkMeasureCurrentData currentData) {
|
private void setAlarmStatus(HashMap<String, String> dataMap, HighFormworkMeasureCurrentData currentData) {
|
||||||
Integer alarmState = null;
|
Integer alarmState = null;
|
||||||
if (getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT1)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
if (Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT1)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
||||||
getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT2)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT2)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
||||||
getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT3)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode())) {
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT3)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT4)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT5)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT6)), HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode())) {
|
||||||
//报警
|
//报警
|
||||||
alarmState = HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode();
|
alarmState = HighFormworkMeasureCurrentDataAlarmStateEnum.ALARM.getCode();
|
||||||
} else if (getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT1)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
} else if (Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT1)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
||||||
getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT2)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT2)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
||||||
getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT3)).equals(HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode())) {
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT3)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT4)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT5)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode()) ||
|
||||||
|
Objects.equals(getAlarmState(dataMap.get(HighFormworkSupport.GZ_ZT6)), HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode())) {
|
||||||
//预警
|
//预警
|
||||||
alarmState = HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode();
|
alarmState = HighFormworkMeasureCurrentDataAlarmStateEnum.PRE_ALARM.getCode();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class HighFormworkAlarmData implements Serializable {
|
|||||||
@TableId(type = IdType.ASSIGN_ID)
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
private java.lang.Long id;
|
private java.lang.Long id;
|
||||||
@ApiModelProperty(value = "类型:1立杆轴力2水平位移3模板沉降4立杆倾斜5地基沉降")
|
@ApiModelProperty(value = "类型:1立杆轴力2水平位移3模板沉降4立杆倾斜5地基沉降6水平倾斜")
|
||||||
private java.lang.Integer type;
|
private java.lang.Integer type;
|
||||||
/**
|
/**
|
||||||
* 监测点ID
|
* 监测点ID
|
||||||
|
|||||||
@ -51,22 +51,26 @@ public class HighFormworkMeasureCurrentData implements Serializable {
|
|||||||
/**X轴倾角(°)*/
|
/**X轴倾角(°)*/
|
||||||
@Excel(name = "X轴倾角(°)", width = 15)
|
@Excel(name = "X轴倾角(°)", width = 15)
|
||||||
@ApiModelProperty(value="X轴倾角(°)")
|
@ApiModelProperty(value="X轴倾角(°)")
|
||||||
|
@Deprecated
|
||||||
private java.lang.String angleXAxis ;
|
private java.lang.String angleXAxis ;
|
||||||
/**Y轴倾角(°)*/
|
/**Y轴倾角(°)*/
|
||||||
@Excel(name = "Y轴倾角(°)", width = 15)
|
@Excel(name = "Y轴倾角(°)", width = 15)
|
||||||
@ApiModelProperty(value = "Y轴倾角(°)")
|
@ApiModelProperty(value = "Y轴倾角(°)")
|
||||||
|
@Deprecated
|
||||||
private java.lang.String angleYAxis;
|
private java.lang.String angleYAxis;
|
||||||
/**
|
/**
|
||||||
* 压力(kN)
|
* 压力(kN)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "压力(kN)", width = 15)
|
@Excel(name = "压力(kN)", width = 15)
|
||||||
@ApiModelProperty(value = "压力(kN)")
|
@ApiModelProperty(value = "压力(kN)")
|
||||||
|
@Deprecated
|
||||||
private java.lang.String pressure;
|
private java.lang.String pressure;
|
||||||
/**
|
/**
|
||||||
* 沉降(mm)
|
* 沉降(mm)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "沉降(mm)", width = 15)
|
@Excel(name = "沉降(mm)", width = 15)
|
||||||
@ApiModelProperty(value = "沉降(mm)")
|
@ApiModelProperty(value = "沉降(mm)")
|
||||||
|
@Deprecated
|
||||||
private java.lang.String subside;
|
private java.lang.String subside;
|
||||||
@ApiModelProperty(value = "立杆轴力")
|
@ApiModelProperty(value = "立杆轴力")
|
||||||
private java.lang.String poleAxialForce;
|
private java.lang.String poleAxialForce;
|
||||||
@ -91,7 +95,8 @@ public class HighFormworkMeasureCurrentData implements Serializable {
|
|||||||
@Excel(name = "采集仪编号", width = 15)
|
@Excel(name = "采集仪编号", width = 15)
|
||||||
@ApiModelProperty(value = "采集仪编号")
|
@ApiModelProperty(value = "采集仪编号")
|
||||||
private java.lang.String acquisitionInstrumentNumber;
|
private java.lang.String acquisitionInstrumentNumber;
|
||||||
|
@ApiModelProperty(value = "水平倾斜")
|
||||||
|
private java.lang.String horizontalTilt;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "测量点名称")
|
@ApiModelProperty(value = "测量点名称")
|
||||||
private java.lang.String measurePointName;
|
private java.lang.String measurePointName;
|
||||||
|
|||||||
@ -1,16 +1,14 @@
|
|||||||
package com.zhgd.xmgl.modules.highformwork.entity;
|
package com.zhgd.xmgl.modules.highformwork.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
/**
|
/**
|
||||||
* @Description: 高支模-测量点报警预警阀值
|
* @Description: 高支模-测量点报警预警阀值
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -36,7 +34,7 @@ public class HighFormworkMeasurePointThreshold implements Serializable {
|
|||||||
@ApiModelProperty(value = "监测点ID")
|
@ApiModelProperty(value = "监测点ID")
|
||||||
|
|
||||||
private java.lang.Long measurePointId;
|
private java.lang.Long measurePointId;
|
||||||
@ApiModelProperty(value = "类型:1立杆轴力2水平位移3模板沉降4立杆倾斜5地基沉降")
|
@ApiModelProperty(value = "类型:1立杆轴力2水平位移3模板沉降4立杆倾斜5地基沉降6水平倾斜")
|
||||||
private java.lang.Integer type;
|
private java.lang.Integer type;
|
||||||
/**
|
/**
|
||||||
* 预警值
|
* 预警值
|
||||||
|
|||||||
@ -25,4 +25,6 @@ public class DataPerHourForTheLastDayVo {
|
|||||||
private java.lang.String poleTilt;
|
private java.lang.String poleTilt;
|
||||||
@ApiModelProperty(value = "地基沉降")
|
@ApiModelProperty(value = "地基沉降")
|
||||||
private java.lang.String foundationSettlement;
|
private java.lang.String foundationSettlement;
|
||||||
|
@ApiModelProperty(value = "水平倾斜")
|
||||||
|
private java.lang.String horizontalTilt;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
hfmcd.formwork_settlement,
|
hfmcd.formwork_settlement,
|
||||||
hfmcd.pole_tilt,
|
hfmcd.pole_tilt,
|
||||||
hfmcd.foundation_settlement,
|
hfmcd.foundation_settlement,
|
||||||
|
hfmcd.horizontal_tilt,
|
||||||
hfmp.measure_point_name
|
hfmp.measure_point_name
|
||||||
from high_formwork_measure_current_data hfmcd
|
from high_formwork_measure_current_data hfmcd
|
||||||
join high_formwork_measure_point hfmp on hfmcd.measure_point_number = hfmp.measure_point_number and
|
join high_formwork_measure_point hfmp on hfmcd.measure_point_number = hfmp.measure_point_number and
|
||||||
@ -74,7 +75,8 @@
|
|||||||
ifnull(avg(cd.horizontal_displacement),0) as horizontal_displacement,
|
ifnull(avg(cd.horizontal_displacement),0) as horizontal_displacement,
|
||||||
ifnull(avg(cd.formwork_settlement),0) as formwork_settlement,
|
ifnull(avg(cd.formwork_settlement),0) as formwork_settlement,
|
||||||
ifnull(avg(cd.pole_tilt),0) as pole_tilt,
|
ifnull(avg(cd.pole_tilt),0) as pole_tilt,
|
||||||
ifnull(avg(cd.foundation_settlement),0) as foundation_settlement
|
ifnull(avg(cd.foundation_settlement),0) as foundation_settlement,
|
||||||
|
ifnull(avg(cd.horizontal_tilt),0) as horizontal_tilt
|
||||||
from high_formwork_measure_current_data cd
|
from high_formwork_measure_current_data cd
|
||||||
INNER JOIN high_formwork_measure_point mp ON mp.measure_point_number = cd.measure_point_number and
|
INNER JOIN high_formwork_measure_point mp ON mp.measure_point_number = cd.measure_point_number and
|
||||||
cd.acquisition_instrument_number = mp.acquisition_instrument_number
|
cd.acquisition_instrument_number = mp.acquisition_instrument_number
|
||||||
|
|||||||
@ -140,6 +140,17 @@ public class HighFormworkAlarmDataServiceImpl extends ServiceImpl<HighFormworkAl
|
|||||||
insertHighFormworkAlarmData(point, subside, 5, 2);
|
insertHighFormworkAlarmData(point, subside, 5, 2);
|
||||||
isWarn = true;
|
isWarn = true;
|
||||||
}
|
}
|
||||||
|
} else if (type == 6) {
|
||||||
|
Double horizontalTilt = StringUtils.isNotBlank(currentData.getHorizontalTilt()) ? Double.valueOf(currentData.getHorizontalTilt()) : null;
|
||||||
|
if (horizontalTilt != null && alarmValue != null && alarmValue < horizontalTilt) {
|
||||||
|
//报警
|
||||||
|
insertHighFormworkAlarmData(point, horizontalTilt, 6, 1);
|
||||||
|
isAlarm = true;
|
||||||
|
} else if (horizontalTilt != null && warningValue != null && warningValue < horizontalTilt) {
|
||||||
|
//预警
|
||||||
|
insertHighFormworkAlarmData(point, horizontalTilt, 6, 2);
|
||||||
|
isWarn = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,10 @@
|
|||||||
package com.zhgd.xmgl.modules.highformwork.service.impl;
|
package com.zhgd.xmgl.modules.highformwork.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
|
||||||
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasureCurrentData;
|
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasureCurrentData;
|
||||||
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasurePoint;
|
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasurePoint;
|
||||||
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasurePointThreshold;
|
import com.zhgd.xmgl.modules.highformwork.entity.HighFormworkMeasurePointThreshold;
|
||||||
@ -190,6 +188,7 @@ public class HighFormworkMeasureCurrentDataServiceImpl extends ServiceImpl<HighF
|
|||||||
vo.setFormworkSettlement("0");
|
vo.setFormworkSettlement("0");
|
||||||
vo.setPoleTilt("0");
|
vo.setPoleTilt("0");
|
||||||
vo.setFoundationSettlement("0");
|
vo.setFoundationSettlement("0");
|
||||||
|
vo.setHorizontalTilt("0");
|
||||||
}
|
}
|
||||||
rtList.add(vo);
|
rtList.add(vo);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -123,9 +123,9 @@ public class PoliceCameraItem implements Serializable {
|
|||||||
@ApiModelProperty(value = "电量")
|
@ApiModelProperty(value = "电量")
|
||||||
private java.lang.String batteryLevel;
|
private java.lang.String batteryLevel;
|
||||||
/**
|
/**
|
||||||
* 设备状态,1在线,2离线
|
* 设备状态,1在线,2离线(监控)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "设备状态,1在线,2离线")
|
@ApiModelProperty(value = "设备状态,1在线,2离线(监控)")
|
||||||
private java.lang.Integer deviceState;
|
private java.lang.Integer deviceState;
|
||||||
/**
|
/**
|
||||||
* 排序
|
* 排序
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.zhgd.xmgl.modules.policecamera.entity.bo;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PoliceCameraVideoConfigBo extends PoliceCameraVideoConfig {
|
||||||
|
/**
|
||||||
|
*projectSns
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("projectSns")
|
||||||
|
private String projectSns;
|
||||||
|
}
|
||||||
@ -1,18 +1,17 @@
|
|||||||
package com.zhgd.xmgl.modules.policecamera.mapper;
|
package com.zhgd.xmgl.modules.policecamera.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig;
|
|
||||||
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraVideoConfigVo;
|
|
||||||
import com.zhgd.xmgl.modules.policecamera.entity.dto.PoliceCameraVideoConfigDto;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraVideoConfigVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 执法记录仪视频配置
|
* @Description: 执法记录仪视频配置
|
||||||
|
|||||||
@ -165,8 +165,11 @@ public class HighFormworkTask {
|
|||||||
}
|
}
|
||||||
currentData.setPoleAxialForce(Convert.toStr(poleAxialForce));
|
currentData.setPoleAxialForce(Convert.toStr(poleAxialForce));
|
||||||
currentData.setHorizontalDisplacement(data.getString("spanX" + no));
|
currentData.setHorizontalDisplacement(data.getString("spanX" + no));
|
||||||
|
currentData.setPoleTilt(data.getString("dipY" + no));
|
||||||
|
currentData.setFoundationSettlement(data.getString("spanY" + no));
|
||||||
currentData.setFormworkSettlement(data.getString("down" + no));
|
currentData.setFormworkSettlement(data.getString("down" + no));
|
||||||
currentData.setAcquisitionInstrumentNumber(point.getAcquisitionInstrumentNumber());
|
currentData.setAcquisitionInstrumentNumber(point.getAcquisitionInstrumentNumber());
|
||||||
|
currentData.setHorizontalTilt(data.getString("dipX" + no));
|
||||||
dataService.save(currentData);
|
dataService.save(currentData);
|
||||||
highFormworkAlarmDataService.addAlarmData(point, currentData);
|
highFormworkAlarmDataService.addAlarmData(point, currentData);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,24 +61,24 @@ public class Mcs8Task {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 定时更新执法仪设备状态
|
// * 定时更新执法仪设备状态
|
||||||
*/
|
// */
|
||||||
@Scheduled(cron = "*/5 * * * * ?")
|
// @Scheduled(cron = "*/5 * * * * ?")
|
||||||
@RequestMapping("updateStatus")
|
// @RequestMapping("updateStatus")
|
||||||
public void updateStatus() {
|
// public void updateStatus() {
|
||||||
List<Project> projects = projectService.list();
|
// List<Project> projects = projectService.list();
|
||||||
for (Project project : projects) {
|
// for (Project project : projects) {
|
||||||
try {
|
// try {
|
||||||
PoliceCameraManufacturer manufacturer = policeCameraManufacturerFactory.getPoliceCameraManufacturer(project.getProjectSn());
|
// PoliceCameraManufacturer manufacturer = policeCameraManufacturerFactory.getPoliceCameraManufacturer(project.getProjectSn());
|
||||||
if (manufacturer != null) {
|
// if (manufacturer != null) {
|
||||||
manufacturer.updateStatus(3L);
|
// manufacturer.updateStatus(3L);
|
||||||
}
|
// }
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
log.error("定时更新执法仪设备状态err,{}", project.getProjectName(), e);
|
// log.error("定时更新执法仪设备状态err,{}", project.getProjectName(), e);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.zhgd.xmgl.async.AsyncEnvironment;
|
import com.zhgd.xmgl.async.AsyncEnvironment;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraItemService;
|
||||||
|
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraVideoConfigService;
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||||
import com.zhgd.xmgl.modules.project.entity.bo.ProjectVideoConfigBo;
|
import com.zhgd.xmgl.modules.project.entity.bo.ProjectVideoConfigBo;
|
||||||
import com.zhgd.xmgl.modules.project.enums.ProjectVideoConfigVideoTypeEnum;
|
import com.zhgd.xmgl.modules.project.enums.ProjectVideoConfigVideoTypeEnum;
|
||||||
@ -55,6 +59,12 @@ public class VideoTask {
|
|||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private VideoItemServiceImpl videoItemService;
|
private VideoItemServiceImpl videoItemService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IPoliceCameraVideoConfigService policeCameraVideoConfigService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IPoliceCameraItemService policeCameraItemService;
|
||||||
|
|
||||||
@SchedulerLock(name = "updateVideoState", lockAtMostFor = "PT1H", lockAtLeastFor = "PT5M")
|
@SchedulerLock(name = "updateVideoState", lockAtMostFor = "PT1H", lockAtLeastFor = "PT5M")
|
||||||
@Scheduled(cron = "0 */3 * * * ?")
|
@Scheduled(cron = "0 */3 * * * ?")
|
||||||
@ -151,20 +161,23 @@ public class VideoTask {
|
|||||||
if (CollUtil.isEmpty(itemDbs)) {
|
if (CollUtil.isEmpty(itemDbs)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
do {
|
try {
|
||||||
resultJo = HikVideoUtil.callPostApiOnlineStatus(videoConfig.getAccount(),
|
do {
|
||||||
videoConfig.getPassword(), videoConfig.getAppId(),
|
resultJo = HikVideoUtil.callPostApiOnlineStatus(videoConfig.getAccount(),
|
||||||
videoConfig.getAppSecret(), ++pageNo);
|
videoConfig.getPassword(), videoConfig.getAppId(),
|
||||||
if (resultJo != null && "0".equals(resultJo.getString("code"))) {
|
videoConfig.getAppSecret(), ++pageNo);
|
||||||
alls.addAll(resultJo.getJSONObject("data").getJSONArray("list"));
|
if (resultJo != null && "0".equals(resultJo.getString("code"))) {
|
||||||
} else {
|
alls.addAll(resultJo.getJSONObject("data").getJSONArray("list"));
|
||||||
log.error("高频更新isc监控状态返回错误:项目sn:{}:code:{},msg:{}",
|
} else {
|
||||||
videoConfig.getProjectSn(), resultJo != null ? resultJo.getString("code") : "",
|
log.error("高频更新isc监控状态返回错误:项目sn:{}:code:{},msg:{}",
|
||||||
resultJo != null ? resultJo.getString("msg") : "");
|
videoConfig.getProjectSn(), resultJo != null ? resultJo.getString("code") : "",
|
||||||
break;
|
resultJo != null ? resultJo.getString("msg") : "");
|
||||||
}
|
break;
|
||||||
} while (pageNo * 1000 < resultJo.getJSONObject("data").getInteger("total"));
|
}
|
||||||
|
} while (pageNo * 1000 < resultJo.getJSONObject("data").getInteger("total"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("高频更新isc监控状态返回异常", e);
|
||||||
|
}
|
||||||
Map<String, JSONObject> indexCodeMap = alls.stream().collect(Collectors.toMap(j -> ((JSONObject) j).getString("indexCode"), j -> ((JSONObject) j), (o1, o2) -> o1));
|
Map<String, JSONObject> indexCodeMap = alls.stream().collect(Collectors.toMap(j -> ((JSONObject) j).getString("indexCode"), j -> ((JSONObject) j), (o1, o2) -> o1));
|
||||||
for (VideoItem videoItem : itemDbs) {
|
for (VideoItem videoItem : itemDbs) {
|
||||||
JSONObject jsonObject = indexCodeMap.get(videoItem.getSerialNumber());
|
JSONObject jsonObject = indexCodeMap.get(videoItem.getSerialNumber());
|
||||||
@ -183,7 +196,8 @@ public class VideoTask {
|
|||||||
.set(VideoItem::getDeviceState, 1)
|
.set(VideoItem::getDeviceState, 1)
|
||||||
.in(VideoItem::getItemId, onlineIds)
|
.in(VideoItem::getItemId, onlineIds)
|
||||||
);
|
);
|
||||||
} List<Long> offlineIds = videoItemsToUpdate.stream().filter(v -> Objects.equals(v.getDeviceState(), 2)).map(VideoItem::getItemId).collect(Collectors.toList());
|
}
|
||||||
|
List<Long> offlineIds = videoItemsToUpdate.stream().filter(v -> Objects.equals(v.getDeviceState(), 2)).map(VideoItem::getItemId).collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(offlineIds)) {
|
if (CollUtil.isNotEmpty(offlineIds)) {
|
||||||
videoItemService.update(null, new LambdaUpdateWrapper<VideoItem>()
|
videoItemService.update(null, new LambdaUpdateWrapper<VideoItem>()
|
||||||
.set(VideoItem::getDeviceState, 2)
|
.set(VideoItem::getDeviceState, 2)
|
||||||
@ -197,6 +211,84 @@ public class VideoTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 高频更新执法记录仪的isc监控状态
|
||||||
|
*/
|
||||||
|
@Scheduled(cron = "*/10 * * * * ?")
|
||||||
|
@RequestMapping("updatePoliceCameraItemIscVideoState")
|
||||||
|
public void updatePoliceCameraItemIscVideoState() {
|
||||||
|
try {
|
||||||
|
List<PoliceCameraVideoConfig> configs = policeCameraVideoConfigService.list(new QueryWrapper<>());
|
||||||
|
Map<String, List<PoliceCameraItem>> projectSnMap2ItemsMap = policeCameraItemService.list(new LambdaQueryWrapper<PoliceCameraItem>()).stream().collect(Collectors.groupingBy(PoliceCameraItem::getProjectSn));
|
||||||
|
Map<String, Map<String, JSONObject>> projectSn2IndexCodeMap = new HashMap<>();
|
||||||
|
for (PoliceCameraVideoConfig videoConfig : configs) {
|
||||||
|
// 收集需要更新的视频设备
|
||||||
|
List<PoliceCameraItem> videoItemsToUpdate = new ArrayList<>();
|
||||||
|
List<PoliceCameraItem> itemDbs = projectSnMap2ItemsMap.get(videoConfig.getProjectSn());
|
||||||
|
if (CollUtil.isEmpty(itemDbs)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Map<String, JSONObject> indexCodeMap = projectSn2IndexCodeMap.computeIfAbsent(StrUtil.format("{},{},{},{}", videoConfig.getIp(),
|
||||||
|
videoConfig.getPort(), videoConfig.getAppId(),
|
||||||
|
videoConfig.getAppSecret()), key -> {
|
||||||
|
if (StrUtil.isBlank(videoConfig.getIp()) || StrUtil.isBlank(videoConfig.getPort()) || StrUtil.isBlank(videoConfig.getAppId()) || StrUtil.isBlank(videoConfig.getAppSecret())) {
|
||||||
|
return new HashMap<>();
|
||||||
|
}
|
||||||
|
JSONArray alls = new JSONArray();
|
||||||
|
try {
|
||||||
|
JSONObject resultJo;
|
||||||
|
int pageNo = 0;
|
||||||
|
do {
|
||||||
|
resultJo = HikVideoUtil.callPostApiOnlineStatus(videoConfig.getIp(),
|
||||||
|
videoConfig.getPort(), videoConfig.getAppId(),
|
||||||
|
videoConfig.getAppSecret(), ++pageNo);
|
||||||
|
if (resultJo != null && "0".equals(resultJo.getString("code"))) {
|
||||||
|
alls.addAll(resultJo.getJSONObject("data").getJSONArray("list"));
|
||||||
|
} else {
|
||||||
|
log.error("高频更新执法记录仪的isc监控状态返回错误:项目sn:{}:code:{},msg:{}",
|
||||||
|
videoConfig.getProjectSn(), resultJo != null ? resultJo.getString("code") : "",
|
||||||
|
resultJo != null ? resultJo.getString("msg") : "");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (pageNo * 1000 < resultJo.getJSONObject("data").getInteger("total"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("高频更新执法记录仪的isc监控状态返回异常", e);
|
||||||
|
}
|
||||||
|
return alls.stream().collect(Collectors.toMap(j -> ((JSONObject) j).getString("indexCode"), j -> ((JSONObject) j), (o1, o2) -> o1));
|
||||||
|
});
|
||||||
|
|
||||||
|
for (PoliceCameraItem item : itemDbs) {
|
||||||
|
JSONObject jsonObject = indexCodeMap.get(item.getMonitoringNumber());
|
||||||
|
Integer newOnlineStatus = jsonObject != null && Objects.equals(jsonObject.getInteger("online"), 1) ? 1 : 2;
|
||||||
|
// 只有当设备状态发生变化时才更新
|
||||||
|
if (!newOnlineStatus.equals(item.getDeviceState())) {
|
||||||
|
item.setDeviceState(newOnlineStatus);
|
||||||
|
videoItemsToUpdate.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 批量更新
|
||||||
|
if (CollUtil.isNotEmpty(videoItemsToUpdate)) {
|
||||||
|
List<Long> onlineIds = videoItemsToUpdate.stream().filter(v -> Objects.equals(v.getDeviceState(), 1)).map(PoliceCameraItem::getItemId).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(onlineIds)) {
|
||||||
|
policeCameraItemService.update(null, new LambdaUpdateWrapper<PoliceCameraItem>()
|
||||||
|
.set(PoliceCameraItem::getDeviceState, 1)
|
||||||
|
.in(PoliceCameraItem::getItemId, onlineIds)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
List<Long> offlineIds = videoItemsToUpdate.stream().filter(v -> Objects.equals(v.getDeviceState(), 2)).map(PoliceCameraItem::getItemId).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(offlineIds)) {
|
||||||
|
policeCameraItemService.update(null, new LambdaUpdateWrapper<PoliceCameraItem>()
|
||||||
|
.set(PoliceCameraItem::getDeviceState, 2)
|
||||||
|
.in(PoliceCameraItem::getItemId, offlineIds)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("高频更新执法记录仪的isc监控状态返回错误", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void sendVideoData(VideoItem videoItem, ProjectVideoConfig videoConfig) {
|
private void sendVideoData(VideoItem videoItem, ProjectVideoConfig videoConfig) {
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
Map<String, Object> video = new HashMap<>(16);
|
Map<String, Object> video = new HashMap<>(16);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user