package com.prolog.eis.service.container;


import com.prolog.eis.dto.page.PickingConfirmReqDto;
import com.prolog.eis.dto.page.PickingDetailDto;
import com.prolog.eis.dto.page.PickingListDto;
import com.prolog.eis.dto.strategy.ContainerTaskDto;
import com.prolog.eis.model.container.ContainerTask;
import com.prolog.framework.core.restriction.Criteria;

import java.util.List;
import java.util.Map;

public interface ContainerTaskService {

    void batchSave(List<ContainerTask> containerTaskList);

    List<ContainerTask> findAll();

    List<ContainerTask> findByCriteria(Criteria criteria);

    Long findCountByCriteria(Criteria criteria);

    /**
     * 批量修改出库任务
     *
     * @param containerTaskList
     */
    void updateStatusBatch(List<ContainerTask> containerTaskList, int taskStatus);



    void toHistory(List<ContainerTask> containerTaskList);

    void createContainerTaskBatch(List<ContainerTaskDto> containerTaskDtoList) throws Exception;

    List<PickingListDto> pickingList(String containerNo) throws Exception;

    List<PickingDetailDto> pickingDetail(Integer id) throws Exception;

    void pickingConfirm(PickingConfirmReqDto req)throws Exception;

    void updateMapById(Integer id, Map<String, Object> params);
}

