package com.engine.salary.entity.salaryBill.po;

import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Collection;
import java.util.Date;

/**
 * @Description: 工资单模板
 * @Author: wangxiangzhong
 * @Date: 2021-12-08 14:44
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
////hrsa_salary_template")
////工资单模板表")
@ElogTransform(name = "工资单模板")
public class SalaryTemplatePO {

    /**
     * 主键
     */
    @ElogTransform(name = "id")
    private Long id;

    /**
     * 名称
     */
    @ElogTransform(name = "名称")
    private String name;

    /**
     * 薪资账套表的主键id
     */
    @ElogTransform(name = "薪资账套id")
    private Long salarySobId;

    /**
     * 使用类型。0：普通、1：默认
     */
    @ElogTransform(name = "使用类型")
    private Integer useType;

    /**
     * 备注
     */
    @ElogTransform(name = "备注")
    private String description;

    /**
     * 消息中心开启状态。0：关、1：开 ,默认开启
     */
    @ElogTransform(name = "消息中心开启状态")
    private Integer msgStatus;

    /**
     * 邮箱开启状态。0：关、1：开，默认关闭
     */
    @ElogTransform(name = "邮箱开启状态")
    private Integer emailStatus;


    /**
     * 发送地址:公共邮箱账号id
     */
    @ElogTransform(name = "邮箱发送地址")
    private Long sendEmailId;


    /**
     * 短信开启状态。0：关、1：开，默认关闭
     */
    @ElogTransform(name = "短信开启状态")
    private Integer smsStatus;

    /**
     * 短信模板设置
     */
    @ElogTransform(name = "短信模板设置")
    private String smsSetting;

    /**
     * 薪酬水印
     */
    @ElogTransform(name = "薪酬水印")
    private String salaryWatermark;

    /**
     * 主题
     */
    @ElogTransform(name = "主题")
    private String theme;

    /**
     * 背景图
     */
    @ElogTransform(name = "背景图")
    private String background;

    /**
     * 文本内容
     */
    @ElogTransform(name = "文本内容")
    private String textContent;

    /**
     * 文本内容显示位置。1：薪资项目前、2：薪资项目后
     */
    @ElogTransform(name = "文本内容显示位置")
    private Integer textContentPosition;

    /**
     * 薪资项为空时不显示开启状态。0：关、1：开
     */
    @ElogTransform(name = "薪资项为空时不显示开启状态")
    private Integer salaryItemNullStatus;

    /**
     * 薪资项为0时不显示开启状态。0：关、1：开
     */
    @ElogTransform(name = "薪资项为0时不显示开启状态")
    private Integer salaryItemZeroStatus;

    /**
     * 薪资项目设置
     */
    @ElogTransform(name = "薪资项目设置")
    private String salaryItemSetting;

    //=====================补发===================
    /**
     * 补发工资单模板名称
     */
    @ElogTransform(name = "补发工资单模板名称")
    private String replenishName;

    /**
     * 补发工资单名单生成规则
     */
    @ElogTransform(name = "补发工资单名单生成规则")
    private String replenishRule;

    /**
     * 补发薪资项目设置
     */
    @ElogTransform(name = "补发薪资项目设置")
    private String replenishSalaryItemSetting;


    /**
     * 是否启用工资单定时发送。0：未启用、1：已启用
     */
    @ElogTransform(name = "是否启用工资单定时发送")
    private Integer autoSendStatus;

    /**
     * 自动发送工资单周期1：本月、2：上月
     */
    @ElogTransform(name = "自动发送工资单周期1")
    private Integer autoSendCycleType;

    /**
     * 每月几号自动发送工资单
     */
    @ElogTransform(name = "每月几号自动发送工资单")
    private String autoSendDayOfMonth;

    /**
     * 自动发放时间
     */
    @ElogTransform(name = "自动发放时间")
    private String autoSendTimeOfDay;

    /**
     * 创建时间
     */
    @ElogTransform(name = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @ElogTransform(name = "更新时间")
    private Date updateTime;

    /**
     * 创建人
     */
    @ElogTransform(name = "创建人")
    private Long creator;

    /**
     * 是否已删除。0：未删除、1：已删除
     */
    @ElogTransform(name = "是否已删除")
    private Integer deleteType;

    /**
     * 租户ID
     */
    private String tenantKey;

    /**
     * 工资单确认反馈状态
     */
    @ElogTransform(name = "工资单确认反馈状态")
    private Integer ackFeedbackStatus;

    /**
     * 工资单确认反馈状态
     */
    private Integer feedbackStatus;

    /**
     * 自动确认超时天数
     */
    @ElogTransform(name = "自动确认超时天数")
    private Integer autoAckDays;

    /**
     * 反馈流程地址
     *
     */
    @ElogTransform(name = "反馈流程地址")
    private String feedbackUrl;


    /**
     * 移动端反馈流程地址
     *
     */
    @ElogTransform(name = "移动端反馈流程地址")
    private String mobileFeedbackUrl;



    private Collection<Long> salarySobIds;
}
