package cn.iocoder.yudao.module.hrm.controller.admin.approval.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDate; @Schema(description = "管理后台 - 调岗申请新增/修改 Request VO") @Data public class HrmTransferApplicationSaveReqVO { @Schema(description = "申请ID", example = "1") private Long id; @Schema(description = "申请人ID", example = "1") private Long userId; @Schema(description = "原部门ID", example = "1") private Long currentDeptId; @Schema(description = "原岗位ID", example = "1") private Long currentPostId; @Schema(description = "目标部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "目标部门不能为空") private Long targetDeptId; @Schema(description = "目标岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "目标岗位不能为空") private Long targetPostId; @Schema(description = "调岗类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "调岗类型不能为空") private Integer transferType; @Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-02-01") @NotNull(message = "生效日期不能为空") private LocalDate effectiveDate; @Schema(description = "调岗原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "业务需要") @NotEmpty(message = "调岗原因不能为空") private String reason; @Schema(description = "附件地址", example = "https://xxx.com/xxx.pdf") private String fileUrl; @Schema(description = "备注", example = "备注信息") private String remark; }