package net.lab1024.sa.admin.module.business.wms.inventory.itemKey.service;


import net.lab1024.sa.admin.module.business.wms.inventory.itemKey.domain.entity.ItemKeyEntity;
import net.lab1024.sa.admin.module.business.wms.inventory.itemKey.domain.vo.ItemKeyVO;
import net.lab1024.sa.admin.module.business.wms.inventory.itemKey.domain.form.ItemKeyQueryForm;
import net.lab1024.sa.base.common.domain.PageResult;

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

public interface ItemKeyQueryService {

    /**
     * 分页查询
     */
    PageResult<ItemKeyVO> queryPage(ItemKeyQueryForm queryForm);

    /**
     * 根据物料属性ID集合查询物料属性信息
     *
     * @param itemKeyIdList 物料属性ID集合
     * @return Map<Long, ItemKeyEntity>
     */
    Map<Long, ItemKeyEntity> queryByItemKeyIds(List<Long> itemKeyIdList);

    /**
     * 根据订单号、物料ID、属性C1查询物料属性信息
     *
     * @param orderNumber 订单号
     * @param itemId      物料
     * @param propC1      批次
     * @return ItemKeyEntity
     */
    ItemKeyEntity queryItemKey(String orderNumber, Long itemId, String propC1);

    /**
     * 根据物料ID查询物料属性信息
     *
     * @param itemIds      物料
     * @return List<ItemKeyEntity>
     */
    List<ItemKeyEntity> queryItemKeys(List<Long> itemIds);

}
