package net.lab1024.sa.admin.module.business.wms.shipping.pickDetail.service;

import net.lab1024.sa.admin.module.business.wms.receive.asnDetail.domain.entity.AsnDetailEntity;
import net.lab1024.sa.admin.module.business.wms.shipping.pickDetail.domain.entity.PickDetailEntity;
import net.lab1024.sa.admin.module.business.wms.shipping.pickDetail.domain.form.PickDetailQueryForm;
import net.lab1024.sa.admin.module.business.wms.shipping.pickDetail.domain.vo.PickDetailVO;
import net.lab1024.sa.base.common.domain.PageResult;

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

public interface PickDetailQueryService {
    /**
     * 分页查询
     */
    PageResult<PickDetailVO> queryPage(PickDetailQueryForm queryForm);

    /**
     * 根据入库单id查询入库单详情
     *
     * @param pickId 出库单id
     * @return List<PickDetailEntity>
     */
    List<PickDetailEntity> queryPickDetailByPickId(Long pickId);

    /**
     * 根据出库单ids查询出库单详情
     *
     * @param pickIds 出库单ids
     * @return List<PickDetailEntity>
     */
    List<PickDetailEntity> queryPickDetailByPickIds(List<Long> pickIds);

    /**
     * 根据ids查询入库明细
     *
     * @param idList 入库明细集合
     * @return List<PickDetailEntity>
     */
    List<PickDetailEntity> queryByPickDetailIds(List<Long> idList);

    /**
     * 根据明细集合查询明细信息
     *
     * @param idList 明细集合
     * @return Map<String, PickDetailEntity>
     */
    Map<Long, PickDetailEntity> queryByPickDetailIdsToMap(List<Long> idList);

}
