package cn.iocoder.yudao.module.smartfactory.controller.admin.packagedata.vo;

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

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

@Schema(description = "管理后台 - 打包线数据修改 Request VO")
@Data
public class PackageDataSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "打包线id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12")
    @NotNull(message = "打包线id不能为空")
    private Long packageId;

    @Schema(description = "打包线名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "1线")
    @NotEmpty(message = "打包线名称不能为空")
    private String packageName;

    @Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000078")
    @NotNull(message = "工厂id不能为空")
    private Long factoryId;

    @Schema(description = "规格编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "规格编号不能为空")
    private Long sizeId;

    @Schema(description = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "300*300")
    @NotEmpty(message = "规格名称不能为空")
    private String sizeName;

    @Schema(description = "规格片数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "规格片数不能为空")
    private Integer sizePieces;

    @Schema(description = "设备名称", example = "三星")
    private String deviceName;

    @Schema(description = "打包日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDate packageDate;

    @Schema(description = "手动打包数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "手动打包数量不能为空")
    private Integer num;

    @Schema(description = "自动打包数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "打包数量不能为空")
    private Integer autoNum;

    @Schema(description = "破损数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "破损数量不能为空")
    private Integer damageNum;

}