package com.zcloud.basic.info.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2025-12-03 10:21:58
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserCorpRecordAddCmd extends Command {
    @ApiModelProperty(value = "用户id", name = "userId", required = true)
    @NotNull(message = "用户id不能为空")
    private Long userId;

    @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
    @NotNull(message = "企业id不能为空")
    private Long corpinfoId;

    @ApiModelProperty(value = "企业名称", name = "corpinfoName", required = true)
    @NotEmpty(message = "企业名称不能为空")
    private String corpinfoName;

    @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
    @NotNull(message = "部门id不能为空")
    private Long departmentId;

    @ApiModelProperty(value = "部门名称", name = "departmentName", required = true)
    @NotEmpty(message = "部门名称不能为空")
    private String departmentName;

    @ApiModelProperty(value = "岗位id", name = "postId", required = true)
    @NotNull(message = "岗位id不能为空")
    private Long postId;

    @ApiModelProperty(value = "岗位名称", name = "postName", required = true)
    @NotEmpty(message = "岗位名称不能为空")
    private String postName;

    @ApiModelProperty(value = "审批状态，1-待审批, 2-通过,3-驳回", name = "status", required = true)
    @NotNull(message = "审批状态，1-待审批, 2-通过,3-驳回不能为空")
    private Integer status;

    @ApiModelProperty(value = "入职状态，1-在职 0-离职, 11-入职待审核, 10-离职待审核", name = "employmentFlag", required = true)
    @NotNull(message = "入职状态，1-在职 0-离职, 11-入职待审核, 10-离职待审核不能为空")
    private Integer employmentFlag;

    @ApiModelProperty(value = "开始时间", name = "startTime", required = true)
    @NotEmpty(message = "开始时间不能为空")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "结束时间", name = "endTime", required = true)
    @NotEmpty(message = "结束时间不能为空")
    private LocalDateTime endTime;

}

