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 }