package com.sundot.airport.ledger.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.core.domain.BaseEntity;

/**
 * 小额奖励审批单对象 ledger_reward_approval
 */
@TableName("ledger_reward_approval")
public class LedgerRewardApproval extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批日期", width = 20, dateFormat = "yyyy-MM-dd")
    private Date approveDate;

    @Excel(name = "部门名称")
    private String deptName;

    @Excel(name = "队室/班组")
    private String teamName;

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

    @Excel(name = "奖励类型")
    private String rewardType;

    @Excel(name = "奖励金额")
    private BigDecimal rewardAmount;

    @Excel(name = "审批状态")
    private String approvalStatus;

    @Excel(name = "备注")
    private String remark;

    private String importBatch;

    @Excel(name = "数据来源")
    private String sourceType;

    @Excel(name = "同步标志(0=未同步;1=已同步)")
    private String syncFlag;

    @Excel(name = "查获物品")
    private String seizedItem;

    @Excel(name = "奖励事由（安全）")
    private String rewardReason;

    @Excel(name = "人员类别")
    private String personCategory;

    // ========== ID字段 ==========
    private Long personId;
    private Long deptId;
    private Long teamId;

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

    public Date getApproveDate() { return approveDate; }
    public void setApproveDate(Date approveDate) { this.approveDate = approveDate; }

    public String getDeptName() { return deptName; }
    public void setDeptName(String deptName) { this.deptName = deptName; }

    public String getTeamName() { return teamName; }
    public void setTeamName(String teamName) { this.teamName = teamName; }

    public String getPersonName() { return personName; }
    public void setPersonName(String personName) { this.personName = personName; }

    public String getRewardType() { return rewardType; }
    public void setRewardType(String rewardType) { this.rewardType = rewardType; }

    public BigDecimal getRewardAmount() { return rewardAmount; }
    public void setRewardAmount(BigDecimal rewardAmount) { this.rewardAmount = rewardAmount; }

    public String getApprovalStatus() { return approvalStatus; }
    public void setApprovalStatus(String approvalStatus) { this.approvalStatus = approvalStatus; }

    public String getRemark() { return remark; }
    public void setRemark(String remark) { this.remark = remark; }

    public String getImportBatch() { return importBatch; }
    public void setImportBatch(String importBatch) { this.importBatch = importBatch; }

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

    public String getSyncFlag() { return syncFlag; }
    public void setSyncFlag(String syncFlag) { this.syncFlag = syncFlag; }


    public String getSeizedItem() { return seizedItem; }
    public void setSeizedItem(String seizedItem) { this.seizedItem = seizedItem; }

    public String getRewardReason() { return rewardReason; }
    public void setRewardReason(String rewardReason) { this.rewardReason = rewardReason; }

    public String getPersonCategory() { return personCategory; }
    public void setPersonCategory(String personCategory) { this.personCategory = personCategory; }

    // ========== ID字段的getter/setter ==========
    public Long getPersonId() { return personId; }
    public void setPersonId(Long personId) { this.personId = personId; }

    public Long getDeptId() { return deptId; }
    public void setDeptId(Long deptId) { this.deptId = deptId; }

    public Long getTeamId() { return teamId; }
    public void setTeamId(Long teamId) { this.teamId = teamId; }
}