Alarm assignee as an object
This commit is contained in:
parent
8b6950031e
commit
f877fdef3f
@ -44,18 +44,8 @@ public class AlarmInfo extends Alarm {
|
|||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ApiModelProperty(position = 21, value = "Alarm assignee first name")
|
@ApiModelProperty(position = 21, value = "Alarm assignee")
|
||||||
private String assigneeFirstName;
|
private AlarmAssignee assignee;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@ApiModelProperty(position = 22, value = "Alarm assignee last name")
|
|
||||||
private String assigneeLastName;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@ApiModelProperty(position = 23, value = "Alarm assignee email")
|
|
||||||
private String assigneeEmail;
|
|
||||||
|
|
||||||
public AlarmInfo() {
|
public AlarmInfo() {
|
||||||
super();
|
super();
|
||||||
@ -69,18 +59,14 @@ public class AlarmInfo extends Alarm {
|
|||||||
super(alarmInfo);
|
super(alarmInfo);
|
||||||
this.originatorName = alarmInfo.originatorName;
|
this.originatorName = alarmInfo.originatorName;
|
||||||
this.originatorLabel = alarmInfo.originatorLabel;
|
this.originatorLabel = alarmInfo.originatorLabel;
|
||||||
this.assigneeFirstName = alarmInfo.assigneeFirstName;
|
this.assignee = alarmInfo.getAssignee();
|
||||||
this.assigneeLastName = alarmInfo.assigneeLastName;
|
|
||||||
this.assigneeEmail = alarmInfo.assigneeEmail;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AlarmInfo(Alarm alarm, String originatorName, String originatorLabel, String assigneeFirstName, String assigneeLastName, String assigneeEmail) {
|
public AlarmInfo(Alarm alarm, String originatorName, String originatorLabel, AlarmAssignee assignee) {
|
||||||
super(alarm);
|
super(alarm);
|
||||||
this.originatorName = originatorName;
|
this.originatorName = originatorName;
|
||||||
this.originatorLabel = originatorLabel;
|
this.originatorLabel = originatorLabel;
|
||||||
this.assigneeFirstName = assigneeFirstName;
|
this.assignee = assignee;
|
||||||
this.assigneeLastName = assigneeLastName;
|
|
||||||
this.assigneeEmail = assigneeEmail;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,15 +52,11 @@ public class AlarmData extends AlarmInfo {
|
|||||||
if (assigneeUpdate != null) {
|
if (assigneeUpdate != null) {
|
||||||
if (assigneeUpdate.isDeleted()) {
|
if (assigneeUpdate.isDeleted()) {
|
||||||
this.setAssigneeId(null);
|
this.setAssigneeId(null);
|
||||||
this.setAssigneeFirstName(null);
|
this.setAssignee(null);
|
||||||
this.setAssigneeLastName(null);
|
|
||||||
this.setAssigneeEmail(null);
|
|
||||||
} else {
|
} else {
|
||||||
AlarmAssignee assignee = assigneeUpdate.getAssignee();
|
AlarmAssignee assignee = assigneeUpdate.getAssignee();
|
||||||
this.setAssigneeId(assignee.getId());
|
this.setAssigneeId(assignee.getId());
|
||||||
this.setAssigneeFirstName(assignee.getFirstName());
|
this.setAssignee(assignee);
|
||||||
this.setAssigneeLastName(assignee.getLastName());
|
|
||||||
this.setAssigneeEmail(assignee.getEmail());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@ -289,10 +289,9 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
|||||||
alarm.setAssignTs(assignTime);
|
alarm.setAssignTs(assignTime);
|
||||||
alarm = alarmDao.save(alarm.getTenantId(), alarm);
|
alarm = alarmDao.save(alarm.getTenantId(), alarm);
|
||||||
AlarmInfo alarmInfo = getAlarmInfo(tenantId, alarm);
|
AlarmInfo alarmInfo = getAlarmInfo(tenantId, alarm);
|
||||||
return new AlarmOperationResult(alarm, new AlarmAssigneeUpdate(false,
|
return new AlarmOperationResult(alarm,
|
||||||
new AlarmAssignee(alarmInfo.getAssigneeId(), alarmInfo.getAssigneeFirstName(),
|
new AlarmAssigneeUpdate(false, alarmInfo.getAssignee()),
|
||||||
alarmInfo.getAssigneeLastName(), alarmInfo.getAssigneeEmail())
|
new ArrayList<>(getPropagationEntityIds(alarm)));
|
||||||
), new ArrayList<>(getPropagationEntityIds(alarm)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -467,9 +466,6 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
|||||||
private AlarmInfo getAlarmInfo(TenantId tenantId, Alarm alarm) {
|
private AlarmInfo getAlarmInfo(TenantId tenantId, Alarm alarm) {
|
||||||
String originatorName;
|
String originatorName;
|
||||||
String originatorLabel;
|
String originatorLabel;
|
||||||
String assigneeFirstName = null;
|
|
||||||
String assigneeLastName = null;
|
|
||||||
String assigneeEmail = null;
|
|
||||||
|
|
||||||
Optional<NameLabelAndCustomerDetails> detailsOpt = entityService.fetchNameLabelAndCustomerDetails(tenantId, alarm.getOriginator());
|
Optional<NameLabelAndCustomerDetails> detailsOpt = entityService.fetchNameLabelAndCustomerDetails(tenantId, alarm.getOriginator());
|
||||||
if (detailsOpt.isPresent() && detailsOpt.get().getName() != null) {
|
if (detailsOpt.isPresent() && detailsOpt.get().getName() != null) {
|
||||||
@ -481,13 +477,12 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
|||||||
originatorLabel = "Deleted";
|
originatorLabel = "Deleted";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AlarmAssignee assignee = null;
|
||||||
if (alarm.getAssigneeId() != null) {
|
if (alarm.getAssigneeId() != null) {
|
||||||
User assignedUser = userService.findUserById(tenantId, alarm.getAssigneeId());
|
User assignedUser = userService.findUserById(tenantId, alarm.getAssigneeId());
|
||||||
assigneeFirstName = assignedUser.getFirstName();
|
assignee = new AlarmAssignee(assignedUser.getId(), assignedUser.getFirstName(), assignedUser.getLastName(), assignedUser.getEmail());
|
||||||
assigneeLastName = assignedUser.getLastName();
|
|
||||||
assigneeEmail = assignedUser.getEmail();
|
|
||||||
}
|
}
|
||||||
return new AlarmInfo(alarm, originatorName, originatorLabel, assigneeFirstName, assigneeLastName, assigneeEmail);
|
return new AlarmInfo(alarm, originatorName, originatorLabel, assignee);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -17,7 +17,9 @@ package org.thingsboard.server.dao.model.sql;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.thingsboard.server.common.data.alarm.AlarmAssignee;
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||||
|
import org.thingsboard.server.common.data.id.UserId;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ -47,10 +49,7 @@ public class AlarmInfoEntity extends AbstractAlarmEntity<AlarmInfo> {
|
|||||||
AlarmInfo alarmInfo = new AlarmInfo(super.toAlarm());
|
AlarmInfo alarmInfo = new AlarmInfo(super.toAlarm());
|
||||||
alarmInfo.setOriginatorName(originatorName);
|
alarmInfo.setOriginatorName(originatorName);
|
||||||
alarmInfo.setOriginatorLabel(originatorLabel);
|
alarmInfo.setOriginatorLabel(originatorLabel);
|
||||||
|
alarmInfo.setAssignee(new AlarmAssignee(new UserId(getAssigneeId()), assigneeFirstName, assigneeLastName, assigneeEmail));
|
||||||
alarmInfo.setAssigneeFirstName(assigneeFirstName);
|
|
||||||
alarmInfo.setAssigneeLastName(assigneeLastName);
|
|
||||||
alarmInfo.setAssigneeEmail(assigneeEmail);
|
|
||||||
return alarmInfo;
|
return alarmInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.StringUtils;
|
import org.thingsboard.server.common.data.StringUtils;
|
||||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||||
|
import org.thingsboard.server.common.data.alarm.AlarmAssignee;
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
||||||
import org.thingsboard.server.common.data.id.AlarmId;
|
import org.thingsboard.server.common.data.id.AlarmId;
|
||||||
@ -123,9 +124,7 @@ public class AlarmDataAdapter {
|
|||||||
AlarmData alarmData = new AlarmData(alarm, entityId);
|
AlarmData alarmData = new AlarmData(alarm, entityId);
|
||||||
alarmData.setOriginatorName(originatorName);
|
alarmData.setOriginatorName(originatorName);
|
||||||
alarmData.setOriginatorLabel(originatorLabel);
|
alarmData.setOriginatorLabel(originatorLabel);
|
||||||
alarmData.setAssigneeFirstName(assigneeFirstName);
|
alarmData.setAssignee(new AlarmAssignee(alarm.getAssigneeId(), assigneeFirstName, assigneeLastName, assigneeEmail));
|
||||||
alarmData.setAssigneeLastName(assigneeLastName);
|
|
||||||
alarmData.setAssigneeEmail(assigneeEmail);
|
|
||||||
|
|
||||||
return alarmData;
|
return alarmData;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import org.thingsboard.server.common.data.query.EntityKey;
|
|||||||
import org.thingsboard.server.common.data.query.EntityKeyType;
|
import org.thingsboard.server.common.data.query.EntityKeyType;
|
||||||
import org.thingsboard.server.dao.model.ModelConstants;
|
import org.thingsboard.server.dao.model.ModelConstants;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -186,6 +187,12 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository {
|
|||||||
}
|
}
|
||||||
fromPart.append(LEFT_JOIN_TB_USERS);
|
fromPart.append(LEFT_JOIN_TB_USERS);
|
||||||
EntityDataSortOrder sortOrder = pageLink.getSortOrder();
|
EntityDataSortOrder sortOrder = pageLink.getSortOrder();
|
||||||
|
|
||||||
|
List<EntityKey> queryFields = new ArrayList<>();
|
||||||
|
for(EntityKey key: query.getAlarmFields()){
|
||||||
|
if()
|
||||||
|
}
|
||||||
|
|
||||||
String textSearchQuery = buildTextSearchQuery(ctx, query.getAlarmFields(), pageLink.getTextSearch());
|
String textSearchQuery = buildTextSearchQuery(ctx, query.getAlarmFields(), pageLink.getTextSearch());
|
||||||
if (sortOrder != null && sortOrder.getKey().getType().equals(EntityKeyType.ALARM_FIELD)) {
|
if (sortOrder != null && sortOrder.getKey().getType().equals(EntityKeyType.ALARM_FIELD)) {
|
||||||
String sortOrderKey = sortOrder.getKey().getKey();
|
String sortOrderKey = sortOrder.getKey().getKey();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user