1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.ar.document.validation.impl;
20
21 import java.util.Iterator;
22
23 import org.kuali.kfs.module.ar.businessobject.CustomerInvoiceDetail;
24 import org.kuali.kfs.module.ar.document.CustomerInvoiceDocument;
25 import org.kuali.kfs.module.ar.document.service.CustomerInvoiceDetailService;
26 import org.kuali.kfs.sys.context.SpringContext;
27 import org.kuali.rice.kns.rules.PromptBeforeValidationBase;
28 import org.kuali.rice.krad.document.Document;
29
30 public class CustomerInvoiceDocumentPreRules extends PromptBeforeValidationBase {
31
32
33
34
35 @Override
36 public boolean doPrompts(Document document) {
37
38 CustomerInvoiceDocument doc = (CustomerInvoiceDocument)document;
39 CustomerInvoiceDetailService service = SpringContext.getBean(CustomerInvoiceDetailService.class);
40 updateCustomerInvoiceDetails(service, doc);
41
42 return true;
43 }
44
45
46
47
48
49 @SuppressWarnings("unchecked")
50 protected void updateCustomerInvoiceDetails(CustomerInvoiceDetailService service, CustomerInvoiceDocument document){
51 CustomerInvoiceDetail customerInvoiceDetail;
52 for( Iterator i = document.getSourceAccountingLines().iterator(); i.hasNext(); ){
53 customerInvoiceDetail = (CustomerInvoiceDetail)i.next();
54 service.recalculateCustomerInvoiceDetail(document, customerInvoiceDetail);
55 service.updateAccountsForCorrespondingDiscount(customerInvoiceDetail);
56 }
57 }
58 }