package com.ximai.mes.pro.schedule.strategy;

import com.ximai.mes.pro.schedule.IOperationTimeCalculator;
import com.ximai.mes.pro.schedule.TaskSchedulingContext;

import java.util.List;

/**
 * 设备评估打分
 */
public interface EvaluateEquipment {

    /**
     *
     * @param context 当前评估设备
     * @param operationTimePlan 当前评估设备排产工时
     * @param scheduleResult 工序所有可用设备排产工时
     * @return
     */
    public double evaluate(TaskSchedulingContext context, IOperationTimeCalculator.OperationTimePlan operationTimePlan,
                           List<TaskSchedulingContext.TaskSchedulingResultContext> scheduleResult);

    /**
     * 权重
     * @return
     */
    public int weight();


}
