Compare commits

..

No commits in common. "247ad09a587c4b356a6e6accf221e0f78cc0e1fc" and "80a44540d8f1bc1358c6c6c524b4731df0585bec" have entirely different histories.

8 changed files with 25 additions and 184 deletions

View File

@ -4,8 +4,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sis.domain.AlarmRecord;
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.domain.enums.EventBigTypeEnum;
import org.dromara.sis.domain.enums.EventSmallTypeEnum;
import org.dromara.sis.service.AlarmRecordService;
import org.dromara.sis.service.ISisAlarmEventsService;
import org.springframework.http.HttpStatus;
@ -48,7 +46,7 @@ public class AlarmPushController {
} catch (Exception e) {
log.error("处理单条告警推送失败: {}", e.getMessage(), e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(Collections.singletonMap("error", "处理告警数据失败: " + e.getMessage()));
.body(Collections.singletonMap("error", "处理告警数据失败: " + e.getMessage()));
}
}
@ -74,13 +72,12 @@ public class AlarmPushController {
} catch (Exception e) {
log.error("处理批量告警推送失败: {}", e.getMessage(), e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(Collections.singletonMap("error", "处理告警数据失败: " + e.getMessage()));
.body(Collections.singletonMap("error", "处理告警数据失败: " + e.getMessage()));
}
}
/**
* 处理告警数据并保存到数据库
*
* @param alarmDataList 告警数据列表
* @return 处理成功的数量
*/
@ -89,8 +86,8 @@ public class AlarmPushController {
// 转换报警记录
List<AlarmRecord> records = alarmDataList.stream()
.map(alarmRecordService::convertFromMap)
.collect(Collectors.toList());
.map(alarmRecordService::convertFromMap)
.collect(Collectors.toList());
// 提取操作记录数据
Map<Long, List<Map<String, Object>>> operatorMap = new HashMap<>();
@ -134,9 +131,6 @@ public class AlarmPushController {
// 转换类型和级别
// sisAlarmEvents.setType(convertToLong(recordMap.get("Type")));
sisAlarmEvents.setBigType(EventBigTypeEnum.EQUIPMENT_UP.getCode());
sisAlarmEvents.setSmallType(EventSmallTypeEnum.EQP_REPORT_SBSB.getCode());
sisAlarmEvents.setLevel(convertToLong(recordMap.get("Level")));
// 设备信息

View File

@ -32,12 +32,12 @@ public class SisAlarmEvents extends TenantEntity {
/**
* 事件大类
*/
private Integer bigType;
private Long bigType;
/**
* 事件小类
*/
private Integer smallType;
private Long smallType;
/**
* 报警记录级别(0:特急;1:紧急;2:普通)
@ -69,16 +69,6 @@ public class SisAlarmEvents extends TenantEntity {
*/
private Date reportTime;
/**
* 开始处理时间
*/
private Date processSt;
/**
* 结束处理时间
*/
private Date processEt;
/**
* 事件状态
*/

View File

@ -31,12 +31,12 @@ public class SisAlarmEventsBo extends BaseEntity {
/**
* 事件大类
*/
private Integer bigType;
private Long bigType;
/**
* 事件小类
*/
private Integer smallType;
private Long smallType;
/**
* 报警记录级别(1一般2中级3紧急)
@ -70,17 +70,6 @@ public class SisAlarmEventsBo extends BaseEntity {
@NotNull(message = "设备告警时间不能为空", groups = {AddGroup.class, EditGroup.class})
private Date reportTime;
/**
* 开始处理时间
*/
private Date processSt;
/**
* 结束处理时间
*/
private Date processEt;
/**
* 事件状态
*/

View File

@ -1,66 +0,0 @@
package org.dromara.sis.domain.enums;
public enum AlarmStatus {
/**
* 已上报待确认
*/
REPORTED(10, "已上报待确认"),
/**
* 已确认待处理
*/
CONFIRMED(20, "已确认待处理"),
/**
* 处理中
*/
IN_PROGRESS(30, "处理中"),
/**
* 升级-转工单
*/
ESCALATED_TO_TICKET(31, "升级-转工单"),
/**
* 升级-协助
*/
ESCALATED_TO_ASSISTANCE(32, "升级-协助"),
/**
* 已解决
*/
RESOLVED(40, "已解决"),
/**
* 已关闭
*/
CLOSED(50, "已关闭");
private final int code;
private final String description;
AlarmStatus(int code, String description) {
this.code = code;
this.description = description;
}
public int getCode() {
return code;
}
public String getDescription() {
return description;
}
/**
* 根据状态码获取对应的枚举值
*/
public static AlarmStatus fromCode(int code) {
for (AlarmStatus status : values()) {
if (status.code == code) {
return status;
}
}
throw new IllegalArgumentException("无效的报警状态码: " + code);
}
}

View File

@ -9,49 +9,16 @@ import lombok.Getter;
*/
@Getter
public enum EventSmallTypeEnum {
/*---------------------------智能相机事件上报-----------------------------------*/
SMART_REPORT_RYLG(1001, "人员离岗"),
SMART_REPORT_RYSG(1002, "人员睡岗"),
SMART_REPORT_RYDD(1003, "人员倒地"),
SMART_REPORT_CY(1004, "抽烟"),
SMART_REPORT_DDH(1005, "打电话"),
SMART_REPORT_WSJ(1006, "玩手机"),
SMART_REPORT_RYJJ(1007, "人员聚集"),
SMART_REPORT_ZJCR(1008, "周界闯入"),
SMART_REPORT_RYPH(1009, "人员徘徊"),
SMART_REPORT_FYWL(1010, "翻越围栏"),
SMART_REPORT_LJTWGS(1011, "垃圾桶未盖上"),
SMART_REPORT_WZQCDFZ(1012, "未正确穿戴服装"),
SMART_REPORT_WDKZ(1013, "未戴口罩"),
SMART_REPORT_QQRQBJ(1014, "区域入侵报警"),
SMART_REPORT_WDAQMBJ(1015, "未戴安全帽报警"),
SMART_REPORT_WCDGF(1016, "未穿工服报警"),
SMART_REPORT_DDHBJ(1017, "打电话报警"),
SMART_REPORT_DDBJ(1018, "跌倒报警"),
SMART_REPORT_LGBJ(1019, "离岗报警"),
SMART_REPORT_XYBJ(1020, "吸烟报警"),
SMART_REPORT_WCDFGF(1021, "未穿反光服报警"),
SMART_REPORT_MH(1022, "明火报警"),
SMART_REPORT_YW(1023, "烟雾报警"),
SMART_REPORT_RYSLCX(1024, "人员数量超限报警"),
EQP_REPORT_SBSB(1025, "报警设备上报"),
/* -----------------------系统报警相关-------------------------------------*/
SYS_REPORT_WLGZ(2001, "网络连接故障"),
SYS_REPORT_DLYC(2002, "用户登录异常"),
SYS_REPORT_ZFYC(2002, "支付异常"),
/* -----------------------设备相关-------------------------------------*/
EQP_REPORT_SBGG(3001, "设备故障"),
EQP_REPORT_XXCT(3002, "设备与平台信息冲突"),
EQP_REPORT_CZJG(3003, "现场处置结果"),
EQP_REPORT_XCSG(3005, "现场事故"),
EQP_REPORT_XCGF(3006, "现场纠纷"),
EQP_REPORT_XCQZ(3007, "现场求助"),
EQP_REPORT_SBXJ(3009, "设备巡检"),
EQP_REPORT_RYJD(3010, "人员监督"),
EQP_REPORT_JKQYXJ(3011, "监控区域巡检"),
OUTHER_REPORT_FKWFJR(5001, "访客无法进入"),
EQP_REPORT_RYLG(1001, "人员离岗"),
EQP_REPORT_RYSG(1002, "人员睡岗"),
EQP_REPORT_RYDD(1003, "人员倒地"),
EQP_REPORT_CY(1004, "抽烟"),
EQP_REPORT_DDH(1005, "打电话"),
EQP_REPORT_WSJ(1006, "玩手机"),
EQP_REPORT_RYJJ(1007, "人员聚集"),
EQP_REPORT_ZJCR(1008, "周界闯入"),
EQP_REPORT_RYPH(1009, "人员徘徊"),
;

View File

@ -2,8 +2,6 @@ package org.dromara.sis.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.sis.domain.SisAlarmEvents;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
@ -32,32 +30,21 @@ public class SisAlarmEventsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long id;
/**
* 事件大类
*/
private Long bigType;
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "bigType", other = "event_big_type")
private String bigTypeName;
/**
* 事件小类
*/
private Integer smallType;
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "smallType", other = "event_small_type")
private String smallTypeName;
private Long smallType;
/**
* 报警记录级别(1一般2中级3紧急)
*/
@ExcelProperty(value = "报警记录级别(1:特急;2:紧急;3:普通)")
private Integer level;
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "level", other = "alarm_level")
private String levelName;
@ExcelProperty(value = "报警记录级别(0:特急;1:紧急;2:普通)")
private Long level;
/**
* 报警设备ip
@ -89,24 +76,11 @@ public class SisAlarmEventsVo implements Serializable {
@ExcelProperty(value = "设备告警时间")
private Date reportTime;
/**
* 开始处理时间
*/
private Date processSt;
/**
* 结束处理时间
*/
private Date processEt;
/**
* 事件状态
*/
private Integer state;
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "state", other = "alarm_state")
private String stateName;
/**
* 工单id
*/

View File

@ -17,9 +17,6 @@ import org.dromara.sis.domain.SisAlarmEventAttachments;
import org.dromara.sis.domain.SisAlarmEvents;
import org.dromara.sis.domain.SisDeviceManage;
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.domain.enums.AlarmStatus;
import org.dromara.sis.domain.enums.EventBigTypeEnum;
import org.dromara.sis.domain.enums.EventSmallTypeEnum;
import org.dromara.sis.domain.vo.SisAlarmEventsVo;
import org.dromara.sis.mapper.SisAlarmEventsMapper;
import org.dromara.sis.service.ISisAlarmEventAttachmentsService;
@ -163,15 +160,15 @@ public class SisAlarmEventsServiceImpl implements ISisAlarmEventsService {
}
// 生成时间信息
SisAlarmEvents alarmEvents = new SisAlarmEvents();
alarmEvents.setBigType(EventBigTypeEnum.EQUIPMENT_UP.getCode());
//TODO 处理上报小类型
alarmEvents.setSmallType(EventSmallTypeEnum.EQP_REPORT_SBSB.getCode());
//
alarmEvents.setBigType(10L);
alarmEvents.setSmallType(1008L);
alarmEvents.setLevel(Long.valueOf(level));
alarmEvents.setDeviceIp(deviceIp);
alarmEvents.setDeviceName(sisDeviceManage.getDeviceName());
alarmEvents.setDeviceGroupId(sisDeviceManage.getId());
alarmEvents.setReportTime(new Date());
alarmEvents.setState(AlarmStatus.REPORTED.getCode());
alarmEvents.setState(1);
alarmEvents.setTenantId(sisDeviceManage.getTenantId());
alarmEvents.setCreateDept(sisDeviceManage.getCreateDept());
int insert = this.baseMapper.insert(alarmEvents);

View File

@ -7,8 +7,6 @@ import org.dromara.property.api.domain.vo.RemoteFloorVo;
import org.dromara.sis.domain.AlarmRecord;
import org.dromara.sis.domain.SisAlarmEvents;
import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.domain.enums.EventBigTypeEnum;
import org.dromara.sis.domain.enums.EventSmallTypeEnum;
import org.dromara.sis.service.AlarmRecordService;
import org.dromara.sis.service.ApiService;
import org.dromara.sis.service.ISisAlarmEventsService;
@ -88,9 +86,7 @@ public class DataSyncTask {
//同步成功后将两张表的数据合并到alarmEvents表中
SisAlarmEventsBo sisAlarmEvents = new SisAlarmEventsBo();
sisAlarmEvents.setId(recordId);
sisAlarmEvents.setBigType(EventBigTypeEnum.EQUIPMENT_UP.getCode());
sisAlarmEvents.setSmallType(EventSmallTypeEnum.EQP_REPORT_SBSB.getCode());
// sisAlarmEvents.setType(Long.valueOf((Integer) recordMap.get("Type")));
sisAlarmEvents.setLevel(Long.valueOf((Integer) recordMap.get("Level")));
sisAlarmEvents.setDeviceIp((String) recordMap.get("DeviceSipNum"));
sisAlarmEvents.setDeviceName(recordMap.get("DeviceName").toString());