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 }