package com.sundot.airport.personnel.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.core.domain.BaseEntity;

/**
 * 月度考核指标奖罚明细对象 personnel_monthly_assessment_indicator_reward_punishment_detail
 *
 * @author ruoyi
 * @date 2026-05-07
 */
@TableName("personnel_monthly_assessment_indicator_reward_punishment_detail")
public class PersonnelMonthlyAssessmentIndicatorRewardPunishmentDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 租户号 */
    private String tenantId;

    /** 乐观锁 */
    private Integer revision;

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

    /** 类型 */
    @Excel(name = "类型")
    private String sourceType;

    /** 来源ID */
    @Excel(name = "来源ID")
    private Long sourceId;

    /** 检查部门类型 */
    @Excel(name = "检查部门类型")
    private String qcDeptType;

    /** 分值 */
    @Excel(name = "分值")
    private BigDecimal score;

    /** 奖罚类型 */
    @Excel(name = "奖罚类型")
    private String rewardPunishmentType;

    /** 奖罚明细 */
    @Excel(name = "奖罚明细")
    private String rewardPunishmentDetail;

    /** 奖罚金额（元） */
    @Excel(name = "奖罚金额（元）")
    private BigDecimal amount;

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setRevision(Integer revision) {
        this.revision = revision;
    }

    public Integer getRevision() {
        return revision;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }

    public Long getSourceId() {
        return sourceId;
    }

    public String getQcDeptType() {
        return qcDeptType;
    }

    public void setQcDeptType(String qcDeptType) {
        this.qcDeptType = qcDeptType;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public void setRewardPunishmentType(String rewardPunishmentType) {
        this.rewardPunishmentType = rewardPunishmentType;
    }

    public String getRewardPunishmentType() {
        return rewardPunishmentType;
    }

    public void setRewardPunishmentDetail(String rewardPunishmentDetail) {
        this.rewardPunishmentDetail = rewardPunishmentDetail;
    }

    public String getRewardPunishmentDetail() {
        return rewardPunishmentDetail;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("tenantId", getTenantId())
                .append("revision", getRevision())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("id", getId())
                .append("sourceType", getSourceType())
                .append("sourceId", getSourceId())
                .append("qcDeptType", getQcDeptType())
                .append("score", getScore())
                .append("rewardPunishmentType", getRewardPunishmentType())
                .append("rewardPunishmentDetail", getRewardPunishmentDetail())
                .append("amount", getAmount())
                .toString();
    }
}
