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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Schema(description = "管理后台 - 工资条创建 Request VO")
@Data
public class PayslipCreateReqVO {

    @Schema(description = "编号", example = "1")
    private Long id;

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "用户编号不能为空")
    private Long userId;

    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "部门编号不能为空")
    private Long deptId;

    @Schema(description = "所属公司编号")
    private Long companyDeptId;

    @Schema(description = "所属公司名称")
    private String companyName;

    @Schema(description = "银行开户名")
    private String bankName;

    @Schema(description = "银行账号")
    private String bankNo;

    @Schema(description = "工资日期")
    private String salaryDate;

    @Schema(description = "实发工资")
    private BigDecimal salary;

    @Schema(description = "工资条详情")
    private List<PayslipDetail> details;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "是否确认工资单 | 0否 1是", example = "0")
    private Integer isConfirm;
}
