package com.ruoyi.oa.domain.dto;

import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 批量插入工资明细请求DTO - 处理驼峰命名的字符串数字格式
 *
 * @author Joshi
 * @date 2025-09-08
 */
@Data
public class BatchInsertSalaryStringDto {

    /**
     * 单位名称
     */
    @NotBlank(message = "单位名称不能为空")
    private String unitName;

    /**
     * 工资所属期间，格式如：2025-8
     */
    @NotBlank(message = "工资期间不能为空")
    private String salaryPeriod;

    /**
     * 总经理审批状态或姓名
     */
    private String gmApproval;

    /**
     * 财务审核状态或姓名
     */
    private String financeAudit;

    /**
     * 出纳姓名
     */
    private String cashier;

    /**
     * 部门主管姓名
     */
    private String deptManager;

    /**
     * 经办人姓名
     */
    private String operator;
    //新增薪资模板属性
    private String salaryTemplate;

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

    /**
     * 工资明细列表
     */
    @Valid
    @NotEmpty(message = "明细列表不能为空")
    private List<SalaryDetailStringDto> salaryDetailList;
}