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.endow.report.service; 017 018 import java.util.List; 019 020 import org.kuali.kfs.module.endow.report.util.KemidsWithMultipleBenefittingOrganizationsDataHolder; 021 import org.kuali.kfs.module.endow.report.util.EndowmentReportHeaderDataHolder; 022 import org.kuali.kfs.module.endow.report.util.TrialBalanceReportDataHolder; 023 024 public interface EndowmentReportService { 025 026 /** 027 * Gets the institution name, using the KFS parameter 028 * See 8 Report Design in the specs 029 * 030 * @return 031 */ 032 public String getInstitutionName(); 033 034 /** 035 * Gets the report name "Trial Balance" 036 * 037 * @return 038 */ 039 public String getReportRequestor(); 040 041 /** 042 * Gets the campus names of selected campuses 043 * 044 * @param campuses 045 * @return 046 */ 047 public String getBenefittingCampuses(List<String> campuses); 048 049 /** 050 * Gets the chart names of selected charts 051 * 052 * @param charts 053 * @return 054 */ 055 public String getBenefittingCharts(List<String> charts); 056 057 /** 058 * Gets the organization names of selected organizations 059 * 060 * @param organizations 061 * @return 062 */ 063 public String getBenefittingOrganizations(List<String> organizations); 064 065 /** 066 * Gets the selected type codes 067 * 068 * @param typeCodes 069 * @return 070 */ 071 public String getKemidTypeCodes(List<String> typeCodes); 072 073 /** 074 * Gets the selected purpose codes 075 * 076 * @param purposes 077 * @return 078 */ 079 public String getKemidPurposeCodes(List<String> purposes); 080 081 /** 082 * Gets the selected group codes 083 * 084 * @param groupCodes 085 * @return 086 */ 087 public String getCombineGroupCodes(List<String> groupCodes); 088 089 /** 090 * Gets the KEMIDs with multiple benefitting organizations 091 * 092 * @param kemids 093 * @return 094 */ 095 public List<KemidsWithMultipleBenefittingOrganizationsDataHolder> getKemidsWithMultipleBenefittingOrganizations(List<String> kemids); 096 097 /** 098 * Creates the report header data 099 * 100 * @param kemidsSelected 101 * @param reportName 102 * @param endowmnetOption 103 * @param benefittingOrganziationCampuses 104 * @param benefittingOrganziationCharts 105 * @param benefittingOrganziations 106 * @param typeCodes 107 * @param purposeCodes 108 * @param combineGroupCodes 109 * @return 110 */ 111 public EndowmentReportHeaderDataHolder createReportHeaderSheetData( 112 List<String> kemidsSelected, 113 List<String> benefittingOrganziationCampuses, 114 List<String> benefittingOrganziationCharts, 115 List<String> benefittingOrganziations, 116 List<String> typeCodes, 117 List<String> purposeCodes, 118 List<String> combineGroupCodes, 119 String reportName, 120 String endowmnetOption, 121 String reportOption); 122 123 /** 124 * method to pickup all kemids from the list of kemids where for each kemid, if 125 * there is record in END_HIST_CSH_T table 126 * 127 * @param kemids 128 * @param beginningDate 129 * @param endingDate 130 * @return List<String> newKemids 131 */ 132 public List<String> getKemidsInHistoryCash(List<String> kemids, String beginningDate, String endingDate); 133 134 /** 135 * method to pickup all kemids based on user selection of endowmentOption and closed indicator 136 * 137 * @param kemids 138 * @param endowmentOption 139 * @param endingDate 140 * @return List<String> newKemids 141 */ 142 public List<String> getKemidsBasedOnUserSelection(List<String> kemids, String endowmentOption, String closedIndicator); 143 }