package org.nl.acs.agv.server;

import org.nl.acs.agv.server.dto.AgvDto;
import org.nl.acs.instruction.domain.Instruction;

import java.util.Map;

/**
 * @Author: lyd
 * @Description:
 * @Date: 2022-08-15
 */
public interface NDCAgvService {
    Map<String, AgvDto> findAllAgvFromCache();

    /**
     * 删除NDC任务
     *
     * @param inst
     * @throws Exception
     */
    public void deleteAgvInstToNDC(Instruction inst) throws Exception;

    /**
     * 下发任务
     *
     * @param inst
     * @throws Exception
     */
    public void sendAgvInstToNDC(String agv_system_type,Instruction inst) throws Exception;

    public byte[] sendAgvOneModeInst(int phase, int index,int result,int startPoint,int nextPoint,int startHigh,int nextHigh);


    public byte[] sendAgvOneModeInst(int phase, int index,int result);

    public byte[] sendAgvTwoModeInst(int phase, int index,int result);


    /**
     * 下发充电任务
     * @param carno
     * @return
     */
    public boolean createChargingTaskToNDC(String carno);

    public void charge(String carno);
}
