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.IOException;
|
9
|
import java.io.InputStream;
|
10
|
import java.math.BigInteger;
|
11
|
import java.text.ParseException;
|
12
|
import java.util.Date;
|
13
|
import java.util.List;
|
14
|
|
15
|
//import eu.dnetlib.goldoa.domain.RequestFilter;
|
16
|
//import eu.dnetlib.goldoa.domain.RequestInfo;
|
17
|
//import eu.dnetlib.goldoa.domain.RequestInfoPage;
|
18
|
//import eu.dnetlib.goldoa.domain.RequestManagerException;
|
19
|
//import eu.dnetlib.goldoa.domain.RequestSort;
|
20
|
//import eu.dnetlib.goldoa.domain.RequestSortOrder;
|
21
|
|
22
|
/**
|
23
|
* Created by antleb on 3/10/15.
|
24
|
*/
|
25
|
public interface RequestManager {
|
26
|
|
27
|
public Request saveRequest(Request request);
|
28
|
|
29
|
public Request getById(String requestId);
|
30
|
|
31
|
/**
|
32
|
* @param fromDate inclusive, starts with 0
|
33
|
* @param to non inclusive, < total count
|
34
|
* @param requestSortBy if not null, sorts by this field
|
35
|
* @param order the order of sort, if RequestSortBy != null
|
36
|
* @param requestFilter which request field to search for, searches for all if null and term != null
|
37
|
* @param term if not null, filters the requests
|
38
|
* @param fromDate
|
39
|
* @param to
|
40
|
* @return
|
41
|
*/
|
42
|
public RequestPage getRequests(Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
|
43
|
|
44
|
public RequestPage getForAccounting(Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
|
45
|
|
46
|
public RequestPage getForUser(String email, Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
|
47
|
|
48
|
public RequestPage getForPublisher(String publisher, Date fromDate, Date toDate, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter, int from, int to);
|
49
|
|
50
|
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);
|
51
|
|
52
|
public List<Request> getForProject(String projectId);
|
53
|
|
54
|
public String getCSV(String mode, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus[] statusFilter);
|
55
|
|
56
|
public Request submitRequest(Request request) throws PersonManagerException;
|
57
|
|
58
|
public Request submitLibraryRequest(Request request) throws PersonManagerException;
|
59
|
|
60
|
public Request submitPublisherRequest(Request request) throws PersonManagerException;
|
61
|
|
62
|
public void conditionallyApproveRequest(String requestId, String email, String comment, String template);
|
63
|
|
64
|
public void approveRequest(String requestId, String email, String comment, String template);
|
65
|
|
66
|
public void rejectRequest(String requestId, String email, String comment, String template);
|
67
|
|
68
|
public void processingRequest(String requestId, String email, String comment, String template);
|
69
|
|
70
|
public void paidRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
|
71
|
|
72
|
public void paidLibraryRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
|
73
|
|
74
|
public void paidPublisherRequest(String requestId, String email, String comment, String template, float apc_paid, float transfer_cost, float other_cost, Date datePaid);
|
75
|
|
76
|
public void onHoldRequest(String requestId, String email, String comment, String template);
|
77
|
|
78
|
public void deniedRequest(String requestId, String email, String comment, String template);
|
79
|
|
80
|
public Invoice invoiceUploaded(String requestId, String invoiceId) throws ManagerException;
|
81
|
|
82
|
public void uploadTransferReceipt(String requestid, String contentType, InputStream inputStream);
|
83
|
|
84
|
public BigInteger getActiveNumber();
|
85
|
|
86
|
public BigInteger getPaidNumber();
|
87
|
|
88
|
public BigInteger getNumberOfProjects();
|
89
|
|
90
|
public Float getTotalAmount();
|
91
|
|
92
|
public Double getAverageAmount();
|
93
|
|
94
|
public Double getAverageAmountPerBookChapter();
|
95
|
|
96
|
public Double getAverageAmountPerMonograph();
|
97
|
|
98
|
Double getAverageAmountPbooleanerMonograph();
|
99
|
|
100
|
public Double getAverageAmountPerArticle();
|
101
|
|
102
|
public BigInteger getNumberOfPaidPublicationPerArticle();
|
103
|
|
104
|
public BigInteger getNumberOfPaidPublicationPerMonograph();
|
105
|
|
106
|
public BigInteger getNumberOfPaidPublicationPerBookChapter();
|
107
|
|
108
|
public BigInteger getNumberOfPaidRequestsWithDOI();
|
109
|
|
110
|
public BigInteger getNumberOfApprovedRequestsWithDOI();
|
111
|
|
112
|
public BankTransferReceipt downloadBankTransferReceipt(String requestId) throws RequestManagerException;
|
113
|
|
114
|
public List<CommentTemplate> getCommentTemplates(Request.RequestStatus requestStatus);
|
115
|
|
116
|
public void importCSV(String csv) throws PersonManagerException, ManagerException, IOException, ParseException, OrganizationManagerException;
|
117
|
}
|