package com.ruoyi.info.collection.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 员工调动记录查询DTO
 *
 * @author ruoyi
 * @date 2026-02-10
 */
@Data
@Schema(description = "员工调动记录查询")
public class CcdiStaffTransferQueryDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 员工ID(模糊查询) */
    @Schema(description = "员工ID")
    private Long staffId;

    /** 员工姓名(模糊查询) */
    @Schema(description = "员工姓名")
    private String staffName;

    /** 调动类型(精确查询) */
    @Schema(description = "调动类型")
    private String transferType;

    /** 调动子类型 */
    @Schema(description = "调动子类型")
    private String transferSubType;

    /** 调动前部门ID */
    @Schema(description = "调动前部门ID")
    private Long deptIdBefore;

    /** 调动后部门ID */
    @Schema(description = "调动后部门ID")
    private Long deptIdAfter;

    /** 调动日期开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "调动日期开始")
    private Date transferDateStart;

    /** 调动日期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "调动日期结束")
    private Date transferDateEnd;
}
