1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.ole.select.document.service;
17
18 import org.kuali.ole.batch.bo.OLEBatchProcessProfileBo;
19 import org.kuali.ole.docstore.common.document.content.bib.marc.BibMarcRecord;
20 import org.kuali.ole.module.purap.businessobject.PurApItem;
21 import org.kuali.ole.module.purap.document.PaymentRequestDocument;
22 import org.kuali.ole.module.purap.document.service.InvoiceService;
23 import org.kuali.ole.module.purap.util.ExpiredOrClosedAccountEntry;
24 import org.kuali.ole.pojo.OleInvoiceRecord;
25 import org.kuali.ole.select.businessobject.OleInvoiceItem;
26 import org.kuali.ole.select.document.OleInvoiceDocument;
27 import org.kuali.ole.select.form.OLEInvoiceForm;
28 import org.kuali.ole.vnd.businessobject.OleExchangeRate;
29 import org.kuali.rice.core.api.util.type.KualiDecimal;
30 import org.kuali.rice.kew.api.exception.WorkflowException;
31
32 import java.util.HashMap;
33 import java.util.List;
34
35 public interface OleInvoiceService extends InvoiceService {
36
37 public void completePaymentDocument(OleInvoiceDocument invoiceDocument);
38
39 public void calculateProrateItemSurcharge(OleInvoiceDocument invoiceDocument);
40
41 public boolean validateProratedSurcharge(OleInvoiceDocument invoiceDocument);
42
43 public void calculateWithoutProrates(OleInvoiceDocument invoiceDocument);
44
45
46
47
48
49
50
51
52
53
54
55 public boolean autoApprovePaymentRequest(PaymentRequestDocument doc);
56
57 public void createPaymentRequestOrCreditMemoDocument(OleInvoiceDocument inv);
58
59 public OleInvoiceDocument populateInvoiceFromPurchaseOrders(OleInvoiceDocument invoiceDocument, HashMap<String, ExpiredOrClosedAccountEntry> expiredOrClosedAccountList);
60
61 public void populateInvoice(OleInvoiceDocument invoiceDocument);
62
63 public OleInvoiceDocument populateVendorDetail(String vendorNumber, OleInvoiceDocument oleInvoiceDocument);
64
65 public void createCreditMemoDocument(OleInvoiceDocument invoiceDocument, List<OleInvoiceItem> item,boolean flag);
66
67 public OleInvoiceDocument getInvoiceDocumentById(Integer invoiceIdentifier);
68
69 public String saveInvoiceDocument(OleInvoiceDocument invoiceDocument) throws WorkflowException;
70
71 public String routeInvoiceDocument(OleInvoiceDocument invoiceDocument) throws WorkflowException;
72
73 public boolean autoApprovePaymentRequest(OleInvoiceDocument doc);
74
75 public OleInvoiceDocument populateInvoiceItems (OleInvoiceDocument invoiceDocument);
76
77 public OleInvoiceDocument populateInvoiceDocument (OleInvoiceDocument invoiceDocument);
78
79 public void calculateAccount(PurApItem purapItem);
80
81 public void convertPOItemToInvoiceItem (OleInvoiceDocument oleInvoiceDocument);
82
83 public String createInvoiceNoMatchQuestionText(OleInvoiceDocument invoiceDocument);
84
85 public String createSubscriptionDateOverlapQuestionText(OleInvoiceDocument invoiceDocument);
86
87 public String getParameter(String name);
88
89 public KualiDecimal getTotalDollarAmountWithExclusionsSubsetItems(String[] excludedTypes, boolean includeBelowTheLine, List<PurApItem> itemsForTotal);
90
91 public String[] getCollapseSections();
92
93 public String[] getDefaultCollapseSections();
94
95 public boolean canCollapse(String sectionName,String[] collapseSections);
96
97 public boolean isDuplicationExists(OleInvoiceDocument invoiceDocument, OLEInvoiceForm invoiceForm, boolean isBlanketApprove);
98
99 public String getPaymentMethodType(String paymentId);
100
101 public boolean validateDepositAccount(OleInvoiceDocument oleInvoiceDocument);
102
103 public boolean isNotificationRequired(OleInvoiceDocument invoiceDocument);
104
105 public String createInvoiceAmountExceedsThresholdText(OleInvoiceDocument oleInvoiceDocument);
106
107 public OleInvoiceRecord populateValuesFromProfile(BibMarcRecord bibMarcRecord);
108
109 public void setOleBatchProcessProfileBo(OLEBatchProcessProfileBo oleBatchProcessProfileBo);
110
111 public void setDefaultAndConstantValuesToInvoiceRecord(OleInvoiceRecord oleInvoiceRecord);
112
113 public String getCurrencyType(String currencyTypeId);
114
115 public OleExchangeRate getExchangeRate(String currencyTypeId);
116
117 public String getCurrencyTypeIdFromCurrencyType(String currencyType);
118
119 public void deleteInvoiceItem(OleInvoiceDocument oleInvoiceDocument);
120
121 public String getPurchaseOrderVendor(String poId);
122 }