View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.kuali.kfs.module.purap.fixture;
20  
21  import java.math.BigDecimal;
22  
23  import org.kuali.kfs.module.purap.businessobject.ElectronicInvoiceRejectItem;
24  import org.kuali.kfs.module.purap.document.ElectronicInvoiceRejectDocument;
25  
26  public enum ElectronicInvoiceRejectItemFixture {
27  
28      EIRI_BASIC(
29              1, // invoiceItemLineNumber;
30              new BigDecimal(1), // invoiceItemQuantity;
31              "BG", // invoiceItemUnitOfMeasureCode;
32              "1212", // invoiceItemCatalogNumber;
33              
34              "USD", // invoiceItemUnitPriceCurrencyCode;
35              "USD", // invoiceItemSubTotalCurrencyCode;
36              "USD", // invoiceItemSpecialHandlingCurrencyCode;
37              "USD", // invoiceItemShippingCurrencyCode;
38              "Freight", // invoiceItemShippingDescription;
39              "USD", // invoiceItemTaxCurrencyCode;
40              "AZ State Tax", // invoiceItemTaxDescription;
41              "USD", // invoiceItemGrossCurrencyCode;
42              "USD", // invoiceItemDiscountCurrencyCode;
43              "USD", // invoiceItemNetCurrencyCode;
44              
45              new BigDecimal(1.00), // invoiceItemUnitPrice;
46              new BigDecimal(1.00), // invoiceItemSubTotalAmount;
47              new BigDecimal(1.00), // invoiceItemSpecialHandlingAmount;
48              new BigDecimal(1.00), // invoiceItemShippingAmount;
49              new BigDecimal(1.00), // invoiceItemTaxAmount;
50              new BigDecimal(1.00), // invoiceItemGrossAmount;
51              new BigDecimal(1.00), // invoiceItemDiscountAmount;
52              new BigDecimal(1.00), // invoiceItemNetAmount;
53              
54              1, // invoiceReferenceItemLineNumber;
55              null, // invoiceReferenceItemSerialNumber;
56              null, // invoiceReferenceItemSupplierPartIdentifier;
57              null, // invoiceReferenceItemSupplierPartAuxiliaryIdentifier;
58              "Test Description", // invoiceReferenceItemDescription;
59              null, // invoiceReferenceItemManufacturerPartIdentifier;
60              null, // invoiceReferenceItemManufacturerName;
61              null, // invoiceReferenceItemCountryCode;
62              null // invoiceReferenceItemCountryName;
63       ), ;
64  
65      private Integer invoiceItemLineNumber;
66      private BigDecimal invoiceItemQuantity;
67      private String invoiceItemUnitOfMeasureCode;
68      private String invoiceItemCatalogNumber;
69      
70      private String invoiceItemUnitPriceCurrencyCode;
71      private String invoiceItemSubTotalCurrencyCode;
72      private String invoiceItemSpecialHandlingCurrencyCode;
73      private String invoiceItemShippingCurrencyCode;
74      private String invoiceItemShippingDescription;
75      private String invoiceItemTaxCurrencyCode;
76      private String invoiceItemTaxDescription;
77      private String invoiceItemGrossCurrencyCode;
78      private String invoiceItemDiscountCurrencyCode;
79      private String invoiceItemNetCurrencyCode;
80      
81      private BigDecimal invoiceItemUnitPrice;
82      private BigDecimal invoiceItemSubTotalAmount;
83      private BigDecimal invoiceItemSpecialHandlingAmount;
84      private BigDecimal invoiceItemShippingAmount;
85      private BigDecimal invoiceItemTaxAmount;
86      private BigDecimal invoiceItemGrossAmount;
87      private BigDecimal invoiceItemDiscountAmount;
88      private BigDecimal invoiceItemNetAmount;
89      
90      private Integer invoiceReferenceItemLineNumber;
91      private String invoiceReferenceItemSerialNumber;
92      private String invoiceReferenceItemSupplierPartIdentifier;
93      private String invoiceReferenceItemSupplierPartAuxiliaryIdentifier;
94      private String invoiceReferenceItemDescription;
95      private String invoiceReferenceItemManufacturerPartIdentifier;
96      private String invoiceReferenceItemManufacturerName;
97      private String invoiceReferenceItemCountryCode;
98      private String invoiceReferenceItemCountryName;
99  
100     private ElectronicInvoiceRejectItemFixture(Integer invoiceItemLineNumber,
101             BigDecimal invoiceItemQuantity, String invoiceItemUnitOfMeasureCode, String invoiceItemCatalogNumber, String invoiceItemUnitPriceCurrencyCode,
102             String invoiceItemSubTotalCurrencyCode, String invoiceItemSpecialHandlingCurrencyCode, String invoiceItemShippingCurrencyCode,
103             String invoiceItemShippingDescription, String invoiceItemTaxCurrencyCode, String invoiceItemTaxDescription, String invoiceItemGrossCurrencyCode,
104             String invoiceItemDiscountCurrencyCode, String invoiceItemNetCurrencyCode, BigDecimal invoiceItemUnitPrice, BigDecimal invoiceItemSubTotalAmount, BigDecimal invoiceItemSpecialHandlingAmount, BigDecimal invoiceItemShippingAmount,
105             BigDecimal invoiceItemTaxAmount, BigDecimal invoiceItemGrossAmount, BigDecimal invoiceItemDiscountAmount, BigDecimal invoiceItemNetAmount,
106             Integer invoiceReferenceItemLineNumber, String invoiceReferenceItemSerialNumber, String invoiceReferenceItemSupplierPartIdentifier,
107             String invoiceReferenceItemSupplierPartAuxiliaryIdentifier, String invoiceReferenceItemDescription, String invoiceReferenceItemManufacturerPartIdentifier,
108             String invoiceReferenceItemManufacturerName, String invoiceReferenceItemCountryCode, String invoiceReferenceItemCountryName) {
109 
110         this.invoiceItemLineNumber = invoiceItemLineNumber;
111         this.invoiceItemQuantity = invoiceItemQuantity;
112         this.invoiceItemUnitOfMeasureCode = invoiceItemUnitOfMeasureCode;
113         this.invoiceItemCatalogNumber = invoiceItemCatalogNumber;
114         
115         this.invoiceItemUnitPriceCurrencyCode = invoiceItemUnitPriceCurrencyCode;
116         this.invoiceItemSubTotalCurrencyCode = invoiceItemSubTotalCurrencyCode;
117         this.invoiceItemSpecialHandlingCurrencyCode = invoiceItemSpecialHandlingCurrencyCode;
118         this.invoiceItemShippingCurrencyCode = invoiceItemShippingCurrencyCode;
119         this.invoiceItemShippingDescription = invoiceItemShippingDescription;
120         this.invoiceItemTaxCurrencyCode = invoiceItemTaxCurrencyCode;
121         this.invoiceItemTaxDescription = invoiceItemTaxDescription;
122         this.invoiceItemGrossCurrencyCode = invoiceItemGrossCurrencyCode;
123         this.invoiceItemDiscountCurrencyCode = invoiceItemDiscountCurrencyCode;
124         this.invoiceItemNetCurrencyCode = invoiceItemNetCurrencyCode;
125         
126         this.invoiceItemUnitPrice = invoiceItemUnitPrice;
127         this.invoiceItemSubTotalAmount = invoiceItemSubTotalAmount;
128         this.invoiceItemSpecialHandlingAmount = invoiceItemSpecialHandlingAmount;
129         this.invoiceItemShippingAmount = invoiceItemShippingAmount;
130         this.invoiceItemTaxAmount = invoiceItemTaxAmount;
131         this.invoiceItemGrossAmount = invoiceItemGrossAmount;
132         this.invoiceItemDiscountAmount = invoiceItemDiscountAmount;
133         this.invoiceItemNetAmount = invoiceItemNetAmount;
134         
135         this.invoiceReferenceItemLineNumber = invoiceReferenceItemLineNumber;
136         this.invoiceReferenceItemSerialNumber = invoiceReferenceItemSerialNumber;
137         this.invoiceReferenceItemSupplierPartIdentifier = invoiceReferenceItemSupplierPartIdentifier;
138         this.invoiceReferenceItemSupplierPartAuxiliaryIdentifier = invoiceReferenceItemSupplierPartAuxiliaryIdentifier;
139         this.invoiceReferenceItemDescription = invoiceReferenceItemDescription;
140         this.invoiceReferenceItemManufacturerPartIdentifier = invoiceReferenceItemManufacturerPartIdentifier;
141         this.invoiceReferenceItemManufacturerName = invoiceReferenceItemManufacturerName;
142         this.invoiceReferenceItemCountryCode = invoiceReferenceItemCountryCode;
143         this.invoiceReferenceItemCountryName = invoiceReferenceItemCountryName;
144     }
145 
146     /**
147      * Creates a Reject Reason from this fixture and adds the item to the specified Document.
148      * 
149      * @param receivingLineDocument the specified Receiving Line Document.
150      */
151     public void addTo(ElectronicInvoiceRejectDocument rejectDocument) {
152         ElectronicInvoiceRejectItem rejectItem = null;
153         rejectItem = this.createElectronicInvoiceRejectItem();
154         rejectItem.setElectronicInvoiceRejectDocument(rejectDocument);
155         rejectItem.setPurapDocumentIdentifier(rejectDocument.getPurapDocumentIdentifier());
156         rejectDocument.addRejectItem(rejectItem);
157     }
158 
159     public ElectronicInvoiceRejectItem createElectronicInvoiceRejectItem() {
160         ElectronicInvoiceRejectItem rejectItem = new ElectronicInvoiceRejectItem();
161 
162         rejectItem.setInvoiceItemLineNumber(invoiceItemLineNumber);
163         rejectItem.setInvoiceItemQuantity(invoiceItemQuantity);
164         rejectItem.setInvoiceItemUnitOfMeasureCode(invoiceItemUnitOfMeasureCode);
165         rejectItem.setInvoiceItemCatalogNumber(invoiceItemCatalogNumber);
166         
167         rejectItem.setInvoiceItemUnitPriceCurrencyCode(invoiceItemUnitPriceCurrencyCode);
168         rejectItem.setInvoiceItemSubTotalCurrencyCode(invoiceItemSubTotalCurrencyCode);
169         rejectItem.setInvoiceItemSpecialHandlingCurrencyCode(invoiceItemSpecialHandlingCurrencyCode);
170         rejectItem.setInvoiceItemShippingCurrencyCode(invoiceItemShippingCurrencyCode);
171         rejectItem.setInvoiceItemShippingDescription(invoiceItemShippingDescription);
172         rejectItem.setInvoiceItemTaxCurrencyCode(invoiceItemTaxCurrencyCode);
173         rejectItem.setInvoiceItemTaxDescription(invoiceItemTaxDescription);
174         rejectItem.setInvoiceItemGrossCurrencyCode(invoiceItemGrossCurrencyCode);
175         rejectItem.setInvoiceItemDiscountCurrencyCode(invoiceItemDiscountCurrencyCode);
176         rejectItem.setInvoiceItemNetCurrencyCode(invoiceItemNetCurrencyCode);
177         
178         rejectItem.setInvoiceItemUnitPrice(invoiceItemUnitPrice);
179         rejectItem.setInvoiceItemSubTotalAmount(invoiceItemSubTotalAmount);
180         rejectItem.setInvoiceItemSpecialHandlingAmount(invoiceItemSpecialHandlingAmount);
181         rejectItem.setInvoiceItemShippingAmount(invoiceItemShippingAmount);
182         rejectItem.setInvoiceItemTaxAmount(invoiceItemTaxAmount);
183         rejectItem.setInvoiceItemGrossAmount(invoiceItemGrossAmount);
184         rejectItem.setInvoiceItemDiscountAmount(invoiceItemDiscountAmount);
185         rejectItem.setInvoiceItemNetAmount(invoiceItemNetAmount);
186         
187         rejectItem.setInvoiceReferenceItemLineNumber(invoiceReferenceItemLineNumber);
188         rejectItem.setInvoiceReferenceItemSerialNumber(invoiceReferenceItemSerialNumber);
189         rejectItem.setInvoiceReferenceItemSupplierPartIdentifier(invoiceReferenceItemSupplierPartIdentifier);
190         rejectItem.setInvoiceReferenceItemSupplierPartAuxiliaryIdentifier(invoiceReferenceItemSupplierPartAuxiliaryIdentifier);
191         rejectItem.setInvoiceReferenceItemDescription(invoiceReferenceItemDescription);
192         rejectItem.setInvoiceReferenceItemManufacturerPartIdentifier(invoiceReferenceItemManufacturerPartIdentifier);
193         rejectItem.setInvoiceReferenceItemManufacturerName(invoiceReferenceItemManufacturerName);
194         rejectItem.setInvoiceReferenceItemCountryCode(invoiceReferenceItemCountryCode);
195         rejectItem.setInvoiceReferenceItemCountryName(invoiceReferenceItemCountryName);
196 
197         return rejectItem;
198     }
199 
200 }