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

157 lines
4.7 KiB
Java
Raw Normal View History

2025-07-17 15:26:39 +08:00
package com.gunshi.project.hsz.model;
2024-08-29 16:46:53 +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;
2025-07-17 15:26:39 +08:00
import com.gunshi.project.hsz.validate.markers.Update;
2024-08-29 16:46:53 +08:00
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
2024-08-29 16:46:53 +08:00
*/
@TableField(value="status")
@Schema(description="状态0未完成 1进行中 2已完成")
2024-08-29 16:46:53 +08:00
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<InspectTaskDetail> items;
}