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

import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 招聘记录历史工作经历编辑DTO
 *
 * @author ruoyi
 * @date 2026-04-22
 */
@Data
public class CcdiStaffRecruitmentWorkEditDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 排序号 */
    private Integer sortOrder;

    /** 工作单位 */
    @Size(max = 200, message = "工作单位长度不能超过200个字符")
    private String companyName;

    /** 所属部门 */
    @Size(max = 100, message = "所属部门长度不能超过100个字符")
    private String departmentName;

    /** 岗位名称 */
    @Size(max = 100, message = "岗位名称长度不能超过100个字符")
    private String positionName;

    /** 入职年月 */
    @Pattern(regexp = "^$|^((19|20)\\d{2})-(0[1-9]|1[0-2])$", message = "入职年月格式不正确,应为YYYY-MM")
    private String jobStartMonth;

    /** 离职年月 */
    @Pattern(regexp = "^$|^((19|20)\\d{2})-(0[1-9]|1[0-2])$", message = "离职年月格式不正确,应为YYYY-MM")
    private String jobEndMonth;

    /** 离职原因 */
    @Size(max = 500, message = "离职原因长度不能超过500个字符")
    private String departureReason;

    /** 主要工作内容 */
    @Size(max = 1000, message = "主要工作内容长度不能超过1000个字符")
    private String workContent;

    /** 备注 */
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
}
