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.ec; 017 018 import java.util.ArrayList; 019 import java.util.List; 020 021 import org.kuali.kfs.sys.KFSConstants; 022 import org.kuali.kfs.sys.KFSPropertyConstants; 023 import org.kuali.rice.core.util.JSTLConstants; 024 025 /** 026 * General constants for the effort reporting module. 027 */ 028 public class EffortConstants extends JSTLConstants { 029 030 public static final String EFFORT_NAMESPACE_CODE = "KFS-EC"; 031 032 /** 033 * hold contants used by extract process 034 */ 035 public class ExtractProcess { 036 public static final String EXPENSE_OBJECT_TYPE = "EXPENSE_OBJECT_TYPE"; 037 038 // the following constants used as the key of the statistics entries for the working progress report 039 public static final String NUM_BALANCES_READ = "numOfBalancesRead"; 040 public static final String NUM_BALANCES_SELECTED = "numOfBalancesSelected"; 041 public static final String NUM_CERTIFICATIONS_WRITTEN = "numOfCertificationWritten"; 042 public static final String NUM_DETAIL_LINES_WRITTEN = "numOfDetailLineWritten"; 043 public static final String NUM_EMPLOYEES_SELECTED = "numOfEmployees"; 044 045 public static final String NUM_ERRORS_FOUND = "numOfErrors"; 046 } 047 048 /** 049 * hold all system parameter names of effort reporting module 050 */ 051 public class SystemParameters { 052 public static final String ACCOUNT_TYPE_CODE_BALANCE_SELECT = "ACCOUNT_TYPE_CODE_BALANCE_SELECT"; 053 public static final String CREATE_FISCAL_YEAR = "CREATE_FISCAL_YEAR"; 054 public static final String CREATE_REPORT_NUMBER = "CREATE_REPORT_NUMBER"; 055 public static final String FEDERAL_AGENCY_TYPE_CODE = "FEDERAL_AGENCY_TYPE"; 056 057 public static final String FEDERAL_ONLY_BALANCE_IND = "FEDERAL_ONLY_BALANCE_IND"; 058 public static final String RUN_FISCAL_YEAR = "RUN_FISCAL_YEAR"; 059 060 public static final String RUN_IND = "RUN_IND"; 061 public static final String RUN_REPORT_NUMBER = "RUN_REPORT_NUMBER"; 062 063 public static final String FEDERAL_ONLY_ROUTE_IND = "FEDERAL_ONLY_ROUTE_IND"; 064 } 065 066 public static final String DASH_ACCOUNT_NUMBER = "-------"; 067 public static final String DASH_CHART_OF_ACCOUNTS_CODE = "--"; 068 public static final String DASH_POSITION_NUMBER = "--------"; 069 070 public static final String LABOR_OBJECT_SALARY_CODE = "S"; 071 public static final String VALUE_SEPARATOR = ", "; 072 073 public static final List<String> ELIGIBLE_BALANCE_TYPES_FOR_EFFORT_REPORT = getEeligibleBalanceTypesForEffortReport(); 074 075 private static final List<String> getEeligibleBalanceTypesForEffortReport() { 076 List<String> balanceTypeList = new ArrayList<String>(); 077 balanceTypeList.add(KFSConstants.BALANCE_TYPE_ACTUAL); 078 balanceTypeList.add(KFSConstants.BALANCE_TYPE_A21); 079 080 return balanceTypeList; 081 } 082 083 public static final List<String> ELIGIBLE_COST_SHARE_SUB_ACCOUNT_TYPE_CODES = getEligibleCostShareSubAccountTypeCodes(); 084 085 private static final List<String> getEligibleCostShareSubAccountTypeCodes(){ 086 List<String> costShareSubAccountTypeCodesList = new ArrayList<String>(); 087 costShareSubAccountTypeCodesList.add(KFSConstants.SubAccountType.COST_SHARE); 088 return costShareSubAccountTypeCodesList; 089 } 090 091 public static final List<String> ELIGIBLE_EXPENSE_SUB_ACCOUNT_TYPE_CODES = getEligibleExpenseSubAccountTypeCodes(); 092 093 private static final List<String> getEligibleExpenseSubAccountTypeCodes(){ 094 List<String> expenseSubAccountTypeCodesList = new ArrayList<String>(); 095 expenseSubAccountTypeCodesList.add(KFSConstants.SubAccountType.EXPENSE); 096 return expenseSubAccountTypeCodesList; 097 } 098 099 public static final double PERCENT_LIMIT_OF_LINE_SALARY_CHANGE = 0.005; 100 public static final double AMOUNT_LIMIT_OF_TOTAL_SALARY_CHANGE = 0.009; 101 102 public static final String EFFORT_DETAIL_IMPORT_ERRORS = "effortDetailImportError"; 103 public static final String REQUIRED_IMPORT_FIELDS_ERRORS = "requiredImportFieldError"; 104 public static final String DOCUMENT_PREFIX = "document."; 105 106 public static final String EFFORT_CERTIFICATION_TAB_ERRORS = "newDetailLine.*,document.effortCertificationDetailLines*,document.summarizedDetailLines*"; 107 108 public static final String RECREATED_DOCUMENT_MESSAGE_KEY = "message.effort.recreatedDocumentMessage"; 109 110 public static final String GENERATE_EFFORT_CERTIFICATION_REPORT_DEFINITION_QUESTION_ID = "GenerateDefinitionQuestion"; 111 112 public static class EffortCertificationEditMode { 113 public static final String DETAIL_TAB_ENTRY = "detailTabEntry"; 114 public static final String SUMMARY_TAB_ENTRY = "summaryTabEntry"; 115 } 116 117 public static final List<String> DETAIL_LINES_CONSOLIDATION_FILEDS = getDetailLinesConsolidationFields(); 118 private static final List<String> getDetailLinesConsolidationFields() { 119 List<String> consolidationFields = new ArrayList<String>(); 120 consolidationFields.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); 121 consolidationFields.add(KFSPropertyConstants.ACCOUNT_NUMBER); 122 consolidationFields.add(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); 123 124 return consolidationFields; 125 } 126 127 public static final List<String> DETAIL_LINES_GROUPING_FILEDS = getDetailLinesGroupingFields(); 128 private static final List<String> getDetailLinesGroupingFields() { 129 List<String> groupingFields = new ArrayList<String>(); 130 groupingFields.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); 131 groupingFields.add(KFSPropertyConstants.ACCOUNT_NUMBER); 132 groupingFields.add(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); 133 groupingFields.add(EffortPropertyConstants.NEW_LINE_INDICATOR); 134 135 return groupingFields; 136 } 137 138 public static final String SORT_DETAIL_LINE_BY_COLUMN_METHOD_NAME = "sortDetailLineByColumn"; 139 140 public static class EffortDocumentTypes { 141 public static final String EFFORT_CERTIFICATION_DOCUMENT = "ECD"; 142 } 143 }