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

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

import java.io.Serializable;
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_stats_report
@ElogTransform(name = "薪酬统计报表")
public class SalaryStatisticsReportPO implements Serializable {

    private static final long serialVersionUID = 6526480959578343197L;

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

    //报表名称
    @ElogTransform(name = "报表名称")
    private String reportName;

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

    @ElogTransform(name = "二级维度")
    private String secondDimension;

    @ElogTransform(name = "排序列")
    private String sortIndex;

    @ElogTransform(name = "排序方式")
    private String sortType;

    //时间类型
    @ElogTransform(name = "时间类型")
    private Integer timeType;

    //统计维度
    @ElogTransform(name = "统计维度")
    private String dimension;

    //薪资所属月-起始
    @ElogTransform(name = "薪资所属月-起始")
    private Date salaryStartMonth;

    //薪资所属月-截止
    @ElogTransform(name = "薪资所属月-截止")
    private Date salaryEndMonth;

    //个税扣缴义务人配置
    @ElogTransform(name = "个税扣缴义务人配置")
    private String taxAgentSetting;

    //薪资账套配置
    private String salarySobSetting;

    //收入所得项目配置
    @ElogTransform(name = "收入所得项目配置")
    private String incomeCategorySetting;

    //分部配置
    @ElogTransform(name = "分部配置")
    private String subCompanySetting;

    //部门配置
    @ElogTransform(name = "部门配置")
    private String departSetting;

    //职级配置
    @ElogTransform(name = "职级配置")
    private String gradeSetting;

    //岗位配置
    @ElogTransform(name = "岗位配置")
    private String positionSetting;

    //人员状态配置
    @ElogTransform(name = "人员状态配置")
    private String statusSetting;

    //人员配置
    @ElogTransform(name = "人员配置")
    private String employeeSetting;

    //入职日期配置
    @ElogTransform(name = "入职日期配置")
    private String hiredateSetting;

    //离职日期配置
    @ElogTransform(name = "离职日期配置")
    private String leavedateSetting;

    //租户key
    @ElogTransform(name = "租户key", ignore = true)
    private String tenantKey;

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

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

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

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


    Collection<Long> ids;
}
