001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.fp.batch.service;
017    
018    /**
019     * 
020     * Service interface for implementing methods to create procurement card documents.
021     * 
022     */
023    public interface ProcurementCardCreateDocumentService {
024    
025        /**
026         * Creates procurement card documents and routes from the records loaded into the transaction table.
027         * 
028         * @return True if the routing was successful, false otherwise.
029         */
030        public boolean createProcurementCardDocuments();
031    
032        /**
033         * Looks for ProcurementCardDocuments with a status of 'I', meaning they have been created and saved to "inbox", 
034         * but have not yet been routed.
035         * 
036         * @return True if the routing was successful, false otherwise.
037         */
038        public boolean routeProcurementCardDocuments();
039    
040        /**
041         * Finds documents that have been in route status past the number of allowed days. Then calls document service 
042         * to auto approve the documents.
043         * 
044         * @return True if the auto approve was successful, false otherwise.
045         */
046        public boolean autoApproveProcurementCardDocuments();
047    }