package com.ruoyi.oa.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工资发放明细业务对象 oa_salary_detail
 *
 * @author Joshi
 * @date 2025-09-08
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class OaSalaryDetailBo extends BaseEntity {

    /**
     * 主键，自增
     */
    private Long detailId;

    /**
     * 关联主表ID
     */
    private Long mainId;

    /**
     * 序号
     */
    private Long serialNumber;

    /**
     * 部门
     */
    private String dept;

    /**
     * 员工姓名
     */
    private String name;

    /**
     * 基本工资
     */
    private BigDecimal basicSalary;

    /**
     * 岗位工资
     */
    private BigDecimal postSalary;

    /**
     * 餐补
     */
    private BigDecimal mealAllowance;

    /**
     * 住房补贴
     */
    private BigDecimal housingAllowance;

    /**
     * 公交补贴
     */
    private BigDecimal busAllowance;

    /**
     * 出差天数
     */
    private Long businessDaysOther;

    /**
     * 出差补助
     */
    private BigDecimal businessAllowance;

    /**
     * 社保补助（模板2字段）
     */
    private BigDecimal socialSecurityAllowance;

    /**
     * 加班时长（模板2字段）
     */
    private BigDecimal overtimeHours;

    /**
     * 加班标准（模板2字段）
     */
    private BigDecimal overtimeRate;

    /**
     * 加班工资总计（模板2字段）
     */
    private BigDecimal overtimeTotal;

    /**
     * 出勤天数（模板2字段）
     */
    private Long businessDays;
    /**
     * 奖金和福利
     */

    private BigDecimal bonuses;

    /**
     * 请假扣款
     */
    private BigDecimal leaveDeduction;

    /**
     * 其他扣款
     */
    private BigDecimal otherDeduction;

    /**
     * 应发工资
     */
    private BigDecimal grossSalary;

    /**
     * 个人缴纳养老保险
     */
    private BigDecimal personalPension;

    /**
     * 个人缴纳医疗保险
     */
    private BigDecimal personalMedical;

    /**
     * 个人缴纳失业保险
     */
    private BigDecimal personalUnemployment;

    /**
     * 个人缴纳大病医疗
     */
    private BigDecimal personalBigMedical;

    /**
     * 个人缴纳住房公积金
     */
    private BigDecimal personalHousingFund;

    /**
     * 个人所得税
     */
    private BigDecimal personalTax;
    /*
     *奖金福利已发放扣除
     */
    private BigDecimal bonusesDeducted ;

    /**
     * 实发工资
     */
    private BigDecimal netSalary;

    /**
     * 企业缴纳养老保险
     */
    private BigDecimal enterprisePension;

    /**
     * 企业缴纳医疗保险
     */
    private BigDecimal enterpriseMedical;

    /**
     * 企业缴纳工伤保险（模板2字段）
     */
    private BigDecimal enterpriseInjury;

    /**
     * 企业缴纳失业保险
     */
    private BigDecimal enterpriseUnemployment;

    /**
     * 企业缴纳生育保险（模板1字段）
     */
    private BigDecimal enterpriseMaternity;

    /**
     * 企业缴纳住房公积金
     */
    private BigDecimal enterpriseHousingFund;

    /**
     * 企业缴纳大病医疗（模板2字段）
     */
    private BigDecimal enterpriseBigMedical;

    /**
     * 单位总支出
     */
    private BigDecimal unitTotalExpense;

    /**
     * 备注
     */
    private String remark;


}
