Subversion Repositories SmartDukaan

Rev

Rev 36016 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.service.warehouse;

import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
import com.spice.profitmandi.common.model.ItemDescriptionModel;
import com.spice.profitmandi.common.model.ItemQtyModel;
import com.spice.profitmandi.dao.entity.catalog.Item;
import com.spice.profitmandi.dao.entity.inventory.InventoryWarehouse;
import com.spice.profitmandi.dao.entity.inventory.Warehouse;
import com.spice.profitmandi.dao.entity.transaction.WarehouseAddressMaster;
import com.spice.profitmandi.dao.entity.warehouse.WarehouseInventoryItem;
import com.spice.profitmandi.dao.entity.warehouse.WarehousePurchaseOrder;
import com.spice.profitmandi.dao.enumuration.inventory.InventoryType;
import com.spice.profitmandi.dao.enumuration.inventory.WarehouseType;
import com.spice.profitmandi.dao.model.transaction.OrderBillingModel;
import in.shop2020.warehouse.ScanType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface WarehouseService {

    public List<Integer> getAuthWarehouses(String email) throws ProfitMandiBusinessException;

    public void createVendorWarehouse(WarehouseType warehouseType, InventoryType inventoryType, String label, int warehouseId, WarehouseAddressMaster wam, int vendorId);

    /**
     * Returns the Dummy/GOOD/OURS warehouse for a billing region, creating it if missing.
     * Used by phantom allocation to guarantee a deterministic routing target.
     */
    Warehouse ensureDummyForBillingRegion(int billingWarehouseId);

    public List<ItemDescriptionModel> getAllPartnerItemStringDescription(int vendorId);

    @Autowired
    void billing(List<OrderBillingModel> orderBillingModels) throws ProfitMandiBusinessException;

    //TODO - NEED TO Implement
    WarehouseInventoryItem addInventoryItem(int purchaseId, WarehousePurchaseOrder warehousePurchaseOrder, ItemQtyModel itemQtyModel) throws ProfitMandiBusinessException;

    WarehouseInventoryItem addInventoryItem(int purchaseId, WarehousePurchaseOrder warehousePurchaseOrder, ItemQtyModel itemQtyModel, Item item, InventoryWarehouse supplierWarehouse) throws ProfitMandiBusinessException;

    List<String>  moveToGood(List<String> serialNumbers) throws ProfitMandiBusinessException;

    List<String>  moveToBad(List<String> serialNumbers, ScanType badScanType) throws ProfitMandiBusinessException;
}