ITaskService.java 2.0 KB
package com.myproject.webapp.controller.webService;

import com.myproject.api.ITaskNotify;
import com.myproject.bean.CodeBox;
import com.myproject.bean.json.TaskSet;
import com.myproject.bean.update.Barcode;
import com.myproject.bean.update.DataLog;
import com.myproject.bean.update.Storage;
import com.myproject.bean.update.StoragePos;
import com.myproject.bean.utils.StatusBean;
import com.myproject.exception.ValidateException;

import javax.servlet.http.HttpServletRequest;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * Created by sunke on 17/3/6.
 */
public interface ITaskService {


    /**
     * 取消单个任务
     */
    boolean cancelTask(String taskId);

    /**
     * 工单出库
     * @param orderNo 工单号
     * @param outBom true是套料出库,false 为尾料出库
     * @return
     */
    String checkOutLiteOrder(String orderNo, boolean outBom);

    /**
     * 处理客户端发送上来的请求
     */
    StatusBean handleClientRequest(StatusBean statusBean, HttpServletRequest request);

    /**
     * 获取某区域正在执行的任务
     */
    Collection<DataLog> getQueueTasks();

    Collection<DataLog> getQueueTasks(String cid);

    void updateQueueTask(DataLog task);

    void moveTaskToFinished(DataLog task);

    List<DataLog> getFinishedTasks();

    Exception getServerException(String cid);

    StatusBean getStatus(String cid);

    Collection<StatusBean> allStatus();

    /**
     * 出库指定库位
     * @param pos 库位信息
     * @param subSourceId 是否是工单出库
     * @param isSingleOut 是否为单盘紧急出库
     */
    String checkout(StoragePos pos, String subSourceId, boolean isSingleOut);

    StoragePos findEmptyPosForPutIn(List<Storage> storageList, Barcode barcode) throws ValidateException;

    //void checkOutInaction(String areaId, int day) throws ValidateException;

    Collection<String> excludePosIds();

    void addTaskToFinished(StoragePos pos, Barcode barcode, String opUser);

    void addTaskToExecute(DataLog task);
}