package com.prolog.eis.service.page;

import com.prolog.eis.dto.page.*;
import com.prolog.eis.model.container.StationCfg;
import com.prolog.eis.dto.outbound.WaveBindConditionDto;

import java.util.List;

/**
 * @desc:
 * @author: zhangJie
 * @date: 2023/9/13 15:03
 */
public interface PcService {
    Boolean checkAllotment(String stationNo);

    List<AllotmentOrderDto> allotmentOrder(String itemId, String lotId, Integer outboundId, Integer outboundDetailId, String userId, String code) throws Exception;

    void cleanAskUser(String code);

    List<AllotmentOrderDto> allotmentOrderShow(String itemId) throws Exception;

    void allotmentConfirm(AllotmentConfirm req) throws Exception;

    List<MergeContainerRespDto> mergeContainerList(MergeContainerReqDto req);

    List<MergeContainerDetailRespDto> mergeContainerDetail(String id) throws Exception;

    void mergeContainerReq(String ids);

    void noteConfirm(NoteConfirm req);

    List<StationCfg> pdStationList();

    void pdStationCheck(String stationNo) throws Exception;

    PdTaskGetRespDto getPdTask(String stationNo, Integer taskType) throws Exception;

    PdTaskGetRespDto pdTaskConfirm(PdTaskConfirmReqDto req) throws Exception;

    void pdTaskContainerReturn(String containerNo, String stationNo) throws Exception;

    List<AllotmentItemInfoDto> scanCodeGetItem(String code) throws Exception;

    String allotmentConfirmCheck(AllotmentConfirm req);

    List<AllotmentTaskRecordResultDto> allotmentTaskRecordList(AllotmentTaskRecordReqDto req) throws Exception;

    List<AllotmentTaskRecordDetailResultDto> allotmentTaskRecordDetail(Integer id) throws Exception;

    void allotmentTaskRecordSave(Integer id);

    List<String> allotmentStationList();

    /**
     * 波次绑定情况
     *
     * @return
     */
    List<WaveBindConditionDto> waveBindCondition();

}
