gunshi-project-ss/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnRule.java

197 lines
5.5 KiB
Java
Raw Normal View History

2025-07-17 15:26:39 +08:00
package com.gunshi.project.hsz.model;
2024-07-08 17:47:02 +08:00
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
2024-07-08 17:47:02 +08:00
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
2024-07-08 17:47:02 +08:00
import jakarta.validation.constraints.Size;
import lombok.Data;
2025-04-25 17:01:53 +08:00
import lombok.Getter;
2024-07-08 17:47:02 +08:00
import java.io.Serializable;
2024-07-09 14:54:21 +08:00
import java.math.BigDecimal;
import java.util.Date;
2024-07-08 17:47:02 +08:00
/**
* :
* author: xusan
* date: 2024-07-08 17:34:26
*/
@Schema(description="预警规则配置表")
@Data
@TableName("public.osmotic_warn_rule")
public class OsmoticWarnRule implements Serializable {
2025-04-25 17:01:53 +08:00
@Getter
public enum Type {
PRESS(1), FLOW(2), SHIFT(3);
private final int type;
Type(int type) {
this.type = type;
}
}
@Getter
public enum Status {
DISABLE(0), ENABLE(1);
private final int status;
Status(int status) {
this.status = status;
}
}
@Getter
public enum Relation {
AND(1), OR(2);
private final int rel;
Relation(int rel) {
this.rel = rel;
}
public static Relation match(int rel) {
for (Relation value : values()) {
if (value.rel == rel) {
return value;
}
}
return null;
}
}
public enum Condition {
GT(">"), GTE(">="), LT("<"), LTE("<="), EQ("="), NE("!=");
private final String condition;
Condition(String condition) {
this.condition = condition;
}
public static Condition match(String condition) {
for (Condition value : values()) {
if (value.condition.equals(condition)) {
return value;
}
}
return null;
}
}
2024-07-08 17:47:02 +08:00
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@NotNull(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
2024-07-08 17:47:02 +08:00
private Long id;
/**
*
*/
@TableField(value="station_code")
@Schema(description="测点编号")
@Size(max = 32,message = "测点编号最大长度要小于 32")
@NotBlank(message = "测点编号不能为空")
private String stationCode;
/**
* 1 2 3
*/
@TableField(value="type")
@Schema(description="告警类型1渗压监测 2渗流监测 3位移监测")
private Integer type;
/**
* 1 2
*/
@TableField(value="level")
@Schema(description="告警级别1黄色 2红色")
private Integer level;
/**
*
*/
@TableField(value="rule_desc")
@Schema(description="校验规则描述")
@Size(max = 32,message = "校验规则描述最大长度要小于 32")
private String ruleDesc;
2024-07-09 14:54:21 +08:00
/**
* (x,y,z)
*/
@TableField(value="direction")
@Schema(description="位移方向(x,y,h)")
2024-07-09 14:54:21 +08:00
private String direction;
2024-07-08 17:47:02 +08:00
/**
* condition_one
*/
@TableField(value="condition_one")
@Schema(description="condition_one")
@Size(max = 32,message = "condition_one最大长度要小于 32")
private String conditionOne;
/**
* value_one
*/
@TableField(value="value_one")
@Schema(description="value_one")
2024-07-09 14:54:21 +08:00
private BigDecimal valueOne;
2024-07-08 17:47:02 +08:00
/**
* condition_two
*/
@TableField(value="condition_two")
@Schema(description="condition_two")
@Size(max = 32,message = "condition_two最大长度要小于 32")
private String conditionTwo;
/**
* 1 2
*/
@TableField(value="condition")
@Schema(description="1且 2或")
private Integer condition;
/**
* value_two
*/
@TableField(value="value_two")
@Schema(description="value_two")
2024-07-09 14:54:21 +08:00
private BigDecimal valueTwo;
2024-07-08 17:47:02 +08:00
/**
* 0 1
*/
@TableField(value="status")
@Schema(description="是否启用0否 1是")
2024-07-09 14:54:21 +08:00
private BigDecimal status;
2024-07-08 17:47:02 +08:00
/**
*
*/
@TableField(value="create_time")
@Schema(description="创建时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date createTime;
2024-07-08 17:47:02 +08:00
}