1 /*
2 * Copyright 2008 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.ole.module.purap.document.service;
17
18 import org.kuali.ole.module.purap.document.BulkReceivingDocument;
19 import org.kuali.rice.kew.api.exception.WorkflowException;
20
21 import java.io.ByteArrayOutputStream;
22 import java.util.HashMap;
23
24 public interface BulkReceivingService {
25
26 /**
27 * Populates a Bulk Receiving Document with information from a Purchase Order.
28 *
29 * @param blkRecDoc
30 */
31 public void populateBulkReceivingFromPurchaseOrder(BulkReceivingDocument blkRecDoc);
32
33 /**
34 * A save is done passing the continue purap event so as to call a populate within
35 * prepare for save.
36 *
37 * @param blkRecDoc
38 * @throws WorkflowException
39 */
40 public void populateAndSaveBulkReceivingDocument(BulkReceivingDocument blkRecDoc) throws WorkflowException;
41
42 /**
43 * Checks for duplicate Bulk Receiving documents and passes back a list of those found
44 * where vendor date, packing slip number or bill of lading match on previous bulk receiving
45 * documents by purchase order.
46 *
47 * @param blkRecDoc
48 * @return
49 */
50 public HashMap<String, String> bulkReceivingDuplicateMessages(BulkReceivingDocument blkRecDoc);
51
52 public boolean canPrintReceivingTicket(BulkReceivingDocument blkRecDoc);
53
54 public void performPrintReceivingTicketPDF(String blkDocId, ByteArrayOutputStream baosPDF);
55
56 public String getBulkReceivingDocumentNumberInProcessForPurchaseOrder(Integer poId, String bulkReceivingDocumentNumber);
57
58 }