gunshi-project-ss/src/main/java/com/gunshi/project/xyt/model/AssessTask.java

141 lines
4.3 KiB
Java
Raw Normal View History

2024-09-06 17:37:31 +08:00
package com.gunshi.project.xyt.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.xyt.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-09-05 14:19:04
*/
@Schema(description="考核任务")
@Data
@TableName("public.assess_task")
public class AssessTask implements Serializable {
public final static String thisTableName = "AssessTask";
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@NotNull(message = "id不能为空",groups = { Update.class})
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
*
*/
@TableField(value="task_name")
@Schema(description="考核任务名称")
@Size(max = 100,message = "考核任务名称最大长度要小于 100")
private String taskName;
/**
* 1 2 3
*/
@TableField(value="task_freq")
@Schema(description="考核频次1年度 2季度 3月度")
private Integer taskFreq;
/**
* 1 2
*/
@TableField(value="score_way")
@Schema(description="综合计算得分方式1取最低 2平均")
private Integer scoreWay;
/**
* id
*/
@TableField(value="template_id")
@Schema(description="模板id")
@JsonSerialize(using = ToStringSerializer.class)
private Long templateId;
/**
*
*/
@TableField(value="assess_batch")
@Schema(description="考核批次")
@Size(max = 100,message = "考核批次最大长度要小于 100")
private String assessBatch;
/**
*
*/
@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;
/**
* 0 1 2 3 5
*/
@TableField(value="status")
@Schema(description="状态0未启动 1评分中 2审核中 3已审核 5已作废")
private Integer status;
/**
* id
*/
@TableField(value="create_user_id")
@Schema(description="创建人id")
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 List<AssessTeam> assessTeams;
@TableField(exist = false)
@Schema(description = "考核对象")
private List<AssessObject> assessObjects;
@TableField(exist = false)
@Schema(description = "考核方案")
private List<FileAssociations> files;
}