package com.cf.imes.module.executor.controller.admin.ordercomponent.vo;

import com.cf.imes.framework.common.validation.InEnum;
import com.cf.imes.module.executor.enums.ordercomponent.OrderComponentProcessStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.List;

/**
 *
 *
 * @author Gqr
 * @since 2026/7/13 10:24
 */
@Data
@Schema(description = "装配清单 - 查询部件子元素表格请求")
public class AssemblyComponentChildPrintReqVO {
    @Schema(description = "上级部件ID列表", example = "[1001, 1002]")
    @Size(max = 1000)
    private List<Long> componentIds;

    @Schema(description = "订单 ID 列表", example = "[10001, 10002]", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单 ID 不能为空")
    @Size(max = 100)
    private List<Long> orderIds;

    @Schema(description = "加工状态：0不加工、1未加工、2已加工、3部分加工", example = "[1, 2]")
    @InEnum(OrderComponentProcessStatusEnum.class)
    private List<Integer> processStatus;
}
