package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;

import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 模具维修记录新增/修改 Request VO")
@Data
public class MoldRepairSaveReqVO {

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

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

    @Schema(description = "维修单名称", example = "王五")
    private String repairName;

    @Schema(description = "模具ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6979")
//    @NotNull(message = "模具ID不能为空")
    private Long moldId;

    @Schema(description = "模具编码", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotEmpty(message = "模具编码不能为空")
    private String moldCode;

    @Schema(description = "模具名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
//    @NotEmpty(message = "模具名称不能为空")
    private String moldName;

    @Schema(description = "品牌")
    private String moldBrand;

    @Schema(description = "规格型号")
    private String moldSpec;

    @Schema(description = "模具类型-待用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1622")
//    @NotNull(message = "模具类型不能为空")
    private Long moldTypeId;

    @Schema(description = "报修日期")
    private LocalDateTime requireDate;

    @Schema(description = "完成日期")
    private LocalDateTime finishDate;

    @Schema(description = "验收日期")
    private LocalDateTime confirmDate;

    @Schema(description = "维修结果")
    private String repairResult;

    @Schema(description = "维修人员")
    private String acceptedBy;

    @Schema(description = "验收人员")
    private String confirmBy;

    @Schema(description = "单据状态", example = "1")
    private String status;

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

    @Schema(description = "模具维修记录行列表")
    private List<MoldRepairLineDO> moldRepairLines;

    @Schema(description = "模具类型 1-模具 2-关键件")
    private Integer deviceType;

    @Schema(description = "模具Id")
    private Long deviceId;

    @Schema(description = "关键件Id")
    private Long componentId;

}