
package org.sky.scientific.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.sky.core.tenant.mp.TenantEntity;

import java.math.BigDecimal;

/**
 * 每月工资数据 实体类
 *
 * @author Kd
 * @since 2025-06-19
 */
@Data
@TableName("kd_salary")
@Schema(description = "Salary对象")
@EqualsAndHashCode(callSuper = true)
public class SalaryEntity extends TenantEntity {

	@Schema(description = "技术人员唯一标识")
	@NotNull(message = "参数unicode缺失或错误")
	private String unicode;

	@Schema(description = "所属年月，如：202505")
	private String yearAndMonth;

	@Schema(description = "工资(元)")
	private BigDecimal averageMonthlySalary;

	@Schema(description = "工资(元)，是否修改过，0：否，1：是")
	private Integer averageMonthlySalaryEdit;

	@Schema(description = "养老保险单位部分")
	private BigDecimal pensionInsurance;

	@Schema(description = "养老保险单位部分，是否修改过，0：否，1：是")
	private Integer pensionInsuranceEdit;

	@Schema(description = "医疗保险单位部分")
	private BigDecimal medicalInsurance;

	@Schema(description = "医疗保险单位部分，是否修改过，0：否，1：是")
	private Integer medicalInsuranceEdit;

	@Schema(description = "失业保险单位部分")
	private BigDecimal unemploymentInsurance;

	@Schema(description = "失业保险单位部分，是否修改过，0：否，1：是")
	private Integer unemploymentInsuranceEdit;

	@Schema(description = "工伤保险单位部分")
	private BigDecimal injuryInsurance;

	@Schema(description = "工伤保险单位部分，是否修改过，0：否，1：是")
	private Integer injuryInsuranceEdit;

	@Schema(description = "生育保险单位部分")
	private BigDecimal maternityInsurance;

	@Schema(description = "生育保险单位部分，是否修改过，0：否，1：是")
	private Integer maternityInsuranceEdit;

	@Schema(description = "公积金单位部分")
	private BigDecimal providentFund;

	@Schema(description = "公积金单位部分，是否修改过，0：否，1：是")
	private Integer providentFundEdit;

	@Schema(description = "奖金")
	private BigDecimal bonus;

	@Schema(description = "奖金，是否修改过，0：否，1：是")
	private Integer bonusEdit;

	@Schema(description = "福利费")
	private BigDecimal benefit;

	@Schema(description = "福利费，是否修改过，0：否，1：是")
	private Integer benefitEdit;

	@Schema(description = "补充养老保险")
	private BigDecimal pensionInsuranceBc;

	@Schema(description = "补充养老保险，是否修改过，0：否，1：是")
	private Integer pensionInsuranceBcEdit;

	@Schema(description = "补充医疗保险")
	private BigDecimal medicalInsuranceBc;

	@Schema(description = "补充医疗保险，是否修改过，0：否，1：是")
	private Integer medicalInsuranceBcEdit;

}
