ServiceProviderCreditNoteRepositoryImpl.java

package com.tradecloud.repository.impl;

import com.tradecloud.domain.document.Document;
import com.tradecloud.domain.document.ServiceProviderCreditNote;
import com.tradecloud.domain.document.invoice.ActualOrder;
import com.tradecloud.domain.document.invoice.ServiceProviderInvoice;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.dto.invoice.SupplyPaymentSearch;
import com.tradecloud.repository.ServiceProviderCreditNoteRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Created by ds on 2015/12/10.
 */
@Repository(value = "serviceProviderCreditNoteRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class ServiceProviderCreditNoteRepositoryImpl extends CostsInvoiceRepositoryImpl<ServiceProviderCreditNote> implements
        ServiceProviderCreditNoteRepository {

    @Override
    public List<ServiceProviderCreditNote> findByReferenceAndServiceProvider(String reference, ServiceProvider serviceProvider) {
        List<ServiceProviderCreditNote> list =
                (List<ServiceProviderCreditNote>) findByNamedQueryAndNamedParam("serviceProviderCreditNote.byReferenceAndServiceProvider",
                        new String[] { "reference", "serviceProvider" }, new Object[] { reference, serviceProvider });
        return list;
    }

    @Override
    public List<ServiceProviderCreditNote> findByServiceProviderInvoice(ServiceProviderInvoice serviceProviderInvoice) {
        return (List<ServiceProviderCreditNote>) findByNamedQueryAndNamedParam("serviceProviderCreditNote.byServiceProviderInvoice",
                "serviceProviderInvoice", serviceProviderInvoice);
    }

    @Override
    public List<ServiceProviderCreditNote> findAllByReference(String reference) {
        return findAllByReference("serviceProviderCreditNote.byReference", reference);
    }

    @Override
    public List<ActualOrder> findActualOrdersByInvoice(ServiceProviderCreditNote invoice) {
        return null;
    }

    @Override
    public long supplyPaymentReportCount(SupplyPaymentSearch search) {
        return 0;
    }

    @Override
    public List<Document> supplyPaymentReportSearch(SupplyPaymentSearch search) {
        return null;
    }
}