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

import com.engine.salary.enums.SalaryRoundingModeEnum;
import com.engine.salary.enums.SalarySystemTypeEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 系统内置的薪资项目
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//value = "hrsa_sys_salary_item", autoResultMap = true)
public class SysSalaryItemPO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 编号
     */
    private String code;

    /**
     * 是否是系统项目
     *
     * @see SalarySystemTypeEnum
     */
    private Integer systemType;

    /**
     * 默认使用。0：默认不适用、1：默认使用
     */
    private Integer useDefault;

    /**
     * 薪资档案引用。0：薪资档案未引用、1：薪资档案引用
     */
    private Integer useInEmployeeSalary;

    /**
     * 进位规则
     *
     * @see SalaryRoundingModeEnum
     */
    private Integer roundingMode;

    /**
     * 保留的小数位数
     */
    private Integer pattern;

    /**
     * 取值方式
     *
     * @see SalaryValueTypeEnum
     */
    private Integer valueType;

    /**
     * 字段类型
     *
     * @see SalaryDataTypeEnum
     */
    private String dataType;

    /**
     * 公式
     */
    private Long formulaId;

    /**
     * 备注
     */
    private String description;

    /**
     * 是否可以编辑。0：不可编辑、1：可以编辑
     */
    private Integer canEdit;

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

    /**
     * 创建人id
     */
    private Long creator;

    /**
     * 是否删除
     */
    private Integer deleteType;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    //查询条件
    private Collection<Long> ids;


    private Integer sharedType;

    private String taxAgentIds;
}
