Subversion Repositories SmartDukaan

Rev

Rev 35716 | 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.WarehouseInvoiceModel;
import com.spice.profitmandi.dao.model.warehouse.WarehouseInvoicePurchaseModel;
import org.springframework.stereotype.Service;

@Service
public interface InvoiceService {

    void createInvoiceItem(WarehouseInvoiceModel invoiceModel);

    WarehouseInvoicePurchaseModel validateInvoiceDetail(WarehouseInvoiceModel invoiceModel) throws ProfitMandiBusinessException;

    void validateInvoiceDate(int supplierId, int warehouseId, java.time.LocalDate invoiceDate) throws ProfitMandiBusinessException;

    /**
     * The purchase orders a movement invoice may be received against: its own movement PO, or, when it was billed from
     * a warehouse other than that PO's source, the receive-only POs raised from the billing warehouse. Empty for an
     * invoice whose orders carry no movement PO (raised before POs recorded their transaction).
     */
    java.util.List<com.spice.profitmandi.dao.entity.warehouse.WarehousePurchaseOrder> resolveMovementPurchaseOrders(String invoiceNumber)
            throws ProfitMandiBusinessException;

    void validateMovementInvoice(String invoiceNumber, int supplierId, int warehouseId) throws ProfitMandiBusinessException;

    void validateMovementSerials(java.util.List<com.spice.profitmandi.common.model.GrnModel> grnModels) throws ProfitMandiBusinessException;
}