Project

General

Profile

1
package eu.dnetlib.goldoa.service;
2

    
3
//import eu.dnetlib.goldoa.domain.BankTransferReceipt;
4
//import eu.dnetlib.goldoa.domain.CommentTemplate;
5

    
6
import eu.dnetlib.goldoa.domain.*;
7

    
8
import java.io.InputStream;
9
import java.math.BigInteger;
10
import java.util.Date;
11
import java.util.List;
12

    
13
//import eu.dnetlib.goldoa.domain.RequestFilter;
14
//import eu.dnetlib.goldoa.domain.RequestInfo;
15
//import eu.dnetlib.goldoa.domain.RequestInfoPage;
16
//import eu.dnetlib.goldoa.domain.RequestManagerException;
17
//import eu.dnetlib.goldoa.domain.RequestSort;
18
//import eu.dnetlib.goldoa.domain.RequestSortOrder;
19

    
20
/**
21
 * Created by antleb on 3/10/15.
22
 */
23
public interface RequestManager {
24

    
25
	public Request saveRequest(Request request);
26

    
27
	public Request getById(String requestId);
28

    
29
	/**
30
	 * @param fromDate      inclusive, starts with 0
31
	 * @param to            non inclusive, < total count
32
	 * @param requestSortBy if not null, sorts by this field
33
	 * @param order         the order of sort, if RequestSortBy != null
34
	 * @param requestFilter which request field to search for, searches for all if null and term != null
35
	 * @param term          if not null, filters the requests
36
	 * @param fromDate
37
	 * @param to
38
	 * @return
39
	 */
40
	public RequestPage getRequests(Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
41

    
42
	public RequestPage getForAccounting(Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
43

    
44
	public RequestPage getForUser(String email, Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
45

    
46
	public RequestPage getForPublisher(String publisher, Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
47

    
48
	public RequestPage getForOrganization(List<String> organizationIds, Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
49

    
50
	public List<Request> getForProject(String projectId);
51

    
52
	public String getCSV(String mode, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter);
53

    
54
	public Request submitRequest(Request request) throws PersonManagerException;
55

    
56
	public Request submitLibraryRequest(Request request) throws PersonManagerException;
57

    
58
	public Request submitPublisherRequest(Request request) throws PersonManagerException;
59

    
60
	public void conditionallyApproveRequest(String requestId, String email, String comment, String template);
61

    
62
	public void approveRequest(String requestId, String email, String comment, String template);
63

    
64
	public void rejectRequest(String requestId, String email, String comment, String template);
65

    
66
	public void processingRequest(String requestId, String email, String comment, String template);
67

    
68
	public void paidRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
69

    
70
	public void paidLibraryRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
71

    
72
	public void paidPublisherRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
73

    
74
	public void onHoldRequest(String requestId, String email, String comment, String template);
75

    
76
	public void deniedRequest(String requestId, String email, String comment, String template);
77

    
78
	public Invoice invoiceUploaded(String requestId, String invoiceId) throws ManagerException;
79

    
80
	public void uploadTransferReceipt(String requestid, String contentType, InputStream inputStream);
81

    
82
	public BigInteger getActiveNumber();
83

    
84
	public BigInteger getPaidNumber();
85

    
86
	public BigInteger getNumberOfProjects();
87

    
88
	public Float getTotalAmount();
89

    
90
	public Double getAverageAmount();
91

    
92
	public Double getAverageAmountPerBookChapter();
93

    
94
	public Double getAverageAmountPerMonograph();
95

    
96
	public Double getAverageAmountPerArticle();
97

    
98
	public BigInteger getNumberOfPaidPublicationPerArticle();
99

    
100
	public BigInteger getNumberOfPaidPublicationPerMonograph();
101

    
102
	public BigInteger getNumberOfPaidPublicationPerBookChapter();
103

    
104
	public BigInteger getNumberOfPaidRequestsWithDOI();
105

    
106
	public BigInteger getNumberOfApprovedRequestsWithDOI();
107

    
108
	public BankTransferReceipt downloadBankTransferReceipt(String requestId) throws RequestManagerException;
109

    
110
	public List<CommentTemplate> getCommentTemplates(Request.RequestStatus requestStatus);
111
}
(23-23/29)