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

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

import java.util.Date;


/**
 * @Author weaver_cl
 * @Description: hrsa_scheme_detail 社保方案明细主表
 * @Date 2022/3/8
 * @Version V1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_scheme_detail
@ElogTransform(name = "福利方案明细")
public class InsuranceSchemeDetailPO {

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

    /**
     * 社保方案主表id
     */
    @ElogTransform(name = "方案主表id")
    private Long primaryId;

    /**
     * 险种id
     */
    @ElogTransform(name = "福利项id")
    private Long insuranceId;

    /**
     * 生效年月（含）
     */
    @ElogTransform(name = "生效年月")
    private String effectiveTime;

    /**
     * 失效年月（不含）
     */
    @ElogTransform(name = "失效年月")
    private String expirationTime;

    /**
     * 是否缴费 0-否 1-是
     */
    @ElogTransform(name = "是否缴费")
    private Integer isPayment;

    /**
     * 缴纳对象
     */
    @ElogTransform(name = "缴纳对象")
    private Integer paymentScope;

    /**
     * 基数上限
     */
    @Encrypt
    @ElogTransform(name = "基数上限")
    private String upperLimit;

    /**
     * 基数下限
     */
    @Encrypt
    @ElogTransform(name = "基数下限")
    private String lowerLimit;

    /**
     * 缴纳比例
     */
    @ElogTransform(name = "缴纳比例")
    private String paymentProportion;

    /**
     * 固定费用
     */
    @Encrypt
    @ElogTransform(name = "固定费用")
    private String fixedCost;

    /**
     * 有效小数位
     */
    @ElogTransform(name = "有效小数位")
    private Integer validNum;

    /**
     * 进位规则
     */
    @ElogTransform(name = "进位规则")
    private Integer rententionRule;

    /**
     * 缴纳周期，0不进行周期缴纳，1进行周期缴纳
     */
    @ElogTransform(name = "是否周期缴纳")
    private Integer paymentCycle;

    /**
     * 核算方式
     */
    @ElogTransform(name = "核算方式")
    private Integer accountType;

    /**
     * 缴纳周期规则设置
     */
    @ElogTransform(name = "缴纳周期规则设置")
    private String cycleSetting;

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

    /**
     * 是否删除
     */
    @ElogTransform(name = "是否删除")
    private Integer deleteType;

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

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

    /**
     * 租户key
     */
    @ElogTransform(name = "租户key")
    private String tenantKey;
}

