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

import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.SalaryRoundingModeEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
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
//hrsa_salary_sob_item
@ElogTransform( name="薪资账套薪资项目" )
public class SalarySobItemPO {

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

    /**
     * 薪资账套的id
     */
    private Long salarySobId;

    /**
     * 薪资项目的id
     */
    private Long salaryItemId;

    /**
     * 薪资账套薪资项目分组id
     */
    private Long salarySobItemGroupId;

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

    /**
     * 排序字段
     */
    private Integer sortedIndex;

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

    /**
     * 是否可以删除。0：不可删除、1：可以删除
     */
    private Integer canDelete;

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

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

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

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

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

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

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

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


    //该分类是否隐藏（0不隐藏，1隐藏）
    private Long itemHide;

    //in
    Collection<Long> ids;
    Collection<Long> salarySobIds;


    Collection<Long> salaryItemIds;

    Collection<Long> notInSalaryItemIds;

}
