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.util.Date; import java.util.List; /** * 描述: 巡检任务 * author: xusan * date: 2024-08-29 14:21:14 */ @Schema(description="巡检任务") @Data @TableName("public.inspect_task") public class InspectTask 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; /** * 任务类型(1日常巡查 2特别检查 3汛前巡检) */ @TableField(value="task_type") @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") private Integer taskType; /** * 任务标题 */ @TableField(value="task_title") @Schema(description="任务标题") @Size(max = 100,message = "任务标题最大长度要小于 100") private String taskTitle; /** * 巡查人id */ @TableField(value="inspect_user_id") @Schema(description="巡查人id") @JsonSerialize(using = ToStringSerializer.class) private Long inspectUserId; /** * 巡查人 */ @TableField(value="inspect_user_name") @Schema(description="巡查人") @Size(max = 100,message = "巡查人最大长度要小于 100") private String inspectUserName; /** * 任务内容 */ @TableField(value="task_content") @Schema(description="任务内容") @Size(max = 500,message = "任务内容最大长度要小于 500") private String taskContent; /** * 开始日期 */ @TableField(value="start_date") @Schema(description="开始日期") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") private Date startDate; /** * 结束日期 */ @TableField(value="end_date") @Schema(description="结束日期") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") private Date endDate; /** * 接收时间 */ @TableField(value="receive_time") @Schema(description="接收时间") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date receiveTime; /** * 完成时间 */ @TableField(value="finish_time") @Schema(description="完成时间") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date finishTime; /** * 状态(0未完成 1进行中 2已完成) */ @TableField(value="status") @Schema(description="状态(0未完成 1进行中 2已完成)") private Integer status; /** * 创建人id */ @TableField(value="create_user_id") @Schema(description="创建人id") @JsonSerialize(using = ToStringSerializer.class) private Long createUserId; /** * 创建人 */ @TableField(value="create_user_name") @Schema(description="创建人") @Size(max = 100,message = "创建人最大长度要小于 100") private String createUserName; /** * 创建时间 */ @TableField(value="create_time") @Schema(description="创建时间") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date createTime; @TableField(exist = false) @Schema(description="问题数量") private Integer problemNum = 0; @TableField(exist = false) @Schema(description="待处理数量") private Integer handleNum = 0; @TableField(exist = false) @Schema(description="巡检项") private List items; }