package com.sundot.airport.personnel.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * 人员月度考核对象 personnel_monthly_assessment
 *
 * @author ruoyi
 * @date 2026-05-07
 */
@Getter
@Setter
public class PersonnelMonthlyAssessment extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    private Long userId;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 岗位
     */
    @Excel(name = "岗位")
    private String post;

    /**
     * 区域
     */
    @Excel(name = "区域")
    private String area;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private Long deptId;

    /**
     * 部门
     */
    @Excel(name = "部门")
    private String deptName;

    /**
     * 红线扣分
     */
    @Excel(name = "红线扣分")
    private Integer redLineDeduction;

    /**
     * 违规排名扣分
     */
    @Excel(name = "违规排名扣分")
    private Integer violationRankingDeduction;

    /**
     * 技能排名扣分
     */
    @Excel(name = "技能排名扣分")
    private Integer skillRankingDeduction;

    /**
     * 技能排名扣分豁免情况
     */
    @Excel(name = "技能排名扣分豁免情况")
    private String skillExemptionStatus;

    /**
     * 总分
     */
    @Excel(name = "总分")
    private Integer totalScore;

    /**
     * 考核结果
     */
    @Excel(name = "考核结果")
    private String assessmentResult;

    /**
     * 考核结果备注
     */
    @Excel(name = "考核结果备注")
    private String assessmentRemark;

    /**
     * 考核年份
     */
    @Excel(name = "考核年份")
    private Integer year;

    /**
     * 考核月份(1-12)
     */
    @Excel(name = "考核月份")
    private Integer month;

    /**
     * 应用方式
     */
    @Excel(name = "应用方式")
    private String applicationMethod;

    /**
     * 应用方式备注
     */
    @Excel(name = "应用方式备注")
    private String applicationRemark;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 是否参加考核
     */
    private String takeAssessment;

    /**
     * 免考核开始时间
     */
    private Date exemptTakeAssessmentStartTime;

    /**
     * 免考核结束时间
     */
    private Date exemptTakeAssessmentEndTime;
}
