1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.ld.document.validation.impl;
20
21 import java.util.Map;
22
23 import org.kuali.kfs.module.ld.LaborKeyConstants;
24 import org.kuali.kfs.module.ld.document.LaborExpenseTransferDocumentBase;
25 import org.kuali.kfs.sys.KFSPropertyConstants;
26 import org.kuali.kfs.sys.document.AccountingDocument;
27 import org.kuali.kfs.sys.document.validation.GenericValidation;
28 import org.kuali.kfs.sys.document.validation.event.AttributedDocumentEvent;
29 import org.kuali.rice.core.api.util.type.KualiDecimal;
30 import org.kuali.rice.krad.document.Document;
31 import org.kuali.rice.krad.util.GlobalVariables;
32
33
34
35
36
37
38
39 public class LaborExpenseTransferValidAmountTransferredByObjectCodeValidation extends GenericValidation {
40 private Document documentForValidation;
41
42
43
44
45
46 public boolean validate(AttributedDocumentEvent event) {
47 boolean result = true;
48
49 Document documentForValidation = getDocumentForValidation();
50
51 LaborExpenseTransferDocumentBase expenseTransferDocument = (LaborExpenseTransferDocumentBase) documentForValidation;
52
53
54 if (!isValidAmountTransferredByObjectCode(expenseTransferDocument)) {
55 GlobalVariables.getMessageMap().putError(KFSPropertyConstants.TARGET_ACCOUNTING_LINES, LaborKeyConstants.ERROR_TRANSFER_AMOUNT_NOT_BALANCED_BY_OBJECT);
56 return false;
57 }
58
59 return result;
60 }
61
62
63
64
65
66
67
68
69 protected boolean isValidAmountTransferredByObjectCode(AccountingDocument accountingDocument) {
70 LaborExpenseTransferDocumentBase expenseTransferDocument = (LaborExpenseTransferDocumentBase) accountingDocument;
71
72 boolean isValid = true;
73
74 Map<String, KualiDecimal> unbalancedObjectCodes = expenseTransferDocument.getUnbalancedObjectCodes();
75 if (!unbalancedObjectCodes.isEmpty()) {
76 isValid = false;
77 }
78
79 return isValid;
80 }
81
82
83
84
85
86 public Document getDocumentForValidation() {
87 return documentForValidation;
88 }
89
90
91
92
93
94 public void setDocumentForValidation(Document documentForValidation) {
95 this.documentForValidation = documentForValidation;
96 }
97 }