From 153e42423f539db8e2c882a43facfb608b329e93 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Thu, 23 Jul 2026 10:05:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(alarm):=20=E6=9B=B4=E6=96=B0=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E8=AE=B0=E5=BD=95=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E5=A2=9E=E5=8A=A0=E6=B6=88=E9=98=B2=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcloud/web/SensorDeviceController.java | 131 ++++++++++-------- .../command/query/SensorDeviceQueryExe.java | 35 +++++ .../service/SensorDeviceServiceImpl.java | 6 + .../com/zcloud/api/SensorDeviceServiceI.java | 3 + .../dto/SensorDeviceFireSituationQry.java | 20 +++ .../dto/clientobject/AlarmRecordScreenCO.java | 16 +++ .../SensorDeviceFireSituationCO.java | 23 +++ .../SensorDeviceFireStatusCO.java | 24 ++++ .../domain/enums/SensorDeviceStatusEnum.java | 31 +++++ .../mapper/SensorDeviceMapper.java | 4 + .../repository/SensorDeviceRepository.java | 4 + .../impl/SensorDeviceRepositoryImpl.java | 7 + .../resources/mapper/AlarmRecordMapper.xml | 12 +- .../resources/mapper/SensorDeviceMapper.xml | 18 +++ 14 files changed, 270 insertions(+), 64 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/dto/SensorDeviceFireSituationQry.java create mode 100644 web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireSituationCO.java create mode 100644 web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireStatusCO.java create mode 100644 web-domain/src/main/java/com/zcloud/domain/enums/SensorDeviceStatusEnum.java diff --git a/web-adapter/src/main/java/com/zcloud/web/SensorDeviceController.java b/web-adapter/src/main/java/com/zcloud/web/SensorDeviceController.java index 28bacb4..78d84e7 100644 --- a/web-adapter/src/main/java/com/zcloud/web/SensorDeviceController.java +++ b/web-adapter/src/main/java/com/zcloud/web/SensorDeviceController.java @@ -3,18 +3,32 @@ package com.zcloud.web; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.api.SensorDeviceServiceI; -import com.zcloud.dto.*; +import com.zcloud.dto.SensorDeviceAddCmd; +import com.zcloud.dto.SensorDeviceFireSituationQry; +import com.zcloud.dto.SensorDeviceLocationCmd; +import com.zcloud.dto.SensorDevicePageQry; +import com.zcloud.dto.SensorDeviceScreenQry; +import com.zcloud.dto.SensorDeviceThresholdCmd; +import com.zcloud.dto.SensorDeviceUpdateCmd; import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.dto.clientobject.SensorDeviceFireSituationCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; /** - * SensorDeviceController - 传感器设备控制器 + * 传感器设备控制器 + * * @Author wangyan * @Date 2026-04-03 00:00:00 */ @@ -23,75 +37,70 @@ import org.springframework.web.bind.annotation.*; @RestController @AllArgsConstructor public class SensorDeviceController { - private final SensorDeviceServiceI sensorDeviceService; + private final SensorDeviceServiceI sensorDeviceService; - @ApiOperation("新增") - @PostMapping("/save") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-add')") - public SingleResponse save(@Validated @RequestBody SensorDeviceAddCmd cmd) { - return sensorDeviceService.add(cmd); - } + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse save(@Validated @RequestBody SensorDeviceAddCmd cmd) { + return sensorDeviceService.add(cmd); + } - @ApiOperation("分页列表") - @PostMapping("/list") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-list')") - public PageResponse list(@RequestBody SensorDevicePageQry qry) { - return sensorDeviceService.listPage(qry); - } + @ApiOperation("分页列表") + @PostMapping("/list") + public PageResponse list(@RequestBody SensorDevicePageQry qry) { + return sensorDeviceService.listPage(qry); + } + @ApiOperation("修改") + @PostMapping("/edit") + public SingleResponse edit(@Validated @RequestBody SensorDeviceUpdateCmd cmd) { + sensorDeviceService.edit(cmd); + return SingleResponse.buildSuccess(); + } + @ApiOperation("定位") + @PostMapping("/location") + public SingleResponse location(@Validated @RequestBody SensorDeviceLocationCmd cmd) { + sensorDeviceService.location(cmd); + return SingleResponse.buildSuccess(); + } + @ApiOperation("状态切换") + @PutMapping("/status") + public SingleResponse updateStatus(@RequestParam Long id, @RequestParam String status) { + sensorDeviceService.updateStatus(id, status); + return SingleResponse.buildSuccess(); + } + @ApiOperation("阈值配置") + @PutMapping("/threshold") + public SingleResponse updateThreshold(@Validated @RequestBody SensorDeviceThresholdCmd cmd) { + sensorDeviceService.updateThreshold(cmd); + return SingleResponse.buildSuccess(); + } - @ApiOperation("修改") - @PostMapping("/edit") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-edit')") - public SingleResponse edit(@Validated @RequestBody SensorDeviceUpdateCmd cmd) { - sensorDeviceService.edit(cmd); - return SingleResponse.buildSuccess(); - } + @ApiOperation("删除") + @PostMapping("/{id}") + public SingleResponse remove(@PathVariable("id") Long id) { + sensorDeviceService.remove(id); + return SingleResponse.buildSuccess(); + } - @ApiOperation("定位") - @PostMapping("/location") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-edit')") - public SingleResponse location(@Validated @RequestBody SensorDeviceLocationCmd cmd) { - sensorDeviceService.location(cmd); - return SingleResponse.buildSuccess(); - } - - @ApiOperation("状态切换") - @PutMapping("/status") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-edit')") - public SingleResponse updateStatus(@RequestParam Long id, @RequestParam String status) { - sensorDeviceService.updateStatus(id, status); - return SingleResponse.buildSuccess(); - } - - @ApiOperation("阈值配置") - @PutMapping("/threshold") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-edit')") - public SingleResponse updateThreshold(@Validated @RequestBody SensorDeviceThresholdCmd cmd) { - sensorDeviceService.updateThreshold(cmd); - return SingleResponse.buildSuccess(); - } - - @ApiOperation("删除") - @PostMapping("/{id}") -// @PreAuthorize("@pms.hasAnyPermission('iotalarm-sensordevice-delete')") - public SingleResponse remove(@PathVariable("id") Long id) { - sensorDeviceService.remove(id); - return SingleResponse.buildSuccess(); - } - - @ApiOperation("详情") - @GetMapping("/{id}") - public SingleResponse info(@PathVariable("id") Long id) { - return sensorDeviceService.info(id); - } + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse info(@PathVariable("id") Long id) { + return sensorDeviceService.info(id); + } @ApiOperation("可视化大屏-传感器设备查询") @PostMapping("/screenList") public PageResponse screenList(@RequestBody SensorDeviceScreenQry qry) { return sensorDeviceService.screenList(qry); } + + @ApiOperation("可视化大屏-消防设备情况") + @PostMapping("/fireSituation") + public SingleResponse fireSituation(@RequestBody SensorDeviceFireSituationQry qry) { + return sensorDeviceService.fireSituation(qry); + } } diff --git a/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java index b96a238..7150f6c 100644 --- a/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java @@ -4,9 +4,13 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.domain.enums.SensorDeviceStatusEnum; +import com.zcloud.dto.SensorDeviceFireSituationQry; import com.zcloud.dto.SensorDevicePageQry; import com.zcloud.dto.SensorDeviceScreenQry; import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.dto.clientobject.SensorDeviceFireSituationCO; +import com.zcloud.dto.clientobject.SensorDeviceFireStatusCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.SensorDeviceDO; @@ -17,6 +21,8 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * SensorDeviceQueryExe - 传感器设备执行器 @@ -42,6 +48,35 @@ public class SensorDeviceQueryExe { PageResponse pageResponse = sensorDeviceRepository.screenList(params); return PageResponse.of(pageResponse.getData(), pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + + public SingleResponse fireSituation(SensorDeviceFireSituationQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + List countList = sensorDeviceRepository.fireSituation(params); + Map countMap = countList.stream() + .collect(Collectors.toMap(SensorDeviceFireStatusCO::getBianma, Function.identity(), (left, right) -> left)); + + List statusList = java.util.Arrays.stream(SensorDeviceStatusEnum.values()) + .map(item -> { + SensorDeviceFireStatusCO statusItem = new SensorDeviceFireStatusCO(); + statusItem.setBianma(item.getCode()); + statusItem.setName(item.getName()); + SensorDeviceFireStatusCO countItem = countMap.get(item.getCode()); + statusItem.setCount(countItem == null ? 0L : countItem.getCount()); + return statusItem; + }) + .collect(Collectors.toList()); + + long totalCount = countList.stream() + .map(SensorDeviceFireStatusCO::getCount) + .filter(java.util.Objects::nonNull) + .mapToLong(Long::longValue) + .sum(); + + SensorDeviceFireSituationCO co = new SensorDeviceFireSituationCO(); + co.setTotalCount(totalCount); + co.setStatusList(statusList); + return SingleResponse.of(co); + } public SingleResponse getById(Long id) { SensorDeviceDO d = sensorDeviceRepository.getById(id); diff --git a/web-app/src/main/java/com/zcloud/service/SensorDeviceServiceImpl.java b/web-app/src/main/java/com/zcloud/service/SensorDeviceServiceImpl.java index 78d8dcc..cca4d5a 100644 --- a/web-app/src/main/java/com/zcloud/service/SensorDeviceServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/service/SensorDeviceServiceImpl.java @@ -11,6 +11,7 @@ import com.zcloud.command.query.SensorDeviceQueryExe; import com.zcloud.command.SensorDeviceAddExe; import com.zcloud.dto.*; import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.dto.clientobject.SensorDeviceFireSituationCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -36,6 +37,11 @@ public class SensorDeviceServiceImpl implements SensorDeviceServiceI { return sensorDeviceQueryExe.screenList(qry); } + @Override + public SingleResponse fireSituation(SensorDeviceFireSituationQry qry) { + return sensorDeviceQueryExe.fireSituation(qry); + } + @Override public SingleResponse add(SensorDeviceAddCmd cmd) { sensorDeviceAddExe.execute(cmd); diff --git a/web-client/src/main/java/com/zcloud/api/SensorDeviceServiceI.java b/web-client/src/main/java/com/zcloud/api/SensorDeviceServiceI.java index 7be2f86..965a043 100644 --- a/web-client/src/main/java/com/zcloud/api/SensorDeviceServiceI.java +++ b/web-client/src/main/java/com/zcloud/api/SensorDeviceServiceI.java @@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.dto.*; import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.dto.clientobject.SensorDeviceFireSituationCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; /** @@ -22,6 +23,8 @@ public interface SensorDeviceServiceI { PageResponse screenList(SensorDeviceScreenQry qry); + SingleResponse fireSituation(SensorDeviceFireSituationQry qry); + /** * 新增 * @param cmd diff --git a/web-client/src/main/java/com/zcloud/dto/SensorDeviceFireSituationQry.java b/web-client/src/main/java/com/zcloud/dto/SensorDeviceFireSituationQry.java new file mode 100644 index 0000000..570bb10 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/dto/SensorDeviceFireSituationQry.java @@ -0,0 +1,20 @@ +package com.zcloud.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 可视化大屏消防设备情况查询请求 + * + * @Author wangyan + * @Date 2026-07-23 + */ +@Data +public class SensorDeviceFireSituationQry { + + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea") + private Integer portArea; +} 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 index 6913878..fbaa29b 100644 --- a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordScreenCO.java +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordScreenCO.java @@ -1,9 +1,12 @@ package com.zcloud.dto.clientobject; import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; + /** * 可视化大屏物联网设备情况报警返回对象 * @@ -22,6 +25,9 @@ public class AlarmRecordScreenCO extends ClientObject { @ApiModelProperty(value = "所属单位名称") private String corpName; + @ApiModelProperty(value = "报警区域") + private String fireRegionName; + @ApiModelProperty(value = "报警类型") private String alarmType; @@ -30,4 +36,14 @@ public class AlarmRecordScreenCO extends ClientObject { @ApiModelProperty(value = "处置状态,10报警中,20未处置,30已消警") private Integer status; + + @ApiModelProperty(value = "报警时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime alarmTime; + + @ApiModelProperty(value = "设备状态") + private String sensorStatus; + + @ApiModelProperty(value = "设备状态名称") + private String sensorStatusName; } diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireSituationCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireSituationCO.java new file mode 100644 index 0000000..72148a5 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireSituationCO.java @@ -0,0 +1,23 @@ +package com.zcloud.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 可视化大屏消防设备情况返回对象 + * + * @Author wangyan + * @Date 2026-07-23 + */ +@Data +public class SensorDeviceFireSituationCO extends ClientObject { + + @ApiModelProperty(value = "设备总数") + private Long totalCount; + + @ApiModelProperty(value = "状态统计列表") + private List statusList; +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireStatusCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireStatusCO.java new file mode 100644 index 0000000..b2580a4 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceFireStatusCO.java @@ -0,0 +1,24 @@ +package com.zcloud.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 可视化大屏消防设备状态统计项 + * + * @Author wangyan + * @Date 2026-07-23 + */ +@Data +public class SensorDeviceFireStatusCO extends ClientObject { + + @ApiModelProperty(value = "编码") + private String bianma; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "数量") + private Long count; +} diff --git a/web-domain/src/main/java/com/zcloud/domain/enums/SensorDeviceStatusEnum.java b/web-domain/src/main/java/com/zcloud/domain/enums/SensorDeviceStatusEnum.java new file mode 100644 index 0000000..42551e4 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/domain/enums/SensorDeviceStatusEnum.java @@ -0,0 +1,31 @@ +package com.zcloud.domain.enums; + +import lombok.Getter; + +import java.util.Arrays; + +/** + * 传感器设备状态枚举 + */ +@Getter +public enum SensorDeviceStatusEnum { + NORMAL("NORMAL", "正常"), + FAULT("FAULT", "故障"), + OFFLINE("OFFLINE", "离线"), + DEACTIVATE("deactivate", "停用"); + + private final String code; + private final String name; + + SensorDeviceStatusEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static SensorDeviceStatusEnum getByCode(String code) { + return Arrays.stream(values()) + .filter(item -> item.code.equals(code)) + .findFirst() + .orElse(null); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java index 3ac36fb..b7765c1 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java @@ -4,11 +4,13 @@ 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.SensorDeviceFireStatusCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import com.zcloud.persistence.dataobject.SensorDeviceDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -26,4 +28,6 @@ public interface SensorDeviceMapper extends BaseMapper { IPage listPage(IPage page, @Param("params") Map params, @Param("menuPerms") String menuPerms); IPage screenList(IPage page, @Param("params") Map params); + + List fireSituation(@Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java index c1611d3..12b5801 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java @@ -2,9 +2,11 @@ package com.zcloud.persistence.repository; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.dto.clientobject.SensorDeviceFireStatusCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import com.zcloud.persistence.dataobject.SensorDeviceDO; +import java.util.List; import java.util.Map; /** @@ -17,4 +19,6 @@ public interface SensorDeviceRepository extends BaseRepository { PageResponse listPage(Map params); PageResponse screenList(Map params); + + List fireSituation(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java index 1e76a91..4705946 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.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.SensorDeviceFireStatusCO; import com.zcloud.dto.clientobject.SensorDeviceScreenCO; import com.zcloud.persistence.dataobject.SensorDeviceDO; import com.zcloud.persistence.mapper.SensorDeviceMapper; @@ -13,6 +14,7 @@ import com.zcloud.utils.Query; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; +import java.util.List; import java.util.Map; /** @@ -43,4 +45,9 @@ public class SensorDeviceRepositoryImpl extends BaseRepositoryImpl result = sensorDeviceMapper.screenList(page, params); return PageHelper.pageToResponse(result, result.getRecords()); } + + @Override + public List fireSituation(Map params) { + return sensorDeviceMapper.fireSituation(params); + } } diff --git a/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml index 9fda54a..3375667 100644 --- a/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/AlarmRecordMapper.xml @@ -122,16 +122,22 @@ ELSE ar.alarm_source END AS alarmSourceName, ci.corp_name AS corpName, + fr.fire_region_name AS fireRegionName, ar.alarm_type AS alarmType, ar.alarm_type_name AS alarmTypeName, - ar.status AS status + ar.status AS status, + ar.alarm_time AS alarmTime, + iasd.sensor_status AS sensorStatus, + iasd.sensor_status_name AS sensorStatusName FROM iot_alarm_record ar - LEFT JOIN corp_info ci ON ar.tenant_id = ci.id + left join iot_alarm_sensor_device iasd on iasd.sensor_device_id = ar.sensor_device_id and iasd.delete_enum='FALSE' + LEFT JOIN corp_info ci ON iasd.tenant_id = ci.id + LEFT JOIN fire_region fr ON ar.fire_region_id = fr.fire_region_id AND fr.delete_enum = 'FALSE' ar.delete_enum = 'FALSE' AND ar.status != 40 - AND ar.corpinfo_id = #{params.corpinfoId} + AND iasd.tenant_id = #{params.corpinfoId} ORDER BY ar.alarm_time DESC diff --git a/web-infrastructure/src/main/resources/mapper/SensorDeviceMapper.xml b/web-infrastructure/src/main/resources/mapper/SensorDeviceMapper.xml index c8eb831..80faa94 100644 --- a/web-infrastructure/src/main/resources/mapper/SensorDeviceMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/SensorDeviceMapper.xml @@ -57,4 +57,22 @@ ORDER BY CASE WHEN sd.sensor_status = 'NORMAL' AND sd.alarm_switch = 1 THEN 0 ELSE 1 END, sd.create_time DESC + +