package com.cf.imes.module.executor.service.optimizeplan;

import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource;
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.SavePlanPlateResultReqVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;

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

public interface OptimizePlanService {

    String ORDER_PLATE_MODEL = "imes_order_plate_model";

    String ORDER_REMAIN_PLATE_MODEL = "imes_order_remain_plate_model";

    List<PlateOptimize> getPlateListByPlanId(Long planId);

    Boolean addRemain(AddRemainReqVO vo);

    Boolean savePlanPlateResult(SavePlanPlateResult result);

    Boolean commit(Long planId);

    OptimizeParamResVO getOptimizeParam(Long planId);

    OptimizeParamRespVO getOptimizePlanParam(Long planId);

    Map<String, Object> getLabelDataSourceValue(GetSourceDataReq req);

    OrderSource getOrderSource(Long orderId, Long planId, Long machineId);

    OrderSource getOrderSourceByOrderId(Long orderId);

    OrderSource getOrderSourceByPlanId(Long planId);


    void saveOptimizationResults(SavePlanPlateResultReqVO req);


}
