1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.bc;
20
21 import java.math.BigDecimal;
22 import java.util.ArrayList;
23 import java.util.Arrays;
24 import java.util.HashMap;
25 import java.util.List;
26
27 import org.kuali.kfs.module.bc.document.web.struts.BudgetConstructionRequestImportAction;
28 import org.kuali.kfs.module.bc.document.web.struts.OrganizationSelectionTreeAction;
29 import org.kuali.kfs.sys.KFSConstants;
30 import org.kuali.kfs.sys.KFSPropertyConstants;
31 import org.kuali.kfs.sys.KFSConstants.ParameterValues;
32
33 public class BCConstants {
34 public static final String BUDGET_CONSTRUCTION_NAMESPACE = "KFS-BC";
35
36
37 public final static Integer MAXIMUM_ORGANIZATION_TREE_DEPTH = new Integer(1000);
38
39
40 public static final String FORMKEY_PREFIX = "BcDoc";
41 public static final String BC_IN_PROGRESS_SESSIONFLAG = FORMKEY_PREFIX + "BCInProgress";
42 public static final String BC_HEARTBEAT_SESSIONFLAG = FORMKEY_PREFIX + "BCHeartBeat";
43 public static final String BC_DOC_AUTHORIZATION_STATUS_SESSIONKEY = FORMKEY_PREFIX + "EditStatus";
44
45
46 public static final String MAPPING_ATTRIBUTE_KUALI_FORM = "KualiForm";
47 public static final String MAPPING_SCOPE_SESSION = "session";
48
49 public static final String MAPPING_SAVE = "save";
50
51
52 public static final String BUDGET_CONSTRUCTION_SALARY_SETTING_TAB_ERRORS = "document.budgetConstructionSalarySetting*";
53 public static final String BUDGET_CONSTRUCTION_REVENUE_TAB_ERRORS = "document.pendingBudgetConstructionGeneralLedgerRevenueLines*,newRevenueLine*";
54 public static final String BUDGET_CONSTRUCTION_EXPENDITURE_TAB_ERRORS = "document.pendingBudgetConstructionGeneralLedgerExpenditureLines*,newExpenditureLine*";
55 public static final String BUDGET_CONSTRUCTION_MONTHLY_BUDGET_ERRORS = "budgetConstructionMonthly*";
56 public static final String BUDGET_CONSTRUCTION_REPORTDUMP_TAB_ERRORS = "document.budgetConstructionDocumentReportModes*";
57 public static final String BUDGET_CONSTRUCTION_SYSTEM_INFORMATION_TAB_ERRORS = "accountOrgHierLevels*";
58 public static final String BUDGET_CONSTRUCTION_SELECTION_ERRORS = "budgetConstructionHeader*";
59
60 public static final String NEW_EXPENDITURE_LINE_PROPERTY_NAME = "newExpenditureLine";
61 public static final String NEW_REVENUE_LINE_PROPERTY_NAME = "newRevenueLine";
62
63 public static final String DISABLE_SALARY_SETTING_FLAG = "DISABLE_SALARY_SETTING_FLAG";
64 public static final String DISABLE_BENEFITS_CALCULATION_FLAG = "DISABLE_BENEFITS_CALCULATION_FLAG";
65
66 public static final String BC_SELECTION_ACTION = "budgetBudgetConstructionSelection.do";
67 public static final String BC_SELECTION_REFRESH_METHOD = "refresh";
68
69 public static final String ORG_SEL_TREE_REFRESH_CALLER = OrganizationSelectionTreeAction.class.getName();
70 public static final String ORG_SEL_TREE_ACTION = "budgetOrganizationSelectionTree.do";
71 public static final String ORG_SEL_TREE_METHOD = "loadExpansionScreen";
72 public static final String ORG_TEMP_LIST_LOOKUP = "budgetTempListLookup.do";
73 public static final String ORG_REPORT_SELECTION_ACTION = "budgetOrganizationReportSelection.do";
74 public static final String REPORT_EXPORT_ACTION = "budgetReportExport.do";
75 public static final String REPORT_EXPORT_PATH = "budgetReportExport";
76 public static final String REQUEST_IMPORT_ACTION = "budgetBudgetConstructionRequestImport.do";
77 public static final String PAYRATE_IMPORT_EXPORT_ACTION = "budgetPayrateImportExport.do";
78
79 public static final String REQUEST_IMPORT_REFRESH_CALLER = BudgetConstructionRequestImportAction.class.getName();
80 public static final String REQUEST_IMPORT_FILE_PROCESSING_ERROR_MESSAGE_GENERIC = "Bad file format at line";
81
82 public static final String REQUEST_IMPORT_OUTPUT_FILE = "budgetImportLog.pdf";
83 public static final String PAYRATE_IMPORT_LOG_FILE = "payrate_import_log.pdf";
84 public static final String PAYRATE_EXPORT_FILE = "payrate_export.txt";
85
86 public static final String LABOR_OBJECT_FRINGE_CODE = "F";
87 public static final String MAPPING_IMPORT_EXPORT = "import_export";
88
89 public static final String POSITION_NUMBER_NOT_FOUND = "NotFnd";
90
91 public static final String IS_ORG_REPORT_REQUEST_PARAMETER = "orgReport";
92
93 public enum OrgSelOpMode {
94 PULLUP, PUSHDOWN, REPORTS, SALSET, ACCOUNT
95 }
96
97
98
99
100
101 public enum OrgSelControlOption {
102 NO(0, "No"), YES(1, "Yes"), NOTSEL(0, "Not Sel"), ORG(1, "Org"), SUBORG(2, "Sub Org"), BOTH(3, "Both"), ORGLEV(1, "Org Lev"), MGRLEV(2, "Mgr Lev"), ORGMGRLEV(3, "Org+Mgr Lev"), LEVONE(4, "Lev One"), LEVZERO(5, "Lev Zero");
103 private String label;
104 private Integer key;
105
106 private OrgSelControlOption(Integer key, String label) {
107 this.key = key;
108 this.label = label;
109 }
110
111 public String getLabel() {
112 return label;
113 }
114
115 public Integer getKey() {
116 return key;
117 }
118 }
119
120
121 public enum MonthSpreadDeleteType {
122 NONE, REVENUE, EXPENDITURE
123 }
124
125
126 public enum AccountSalarySettingOnlyCause {
127 MISSING_PARAM, NONE, FUND, SUBFUND, FUND_AND_SUBFUND
128 }
129
130
131
132
133
134 public static final String NO_BUDGET_ALLOWED_EXPIRE_ACCOUNTING_PERIOD = "06";
135 public static final Integer NO_BUDGET_ALLOWED_FY_OFFSET = Integer.valueOf(2);
136
137
138 public static final String ACCOUNT_EXPIRE_WARNING_ACCOUNTING_PERIOD = "12";
139 public static final Integer ACCOUNT_EXPIRE_WARNING_FY_OFFSET = Integer.valueOf(1);
140
141
142 public static final String BUDGET_RECORDING_LEVEL_N = "N";
143
144
145 public static final Integer DEFAULT_NORMAL_WORK_MONTHS = 12;
146
147 public static final String BC_DOCUMENT_REFRESH_CALLER = "BudgetConstruction";
148 public static final String BC_DOCUMENT_ACTION = "budgetBudgetConstruction.do";
149 public static final String BC_DOCUMENT_REFRESH_METHOD = "refresh";
150 public static final String BC_DOCUMENT_METHOD = "docHandler";
151 public static final String BC_DOCUMENT_PULLUP_METHOD = "performAccountPullup";
152 public static final String BC_DOCUMENT_PUSHDOWN_METHOD = "performAccountPushdown";
153
154 public static final String MONTHLY_BUDGET_REFRESH_CALLER = "MonthlyBudgetAction";
155 public static final String MONTHLY_BUDGET_ACTION = "budgetMonthlyBudget.do";
156 public static final String MONTHLY_BUDGET_METHOD = "loadExpansionScreen";
157
158 public static final String QUICK_SALARY_SETTING_REFRESH_CALLER = "QuickSalarySettingAction";
159 public static final String QUICK_SALARY_SETTING_ACTION = "budgetQuickSalarySetting.do";
160 public static final String QUICK_SALARY_SETTING_METHOD = "loadExpansionScreen";
161
162 public static final String POSITION_SALARY_SETTING_REFRESH_CALLER = "PositionSalarySetting";
163 public static final String POSITION_SALARY_SETTING_ACTION = "budgetPositionSalarySetting.do";
164 public static final String POSITION_SALARY_SETTING_METHOD = "loadExpansionScreen";
165 public static final String POSITION_SALARY_SETTING_TITLE = "Salary Setting by Position";
166
167 public static final String INCUMBENT_SALARY_SETTING_REFRESH_CALLER = "IncumbentSalarySetting";
168 public static final String INCUMBENT_SALARY_SETTING_ACTION = "budgetIncumbentSalarySetting.do";
169 public static final String INCUMBENT_SALARY_SETTING_METHOD = "loadExpansionScreen";
170 public static final String INCUMBENT_SALARY_SETTING_TITLE = "Salary Setting by Incumbent";
171
172 public static final String LOAD_EXPANSION_SCREEN_METHOD = "loadExpansionScreen";
173 public static final String SECOND_WINDOW_TARGET_NAME = "BCSecondWindow";
174
175 public static final String REPORT_RUNNER_ACTION = "budgetReportRunner.do";
176
177 public static final String RETURN_ANCHOR = "returnAnchor";
178 public static final String RETURN_FORM_KEY = "returnFormKey";
179
180 public static final String INSERT_REVENUE_LINE_METHOD = "insertRevenueLine";
181 public static final String INSERT_EXPENDITURE_LINE_METHOD = "insertExpenditureLine";
182
183 public final static String SELECTION_SUB_TREE_ORGS = "selectionSubTreeOrgs";
184 public final static String SHOW_INITIAL_RESULTS = "showInitialResults";
185 public final static String CURRENT_POINT_OF_VIEW_KEYCODE = "currentPointOfViewKeyCode";
186 public final static String FORCE_TO_ACCOUNT_LIST_SCREEN = "forceToAccountListScreen";
187
188 public final static String LOCK_STRING_DELIMITER = "!";
189
190
191
192
193
194
195 public final static List<String> NO_BC_GL_LOAD_SUBFUND_GROUPS = Arrays.asList("SIDC");
196 public final static List<String> NO_BC_GL_LOAD_FUND_GROUPS = Arrays.asList("CG");
197
198
199
200
201 public enum csfFundingStatusFlag {
202 LEAVE("L"), VACANT("V"), UNFUNDED("U"), ACTIVE("-");
203
204 private csfFundingStatusFlag(String flagValue) {
205 this.flagValue = flagValue;
206 }
207
208 public String getFlagValue() {
209 return flagValue;
210 }
211
212 private String flagValue;
213 }
214
215
216
217
218 public final static String VACANT_EMPLID = "VACANT";
219
220
221 public final static String BC_TRN_LDGR_ENTR_DESC = "Beginning Budget Load";
222
223
224 public final static ArrayList<String[]> BC_MONTHLY_AMOUNTS = buildMonthlyProperties();
225
226 private static ArrayList<String[]> buildMonthlyProperties() {
227 ArrayList<String[]> monthlyProperties = new ArrayList<String[]>(12);
228 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_1_LINE_AMOUNT, KFSConstants.MONTH1 }));
229 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_2_LINE_AMOUNT, KFSConstants.MONTH2 }));
230 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_3_LINE_AMOUNT, KFSConstants.MONTH3 }));
231 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_4_LINE_AMOUNT, KFSConstants.MONTH4 }));
232 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_5_LINE_AMOUNT, KFSConstants.MONTH5 }));
233 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_6_LINE_AMOUNT, KFSConstants.MONTH6 }));
234 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_7_LINE_AMOUNT, KFSConstants.MONTH7 }));
235 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_8_LINE_AMOUNT, KFSConstants.MONTH8 }));
236 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_9_LINE_AMOUNT, KFSConstants.MONTH9 }));
237 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_10_LINE_AMOUNT, KFSConstants.MONTH10 }));
238 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_11_LINE_AMOUNT, KFSConstants.MONTH11 }));
239 monthlyProperties.add((new String[] { KFSPropertyConstants.FINANCIAL_DOCUMENT_MONTH_12_LINE_AMOUNT, KFSConstants.MONTH12 }));
240 return monthlyProperties;
241 }
242
243
244 public static class Report {
245 public final static String INCOME_EXP_TYPE_A = "A";
246 public final static String INCOME_EXP_TYPE_E = "E";
247 public final static String INCOME_EXP_TYPE_T = "T";
248 public final static String INCOME_EXP_TYPE_X = "X";
249 public final static String VACANT = VACANT_EMPLID;
250 public final static String BLANK = KFSConstants.EMPTY_STRING;
251 public final static String DELETE_MARK = "*";
252 public final static String DIVIDER = "/";
253 public final static String TOTAL_REVENUES = "Total Revenues";
254 public final static String TOTAL_EXPENDITURES_MARGIN = "Total Expenditures & Margin";
255 public final static String REVENUE = "REVENUE";
256 public final static String EXPENDITURE = "EXPENDITURE";
257 public final static String CONSOLIIDATED = "Consolidated";
258 public final static String NONE = "NONE";
259 public final static String PLUS = "+";
260 public final static String UNDF = "UnDf";
261 public final static String YES = "Y";
262 public final static String NO = "N";
263 public final static String THRESHOLD = "Threshold: ";
264 public final static String SELECTED_REASONS = "Selected Reasons: ";
265 public final static String THRESHOLD_GREATER = "greater then or equal to ";
266 public final static String THRESHOLD_LESS = "less than or equal to ";
267 public final static String PERCENT = "%";
268 public final static String MSG_REPORT_NO_DATA = "No data found.";
269
270 public final static String NONE_SELECTION_TITLE = "";
271 public final static String SUB_FUND_SELECTION_TITLE = "Sub-Fund List Selection";
272 public final static String OBJECT_CODE_SELECTION_TITLE = "Salary Object List Selection";
273 public final static String REASON_CODE_SELECTION_TITLE = "Reason Code Selection";
274 public final static String REPORT_MODE = "reportMode";
275 public final static String BUILD_CONTROL_LIST = "buildControlList";
276 public final static String REPORT_CONSOLIDATION = "reportConsolidation";
277 public final static String CONTROL_BUILD_HELPER_SESSION_NAME = "controlBuildHelper";
278 public final static String SUB_FUND_LIST_EMPTY_MESSAGE_KEY = "error.budget.report.emptySubFundList";
279 public final static String OBJECT_CODE_LIST_EMPTY_MESSAGE_KEY = "error.budget.report.emptyObjectCodeList";
280 public final static String REASON_CODE_LIST_EMPTY_MESSAGE_KEY = "error.budget.report.emptyReasonCodeList";
281 public final static String THRESHOLD_SELECTION_MESSAGE_KEY = "message.budget.thresholdSelection";
282 public final static String SELECTED_OBJECT_CODES_MESSAGE_KEY = "message.budget.selectedObjectCodes";
283 public final static String NOT_DEFINED = " not defined";
284 public final static String CHART = "Chart";
285 public final static String OBJECT = "Object";
286
287
288 public static final String REPORT_TEMPLATE_CLASSPATH = "org/kuali/kfs/module/bc/report/";
289 public static final String REPORT_MESSAGES_CLASSPATH = REPORT_TEMPLATE_CLASSPATH + "BudgetOrgReport";
290
291
292 public enum BuildMode {
293 PBGL(), MONTH(), BCAF();
294 }
295
296
297 public enum ReportSelectMode {
298 ACCOUNT(), OBJECT_CODE(), SUBFUND(), REASON();
299 }
300 }
301
302
303 public static class TempListLookupMode {
304 public final static String TEMP_LIST_LOOKUP_MODE = "tempListLookupMode";
305
306 public final static int DEFAULT_LOOKUP_MODE = 0;
307 public final static int INTENDED_INCUMBENT_SELECT = 1;
308 public final static int POSITION_SELECT = 2;
309 public final static int ACCOUNT_SELECT_ABOVE_POV = 3;
310 public final static int ACCOUNT_SELECT_BUDGETED_DOCUMENTS = 4;
311 public final static int LOCK_MONITOR = 5;
312 public final static int CSF_TRACKER_POSITION_LOOKUP = 6;
313 public final static int ACCOUNT_SELECT_PULLUP_DOCUMENTS = 7;
314 public final static int ACCOUNT_SELECT_PUSHDOWN_DOCUMENTS = 8;
315 public final static int ACCOUNT_SELECT_MANAGER_DELEGATE = 9;
316 public final static int BUDGET_POSITION_LOOKUP = 10;
317 public final static int INTENDED_INCUMBENT = 11;
318 public final static int SHOW_BENEFITS = 12;
319 }
320
321 public final static String BC_BO_CLASSPATH = "org.kuali.kfs.module.bc.businessobject";
322 public final static String REQUEST_BENEFITS_BO = BC_BO_CLASSPATH+".RequestBenefits";
323
324 public enum RequestImportFileType {
325 MONTHLY("MONTHLY"), ANNUAL("ANNUAL");
326
327 private String fileType;
328
329 private RequestImportFileType(String fileType) {
330 this.fileType = fileType;
331 }
332 }
333
334 public enum RequestImportFieldSeparator {
335 COMMA("COMMA"), TAB("TAB"), OTHER("OTHER");
336
337 private String separator;
338
339 private RequestImportFieldSeparator(String separator) {
340 this.separator = separator;
341 }
342
343 public String getSeparator() {
344 if (this.equals(COMMA)) {
345 return ",";
346 }
347 if (this.equals(TAB)) {
348 return "\t";
349 }
350
351 return this.toString();
352 }
353
354 }
355
356 public enum RequestImportTextFieldDelimiter {
357 QUOTE("QUOTE"), NOTHING("NOTHING"), OTHER("OTHER");
358
359 private String separator;
360
361 private RequestImportTextFieldDelimiter(String separator) {
362 this.separator = separator;
363 }
364
365 public String getDelimiter() {
366 if (this.equals(QUOTE)) {
367 return "\"";
368 }
369 if (this.equals(NOTHING)) {
370 return "";
371 }
372
373 return this.toString();
374 }
375 }
376
377
378 public enum RequestImportErrorCode {
379 DATA_VALIDATION_NO_BUDGETED_ACCOUNT_SUB_ACCOUNT_ERROR_CODE("ACSA", "Error: No budgeted account/sub-account found"), DATA_VALIDATION_ACCOUNT_CLOSED_ERROR_CODE("CLAC", "Error: Account is closed"), DATA_VALIDATION_ACCOUNT_EXPIRED_ERROR_CODE("EXAC", "Error: Account is expired"), DATA_VALIDATION_SUB_ACCOUNT_INVALID_ERROR_CODE("NOSA", "Error: Sub-account is invalid"), DATA_VALIDATION_SUB_ACCOUNT_INACTIVE_ERROR_CODE("INSA", "Error: Sub-account is inactive"), DATA_VALIDATION_OBJECT_TYPE_NULL_ERROR_CODE("NOOB", "Error: Null object code"), DATA_VALIDATION_OBJECT_TYPE_INVALID_ERROR_CODE("NOOB", "Error: Invalid object code"), DATA_VALIDATION_OBJECT_CODE_INACTIVE_ERROR_CODE("INOB", "Error: Inactive object code"), DATA_VALIDATION_SUB_OBJECT_INACTIVE_ERROR_CODE("INSO", "Error: Inactive sub-object code"), DATA_VALIDATION_SUB_OBJECT_INVALID_ERROR_CODE("NOSO", "Error: Invalid sub-object code"), DATA_VALIDATION_NO_WAGE_ACCOUNT_ERROR_CODE("CMPA", "Error: Wage object in no wages account"), DATA_VALIDATION_COMPENSATION_OBJECT_CODE_ERROR_CODE("COMP", "Error: Compensation object code"), UPDATE_ERROR_CODE_MONTHLY_BUDGET_DELETED(
380 "MNTH", "Warning: Monthly budget deleted"), UPDATE_ERROR_CODE_BUDGET_ACCOUNT_LOCKED("LOCK", "Error: Budgeted account locked"), UPDATE_ERROR_CODE_NO_ACCESS_TO_BUDGET_ACCOUNT("ACCE", "Error: No update access to budgeted account");
381
382 private String errorCode;
383 private String message;
384
385 private RequestImportErrorCode(String errorCode, String message) {
386 this.errorCode = errorCode;
387 this.message = message;
388 }
389
390 public String getErrorCode() {
391 return this.errorCode;
392 }
393
394 public String getMessage() {
395 return this.message;
396 }
397 }
398
399 public enum SalaryAdjustmentMeasurement {
400 PERCENT("Percent", "%"), AMOUNT("FlatAmount", "flat");
401
402 public String measurement;
403 public String label;
404
405 private SalaryAdjustmentMeasurement(String measurement, String label) {
406 this.measurement = measurement;
407 this.label = label;
408 }
409 }
410
411 public final static String POSITION_CODE_INACTIVE = "I";
412 public final static String DOCUMENT_TYPE_CODE_ALL = "ALL";
413
414 public static class LockTypes {
415 public final static String ACCOUNT_LOCK = "account lock";
416 public final static String FUNDING_LOCK = "orphan funding lock";
417 public final static String POSITION_FUNDING_LOCK = "position/funding lock";
418 public final static String POSITION_LOCK = "position lock";
419 public final static String TRANSACTION_LOCK = "transaction lock";
420 }
421
422 public static final String PICK_LIST_MODE = "pickListMode";
423
424 public static final BigDecimal ONE_HUNDRED = BigDecimal.valueOf(100);
425
426
427 public static final String TEMP_LIST_UNLOCK_METHOD = "unlock";
428 public static final String UNLOCK_BUTTON_NAME = "tinybutton-unlock.gif";
429 public static final String UNLOCK_CONFIRMATION_QUESTION = "UnlockConfirmationQuestion";
430
431 public static final String SHOW_SALARY_BY_POSITION_ACTION = "showSalaryByPositionAction";
432 public static final String REFRESH_POSITION_BEFORE_SALARY_SETTING = "refreshPositionBeforeSalarySetting";
433 public static final String TEMP_LIST_REFRESH_POSITION_METHOD = "refreshPosition";
434 public static final String REFRESH_POSITION_BUTTON_NAME = "tinybutton-sync.gif";
435
436 public static final String SHOW_SALARY_BY_INCUMBENT_ACTION = "showSalaryByIncumbentAction";
437 public static final String REFRESH_INCUMBENT_BEFORE_SALARY_SETTING = "refreshIncumbentBeforeSalarySetting";
438 public static final String TEMP_LIST_REFRESH_INCUMBENT_METHOD = "refreshIncumbent";
439 public static final String REFRESH_INCUMBENT_BUTTON_NAME = "tinybutton-sync.gif";
440 public static final String MAPPING_ORGANIZATION_SALARY_SETTING_RETURNING = "organizationSalarySettingReturning";
441 public static final String MAPPING_LOST_SESSION_RETURNING = "lostSessionReturning";
442
443
444
445 public enum LockStatus {
446 SUCCESS, BY_OTHER, NO_DOOR, OPTIMISTIC_EX, FLOCK_FOUND
447 }
448
449 public static final int maxLockRetry = 20;
450
451
452
453 private static int NUMBER_OF_CTRL_FLAGS = 8;
454
455
456 private static HashMap<String, String> buildCurrentYear() {
457 HashMap<String, String> mapSLF;
458 mapSLF = new HashMap<String, String>(NUMBER_OF_CTRL_FLAGS, (float) 1.00);
459 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_ADMINSTRATION_ACTIVE, ParameterValues.YES);
460 mapSLF.put(KFSConstants.BudgetConstructionConstants.BASE_BUDGET_UPDATES_OK, ParameterValues.YES);
461 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_BATCH_SYNCHRONIZATION_OK, ParameterValues.NO);
462 mapSLF.put(KFSConstants.BudgetConstructionConstants.CSF_UPDATES_OK, ParameterValues.NO);
463 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_ACTIVE, ParameterValues.NO);
464 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_GENESIS_RUNNING, ParameterValues.NO);
465 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_UPDATES_OK, ParameterValues.NO);
466 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_ON_LINE_SYNCHRONIZATION_OK, ParameterValues.NO);
467 return mapSLF;
468 }
469
470 public final static HashMap<String, String> CURRENT_FSCL_YR_CTRL_FLAGS = buildCurrentYear();
471
472
473 private static HashMap<String, String> buildNextYear() {
474 HashMap<String, String> mapSLF;
475 mapSLF = new HashMap<String, String>(NUMBER_OF_CTRL_FLAGS, (float) 1.00);
476 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_ADMINSTRATION_ACTIVE, ParameterValues.NO);
477 mapSLF.put(KFSConstants.BudgetConstructionConstants.BASE_BUDGET_UPDATES_OK, ParameterValues.NO);
478 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_BATCH_SYNCHRONIZATION_OK, ParameterValues.YES);
479 mapSLF.put(KFSConstants.BudgetConstructionConstants.CSF_UPDATES_OK, ParameterValues.YES);
480 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_ACTIVE, ParameterValues.YES);
481 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_GENESIS_RUNNING, ParameterValues.NO);
482 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_CONSTRUCTION_UPDATES_OK, ParameterValues.NO);
483 mapSLF.put(KFSConstants.BudgetConstructionConstants.BUDGET_ON_LINE_SYNCHRONIZATION_OK, ParameterValues.YES);
484 return mapSLF;
485 }
486
487 public final static HashMap<String, String> NEXT_FSCL_YR_CTRL_FLAGS_AFTER_GENESIS = buildNextYear();
488
489
490 public final static String DEFAULT_BUDGET_HEADER_LOCK_IDS = null;
491 public final static Integer INITIAL_ORGANIZATION_LEVEL_CODE = new Integer(0);
492 public final static String INITIAL_ORGANIZATION_LEVEL_CHART_OF_ACCOUNTS_CODE = null;
493 public final static String INITIAL_ORGANIZATION_LEVEL_ORGANIZATION_CODE = null;
494
495
496 public final static String BUDGET_CONSTRUCTION_DOCUMENT_TYPE = "BC";
497 public final static String BUDGET_CONSTRUCTION_BEGINNING_BALANCE_DOCUMENT_TYPE = "BCBB";
498 public final static String BUDGET_CONSTRUCTION_DOCUMENT_NAME = "BC";
499 public final static String BUDGET_CONSTRUCTION_DOCUMENT_DESCRIPTION = "Budget Construction";
500 public final static String BUDGET_CONSTRUCTION_DOCUMENT_INITIAL_STATUS = "$";
501 public final static String ORG_REVIEW_RULE_TEMPLATE = "KualiOrgReviewTemplate";
502
503
504
505
506
507 public final static Integer AVERAGE_REPORTING_TREE_SIZE = 4;
508
509
510
511
512 public final static String ACTIVE_CSF_DELETE_CODE = "-";
513
514
515
516
517
518
519 public enum AppointmentFundingDurationCodes {
520 NONE("NONE", "No Leave"), LWP1("LWP1", "LWOP: First Semester"), LWP2("LWP2", "LWOP: Second Semester"), LWPA("LWPA", "LWOP: 10 months"), LWPF("LWPF", "LWOP: 12 months"), LWPH("LWPH", "LWOP: 6 months"), LWPX("LWPX", "LWOP: ACROSS FISCAL YEARS"), SAB1("SAB1", "Sabbatical Leave: First Semester"), SAB2("SAB2", "Sabbatical Leave: Second Semester"), SABA("SABA", "Sabbatical Leave: Academic Year"), SABF("SABF", "Sabbatical Leave: 12 months"), SABH("SABH", "Sabbatical Leave: 6 months"), SABX("SABX", "Sabbatical Leave: ACROSS FISCAL YEARS");
521
522 public String durationCode;
523 public String durationDescription;
524
525 private AppointmentFundingDurationCodes(String durationCode, String durationDescription) {
526 this.durationCode = durationCode;
527 this.durationDescription = durationDescription;
528 }
529
530
531
532
533
534 public String getDurationCode() {
535 return durationCode;
536 }
537
538
539
540
541
542 public String getDurationDescription() {
543 return durationDescription;
544 }
545 }
546
547 public class EditModes {
548 public static final String SYSTEM_VIEW_ONLY = "systemViewOnly";
549 }
550
551 public class KimApiConstants {
552 public static final String BC_PROCESSOR_ROLE_NAME = "Processor";
553 public static final String USE_ORG_SALARY_SETTING_PERMISSION_NAME = "Use Organization Salary Setting";
554 public static final String EDIT_BCAF_PERMISSION_NAME = "Edit Appointment Funding";
555 public static final String VIEW_BCAF_AMOUNTS_PERMISSION_NAME = "View Appointment Funding Amounts";
556 public static final String IMPORT_EXPORT_PAYRATE_PERMISSION_NAME = "Import / Export Payrate";
557 public static final String UNLOCK_PERMISSION_NAME = "Unlock";
558 public static final String DOCUMENT_VIEWER_ROLE_NAME = "Document Viewer";
559 public static final String DOCUMENT_EDITOR_ROLE_NAME = "Document Editor";
560 }
561
562
563
564
565 public enum SynchronizationCheckType {
566 NONE("NONE", "No Sync Check"), POSN("POSN", "Snyc by Position"), EID("EID", "Snyc by Employee"), ALL("ALL", "Snyc by Position and Employee");
567
568 public String typeCode;
569 public String typeDescription;
570
571 private SynchronizationCheckType(String typeCode, String typeDescription) {
572 this.typeCode = typeCode;
573 this.typeDescription = typeDescription;
574 }
575 }
576
577 public class ErrorKey {
578 public static final String DETAIL_SALARY_SETTING_TAB_ERRORS = "newBCAFLine*,budgetConstructionIntendedIncumbent.pendingBudgetConstructionAppointmentFunding*,budgetConstructionPosition.pendingBudgetConstructionAppointmentFunding*";
579 public static final String QUICK_SALARY_SETTING_TAB_ERRORS = "salarySettingExpansion*,salarySettingExpansion.pendingBudgetConstructionAppointmentFunding*,adjustment*,newBCAFLine*";
580 public static final String RETURNED_DETAIL_SALARY_SETTING_TAB_ERRORS = "newBCAFLine*";
581 public static final String ORGANIZATION_REPORTS_SELECTION_ERRORS = "budgetConstructionReportThresholdSettings*";
582 }
583 }