package com.aps.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * Chromosome排产方案数据模型
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ChromosomeData {
    
    /**
     * 生成类型
     */
    @JsonProperty("generateType")
    private String generateType;
    
    /**
     * 版本号
     */
    @JsonProperty("version")
    private Integer version;
    
    /**
     * 机器分配方案 - 每个位置表示对应工序选择第几个可选机器(从1开始)
     */
    @JsonProperty("machineSelection")
    private List<Integer> machineSelection;
    
    /**
     * 工序排序方案 - 表示工序的加工优先级顺序
     */
    @JsonProperty("operationSequencing")
    private List<Integer> operationSequencing;
    
    /**
     * 全局工序列表
     */
    @JsonProperty("globalOpList")
    private List<OperationInfo> globalOpList;
    
    /**
     * AI优化标记
     */
    @JsonProperty("optimized_by_ai")
    private Boolean optimizedByAi;
    
    /**
     * AI优化建议
     */
    @JsonProperty("optimization_advice")
    private String optimizationAdvice;
    
    /**
     * 其他扩展字段
     */
    private Map<String, Object> additionalProperties;
}
