package com.srs.workstudy.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;


/**
 * 勤工助学岗位修改人数对象 qgzx_post_change
 *
 * @author srs
 * @date 2024-09-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "QgzxPostChange对象", description = "勤工助学岗位修改人数")
@TableName("qgzx_post_change")
public class QgzxPostChange extends BaseEntity {
    private static final long serialVersionUID = 1L;

    //此枚举用于 勤工助学 岗位 审核状态字典
    public enum applyStatusDict {
        Submit("1"), //已提交待审核
        Dept("2"), //部门审核通过
        High("3"), //资助办审核通过
        Reject("10"); //拒绝
        private final String value;

        applyStatusDict(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }


    @TableField(exist = false)
    public String postName;

    @TableField(exist = false)
    public String applyNo;

    @TableField(exist = false)
    public String deptName;

    @TableField(exist = false)
    public Long deptId;


    /**
     * #
     */
    @ApiModelProperty("#")
    @TableId(value = "id", type = IdType.AUTO)
    public Long id;

    /**
     * 岗位id
     */
    @ApiModelProperty("岗位id")
    @TableField("post_id")
    @Excel(name = "岗位id")
    public Long postId;

    /**
     * 申请理由
     */
    @ApiModelProperty("申请理由")
    @TableField("apply_reason")
    @Excel(name = "申请理由")
    public String applyReason;

    /**
     * 新的岗位人数
     */
    @ApiModelProperty("新的岗位人数")
    @TableField("new_count")
    @Excel(name = "新的岗位人数")
    public Long newCount;

    /**
     * 提交时间
     */
    @ApiModelProperty("提交时间")
    @TableField("apply_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    public Date applyTime;

    /**
     * 审核状态
     */
    @ApiModelProperty("审核状态")
    @TableField("apply_status")
    @Excel(name = "审核状态")
    public String applyStatus;

    /**
     * 部门领导工号
     */
    @ApiModelProperty("部门领导工号")
    @TableField("dept_no")
    @Excel(name = "部门领导工号")
    public String deptNo;

    /**
     * 部门领导意见
     */
    @ApiModelProperty("部门领导意见")
    @TableField("dept_cmt")
    @Excel(name = "部门领导意见")
    public String deptCmt;

    /**
     * 部门领导签章
     */
    @ApiModelProperty("部门领导签章")
    @TableField("dept_sign")
    @Excel(name = "部门领导签章")
    public String deptSign;

    /**
     * 资助办领导工号
     */
    @ApiModelProperty("资助办领导工号")
    @TableField("high_no")
    @Excel(name = "资助办领导工号")
    public String highNo;

    /**
     * 资助办领导意见
     */
    @ApiModelProperty("资助办领导意见")
    @TableField("high_cmt")
    @Excel(name = "资助办领导意见")
    public String highCmt;

    /**
     * 资助办领导签章
     */
    @ApiModelProperty("资助办领导签章")
    @TableField("high_sign")
    @Excel(name = "资助办领导签章")
    public String highSign;

    /**
     * 删除标志（0代表存在
     */
    @ApiModelProperty("删除标志（0代表存在")
    @TableField("del_flag")
    public String delFlag;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    @TableField("status")
    @Excel(name = "状态")
    public String status;


}
