package com.yifu.cloud.plus.v1.business.vo.salary;


import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 部门薪资变动统计表 分页查询展示 vo
 * @author: wangweiguo
 * @date: 2021-09-06
*/
@Setter
@Getter
@ToString
public class TSalaryStatisticsDepartVO implements Serializable  {

    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @Schema(description = "id")
    private String id;
    /**
     * 部门名称
     */
    @Schema(description = "部门名称")
    private String departName;
    /**
     * 部门id
     */
    @Schema(description = "部门id")
    private Integer departId;
    /**
     * 部门treeLogo
     */
    @Schema(description = "部门treeLogo")
    private String treeLogo;
    /**
     * 工资月份-yyyyMM
     */
    @Schema(description = "工资月份-yyyyMM")
    private String salaryMonth;
    /**
     * 工资月份的上个月-yyyyMM
     */
    @Schema(description = "工资月份的上个月-yyyyMM")
    private String lastSalaryMonth;

    @JsonIgnore
    private String salaryChangeType;
    /**
     * 人数
     */
    @Schema(description = "人数")
    private Integer peopleNumber;
    /**
     * 人数差额
     */
    @Schema(description = "人数差额")
    private Integer peopleNumberOffset;
    /**
     * 人数差额标识 0减少 1不变 2增加
     */
    @Schema(description = "人数差额标识 0减少 1不变 2增加")
    private String peopleNumberFlag;
    /**
     * 薪酬应发 8位整数 2位小数
     */
    @Schema(description = "薪酬应发")
    private BigDecimal payableSalary;
    /**
     * 薪酬应发差额 8位整数 2位小数
     */
    @Schema(description = "薪酬应发差额")
    private BigDecimal payableSalaryOffset;
    /**
     * 薪酬应发差额标识 0减少 1不变 2增加
     */
    @Schema(description = "薪酬应发差额标识 0减少 1不变 2增加")
    private String payableSalaryFlag;
    /**
     * 激励应发 8位整数 2位小数
     */
    @Schema(description = "激励应发")
    private BigDecimal payableIncentiveSalary;
    /**
     * 激励应发差额 8位整数 2位小数
     */
    @Schema(description = "激励应发差额")
    private BigDecimal payableIncentiveSalaryOffset;
    /**
     * 激励应发差额标识 0减少 1不变 2增加
     */
    @Schema(description = "激励应发差额标识 0减少 1不变 2增加")
    private String payableIncentiveSalaryFlag;
    /**
     * 其他应发 8位整数 2位小数
     */
    @Schema(description = "其他应发")
    private BigDecimal payableOtherSalary;
    /**
     * 其他应发差额 8位整数 2位小数
     */
    @Schema(description = "其他应发差额")
    private BigDecimal payableOtherSalaryOffset;
    /**
     * 其他应发差额标识 0减少 1不变 2增加
     */
    @Schema(description = "其他应发差额标识 0减少 1不变 2增加")
    private String payableOtherSalaryFlag;
    /**
     * 应发合计 9位整数 2位小数
     */
    @Schema(description = "应发合计")
    private BigDecimal payableTotal;
    /**
     * 应发合计差额 9位整数 2位小数
     */
    @Schema(description = "应发合计差额")
    private BigDecimal payableTotalOffset;
    /**
     * 应发合计差额标识 0减少 1不变 2增加
     */
    @Schema(description = "应发合计差额标识 0减少 1不变 2增加")
    private String payableTotalFlag;
    /**
     * 单位社保 6位整数 2位小数
     */
    @Schema(description = "单位社保")
    private BigDecimal companySocial;
    /**
     * 单位社保差额 6位整数 2位小数
     */
    @Schema(description = "单位社保差额")
    private BigDecimal companySocialOffset;
    /**
     * 单位社保差额标识 0减少 1不变 2增加
     */
    @Schema(description = "单位社保差额标识 0减少 1不变 2增加")
    private String companySocialFlag;
    /**
     * 单位公积金 6位整数 2位小数
     */
    @Schema(description = "单位公积金")
    private BigDecimal companyAccFund;
    /**
     * 单位公积金差额 6位整数 2位小数
     */
    @Schema(description = "单位公积金差额")
    private BigDecimal companyAccFundOffset;
    /**
     * 单位公积金差额标识 0减少 1不变 2增加
     */
    @Schema(description = "单位公积金差额标识 0减少 1不变 2增加")
    private String companyAccFundFlag;
    /**
     * 个人社保 6位整数 2位小数
     */
    @Schema(description = "个人社保")
    private BigDecimal personalSocial;
    /**
     * 个人社保差额 6位整数 2位小数
     */
    @Schema(description = "个人社保差额")
    private BigDecimal personalSocialOffset;
    /**
     * 个人社保差额标识 0减少 1不变 2增加
     */
    @Schema(description = "个人社保差额标识 0减少 1不变 2增加")
    private String personalSocialFlag;
    /**
     * 个人公积金 6位整数 2位小数
     */
    @Schema(description = "个人公积金")
    private BigDecimal personalAccFund;
    /**
     * 个人公积金差额 6位整数 2位小数
     */
    @Schema(description = "个人公积金差额")
    private BigDecimal personalAccFundOffset;
    /**
     * 个人公积金差额标识 0减少 1不变 2增加
     */
    @Schema(description = "个人公积金差额标识 0减少 1不变 2增加")
    private String personalAccFundFlag;
    /**
     * 个人所得税 6位整数 2位小数
     */
    @Schema(description = "个人所得税")
    private BigDecimal indIncomeTax;
    /**
     * 个人所得税差额 6位整数 2位小数
     */
    @Schema(description = "个人所得税差额")
    private BigDecimal indIncomeTaxOffset;
    /**
     * 个人所得税差额标识 0减少 1不变 2增加
     */
    @Schema(description = "个人所得税差额标识 0减少 1不变 2增加")
    private String indIncomeTaxFlag;
    /**
     * 其他扣款 6位整数 2位小数
     */
    @Schema(description = "其他扣款")
    private BigDecimal otherDedutions;
    /**
     * 其他扣款差额 6位整数 2位小数
     */
    @Schema(description = "其他扣款差额")
    private BigDecimal otherDedutionOffset;
    /**
     * 其他扣款差额标识 0减少 1不变 2增加
     */
    @Schema(description = "其他扣款差额标识 0减少 1不变 2增加")
    private String otherDedutionFalg;
    /**
     * 扣款合计 7位整数 2位小数
     */
    @Schema(description = "扣款合计")
    private BigDecimal dedutionTotal;
    /**
     * 扣款合计差额 7位整数 2位小数
     */
    @Schema(description = "扣款合计差额")
    private BigDecimal dedutionTotalOffset;
    /**
     * 扣款合计差额标识 0减少 1不变 2增加
     */
    @Schema(description = "扣款合计差额标识 0减少 1不变 2增加")
    private String dedutionTotalFlag;
    /**
     * 实发工资 8位整数 2位小数
     */
    @Schema(description = "实发工资")
    private BigDecimal actualSalary;
    /**
     * 实发工资差额 8位整数 2位小数
     */
    @Schema(description = "实发工资差额")
    private BigDecimal actualSalaryOffset;
    /**
     * 实发工资差额标识 0减少 1不变 2增加
     */
    @Schema(description = "实发工资差额标识 0减少 1不变 2增加")
    private String actualSalaryFlag;
    /**
     * 人均成本 8位整数 2位小数
     */
    @Schema(description = "人均成本")
    private BigDecimal perCapita;
    /**
     * 人均成本差额 8位整数 2位小数
     */
    @Schema(description = "人均成本差额")
    private BigDecimal perCapitaOffset;
    /**
     * 人均成本差额标识 0减少 1不变 2增加
     */
    @Schema(description = "人均成本差额标识 0减少 1不变 2增加")
    private String perCapitaFlag;

    @JsonIgnore
    private List<TSalaryStatisticsDepartVO> children;

}

