package com.ruoyi.oa.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import liquibase.pro.packaged.L;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

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

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 员工模板绑定及月度发放记录业务对象 oa_employee_template_binding
 *
 * @author ruoyi
 * @date 2025-06-23
 */

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

    /**
     * 记录ID
     */
    private Long bindingId;

    /**
     * 员工ID → oa_employee.employee_id
     */
    private Long employeeId;
    private List<Long> employeeIds;
//
//    /**
//     * 保险模板ID → oa_insurance_template.insurance_template_id
//     */
//    private Long insuranceTemplateId;
    /**
     *   personal_insurance_template_id bigint                                   not null comment '个人保险模板ID → oa_insurance_template.insurance_template_id',
     */
    private Long personalInsuranceTemplateId;
    /*
    * company_insurance_template_id  bigint                                   not null comment '企业保险模板ID → oa_insurance_temp
    * */
    private Long companyInsuranceTemplateId;


    /**
     * 薪资模板ID → oa_salary_template.salary_template_id
     */
    private Long salaryTemplateId;

    /**
     * 发放年度
     */
    private Long payYear;

    /**
     * 发放月份
     */
    private Long payMonth;

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

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

    /**
     * 状态（已发/待发）
     */
    private String status;

    /**
     * 备注
     */
    private String remark;
//    private Long defaultInsuranceTemplateId; // 新增：默认社保模板ID
    private Long defaultPersonalInsuranceTemplateId;
    private Long defaultCompanyInsuranceTemplateId;
    private Long defaultSalaryTemplateId;     // 新增：默认薪资模板ID


}
