package org.wcs.serve.service.intf;

import jakarta.servlet.http.HttpServletResponse;
import org.wcs.model.dto.serve.conveyTask.AddConveyTaskReq;
import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq;
import org.wcs.model.dto.serve.conveyTask.ReporterConveyTaskStatusReq;
import org.wcs.model.vo.serve.AppServeDataResponse;
import org.wcs.model.vo.serve.AppServeResponse;
import org.wcs.model.vo.serve.common.PageDataResponse;
import org.wcs.model.vo.serve.conveyTask.QueryConveyTaskVo;

public interface IConveyTaskService {

    AppServeDataResponse<PageDataResponse<QueryConveyTaskVo>> queryConveyTask(QueryConveyTaskReq request,Integer pageSize,Integer pageIndex);
    AppServeDataResponse<PageDataResponse<QueryConveyTaskVo>> queryConveyTaskBak(QueryConveyTaskReq request,Integer pageSize,Integer pageIndex);
    AppServeResponse addConveyTask(AddConveyTaskReq request);
    AppServeResponse updateConveyTaskStatus(String taskId, Integer status);
    AppServeResponse completeConveyTask(String taskId, String arriveLocation);
    AppServeResponse cancelConveyTask(String taskId);
    AppServeResponse reporterConveyTaskComplete(ReporterConveyTaskStatusReq request);
    AppServeResponse reporterConveyTaskCancel(ReporterConveyTaskStatusReq request);
    AppServeResponse reporterConveyTaskBakComplete(ReporterConveyTaskStatusReq request);
    AppServeResponse reporterConveyTaskBakCancel(ReporterConveyTaskStatusReq request);
    void exportConveyTaskBak(HttpServletResponse response,QueryConveyTaskReq request);
}
