package com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo;

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

import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;

/**
 * 工艺工序物料 Response VO（包含扩展信息）
 */
@Data
public class ProcessingInfomationOperationMaterialRespVO {

    @Schema(description = "主键ID", example = "10086")
    private Long id;

    @Schema(description = "工艺工序ID", example = "20001")
    private Long processingOperationId;

    @Schema(description = "物料ID", example = "30001")
    private Long materialId;

    @Schema(description = "物料编码")
    private String materialCode;

    @Schema(description = "物料名称")
    private String materialName;

    @Schema(description = "物料类型值", example = "input")
    private String typeValue;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "关联组织ID列表")
    private List<Long> departmentIds = Collections.emptyList();

    @Schema(description = "关联组织信息")
    private List<ProcessingInfomationOperationMaterialDeptRespVO> departments = Collections.emptyList();

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Data
    public static class ProcessingInfomationOperationMaterialDeptRespVO {
        @Schema(description = "组织ID", example = "50001")
        private Long id;

        @Schema(description = "组织名称")
        private String name;
    }
}
