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

137 lines
4.2 KiB
Java

package com.gunshi.project.hsz.model;
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;
import com.gunshi.project.hsz.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 描述: 安全事故登记
* author: xusan
* date: 2024-08-21 15:44:54
*/
@Schema(description="安全事故登记")
@Data
@TableName("public.safety_accident_reg")
public class SafetyAccidentReg implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@NotNull(message = "主键不能为空",groups = {Update.class})
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 事故名称
*/
@TableField(value="name")
@Schema(description="事故名称")
@Size(max = 200,message = "事故名称最大长度要小于 200")
private String name;
/**
* 事故发生时间
*/
@TableField(value="accident_date")
@Schema(description="事故发生时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM, timezone = "GMT+8")
private Date accidentDate;
/**
* 事故级别(1一般事故2较大事故3重大事故4特别重大事故)
*/
@TableField(value="accident_level")
@Schema(description="事故级别(1一般事故2较大事故3重大事故4特别重大事故)")
private Integer accidentLevel;
/**
* 事故情况描述
*/
@TableField(value="accident_desc")
@Schema(description="事故情况描述")
@Size(max = 500,message = "事故情况描述最大长度要小于 500")
private String accidentDesc;
/**
* 直接经济损失(万元)
*/
@TableField(value="economic_losses")
@Schema(description="直接经济损失(万元)")
private BigDecimal economicLosses;
/**
* 死亡人数
*/
@TableField(value="dead_number")
@Schema(description="死亡人数")
private Integer deadNumber;
/**
* 受伤人数
*/
@TableField(value="injure_number")
@Schema(description="受伤人数")
private Integer injureNumber;
/**
* 事故调查单位
*/
@TableField(value="invest_org")
@Schema(description="事故调查单位")
@Size(max = 200,message = "事故调查单位最大长度要小于 200")
private String investOrg;
/**
* 事故结案日期
*/
@TableField(value="close_case_date")
@Schema(description="事故结案日期")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date closeCaseDate;
/**
* 事故调查情况
*/
@TableField(value="invest_desc")
@Schema(description="事故调查情况")
@Size(max = 500,message = "事故调查情况最大长度要小于 500")
private String investDesc;
/**
* 处理结果
*/
@TableField(value="handle_result")
@Schema(description="处理结果")
@Size(max = 500,message = "处理结果最大长度要小于 500")
private String handleResult;
@TableField(exist = false)
@Schema(description = "现场图片")
private List<FileAssociations> accidentPic;
@TableField(exist = false)
@Schema(description = "事故调查与处理资料")
private List<FileAssociations> accidentHandle;
}