package cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 质量管理-检验任务新增/修改 Request VO")
@Data
public class ZjTaskSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31746")
    private Long id;

    @Schema(description = "单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "单号不能为空")
    private String code;

    @Schema(description = "名称", example = "王五")
    private String name;

    @Schema(description = "质检分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "质检分类不能为空")
    private String type;

    @Schema(description = "检验方案id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3630")
    @NotNull(message = "检验方案id不能为空")
    private Long schemaId;

    @Schema(description = "检验方案名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "检验方案名称不能为空")
    private String schemaName;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "工单", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "工单不能为空")
    private String ticket;

    @Schema(description = "工序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "工序不能为空")
    private String orgType;

    @Schema(description = "负责人id", example = "6442")
    private Long managerId;

    @Schema(description = "负责人名称", example = "张三")
    private String managerName;

    @Schema(description = "执行人id", example = "10505")
    private Long executorId;

    @Schema(description = "执行人名称", example = "王五")
    private String executorName;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "结果")
    private String result;

    @Schema(description = "执行时间")
    private LocalDateTime executeTime;

     @Schema(description = "取消原因")
     private String cancelReason;

}