package com.zy.acs.manager.core.service; import com.zy.acs.common.domain.AgvProtocol; import com.zy.acs.manager.common.domain.param.HandlerPublishParam; import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam; import com.zy.acs.manager.manager.entity.Bus; import com.zy.acs.manager.manager.entity.Jam; import com.zy.acs.manager.manager.entity.Segment; import com.zy.acs.manager.manager.entity.Task; import com.zy.acs.manager.manager.enums.TaskTypeType; import java.util.Date; import java.util.List; /** * Created by vincent on 2023/6/14 */ public interface IMainService { //Bus generateBusAndTask(OpenBusSubmitParam busSubmitParam, String memo); /** * 任务分配给车辆 ( 车辆此时是空闲且静止的 ) */ void allocateTask(Bus bus); /** * 解析取放货集合任务,进行最优的排列组合顺序 ( 车辆此时是空闲且静止的 ) * todo: {@link com.zy.acs.manager.core.HandlerController#controlAgv(String, HandlerPublishParam)} */ void buildMajorTask(Long agvId, List taskList); /** * 充电 回待机位任务 */ //boolean buildMinorTask(Long agvId, TaskTypeType taskType, String destination, Jam jam); /** * 根据分片生成动作 ( 车辆可能已经做过一些任务了,正在等待下一段任务 ) */ void generateAction(Long agvId, List segmentList, List pathList, Date algoStartTime); void publishAction(String actionGroupId); void upDataSubscribe(AgvProtocol protocol); void settleSegmentList(List segmentList, String serialNo); }