001/* 002 * The Kuali Financial System, a comprehensive financial management system for higher education. 003 * 004 * Copyright 2005-2014 The Kuali Foundation 005 * 006 * This program is free software: you can redistribute it and/or modify 007 * it under the terms of the GNU Affero General Public License as 008 * published by the Free Software Foundation, either version 3 of the 009 * License, or (at your option) any later version. 010 * 011 * This program is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 014 * GNU Affero General Public License for more details. 015 * 016 * You should have received a copy of the GNU Affero General Public License 017 * along with this program. If not, see <http://www.gnu.org/licenses/>. 018 */ 019package org.kuali.kfs.module.ar; 020 021import java.util.ArrayList; 022import java.util.Calendar; 023import java.util.List; 024 025import com.lowagie.text.Font; 026 027 028public class ArConstants{ 029 030 031 public static final String AR_NAMESPACE_CODE = "KFS-AR"; 032 033 public static final String REPORT_TIME_FORMAT = "HH:mm:ss"; 034 035 public static final String CG_PRORATE_BILL_IND = "CG_PRORATE_BILL_IND"; 036 public static final String DEFAULT_INVOICE_TEMPLATE = "DEFAULT_INVOICE_TEMPLATE"; 037 public static final String INVOICE_DOC_TYPE = "Invoice"; 038 public static final String CREDIT_MEMO_DOC_TYPE = "Credit Memo"; 039 public static final String PAYMENT_DOC_TYPE = "Payment"; 040 public static final String WRITEOFF_DOC_TYPE = "Writeoff"; 041 042 public static final String SORT_INDEX_SESSION_KEY = "sortIndex"; 043 public static final String NUM_SORT_INDEX_CLICK_SESSION_KEY = "numberOfSortClicked"; 044 public static final String TOTALS_TABLE_KEY = "totalsTable"; 045 046 public static final String COLLECTION_ACTIVITY_REPORT_LOOKUP = "collectionActivityReportLookup"; 047 048 // System Parameters 049 050 public static final String GLPE_WRITEOFF_GENERATION_METHOD = "GLPE_WRITEOFF_GENERATION_METHOD"; 051 public static final String ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND = "ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND"; 052 public static final String MAXIMUM_NUMBER_OF_DAYS_AFTER_CURRENT_DATE_FOR_INVOICE_DUE_DATE = "MAXIMUM_NUMBER_OF_DAYS_AFTER_CURRENT_DATE_FOR_INVOICE_DUE_DATE"; 053 public static final String OBJECT_CONSOLIDATIONS = "OBJECT_CONSOLIDATIONS"; 054 public static final String OBJECT_LEVELS = "OBJECT_LEVELS"; 055 public static final String REMIT_TO_ADDRESS_EDITABLE_IND = "REMIT_TO_ADDRESS_EDITABLE_IND"; 056 public static final String REMIT_TO_NAME_EDITABLE_IND = "REMIT_TO_NAME_EDITABLE_IND"; 057 public static final String INVOICE_RECURRENCE_INTERVALS = "INVOICE_RECURRENCE_INTERVALS"; 058 public static final String MAXIMUM_RECURRENCES_BY_INTERVAL = "MAXIMUM_RECURRENCES_BY_INTERVAL"; 059 public static final String ENABLE_SALES_TAX_IND = "ENABLE_SALES_TAX_IND"; 060 public static final String CUSTOMER_INVOICE_AGE = "CUSTOMER_INVOICE_AGE"; 061 public static final String WRITEOFF_APPROVAL_THRESHOLD = "APPROVAL_THRESHOLD"; 062 public static final String DEFAULT_FORMAT = "DEFAULT_FORMAT"; 063 public static final String DUE_DATE_DAYS = "DUE_DATE_DAYS"; 064 public static final String INCLUDE_ZERO_BALANCE_CUSTOMERS = "INCLUDE_ZERO_BALANCE_CUSTOMERS"; 065 066 public static final String DUNNING_LETTER_GENERATION_CODE = "DUNNING_LETTER_GENERATION_CODE"; 067 public static final String FROM_EMAIL_ADDRESS = "FROM_EMAIL_ADDRESS"; 068 public static final String BASIS_OF_ACCOUNTING = "DEFAULT_BASIS_OF_ACCOUNTING_FOR_BILLING"; 069 public static final String BASIS_OF_ACCOUNTING_CASH = "1"; 070 public static final String BASIS_OF_ACCOUNTING_ACCRUAL = "2"; 071 public static final String DUNNING_LETTER_TEMPLATE_UPLOAD = "template.dunningLetterTemplateUpload"; 072 public static final String DUNNING_LETTER_TEMPLATE_TYPE = "Dunning Letter"; 073 public static final String DUNNING_LETTER_TEMPLATE_NEW_FILE_NAME_PREFIX = "Dunning_Letter_Template_"; 074 public static final String INVOICE_TEMPLATE_UPLOAD = "document.invoiceTemplateUpload"; 075 public static final String INVOICE_TEMPLATE_TYPE = "Invoice"; 076 public static final String INVOICE_TEMPLATE_NEW_FILE_NAME_PREFIX = "Invoice_Template_"; 077 078 public static final String CONTRACTS_GRANTS_INVOICE_COMPONENT = "ContractsGrantsInvoice"; 079 080 081 // Valid number of days the invoice due date can be more than invoice creation date. 082 public static final int VALID_NUMBER_OF_DAYS_INVOICE_DUE_DATE_PAST_INVOICE_DATE = 90; 083 084 public static final String NEW_CUSTOMER_INVOICE_DETAIL_ERROR_PATH_PREFIX = "newCustomerInvoiceDetail"; 085 public static final String NEW_CASH_CONTROL_DETAIL_ERROR_PATH_PREFIX = "newCashControlDetail"; 086 087 public static final String CUSTOMER_INVOICE_DOCUMENT_GL_POSTING_HELPER_BEAN_ID = "customerInvoiceDocumentGeneralLedgerPostingHelper"; 088 089 public static final String CUSTOMER_INVOICE_DETAIL_UOM_DEFAULT = "EA"; // TODO: System parameter? 090 091 public static final String LOOKUP_INVOICE_NUMBER = "invoiceNumber"; 092 public static final String LOOKUP_INVOICE_NUMBERS = "invoiceNumbers"; 093 public static final String GLPE_WRITEOFF_GENERATION_METHOD_CHART = "1"; 094 public static final String GLPE_WRITEOFF_GENERATION_METHOD_ORG_ACCT_DEFAULT = "2"; 095 public static final String ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND_NO = "N"; 096 public static final String COPY_CUSTOMER_INVOICE_DOCUMENT_WITH_DISCOUNTS_QUESTION = "ConfirmationForCopyingInvoiceWithDiscounts"; 097 public static final String SUSPENSION_CATEGORIES_PRESENT_QUESTION = "ConfirmationForSuspensionCategoriesPresent"; 098 099 public static final String CUSTOMER_INVOICE_DETAIL_DEFAULT_DISCOUNT_DESCRIPTION_PREFIX = "LINE ITEM DISCOUNT"; 100 101 // We need a higher scale than the default 2 for item quantity in Customer Invoice and Credit Memo, 102 // because we might have a very small invoice open amount and need to apply very small item quantity in credit memo. 103 public static int ITEM_QUANTITY_SCALE = 10; 104 105 public static final String AWARD_LOOKUP_IMPL = "awardLookupable"; 106 public static final String CUSTOMER_OPEN_ITEM_REPORT_LOOKUPABLE_IMPL = "arCustomerOpenItemReportLookupable"; 107 108 public static class PermissionNames { 109 public static final String REPORT = "Report"; 110 } 111 112 public static final String INV_DOCUMENT_TYPE = "INV"; 113 public static final String INV_DOCUMENT_DESCRIPTION = "Customer Invoice"; 114 public static final String DEFAULT_PROCESSING_CHART = "DEFAULT_PROCESSING_CHART"; 115 public static final String DEFAULT_PROCESSING_ORG = "DEFAULT_PROCESSING_ORG"; 116 117 public static final String NEW_COLLECTION_EVENT_ERROR_PATH_PREFIX = "newCollectionEvent"; 118 119 public static final String CUSTOMER_COMPONENT = "Customer"; 120 121 public static final String CLEAR_INIT_TAB_METHOD = "clearInitTab"; 122 public static final String CONTINUE_LOC_REVIEW_METHOD = "continueLOCReview"; 123 public static final String DOWNLOAD_METHOD = "download"; 124 public static final String EXPORT_METHOD = "export"; 125 public static final String PRINT_METHOD = "print"; 126 public static final String PRINT_CREDIT_MEMO_PDF_METHOD = "printCreditMemoPDF"; 127 public static final String PRINT_INVOICE_PDF_METHOD = "printInvoicePDF"; 128 public static final String PRINT_STATEMENT_PDF_METHOD = "printStatementPDF"; 129 public static final String UPLOAD_METHOD = "upload"; 130 public static final String CLEAR_BUTTON_FILE_NAME = "buttonsmall_clear.gif"; 131 public static final String CLEAR_BUTTON_ALT_TEXT = "Clear"; 132 public static final String CONTINUE_BUTTON_FILE_NAME = "buttonsmall_continue.gif"; 133 public static final String CONTINUE_BUTTON_ALT_TEXT = "Continue"; 134 public static final String EXPORT_BUTTON_FILE_NAME = "buttonsmall_export.gif"; 135 public static final String EXPORT_BUTTON_ALT_TEXT = "Export"; 136 public static final String EXPORT_BUTTON_ONCLICK_TEXT = "excludeSubmitRestriction=true"; 137 public static final String PRINT_BUTTON_FILE_NAME = "buttonsmall_genprintfile.gif"; 138 public static final String PRINT_BUTTON_ALT_TEXT = "Print"; 139 public static final String PRORATE_BUTTON_METHOD = "methodToCall.prorateBill"; 140 public static final String PRORATE_BUTTON_FILE_NAME = "buttonsmall_prorate.gif"; 141 public static final String PRORATE_BUTTON_ALT_TEXT = "Prorate Bill"; 142 public static final String TRANSMIT_GENERATE_BUTTON_FILE_NAME = "buttonsmall_transmitgenerate.gif"; 143 public static final String TRANSMIT_GENERATE_BUTTON_ALT_TEXT = "transmit/generate print file"; 144 public static final String MAPPING_PRINT_PDF = "arPrintPDF"; 145 public static final String ACTIONS_LABEL = "Actions"; 146 147 public static final String CUSTOMER_STATEMENT_LABEL = "Customer Statement"; 148 149 // Agency Address 150 public static final String AGENCY_PRIMARY_ADDRESSES_TYPE_CODE = "P"; 151 public static final String AGENCY_ALTERNATE_ADDRESSES_TYPE_CODE = "A"; 152 153 public static class TemplateUploadSystem { 154 static final public String EXTENSION = ".pdf"; 155 static final public String TEMPLATE_MIME_TYPE = "application/pdf"; 156 } 157 158 public static class PaymentMediumCode { 159 public static final String CASH = "CA"; 160 public static final String CHECK = "CK"; 161 public static final String WIRE_TRANSFER = "WT"; 162 public static final String CREDIT_CARD = "CR"; 163 } 164 165 public static class ReportOptionFieldValues { 166 public static final String PROCESSING_ORG = "Processing Organization"; 167 public static final String BILLING_ORG = "Billing Organization"; 168 } 169 170 public static class LOCReportTypeFieldValues { 171 public static final String DRAW_DETAILS = "Details Report"; 172 public static final String AMOUNTS_NOT_DRAWN = "Amounts Not Drawn Report"; 173 } 174 175 public static class CustomerAgingReportFields { 176 public static final String ACCT = "Account"; 177 178 public static final String TOTAL_0_TO_30 = "total0to30"; 179 public static final String TOTAL_31_TO_60 = "total31to60"; 180 public static final String TOTAL_61_TO_90 = "total61to90"; 181 public static final String TOTAL_91_TO_SYSPR = "total90toSYSPR"; 182 public static final String TOTAL_SYSPR_PLUS_1_OR_MORE = "totalSYSPRplus1orMore"; 183 public static final String TOTAL_AMOUNT_DUE = "totalAmountDue"; 184 185 186 public static final String AGENCY_SHORT_NAME = "Agency Short Name"; 187 public static final String UNAPPLIED_PAYMENTS = "Unapplied Payments"; 188 public static final String TOTAL_WRITEOFF = "Total Write-Off"; 189 } 190 191 public static class OrganizationAccountingOptionsConstants { 192 public static final String ORG_ACCT_DEFAULT_RECEIVABLE_TAB_NAME = "Edit Organization Receivable Account Defaults"; 193 public static final String ORG_ACCT_DEFAULT_WRITEOFF_TAB_NAME = "Edit Organization Writeoff Account Defaults"; 194 } 195 196 public static class CustomerCreditMemoStatuses { 197 public static final String INITIATE = "INIT"; 198 public static final String IN_PROCESS = "INPR"; 199 } 200 201 public static class CustomerInvoiceWriteoffStatuses { 202 public static final String INITIATE = "INIT"; 203 public static final String IN_PROCESS = "INPR"; 204 } 205 206 public static class CustomerCreditMemoConstants { 207 public static final String CUSTOMER_CREDIT_MEMO_ITEM_QUANTITY = "qty"; 208 public static final String CUSTOMER_CREDIT_MEMO_ITEM_TOTAL_AMOUNT = "itemAmount"; 209 public static final String BOTH_QUANTITY_AND_ITEM_TOTAL_AMOUNT_ENTERED = "both"; 210 public static final String GENERATE_CUSTOMER_CREDIT_MEMO_DOCUMENT_QUESTION_ID = "GenerateCustomerCreditMemoDocumentQuestionID"; 211 } 212 213 public static final class CustomerLoad { 214 public static final String CUSTOMER_LOAD_FILE_TYPE_IDENTIFIER = "customerLoadInputFileType"; 215 public static final String CUSTOMER_CSV_LOAD_FILE_TYPE_IDENTIFIER = "customerLoadCSVInputFileType"; 216 public static final String CUSTOMER_LOAD_REPORT_SUBFOLDER = "ar"; 217 public static final String BATCH_REPORT_BASENAME = "ar_customer_load"; 218 } 219 220 public static final class CustomerInvoiceWriteoff { 221 public static final String CUSTOMER_INVOICE_WRITEOFF_FILE_TYPE_IDENTIFIER = "customerInvoiceWriteoffInputFileType"; 222 public static final String CUSTOMER_INVOICE_WRITEOFF_REPORT_SUBFOLDER = "ar"; 223 public static final String BATCH_REPORT_BASENAME = "customer_invoice_writeoff"; 224 } 225 226 public static final class Lockbox { 227 public static final String LOCKBOX_REPORT_SUBFOLDER = "ar"; 228 public static final String BATCH_REPORT_BASENAME = "lockbox_batch"; 229 public static final String SUMMARY_AND_ERROR_NOTIFICATION_EMAIL_SUBJECT = "SUMMARY_AND_ERROR_NOTIFICATION_EMAIL_SUBJECT"; 230 public static final String SUMMARY_AND_ERROR_NOTIFICATION_TO_EMAIL_ADDRESSES = "SUMMARY_AND_ERROR_NOTIFICATION_TO_EMAIL_ADDRESSES"; 231 public static final String CONTACTS_TEXT = "CONTACTS_TEXT"; 232 } 233 234 public static final String DISCOUNT_PREFIX = "DISCOUNT - "; 235 public static final String GLPE_WRITEOFF_OBJECT_CODE_BY_CHART = "GLPE_WRITEOFF_OBJECT_CODE_BY_CHART"; 236 public static final Object CUSTOMER_INVOICE_WRITEOFF_SUMMARY_ACTION = "viewSummary"; 237 public static final String CUSTOMER_INVOICE_WRITEOFF_DOCUMENT_DESCRIPTION = "Writeoff for "; 238 239 public static class PrintInvoiceOptions { 240 public static final String PRINT_BY_PROCESSING_ORG = "Q"; 241 public static final String PRINT_BY_USER = "U"; 242 public static final String PRINT_BY_BILLING_ORG = "B"; 243 public static final String PRINT_INVOICE_NOW = "Y"; 244 public static final String PRINT_DO_NOT_PRINT = "N"; 245 } 246 247 public static final String LOCKBOX_DOCUMENT_DESCRIPTION = "Created by Lockbox "; 248 public static final String LOCKBOX_REMITTANCE_FOR_INVALID_INVOICE_NUMBER = "Lockbox: Remittance for INVALID invoice number "; 249 public static final String LOCKBOX_REMITTANCE_FOR_CLOSED_INVOICE_NUMBER = "Lockbox: Remittance for CLOSED invoice number "; 250 public static final String LOCKBOX_REMITTANCE_FOR_INVOICE_NUMBER = "Lockbox: Remittance for invoice number "; 251 252 // Probably refactor these two constants out to pull them from a service, system parameter or something. 253 public static final String PAYMENT_APPLICATION_DOCUMENT_TYPE_CODE = "APP"; 254 public static final String INVOICE_WRITEOFF_DOCUMENT_TYPE_CODE = "INVW"; 255 public static final String CASH_CONTROL_DOCUMENT_TYPE_CODE = "CTRL"; 256 public static final String CUSTOMER_CREDIT_MEMO_DOCUMENT_TYPE_CODE = "CRM"; 257 public static final String CUSTOMER_INVOICE_DOCUMENT_TYPE_CODE = "INV"; 258 public static final String FINAL_BILLED_INDICATOR_DOCUMENT_TYPE_CODE = "FBI"; 259 260 // Organization Options Section Ids 261 public static class OrganizationOptionsSections { 262 public static final String EDIT_ORGANIZATION_REMIT_TO_ADDRESS = "Edit Organization Remit To Address"; 263 } 264 265 // Customer Billing Statement 266 public static final String STATEMENT_FORMAT_SUMMARY = "Summary"; 267 public static final String STATEMENT_FORMAT_DETAIL = "Detail"; 268 public static final String INCLUDE_ZERO_BALANCE_YES = "Yes"; 269 public static final String INCLUDE_ZERO_BALANCE_NO = "No"; 270 271 public static final String DEFAULT_DUNNING_CAMPAIGN_PARAMETER = "DEFAULT_DUNNING_CAMPAIGN"; 272 public static final String DEFAULT_BILLING_FREQUENCY_PARAMETER = "DEFAULT_BILLING_FREQUENCY"; 273 public static final String DEFAULT_INVOICING_OPTION_PARAMETER = "DEFAULT_INVOICING_OPTION"; 274 275 276 public enum ArNotificationSelectionField{ 277 CHART("CHART"), ORGANIZATION("ORG"), ACCOUNT("ACCOUNT"); 278 279 public String fieldName; 280 281 private ArNotificationSelectionField(String fieldName){ 282 this.fieldName = fieldName; 283 } 284 } 285 286 public enum ArNotificationOptions{ 287 PROCESSING_ORG("PROCESSING_ORG"), BILLING_ORG("BILLING_ORG"), ACCOUNT("ACCOUNT"); 288 289 public String option; 290 291 private ArNotificationOptions(String option){ 292 this.option = option; 293 } 294 } 295 296 public static class BatchFileSystem { 297 298 static final public String EXTENSION = ".txt"; 299 300 static final public String CGINVOICE_BATCH_VALIDATION_ERROR_OUTPUT_FILE = "cgin_batch_validation_err"; 301 static final public String CGINVOICE_BATCH_CREATION_ERROR_OUTPUT_FILE = "cgin_batch_create_doc_err"; 302 static final public String CGINVOICE_VALIDATION_ERROR_OUTPUT_FILE = "cgin_validation_err"; 303 static final public String CGINVOICE_CREATION_ERROR_OUTPUT_FILE = "cgin_create_doc_err"; 304 static final public String LOC_REVIEW_VALIDATION_ERROR_OUTPUT_FILE = "cgin_locReview_validation_err"; 305 static final public String LOC_REVIEW_CREATION_ERROR_OUTPUT_FILE = "cgin_locReview_create_doc_err"; 306 307 static final public String LOC_CREATION_BY_AWARD_ERROR_OUTPUT_FILE = "cgin_loc_by_award_create_doc_err"; 308 static final public String LOC_CREATION_BY_LOCF_ERROR_OUTPUT_FILE = "cgin_loc_by_loc_fund_create_doc_err"; 309 static final public String INVOICE_REPORT_EMAIL_DELIVERY_ERROR_OUTPUT_FILE = "cgin_report_email_delivery_err"; 310 static final public String LOC_CREATION_BY_LOCFG_ERROR_OUTPUT_FILE = "cgin_loc_by_loc_fund_group_create_doc_err"; 311 static final public String LOC_CREATION_PMT_APP_ERROR_OUTPUT_FILE = "cgin_loc_pmt_app_create_doc_err"; 312 static final public String EVT_CREATION_CLN_ACT_ERROR_OUTPUT_FILE = "catd_evt_cln_act_create_doc_err"; 313 static final public String REFRL_TO_CLCTNS_ERROR_OUTPUT_FILE = "refrl_to_clctns_doc_err"; 314 315 static final public String CGINVOICE_DOCUMENT_DESCRIPTION_OF_BATCH_PROCESS = "Auto-generated Invoice Document"; 316 } 317 318 public static class ReportsConstants { 319 public static final List<String> awardBalancesReportSubtotalFieldsList = new ArrayList<String>(); 320 321 static { 322 awardBalancesReportSubtotalFieldsList.add("agency.fullName"); 323 awardBalancesReportSubtotalFieldsList.add("awardStatusCode"); 324 awardBalancesReportSubtotalFieldsList.add("awardPrimaryProjectDirector.projectDirector.name"); 325 awardBalancesReportSubtotalFieldsList.add("awardPrimaryFundManager.fundManager.name"); 326 } 327 328 public static final List<String> reportSearchCriteriaExceptionList = new ArrayList<String>(); 329 330 static { 331 reportSearchCriteriaExceptionList.add("backLocation"); 332 reportSearchCriteriaExceptionList.add("docFormKey"); 333 reportSearchCriteriaExceptionList.add("dummyBusinessObject.invoiceReportOption"); 334 } 335 336 public static final List<String> cgInvoiceReportSubtotalFieldsList = new ArrayList<String>(); 337 338 static { 339 cgInvoiceReportSubtotalFieldsList.add("proposalNumber"); 340 } 341 342 public static final List<String> cgPaymentHistoryReportSubtotalFieldsList = new ArrayList<String>(); 343 344 static { 345 cgPaymentHistoryReportSubtotalFieldsList.add("awardNumber"); 346 cgPaymentHistoryReportSubtotalFieldsList.add("customerName"); 347 cgPaymentHistoryReportSubtotalFieldsList.add("paymentNumber"); 348 cgPaymentHistoryReportSubtotalFieldsList.add("paymentDate"); 349 } 350 351 public static final List<String> cgLOCReportSubtotalFieldsList = new ArrayList<String>(); 352 353 public static final List<String> cgSuspendedInvoiceDetailReportSubtotalFieldsList = new ArrayList<String>(); 354 355 public static final String INVOICE_INDICATOR_OPEN = "Open"; 356 public static final String INVOICE_INDICATOR_CLOSE = "Close"; 357 358 } 359 360 public static class InvoiceTransmissionMethod { 361 static final public String MAIL = "MAIL"; 362 static final public String EMAIL = "EMAIL"; 363 } 364 365 public static class DunningLetters { 366 public static final String DYS_PST_DUE_FINAL_PARM = "DUNNING_LETTERS_FINAL_DAYS_PAST_DUE"; 367 public static final String DYS_PST_DUE_STATE_AGENCY_FINAL_PARM = "DUNNING_LETTERS_STATE_AGENCY_FINAL_DAYS_PAST_DUE"; 368 369 public static final String DYS_PST_DUE_CURRENT = "Current"; 370 public static final String DYS_PST_DUE_31_60 = "31-60"; 371 public static final String DYS_PST_DUE_61_90 = "61-90"; 372 public static final String DYS_PST_DUE_91_120 = "91-120"; 373 public static final String DYS_PST_DUE_121 = "121+"; 374 public static final String DYS_PST_DUE_FINAL = "FINAL"; 375 public static final String DYS_PST_DUE_STATE_AGENCY_FINAL = "State Agency FINAL"; 376 public static final String DUNNING_LETTER_SENT_TXT = "Dunning Letter has been sent to sponsor."; 377 } 378 379 public static class ContractsGrantsAgingReportFields { 380 381 public static final String TOTAL_0_TO_30 = "total0to30"; 382 public static final String TOTAL_31_TO_60 = "total31to60"; 383 public static final String TOTAL_61_TO_90 = "total61to90"; 384 public static final String TOTAL_91_TO_SYSPR = "total90toSYSPR"; 385 public static final String TOTAL_SYSPR_PLUS_1_OR_MORE = "totalSYSPRplus1orMore"; 386 public static final String TOTAL_AMOUNT_DUE = "totalAmountDue"; 387 public static final String OPEN_INVOCE_REPORT_NAME = "Contracts & Grants Open Invoices Report"; 388 389 390 public static final String AGENCY_SHORT_NAME = "Agency Short Name"; 391 public static final String UNAPPLIED_PAYMENTS = "Unapplied Payments"; 392 public static final String TOTAL_WRITEOFF = "Total Write-Off"; 393 public static final String TOTAL_CREDITS = "Total Credits"; 394 } 395 396 // Award 397 public static final String LOC_BY_AWARD = "LOC By Award"; 398 public static final String LOC_BY_LOC_FUND = "LOC By Letter of Credit Fund"; 399 public static final String LOC_BY_LOC_FUND_GRP = "LOC By Letter of Credit Fund Group"; 400 public static final String CHECK_LIMIT_DAYS = "CHECK_LIMIT_DAYS"; 401 402 public static final String AWARD_TOTAL = "awardTotal"; 403 public static final String AWARD_FUND_MANAGER = "awardFundManager"; 404 public static final String AWARD_FUND_MANAGERS = "awardFundManagers"; 405 public static final String AWARD_PROJECT_DIRECTORS = "awardProjectDirectors"; 406 public static final String AWARD_PROJECT_DIRECTOR = "awardProjectDirector"; 407 public static final String INVOICE_REPORT_OPTION = "dummyBusinessObject.invoiceReportOption"; 408 public static final String CGINV_DOC_ERR_LOG_REPORT = "Contracts & Grants Invoice Document Error Log Report"; 409 public static final String OUTSTANDING_INVOICE_REPORT = "Outstanding Invoice Report"; 410 public static final String OUTSTANDING_INVOICES = "Outstanding Invoices"; 411 public static final String PAST_DUE_INVOICES = "Past Due Invoices"; 412 public static final String LETTER_OF_CREDIT_FUND_GROUP_PROPERTY = "letterOfCreditFundGroup"; 413 public static final String FUND_MANAGER = "fundManager"; 414 public static final String CONTRACTS_GRANTS_SUSPENDED_INVOICE_SUMMARY_REPORT = "ContractsGrantsSuspendedInvoiceSummaryReport"; 415 public static final String CONTRACTS_GRANTS_SUSPENDED_INVOICE_DETAIL_REPORT = "ContractsGrantsSuspendedInvoiceDetailReport"; 416 public static final String CONTRACTS_GRANTS_PAYMENT_HISTORY_REPORT = "ContractsGrantsPaymentHistoryReport"; 417 public static final String CONTRACTS_GRANTS_LOC_REPORT = "ContractsGrantsLOCReport"; 418 public static final String CONTRACTS_GRANTS_MILESTONE_REPORT = "ContractsGrantsMilestoneReport"; 419 public static final String COLLECTION_ACTIVITY_REPORT_SORT_FIELD = "CollectionActivityReport"; 420 public static final String CONTRACTS_GRANTS_INVOICE_REPORT_SORT_FIELD = "ContractsGrantsInvoiceReport"; 421 public static final String CONTRACTS_GRANTS_INVOICE_ERROR_LOG_REPORT_SORT_FIELD = "ContractsGrantsInvoiceDocumentErrorLog"; 422 public static final String TICKLERS_REPORT_SORT_FIELD = "TicklersReport"; 423 public static final String COLLECTION_ACTIVITY_REPORT_TITLE = "Collection Activity Report"; 424 public static final String PROJECT_DIRECTOR = "projectDirector"; 425 public static final String QUARTER1 = "q1"; 426 public static final String QUARTER2 = "q2"; 427 public static final String QUARTER3 = "q3"; 428 public static final String QUARTER4 = "q4"; 429 public static final String SEMI_ANNUAL = "Sa"; 430 public static final String ANNUAL = "An"; 431 public static final String FINAL = "F"; 432 433 public static class ArDocumentTypeCodes { 434 public static final String COLLECTION_EVENT = "CVNT"; 435 public static final String CONTRACTS_GRANTS_COLLECTION_ACTIVTY = "CCA"; 436 public static final String CONTRACTS_GRANTS_INVOICE = "CINV"; 437 public static final String LETTER_OF_CREDIT_REVIEW = "LCR"; 438 } 439 440 // CG Invoice Document 441 public static final String CONTRACTS_AND_GRANTS_INVOICE_CATEGORIES = "CONTRACTS_AND_GRANTS_INVOICE_CATEGORIES"; 442 public static final String CONTRACTS_GRANTS_INVOICE_DOCUMENT_DESCRIPTION = "Contracts & Grants Invoice"; 443 public static final String ACCOUNT = "Account"; 444 public static final String CONTRACT_CONTROL_ACCOUNT = "Contract Control Account"; 445 public static final String BILL_SECTION = "Bills"; 446 public static final String MILESTONES_SECTION = "Milestones"; 447 448 public static final String INCOME_ACCOUNT = "Income"; 449 public static final String AR_ACCOUNT = "Accounts Receivable"; 450 public static final String INV_AWARD = "1"; 451 public static final String INV_ACCOUNT = "2"; 452 public static final String INV_CONTRACT_CONTROL_ACCOUNT = "3"; 453 public static final String INVOICE_AMOUNT_LABEL = "Invoice Amount"; 454 public static final String PRINT_INVOICES_FROM_LABEL = "Print Invoices From"; 455 public static final String PRINT_INVOICES_TO_LABEL = "Print Invoices To"; 456 457 public static final String LETTER_OF_CREDIT_FUND_GROUP = "Letter of Credit Fund Group"; 458 public static final String LETTER_OF_CREDIT_REVIEW_DOCUMENT = "Letter Of Credit Review Document."; 459 460 static final public String REMINDER_EMAIL_SUBJECT = "REMINDER_EMAIL_SUBJECT"; 461 462 // Agency Collections Maintenance 463 public static final String CHAPTER7_CODE = "C7"; 464 public static final String CHAPTER11_CODE = "C11"; 465 public static final String CHAPTER13_CODE = "C13"; 466 public static final String JUDGMENT_OBTAINED_CODE = "JO"; 467 468 public static final String CHAPTER7 = "Chapter 7"; 469 public static final String CHAPTER11 = "Chapter 11"; 470 public static final String CHAPTER13 = "Chapter 13"; 471 public static final String JUDGMENT_OBTAINED= "Judgment Obtained"; 472 473 public static final String CUS = "CUS"; 474 public static final String INVR = "INVR"; 475 public static final String PREDETERMINED_BILLING_SCHEDULE_CODE = "PDBS"; 476 public static final String MILESTONE_BILLING_SCHEDULE_CODE = "MILE"; 477 public static final String MONTHLY_BILLING_SCHEDULE_CODE = "MNTH"; 478 public static final String QUATERLY_BILLING_SCHEDULE_CODE = "QUAR"; 479 public static final String SEMI_ANNUALLY_BILLING_SCHEDULE_CODE = "SEMI"; 480 public static final String ANNUALLY_BILLING_SCHEDULE_CODE = "ANNU"; 481 public static final String LOC_BILLING_SCHEDULE_CODE = "LOCB"; 482 483 public static final String YEAR_MONTH_DAY_HOUR_MINUTE_SECONDS_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; 484 public static final String INVOICES_FILE_PREFIX = "Invoices-"; 485 public static final String INVOICE_ENVELOPES_FILE_PREFIX = "InvoiceEnvelopes-"; 486 public static final String INVOICE_ZIP_FILE_PREFIX = "Invoice-report"; 487 488 // federal financial report 489 public static final String FF_425_TEMPLATE_NM = "FEDERAL_FINANCIAL_FORM_425"; 490 public static final String FF_425A_TEMPLATE_NM = "FEDERAL_FINANCIAL_FORM_425A"; 491 public static final String FEDERAL_FORM_425 = "425"; 492 public static final String FEDERAL_FORM_425A = "425A"; 493 494 public static class ReportBuilderDataServiceBeanNames { 495 public static final String CONTRACTS_GRANTS_SUSPENDED_INVOICE_SUMMARY = "contractsGrantsSuspendedInvoiceSummaryReportBuilderService"; 496 public static final String CONTRACTS_GRANTS_AGING = "contractsGrantsAgingReportBuilderService"; 497 public static final String CONTRACTS_GRANTS_INVOICE = "contractsGrantsInvoiceReportBuilderService"; 498 public static final String CONTRACTS_GRANTS_INVOICE_ERROR_LOG = "contractsGrantsInvoiceDocumentErrorLogReportBuilderService"; 499 public static final String COLLECTION_ACTIVITY = "collectionActivityReportBuilderService"; 500 public static final String CONTRACTS_GRANTS_LOC = "contractsGrantsLOCReportBuilderService"; 501 public static final String CONTRACTS_GRANTS_MILESTONE = "contractsGrantsMilestoneReportBuilderService"; 502 public static final String CONTRACTS_GRANTS_PAYMENT_HISTORY = "contractsGrantsPaymentHistoryReportBuilderService"; 503 public static final String TICKLERS = "ticklersReportBuilderService"; 504 public static final String CONTRACTS_GRANTS_SUSPENDED_INVOICE_DETAIL = "contractsGrantsSuspendedInvoiceDetailReportBuilderService"; 505 } 506 public static class Actions { 507 public static final String ACCOUNTS_RECEIVABLE_INVOICE_TEMPLATE_UPLOAD = "arAccountsReceivableInvoiceTemplateUpload"; 508 public static final String ACCOUNTS_RECEIVABLE_DUNNING_LETTER_TEMPLATE_UPLOAD = "arAccountsReceivableDunningLetterTemplateUpload"; 509 public static final String TRANSMIT_CONTRACTS_AND_GRANTS_INVOICES = "arTransmitContractsAndGrantsInvoices"; 510 public static final String CONTRACTS_GRANTS_LOC_REPORT = "contractsGrantsLOCReport"; 511 public static final String AR_TICKLER_REPORT = "arTicklersReport"; 512 } 513 514 public static class MultipleValueReturnActions { 515 public static final String CONTRACTS_GRANTS_COLLECTION_ACTIVITY_INVOICES = "arContractsGrantsCollectionActivityDocument.do"; 516 public static final String CONTRACTS_GRANTS_INVOICES = "arContractsGrantsInvoiceSummary.do"; 517 public static final String GENERATE_DUNNING_LETTERS_SUMMARY = "arGenerateDunningLettersSummary.do"; 518 } 519 520 public static class UrlActions { 521 public static final String ACCOUNTS_RECEIVABLE_DUNNING_LETTER_TEMPLATE_UPLOAD = "arAccountsReceivableDunningLetterTemplateUpload.do"; 522 public static final String ACCOUNTS_RECEIVABLE_INVOICE_TEMPLATE_UPLOAD = "arAccountsReceivableInvoiceTemplateUpload.do"; 523 public static final String CUSTOMER_OPEN_ITEM_REPORT_LOOKUP = "arCustomerOpenItemReportLookup.do"; 524 public static final String CASH_CONTROL_DOCUMENT = "arCashControlDocument.do"; 525 public static final String CUSTOMER_CREDIT_MEMO_DOCUMENT = "arCustomerCreditMemoDocument.do"; 526 public static final String CUSTOMER_INVOICE_DOCUMENT = "arCustomerInvoiceDocument.do"; 527 public static final String CONTRACTS_GRANTS_LETTER_OF_CREDIT_REVIEW_DOCUMENT = "arContractsGrantsLetterOfCreditReviewDocument.do"; 528 public static final String CUSTOMER_STATEMENT = "arCustomerStatement.do"; 529 public static final String FEDERAL_FINANCIAL_REPORT = "arFederalFinancialReport.do"; 530 } 531 532 public static class CostCategoryMaintenanceSections { 533 public static final String EDIT_CATEGORY = "EditCategory"; 534 public static final String EDIT_OBJECT_CODES = "EditObjectCodes"; 535 public static final String EDIT_OBJECT_LEVELS = "EditObjectLevels"; 536 public static final String EDIT_OBJECT_CONSOLIDATIONS = "EditObjectConsolidations"; 537 } 538 539 public static enum ContractsAndGrantsInvoiceDocumentCreationProcessType { 540 BATCH("B", "Batch"), LOC("L", "LOC"), MANUAL("M", "Manual"); 541 542 private String code; 543 private String name; 544 545 ContractsAndGrantsInvoiceDocumentCreationProcessType(String code, String name) { 546 this.code = code; 547 this.name = name; 548 } 549 550 public String getCode() { 551 return this.code; 552 } 553 554 public String getName() { 555 return this.name; 556 } 557 558 public static String getName(String code) { 559 for(ContractsAndGrantsInvoiceDocumentCreationProcessType type : ContractsAndGrantsInvoiceDocumentCreationProcessType.values()) { 560 if(type.getCode().equals(code)){ 561 return type.getName(); 562 } 563 } 564 return null; 565 } 566 } 567 568 /** 569 * Convenience class to hold a month and day without a year 570 */ 571 public static class MonthDay { 572 private int month; 573 private int day; 574 575 public MonthDay(int month, int day) { 576 this.month = month; 577 this.day = day; 578 } 579 580 public int getMonth() { 581 return month; 582 } 583 584 public int getDay() { 585 return day; 586 } 587 588 public java.util.Date getDateForYear(int year) { 589 Calendar c = Calendar.getInstance(); 590 c.clear(); 591 c.set(Calendar.MONTH, getMonth()); 592 c.set(Calendar.DAY_OF_MONTH, getDay()); 593 c.set(Calendar.YEAR, year); 594 return c.getTime(); 595 } 596 } 597 598 public static class BillingQuarterLastDays { 599 public static MonthDay FIRST_QUARTER = new MonthDay(Calendar.MARCH, 31); 600 public static MonthDay SECOND_QUARTER = new MonthDay(Calendar.JUNE, 30); 601 public static MonthDay THIRD_QUARTER = new MonthDay(Calendar.SEPTEMBER, 30); 602 public static MonthDay FOURTH_QUARTER = new MonthDay(Calendar.DECEMBER, 31); 603 } 604 605 public static class PdfReportFonts { 606 public static final Font LOC_REVIEW_TITLE_FONT = new Font(Font.TIMES_ROMAN, 18, Font.BOLD); 607 public static final Font LOC_REVIEW_HEADER_FONT = new Font(Font.TIMES_ROMAN, 16, Font.BOLD); 608 public static final Font LOC_REVIEW_SMALL_BOLD = new Font(Font.TIMES_ROMAN, 14, Font.BOLD); 609 public static final Font ENVELOPE_TITLE_FONT = new Font(Font.TIMES_ROMAN, 12, Font.BOLD); 610 public static final Font ENVELOPE_SMALL_FONT = new Font(Font.TIMES_ROMAN, 9, Font.NORMAL); 611 } 612 613 public static class LOCReviewPdf { 614 public static final float LENGTH = 1350f; 615 public static final float WIDTH = 595f; 616 public static final float RESULTS_TABLE_WIDTH = 1300f; 617 public static final float RESULTS_TABLE_CELL_PADDING = 20f; 618 public static final int RESULTS_TABLE_COLSPAN = 11; 619 public static final int INNER_TABLE_COLUMNS = 8; 620 public static final float INNER_TABLE_WIDTH = 1000f; 621 } 622 623 public static class InvoiceEnvelopePdf { 624 public static final float LENGTH = 650f; 625 public static final float WIDTH = 320f; 626 public static final float INDENTATION_LEFT = 20f; 627 } 628 629 public static class Federal425APdf { 630 public static final int NUMBER_OF_SUMMARIES_PER_PAGE = 30; 631 } 632 633 public static final String FEDERAL_FUND_425_REPORT_ABBREVIATION = "FF425"; 634 public static final String FEDERAL_FUND_425A_REPORT_ABBREVIATION = "FF425A"; 635 636 public static final String FROM_SUFFIX = " From"; 637 public static final String TO_SUFFIX = " To"; 638 639 public static final String LETTER_OF_CREDIT_REVIEW_INIT_SECTION = "letterOfCreditReviewInitSection"; 640}