Subversion Repositories SmartDukaan

Rev

Rev 7613 | Rev 8689 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.warehouse.persistence;

import in.shop2020.warehouse.InTransitInventory;
import in.shop2020.warehouse.ScanType;
import in.shop2020.warehouse.domain.InventoryItem;

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

import org.apache.ibatis.annotations.Param;


public interface InventoryItemMapper {

    /**
     * @param inventoryItem
     */
    void insertInventoryItem(InventoryItem inventoryItem);

    /**
     * @param inventoryItemId
     * @return
     */
    InventoryItem getInventoryItem(long inventoryItemId);

    /**
     * @param serialNumber
     * @return
     */
    InventoryItem getInventoryItemFromSerialNumber(String serialNumber);

    List<InventoryItem> getInventoryItemsFromLastScanType(ScanType scanType);

    /**
     * @param inventoryItemId
     * @return
     */
    InventoryItem getInventoryItemsFromId(long inventoryItemId);

    /**
     * @param inventoryItem
     */
    void update(InventoryItem inventoryItem);

    /**
     * @param itemId
     * @param warehouseId
     * @return
     */
    InventoryItem getNonSerializedInventoryItem(@Param("itemNumber")String itemNumber, @Param("itemId")long itemId, @Param("warehouseId")long warehouseId);

        Long getCurrentQuantityForNonSerializedItem(@Param("itemId")long itemId, @Param("warehouseId")long warehouseId, @Param("physicalWarehouseId")long physicalWarehouseId);

        void markPurchaseReturnIdForItem(@Param("id")long id, @Param("currentQuantity")long currentQuantity, @Param("purchaseReturnId")long purchaseReturnId);

        List<InventoryItem> getCurrentNonSerializedItemsByItemId(@Param("itemId")long itemId, @Param("warehouseId")long warehouseId);
        
        List<Map<String, Integer>> getCurrentSerializedInventory();

        List<Map<String, Integer>> getCurrentNonSerializedInventory();

        void markItemAsLost(@Param("id")long id, @Param("currentQuantity")long currentQuantity);

        //void markTransferLotAsRecieved(long id);

        List<InventoryItem> getInventoryItemsForTransferLot(long id);

        long getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(@Param("itemId")long itemId,
                        @Param("physicalWarehouseId")long physicalWarehouseId);

        List<InventoryItem> getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(
                        @Param("itemId")long itemId, @Param("physicalWarehouseId")long physicalWarehouseId);

        long getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
                        @Param("itemId")long itemId, @Param("physicalWarehouseId")long physicalWarehouseId);

        List<in.shop2020.warehouse.domain.InTransitInventory> getInTransitInventory(long originWarehouseId);

        /*InventoryItem getNonSeralizedInventoryItemForPhysicalWarehouse(
                        @Param("itemNumber")String itemNumber, @Param("itemId")long itemId, @Param("physicalWarehouseId")long physicalWarehouseId);*/
}