1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.purap.document.validation.impl;
20
21 import org.kuali.kfs.module.purap.PurapKeyConstants;
22 import org.kuali.kfs.module.purap.PurapPropertyConstants;
23 import org.kuali.kfs.module.purap.businessobject.PurApAccountingLine;
24 import org.kuali.kfs.sys.businessobject.AccountingLine;
25 import org.kuali.kfs.sys.document.validation.GenericValidation;
26 import org.kuali.kfs.sys.document.validation.event.AttributedDocumentEvent;
27 import org.kuali.rice.krad.util.GlobalVariables;
28
29 public class PurchasingUpdateAccountingLineValidation extends GenericValidation {
30
31 private AccountingLine updatedAccountingLine;
32
33 public boolean validate(AttributedDocumentEvent event) {
34
35 if(updatedAccountingLine instanceof PurApAccountingLine) {
36 return verifyAccountingLinePercent((PurApAccountingLine) updatedAccountingLine);
37 }
38 return true;
39 }
40
41
42
43
44
45
46
47 protected boolean verifyAccountingLinePercent(PurApAccountingLine purapAccountingLine) {
48
49 if (purapAccountingLine.getAccountLinePercent().stripTrailingZeros().scale() > 0) {
50 GlobalVariables.getMessageMap().putError(PurapPropertyConstants.ACCOUNTS, PurapKeyConstants.ERROR_PURCHASING_PERCENT_NOT_WHOLE, purapAccountingLine.getAccountLinePercent().toPlainString());
51
52 return false;
53 }
54
55 return true;
56 }
57
58 public AccountingLine getUpdatedAccountingLine() {
59 return updatedAccountingLine;
60 }
61
62 public void setUpdatedAccountingLine(AccountingLine updatedAccountingLine) {
63 this.updatedAccountingLine = updatedAccountingLine;
64 }
65
66 }