Commit 35e9c614d75d5294d9ed1178a4eb604039171dd6

Authored by 云中非
1 parent 03f613df

fix: 告警分页信息

1、新增组织信息
2、告警状态可多选
... ... @@ -49,7 +49,7 @@ public class YtAlarmInfoController extends BaseController {
49 49 public YtPageData<YtAlarmEntity> pageAlarmInfo(
50 50 @RequestParam(PAGE_SIZE) int pageSize,
51 51 @RequestParam(PAGE) int page,
52   - @RequestParam(value = "status", required = false) AlarmStatus status,
  52 + @RequestParam(value = "status", required = false) List<AlarmStatus> status,
53 53 @RequestParam(value = "textSearch", required = false) String textSearch,
54 54 @RequestParam(value = "alarmType", required = false) String alarmType,
55 55 @RequestParam(value = "organizationId", required = false) String organizationId,
... ...
... ... @@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
4 4 import com.baomidou.mybatisplus.annotation.TableId;
5 5 import com.baomidou.mybatisplus.annotation.TableName;
6 6 import com.fasterxml.jackson.databind.JsonNode;
  7 +import io.swagger.annotations.ApiModelProperty;
7 8 import lombok.Data;
8 9 import org.thingsboard.server.common.data.alarm.AlarmSeverity;
9 10 import org.thingsboard.server.common.data.alarm.AlarmStatus;
10 11 import org.thingsboard.server.common.data.yunteng.utils.YtDateTimeUtils;
11 12
  13 +import javax.validation.constraints.NotEmpty;
12 14 import java.util.UUID;
13 15
14 16 import static org.thingsboard.server.dao.model.ModelConstants.ALARM_COLUMN_FAMILY_NAME;
... ... @@ -78,6 +80,8 @@ public class YtAlarmEntity {
78 80 @TableField()
79 81 private String propagateRelationTypes;
80 82
  83 + private String organizationId;
  84 + private String organizationName;
81 85
82 86 public String getStartTs() {
83 87 return YtDateTimeUtils.formate(this.startTs);
... ...
... ... @@ -42,7 +42,7 @@ public class YtAlarmInfoServiceImpl implements YtAlarmInfoService {
42 42 private final YtAlarmMapper ytJpaAarmDao;
43 43 private final OrganizationMapper organizationMapper;
44 44 @Override
45   - public YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, AlarmStatus status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId) {
  45 + public YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, List<AlarmStatus> status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId) {
46 46 IPage<YtAlarmEntity> page= getPage(pageMap, ModelConstants.CREATED_TIME_PROPERTY,false);
47 47 List<String> ids =new ArrayList<>();
48 48 if(StringUtils.isNotBlank(organizationId)){
... ...
... ... @@ -28,7 +28,7 @@ public interface YtAlarmMapper extends BaseMapper<YtAlarmEntity> {
28 28 ,@Param("alarmType")String alarmType
29 29 ,@Param("startTime")Long startTime
30 30 ,@Param("endTime")Long endTime
31   - ,@Param("status")AlarmStatus status
  31 + ,@Param("status")List<AlarmStatus> status
32 32 ,@Param("deviceId")String deviceId
33 33 ,@Param("deviceType") DeviceTypeEnum deviceType
34 34 ,@Param("originatorType") EntityType originatorType
... ...
... ... @@ -35,7 +35,7 @@ public interface YtAlarmInfoService {
35 35 * @param organizationId 告警所属组织
36 36 * @return
37 37 */
38   - YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, AlarmStatus status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId);
  38 + YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, List<AlarmStatus> status, String deviceId, DeviceTypeEnum deviceType, EntityType originatorType, String organizationId);
39 39
40 40
41 41 /**
... ...
... ... @@ -20,6 +20,9 @@
20 20 <result property="clearTs" column="clear_ts"/>
21 21 <result property="details" column="additional_info" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
22 22 <result property="propagate" column="propagate"/>
  23 + <result property="organizationId" column="organization_id"/>
  24 + <result property="organizationName" column="organization_name"/>
  25 +
23 26 </resultMap>
24 27
25 28 <resultMap type="org.thingsboard.server.dao.yunteng.entities.SysDict" id="alarmType">
... ... @@ -34,8 +37,10 @@
34 37
35 38
36 39 <select id="alarmPage" resultMap="alarmInfo">
37   - SELECT d.name AS device_name,d.id device_id,m.*
38   - FROM alarm m LEFT JOIN iotfs_device d ON m.originator_id = d.tb_device_id::uuid
  40 + SELECT d.name AS device_name,d.id device_id,m.*,d.organization_id,org.name organization_name
  41 + FROM alarm m
  42 + LEFT JOIN iotfs_device d ON m.originator_id = d.tb_device_id::uuid
  43 + LEFT JOIN iotfs_organization org ON org.id = d.organization_id
39 44 <where>
40 45 m.tenant_id = #{tenantId}
41 46 <if test="alarmType!=null">
... ... @@ -48,7 +53,10 @@
48 53 AND created_time &lt;= #{endTime}
49 54 </if>
50 55 <if test="status!=null">
51   - AND status = #{status.name}
  56 + AND status IN
  57 + <foreach collection="status" item="id" index="index" open="(" close=")" separator=",">
  58 + #{id}
  59 + </foreach>
52 60 </if>
53 61 <if test="deviceId!=null">
54 62 AND d.id = #{deviceId}
... ...