package com.cf.imes.module.system.controller.admin.machine.vo;

import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.Valid;
import java.util.List;

/**
 * @author Beal
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TemplateAutoResp {


    @Schema(description = "组织信息")
    private List<OrganSimpleRespVO> organSimpleRespVOS;


    @Schema(description = "机台模板的品牌信息")
    private List<MachineBrand> machineBrand;


    @Valid
    @Data
    public static class MachineBrand {

        @Schema(description = "品牌ID")
        private Long id;

        @Schema(description = "品牌名称")
        private String brand;

        @Schema(description = "机台类别")
        private Integer machineType;

        @Schema(description = "机台模板的权限信息")
        private List<MachineTemplate> machineTemplates;

    }


    @Valid
    @Data
    public static class MachineTemplate {

        @Schema(description = "机台模板ID")
        private Long id;


        @Schema(description = "机台模板品牌ID")
        private Long brandId;


        @Schema(description = "机台模板名称")
        private String name;


    }




//    @Schema(description = "机台模板id")
//    private Long id;
//
//
//    @Schema(description = "机台模板名称")
//    private String templateName;
//
//
//    @Schema(description = "机台模板类别")
//    private Integer machineType;
//
//
////    private Boolean isDefault;
//
//    @Schema(description ="加工模式 开料机加工模式 默认true，显示开料机工作模式(是否排钻/造型，sc)配置")
//    private Boolean showPriorFacing = false;
//
//    @Schema(description = "双工位")
//    private Boolean showDualWorkstation = false;
//
//    @Schema(description = "自动贴标")
//    private Boolean showAutoNotePrinter = false;
}
