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 java.util.List;
22
23 import org.kuali.kfs.module.purap.PurapConstants;
24 import org.kuali.kfs.module.purap.PurapKeyConstants;
25 import org.kuali.kfs.module.purap.businessobject.PurApItem;
26 import org.kuali.kfs.module.purap.document.PurchasingDocument;
27 import org.kuali.kfs.sys.document.validation.GenericValidation;
28 import org.kuali.kfs.sys.document.validation.event.AttributedDocumentEvent;
29 import org.kuali.rice.krad.util.GlobalVariables;
30
31 public class PurchasingReceivingValidation extends GenericValidation {
32
33 public boolean validate(AttributedDocumentEvent event) {
34 boolean valid = true;
35
36 PurchasingDocument purDoc = (PurchasingDocument)event.getDocument();
37
38 if (!purDoc.isReceivingDocumentRequiredIndicator()){
39 return true;
40 }
41
42 GlobalVariables.getMessageMap().clearErrorPath();
43
44
45 List<PurApItem> items = purDoc.getItems();
46
47 boolean containsQtyTypeItem = false;
48 for (PurApItem item : items) {
49 if (item.getItemType().isQuantityBasedGeneralLedgerIndicator()){
50 containsQtyTypeItem = true;
51 break;
52 }
53 }
54
55 if (!containsQtyTypeItem){
56 GlobalVariables.getMessageMap().putError(PurapConstants.ITEM_TAB_ERROR_PROPERTY, PurapKeyConstants.ERROR_RECEIVING_REQUIRED);
57 valid &= false;
58 }
59
60 GlobalVariables.getMessageMap().clearErrorPath();
61
62 return valid;
63 }
64
65 }