1
zhang
2025-06-17 513f54c61991af2078c9098845df3e840ea5b863
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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<Task> taskList);
 
 
    /**
     * 充电 回待机位任务
     */
    //boolean buildMinorTask(Long agvId, TaskTypeType taskType, String destination, Jam jam);
 
    /**
     * 根据分片生成动作 ( 车辆可能已经做过一些任务了,正在等待下一段任务 )
     */
    void generateAction(Long agvId, List<Segment> segmentList, List<String> pathList, Date algoStartTime);
 
    void publishAction(String actionGroupId);
 
    void upDataSubscribe(AgvProtocol protocol);
 
    void settleSegmentList(List<Segment> segmentList, String serialNo);
 
}