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.ld.service; 017 018 import java.io.BufferedReader; 019 import java.util.List; 020 import java.util.Map; 021 022 import org.kuali.kfs.gl.businessobject.OriginEntryStatistics; 023 import org.kuali.kfs.module.ld.businessobject.LaborOriginEntry; 024 025 /** 026 * Defines methods that must be implemented by classes providing a LaborOriginEntryServiceImpl. 027 */ 028 public interface LaborOriginEntryService { 029 030 /** 031 * Get statistics from a group 032 */ 033 //public OriginEntryStatistics getStatistics(Integer groupId); 034 public OriginEntryStatistics getStatistics(String fileName); 035 036 /** 037 * Copy a set of entries into a new group 038 */ 039 //public OriginEntryGroup copyEntries(Date date, String sourceCode, boolean valid, boolean process, boolean scrub, Collection<LaborOriginEntry> entries); 040 041 /** 042 * Copy a set of entries into a new group 043 */ 044 //public OriginEntryGroup copyEntries(Date date, String sourceCode, boolean valid, boolean process, boolean scrub, Iterator<LaborOriginEntry> entries); 045 046 /** 047 * Delete entry 048 * 049 * @param oe Entry to delete 050 */ 051 //public void delete(LaborOriginEntry oe); 052 053 /** 054 * Return all documents in a group 055 * 056 * @param oeg Group used to select documents 057 * @return Collection to all documents 058 */ 059 //public Collection<LaborOriginEntry> getDocumentsByGroup(OriginEntryGroup oeg); 060 061 /** 062 * Return all entries for a group sorted by account number for the error 063 * 064 * @param oeg 065 * @return 066 */ 067 //public Iterator<LaborOriginEntry> getEntriesByGroupAccountOrder(OriginEntryGroup oeg); 068 069 /** 070 * Return all entries for a group sorted for display on the pending entry report. 071 * 072 * @param oeg 073 * @return 074 */ 075 //public Iterator<LaborOriginEntry> getEntriesByGroupReportOrder(OriginEntryGroup oeg); 076 077 /** 078 * Return all entries for a group sorted across the columns in report from left to right. 079 * 080 * @param oeg 081 * @return 082 */ 083 //public Iterator<LaborOriginEntry> getEntriesByGroupListingReportOrder(OriginEntryGroup oeg); 084 085 /** 086 * Return all entries for the groups where the balance type is empty 087 * 088 * @param groups 089 * @return 090 */ 091 //public Iterator<LaborOriginEntry> getBadBalanceEntries(Collection groups); 092 093 /** 094 * Return all the entries for a specific document in a specific group 095 * 096 * @param oeg Group selection 097 * @param documentNumber Document number selection 098 * @param documentTypeCode Document type selection 099 * @param originCode Origin Code selection 100 * @return iterator to all the entries 101 */ 102 //public Collection<LaborOriginEntry> getEntriesByDocument(OriginEntryGroup oeg, String documentNumber, String documentTypeCode, String originCode); 103 104 /** 105 * Take a generic transaction and save it as an origin entry in a specific group 106 * 107 * @param tran transaction to save 108 * @param group group to save the transaction 109 */ 110 //public void createEntry(LaborTransaction laborTran, OriginEntryGroup group); 111 112 /** 113 * Save an laborOrigin entry 114 * 115 * @param entry 116 */ 117 //public void save(LaborOriginEntry entry); 118 119 /** 120 * Export all origin entries in a group to a flat text file 121 * 122 * @param filename Filename to save the text 123 * @param groupId Group to save 124 */ 125 //public void exportFlatFile(String filename, Integer groupId); 126 127 /** 128 * Load a flat file of transations into the origin entry table 129 * 130 * @param filename Filename with the text 131 * @param groupSourceCode Source of the new group 132 * @param valid Valid flag for new group 133 * @param processed Process flag for new group 134 * @param scrub Scrub flag for new group 135 */ 136 //public void loadFlatFile(String filename, String groupSourceCode, boolean valid, boolean processed, boolean scrub); 137 138 /** 139 * Send data to an output stream 140 * 141 * @param groupId 142 * @param bw 143 */ 144 //public void flatFile(Integer groupId, BufferedOutputStream bw); 145 146 /** 147 * Return all entries by searchCriteria 148 * 149 * @param searchCriteria 150 */ 151 //public Collection getMatchingEntriesByCollection(Map searchCriteria); 152 153 /** 154 * Return a matched entry with entryId 155 * 156 * @param entryId 157 */ 158 //public LaborOriginEntry getExactMatchingEntry(Integer entryId); 159 160 161 /** 162 * Get origin entries that belong to the given group 163 * 164 * @param group the given origin entry group 165 * @return origin entries that belong to the given group 166 */ 167 //public Iterator<LaborOriginEntry> getEntriesByGroup(OriginEntryGroup group); 168 169 /** 170 * Get origin entries that belong to the given group 171 * 172 * @param group the given origin entry group 173 * @return origin entries that belong to the given group 174 */ 175 //public Collection<LaborOriginEntry> getEntryCollectionByGroup(OriginEntryGroup group); 176 177 /** 178 * Get origin entries that belong to the given groups 179 * 180 * @param groups the given origin entry groups 181 * @return origin entries that belong to the given groups 182 */ 183 //public Iterator<LaborOriginEntry> getEntriesByGroups(Collection<OriginEntryGroup> groups); 184 185 /** 186 * Get the origin entries that belong to the given group in either the consolidation manner or not 187 * 188 * @param group the given group 189 * @param isConsolidated the flag that indicates if return origin entries in either the consolidation manner or not 190 * @return the origin entries that belong to the given group in either the consolidation manner or not 191 */ 192 //public Iterator<LaborOriginEntry> getEntriesByGroup(OriginEntryGroup group, boolean isConsolidated); 193 194 /** 195 * Get the origin entries that belong to the given group in either the consolidation manner or not 196 * 197 * @param group the given group 198 * @param isConsolidated the flag that indicates if return origin entries in either the consolidation manner or not 199 * @return the origin entries that belong to the given group in either the consolidation manner or not 200 */ 201 //public Collection<LaborOriginEntry> getConsolidatedEntryCollectionByGroup(OriginEntryGroup group); 202 203 /** 204 * get the summarized information of the entries that belong to the given entry groups 205 * 206 * @param groups the origin entry groups 207 * @return a set of summarized information of the entries within the specified groups 208 */ 209 //public LedgerEntryHolder getSummariedEntriesByGroups(Collection<OriginEntryGroup> groups); 210 211 /** 212 * get the summarized information of poster input entries that belong to the given entry groups 213 * 214 * @param groups the origin entry groups 215 * @return a map of summarized information of poster input entries within the specified groups 216 */ 217 //public Map<String, PosterOutputSummaryEntry> getPosterOutputSummaryByGroups(Collection<OriginEntryGroup> groups); 218 219 /** 220 * get the count of the origin entry collection in the given groups 221 * 222 * @param groups the given groups 223 * @return the count of the origin entry collection in the given group 224 */ 225 //public int getCountOfEntriesInGroups(Collection<OriginEntryGroup> groups); 226 227 /** 228 * get all entries with groupId 229 * 230 * @param groupId 231 */ 232 //public List<LaborOriginEntry> getEntriesByGroupId(Integer groupId); 233 234 public Map getEntriesByGroupIdWithPath(String fileNameWithPath, List<LaborOriginEntry> originEntryList); 235 236 public Map getEntriesByBufferedReader(BufferedReader inputBufferedReader, List<LaborOriginEntry> originEntryList); 237 /** 238 * get the summarized information of the entries that belong to the entry groups with the given group id list 239 * 240 * @param groupIdList the origin entry groups 241 * @return a set of summarized information of the entries within the specified group 242 */ 243 //public LedgerEntryHolder getSummaryByGroupId(Collection groupIdList); 244 245 /** 246 * get the count of the origin entry collection in the given group 247 * 248 * @param group the given group 249 * @return the count of the origin entry collection in the given group 250 */ 251 //public int getCountOfEntriesInSingleGroup(OriginEntryGroup group); 252 253 /** 254 * Get all the unscrubbed backup groups for Labor 255 * 256 * @param backupDate the date all groups created on or before should be return to be backed up 257 * @return a Collection of labor origin entry groups to backup 258 */ 259 //public Collection getLaborBackupGroups(Date backupDate); 260 261 /** 262 * Counts the number of entries in a group 263 * @param the id of an origin entry group 264 * @return the count of the entries in that group 265 */ 266 //public Integer getGroupCount(Integer groupId); 267 268 public Integer getGroupCount(String fileName); 269 }