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.module.cam.document.service;
017    
018    import org.kuali.kfs.module.cam.document.AssetTransferDocument;
019    
020    public interface AssetTransferService {
021        /**
022         * This method is called when the work flow document is reached its final approval
023         * <ol>
024         * <li>Gets the latest asset details from DB</li>
025         * <li>Save asset owner data</li>
026         * <li>Save location changes </li>
027         * <li>Save organization changes</li>
028         * <li>Create offset payments</li>
029         * <li>Create new payments</li>
030         * <li>Update original payments</li>
031         * </ol>
032         */
033        void saveApprovedChanges(AssetTransferDocument document);
034    
035        /**
036         * Creates GL Postables using the source plant account number and target plant account number
037         */
038        void createGLPostables(AssetTransferDocument document);
039    
040    
041    }