package cn.iocoder.yudao.module.system.controller.admin.hr.vo.payslip;

import cn.iocoder.yudao.framework.common.validation.IdCard;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 工资条 Excel 导入 VO
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false，避免用户导入有问题
public class PayslipImportExcelVO {

    @ExcelProperty("姓名")
    private String nickname;

    @ExcelProperty("身份证号码")
    @IdCard
    private String idcard;

    @ExcelProperty("基本工资")
    private BigDecimal jbgz;

    @ExcelProperty(value = "防暑降温费")
    private BigDecimal fsjwf;

    @ExcelProperty("误餐补助")
    private BigDecimal wcbz;

    @ExcelProperty("福利费")
    private BigDecimal flf;

    @ExcelProperty(value = "合计", index = 7)
    private BigDecimal sum;

    @ExcelProperty(value = "试用期工资", index = 8)
    private BigDecimal syqgz;

    @ExcelProperty(value = "应发工资", index = 9)
    private BigDecimal yfgz;

    @ExcelProperty("养老")
    private BigDecimal ylbx;

    @ExcelProperty("失业")
    private BigDecimal sybx;

    @ExcelProperty("医保")
    private BigDecimal yb;

    @ExcelProperty("大额医疗")
    private BigDecimal deyl;

    @ExcelProperty(value = "代缴合计", index = 14)
    private BigDecimal djSum;

    @ExcelProperty(value = "公积金", index = 15)
    private BigDecimal gjj;

    @ExcelProperty(value = "个税", index = 16)
    private BigDecimal gs;

    @ExcelProperty(value = "实发工资", index = 17)
    private BigDecimal salary;

    @ExcelProperty(value = "开户行", index = 18)
    private String bankName;

    @ExcelProperty(value = "银行卡号", index = 19)
    private String bankNo;

    @ExcelProperty(value = "备注", index = 20)
    private String remark;

    @ExcelProperty(value = "签名", index = 21)
    private String isConfirm;
}
