package com.aps.entity.Algorithm;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 作者：佟礼
 * 时间：2025-11-21
 */
@Data
public class GAScheduleResult {
    private int GroupId;

    private int OperationId;
    /**
     * 工单ID
     */
    public String ExecId ;
    public String OrderId ;
    public String OrderCode ;
    private String productId;
    private String productName;
    private String productCode;
    private long MachineId;
    /**
     * 设备类型
     *
     */
    private String capacityTypeName;
    private int StartTime; // 相对开始时间（秒）
    private int EndTime; // 相对结束时间（秒）
    private int teardownTime; //后处理
    private double Quantity; // 批次大小（订单可拆分）
    private List<ScheduleResultDetail> GeneDetails; // 时间详情
    private int designatedStartTime = -1; // 固定开始时间（默认-1）
    private int lockStartTime = 0; // 是否固定开始时间（默认-1）
    private Long forcedMachineId =-1L;     // 强制分配的设备ID（-1表示无强制）
    private  boolean IsLocked=false;
    private  boolean IsJit=false;
    private double OneTime; // 单件工时
    private double ProcessingTime; // 绝对处理时间（分钟）
    private int changeOverTime;
    private int preTime;
    private  int seq; //工序顺序
    private int bomTime;//物料齐套时间
    private List<Integer> TargetFinishedOperationId;

    public int getFlowTime() {
        return EndTime - StartTime;
    };

}
