diff --git a/start/src/main/resources/templates/iotalarm.html b/start/src/main/resources/templates/iotalarm.html index 7469d4b..ad3dd48 100644 --- a/start/src/main/resources/templates/iotalarm.html +++ b/start/src/main/resources/templates/iotalarm.html @@ -1,4 +1,4 @@ ---
\ No newline at end of file + })();
\ No newline at end of file diff --git a/web-adapter/src/main/java/com/zcloud/web/AlarmRecordController.java b/web-adapter/src/main/java/com/zcloud/web/AlarmRecordController.java index 936db15..2a6c432 100644 --- a/web-adapter/src/main/java/com/zcloud/web/AlarmRecordController.java +++ b/web-adapter/src/main/java/com/zcloud/web/AlarmRecordController.java @@ -6,8 +6,10 @@ import com.alibaba.cola.dto.SingleResponse; import com.zcloud.api.AlarmRecordServiceI; import com.zcloud.dto.AlarmRecordPageQry; import com.zcloud.dto.AlarmRecordSensorPageQry; +import com.zcloud.dto.AlarmRecordScreenPageQry; import com.zcloud.dto.AppAlarmDisposePageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -78,4 +80,10 @@ public class AlarmRecordController { return MultiResponse.of(alarmRecordCOList); } + + @ApiOperation("可视化大屏-物联网设备情况报警") + @PostMapping("/screenIotDeviceAlarmPage") + public PageResponse screenIotDeviceAlarmPage(@RequestBody AlarmRecordScreenPageQry qry) { + return alarmRecordService.screenIotDeviceAlarmPage(qry); + } } diff --git a/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java index 39d88eb..b071ff4 100644 --- a/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.dto.AlarmRecordPageQry; import com.zcloud.dto.AlarmRecordSensorPageQry; +import com.zcloud.dto.AlarmRecordScreenPageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.AlarmRecordDO; import com.zcloud.persistence.dataobject.SensorDeviceDO; @@ -56,6 +58,11 @@ public class AlarmRecordQueryExe { return PageResponse.of(alarmRecordCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + public PageResponse screenIotDeviceAlarmPage(AlarmRecordScreenPageQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + return alarmRecordRepository.screenIotDeviceAlarmPage(params); + } + public SingleResponse getById(Long id) { AlarmRecordDO d = alarmRecordRepository.detailView(id); if (d == null || "TRUE".equals(d.getDeleteEnum())) { diff --git a/web-app/src/main/java/com/zcloud/service/AlarmRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/service/AlarmRecordServiceImpl.java index 0095137..b470b28 100644 --- a/web-app/src/main/java/com/zcloud/service/AlarmRecordServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/service/AlarmRecordServiceImpl.java @@ -8,8 +8,10 @@ import com.zcloud.command.query.AppAlarmDisposeQueryExe; import com.zcloud.command.query.AppAlarmRecordQueryExe; import com.zcloud.dto.AlarmRecordPageQry; import com.zcloud.dto.AlarmRecordSensorPageQry; +import com.zcloud.dto.AlarmRecordScreenPageQry; import com.zcloud.dto.AppAlarmDisposePageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -31,6 +33,11 @@ public class AlarmRecordServiceImpl implements AlarmRecordServiceI { return alarmRecordQueryExe.listBySensorDevice(qry); } + @Override + public PageResponse screenIotDeviceAlarmPage(AlarmRecordScreenPageQry qry) { + return alarmRecordQueryExe.screenIotDeviceAlarmPage(qry); + } + @Override public SingleResponse info(Long id) { return alarmRecordQueryExe.getById(id); diff --git a/web-client/src/main/java/com/zcloud/api/AlarmRecordServiceI.java b/web-client/src/main/java/com/zcloud/api/AlarmRecordServiceI.java index 8290bbf..9627190 100644 --- a/web-client/src/main/java/com/zcloud/api/AlarmRecordServiceI.java +++ b/web-client/src/main/java/com/zcloud/api/AlarmRecordServiceI.java @@ -4,9 +4,11 @@ import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.dto.AlarmRecordPageQry; import com.zcloud.dto.AlarmRecordSensorPageQry; +import com.zcloud.dto.AlarmRecordScreenPageQry; import com.zcloud.dto.AppAlarmDisposePageQry; import com.zcloud.dto.AppAlarmRecordPageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; /** * AlarmRecordServiceI - 报警记录服务接口 @@ -24,6 +26,14 @@ public interface AlarmRecordServiceI { PageResponse listBySensorDevice(AlarmRecordSensorPageQry qry); + /** + * 可视化大屏物联网设备情况报警分页查询 + * + * @param qry 查询条件 + * @return 分页结果 + */ + PageResponse screenIotDeviceAlarmPage(AlarmRecordScreenPageQry qry); + /** * 报警详情 * @param id diff --git a/web-client/src/main/java/com/zcloud/dto/AlarmRecordScreenPageQry.java b/web-client/src/main/java/com/zcloud/dto/AlarmRecordScreenPageQry.java new file mode 100644 index 0000000..5b734c6 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/dto/AlarmRecordScreenPageQry.java @@ -0,0 +1,18 @@ +package com.zcloud.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 可视化大屏物联网设备情况报警分页请求 + * + * @Author wangyan + * @Date 2026-07-16 + */ +@Data +public class AlarmRecordScreenPageQry extends PageQuery { + + @ApiModelProperty(value = "所属单位ID,可以为空") + private Long corpinfoId; +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordScreenCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordScreenCO.java new file mode 100644 index 0000000..6913878 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordScreenCO.java @@ -0,0 +1,33 @@ +package com.zcloud.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 可视化大屏物联网设备情况报警返回对象 + * + * @Author wangyan + * @Date 2026-07-16 + */ +@Data +public class AlarmRecordScreenCO extends ClientObject { + + @ApiModelProperty(value = "报警来源,DCS三方报警,THRESHOLD阈值报警") + private String alarmSource; + + @ApiModelProperty(value = "设备类型") + private String alarmSourceName; + + @ApiModelProperty(value = "所属单位名称") + private String corpName; + + @ApiModelProperty(value = "报警类型") + private String alarmType; + + @ApiModelProperty(value = "报警类型名称") + private String alarmTypeName; + + @ApiModelProperty(value = "处置状态,10报警中,20未处置,30已消警") + private Integer status; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java index ea7dcab..ffae9ef 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.datascope.annotation.DataScope; import com.jjb.saas.framework.datascope.annotation.DataScopes; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import com.zcloud.persistence.dataobject.AlarmRecordDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -25,6 +26,8 @@ public interface AlarmRecordMapper extends BaseMapper { IPage listBySensorDevice(IPage page, @Param("params") Map params); + IPage screenIotDeviceAlarmPage(IPage page, @Param("params") Map params); + IPage disposeListPage(IPage page, @Param("params") Map params); IPage appListPage(IPage page, @Param("params") Map params); diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java index 5ed497e..c14d04f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java @@ -2,6 +2,7 @@ package com.zcloud.persistence.repository; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import com.zcloud.persistence.dataobject.AlarmRecordDO; import java.util.Map; @@ -17,6 +18,8 @@ public interface AlarmRecordRepository extends BaseRepository { PageResponse listBySensorDevice(Map params); + PageResponse screenIotDeviceAlarmPage(Map params); + PageResponse disposeListPage(Map params); PageResponse appListPage(Map params); diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/AlarmRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/AlarmRecordRepositoryImpl.java index 154bf2e..ea56c8c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/AlarmRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/AlarmRecordRepositoryImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.domain.enums.MenuEnum; +import com.zcloud.dto.clientobject.AlarmRecordScreenCO; import com.zcloud.persistence.dataobject.AlarmRecordDO; import com.zcloud.persistence.mapper.AlarmRecordMapper; import com.zcloud.persistence.repository.AlarmRecordRepository; @@ -43,6 +44,13 @@ public class AlarmRecordRepositoryImpl extends BaseRepositoryImpl screenIotDeviceAlarmPage(Map params) { + IPage page = new Query().getPage(params); + IPage result = alarmRecordMapper.screenIotDeviceAlarmPage(page, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } + @Override public PageResponse disposeListPage(Map params) { IPage page = new Query().getPage(params); diff --git a/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml index b7e872b..9fda54a 100644 --- a/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml @@ -113,6 +113,30 @@ ORDER BY ar.alarm_time DESC + +