package com.zcloud.basic.info.dto;

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

import javax.validation.constraints.*;

import java.util.Date;

/**
 * web-client
 *
 * @Author SondonYong
 * @Date 2025-12-02 14:08:57
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserJobHandoverUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id", required = true)
    @NotNull(message = "主键不能为空")
    private Long id;
    @ApiModelProperty(value = "业务主键id", name = "userJobHandoverId", required = true)
    @NotEmpty(message = "业务主键id不能为空")
    private String userJobHandoverId;
    @ApiModelProperty(value = "用户变更记录id", name = "userChangeRecordId", required = true)
    @NotEmpty(message = "用户变更记录id不能为空")
    private String userChangeRecordId;
    @ApiModelProperty(value = "用户id", name = "userId", required = true)
    @NotNull(message = "用户id不能为空")
    private Long userId;
    @ApiModelProperty(value = "变更时间", name = "changeTime", required = true)
    @NotNull(message = "变更时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date changeTime;
    //工作类型，1:隐患信息
    @ApiModelProperty(value = "工作类型，1:隐患信息")
    private Integer workType;
    //外键id
    @ApiModelProperty(value = "外键id")
    private String foreignKey;
    @ApiModelProperty(value = "工作项目", name = "workProject", required = true)
    @NotEmpty(message = "工作项目不能为空")
    private String workProject;
    @ApiModelProperty(value = "工作内容", name = "workContent", required = true)
    @NotEmpty(message = "工作内容不能为空")
    private String workContent;
    @ApiModelProperty(value = "交接状态,1:关闭任务", name = "handoverStatus", required = true)
    @NotNull(message = "交接状态,1:关闭任务不能为空")
    private Integer handoverStatus;
    @ApiModelProperty(value = "交接人企业id", name = "handoverCompanyId", required = true)
    @NotNull(message = "交接人企业id不能为空")
    private Long handoverCompanyId;
    @ApiModelProperty(value = "交接人公司名称", name = "handoverCompanyName", required = true)
    @NotEmpty(message = "交接人公司名称不能为空")
    private String handoverCompanyName;
    @ApiModelProperty(value = "交接人部门id", name = "handoverDepartmentId", required = true)
    @NotNull(message = "交接人部门id不能为空")
    private Long handoverDepartmentId;
    @ApiModelProperty(value = "交接人部门名称", name = "handoverDepartmentName", required = true)
    @NotEmpty(message = "交接人部门名称不能为空")
    private String handoverDepartmentName;
    @ApiModelProperty(value = "交接人岗位id", name = "handoverPostId", required = true)
    @NotNull(message = "交接人岗位id不能为空")
    private Long handoverPostId;
    @ApiModelProperty(value = "交接人岗位名称", name = "handoverPostName", required = true)
    @NotEmpty(message = "交接人岗位名称不能为空")
    private String handoverPostName;
    @ApiModelProperty(value = "交接人id", name = "handoverUserId", required = true)
    @NotNull(message = "交接人id不能为空")
    private Long handoverUserId;
    @ApiModelProperty(value = "交接人名称", name = "handoverUserName", required = true)
    @NotEmpty(message = "交接人名称不能为空")
    private String handoverUserName;
}

