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 assessTeams; @TableField(exist = false) @Schema(description = "考核对象") private List assessObjects; @TableField(exist = false) @Schema(description = "考核方案") private List files; }