1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.ole.module.purap.document.validation.impl;
17
18 import org.kuali.ole.module.purap.PurapKeyConstants;
19 import org.kuali.ole.module.purap.businessobject.InvoiceItem;
20 import org.kuali.ole.module.purap.businessobject.PurApItem;
21 import org.kuali.ole.module.purap.document.InvoiceDocument;
22 import org.kuali.ole.sys.document.validation.GenericValidation;
23 import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent;
24 import org.kuali.rice.core.api.util.type.KualiDecimal;
25 import org.kuali.rice.kns.util.KNSGlobalVariables;
26 import org.kuali.rice.krad.util.ObjectUtils;
27
28 public class InvoiceTradeInWarningValidation extends GenericValidation {
29
30 private PurApItem itemForValidation;
31
32 public boolean validate(AttributedDocumentEvent event) {
33 boolean valid = true;
34
35 if (itemForValidation.getItemType().isLineItemIndicator() && itemForValidation.getItemAssignedToTradeInIndicator()) {
36 InvoiceItem tradeInItem = (InvoiceItem) ((InvoiceDocument) event.getDocument()).getTradeInItem();
37 if (ObjectUtils.isNotNull(tradeInItem)) {
38 if (ObjectUtils.isNull(tradeInItem.getItemUnitPrice()) && tradeInItem.getPoOutstandingAmount().isLessThan(new KualiDecimal(0))) {
39 KNSGlobalVariables.getMessageList().add(PurapKeyConstants.WARNING_ITEM_TRADE_IN_AMOUNT_UNUSED);
40 valid &= false;
41 }
42 }
43 }
44
45 return valid;
46 }
47
48 public PurApItem getItemForValidation() {
49 return itemForValidation;
50 }
51
52 public void setItemForValidation(PurApItem itemForValidation) {
53 this.itemForValidation = itemForValidation;
54 }
55
56 }