Showing
6 changed files
with
19 additions
and
7 deletions
... | ... | @@ -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 <= #{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} | ... | ... |