/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.purap.document; import java.sql.Date; import java.util.List; import org.kuali.kfs.coa.businessobject.Account; import org.kuali.kfs.coa.businessobject.Chart; import org.kuali.kfs.coa.businessobject.Organization; import org.kuali.kfs.integration.purap.CapitalAssetSystem; import org.kuali.kfs.module.purap.businessobject.BillingAddress; import org.kuali.kfs.module.purap.businessobject.CapitalAssetSystemState; import org.kuali.kfs.module.purap.businessobject.CapitalAssetSystemType; import org.kuali.kfs.module.purap.businessobject.DeliveryRequiredDateReason; import org.kuali.kfs.module.purap.businessobject.FundingSource; import org.kuali.kfs.module.purap.businessobject.PurApItem; import org.kuali.kfs.module.purap.businessobject.PurchaseOrderTransmissionMethod; import org.kuali.kfs.module.purap.businessobject.PurchasingCapitalAssetItem; import org.kuali.kfs.module.purap.businessobject.PurchasingItem; import org.kuali.kfs.module.purap.businessobject.ReceivingAddress; import org.kuali.kfs.module.purap.businessobject.RecurringPaymentType; import org.kuali.kfs.module.purap.businessobject.RequisitionSource; import org.kuali.kfs.module.purap.document.service.PurchasingDocumentSpecificService; import org.kuali.kfs.module.purap.util.ItemParser; import org.kuali.kfs.vnd.businessobject.CampusParameter; import org.kuali.kfs.vnd.businessobject.PurchaseOrderCostSource; import org.kuali.kfs.vnd.businessobject.VendorContract; import org.kuali.kfs.vnd.businessobject.VendorDetail; import org.kuali.rice.core.api.util.type.KualiDecimal; /** * Interface for Purchasing Documents. */ public interface PurchasingDocument extends PurchasingAccountsPayableDocument { /** * Gets the appropriate <code>{@link ItemParser}</code> for the <code>PurchasingDocument</code> * * @return an ItemParser instance */ public ItemParser getItemParser(); public String getDocumentFundingSourceCode(); public void setDocumentFundingSourceCode(String fundingSourceCode); public String getRequisitionSourceCode(); public void setRequisitionSourceCode(String requisitionSourceCode); public String getPurchaseOrderTransmissionMethodCode(); public void setPurchaseOrderTransmissionMethodCode(String purchaseOrderTransmissionMethodCode); public String getPurchaseOrderCostSourceCode(); public void setPurchaseOrderCostSourceCode(String purchaseOrderCostSourceCode); public String getDeliveryRequiredDateReasonCode(); public void setDeliveryRequiredDateReasonCode(String deliveryRequiredDateReasonCode); public String getRecurringPaymentTypeCode(); public void setRecurringPaymentTypeCode(String recurringPaymentTypeCode); public String getChartOfAccountsCode(); public void setChartOfAccountsCode(String chartOfAccountsCode); public String getOrganizationCode(); public void setOrganizationCode(String organizationCode); public String getDeliveryCampusCode(); public void setDeliveryCampusCode(String deliveryCampusCode); public KualiDecimal getPurchaseOrderTotalLimit(); public void setPurchaseOrderTotalLimit(KualiDecimal purchaseOrderTotalLimit); public String getVendorName(); public void setVendorName(String vendorName); public String getVendorLine1Address(); public void setVendorLine1Address(String vendorLine1Address); public String getVendorLine2Address(); public void setVendorLine2Address(String vendorLine2Address); public String getVendorCityName(); public void setVendorCityName(String vendorCityName); public String getVendorStateCode(); public void setVendorStateCode(String vendorStateCode); public String getVendorPostalCode(); public void setVendorPostalCode(String vendorPostalCode); public String getVendorCountryCode(); public void setVendorCountryCode(String vendorCountryCode); public Boolean getVendorRestrictedIndicator(); public void setVendorRestrictedIndicator(Boolean vendorRestrictedIndicator); public String getVendorPhoneNumber(); public void setVendorPhoneNumber(String vendorPhoneNumber); public String getVendorFaxNumber(); public void setVendorFaxNumber(String vendorFaxNumber); public Integer getVendorContractGeneratedIdentifier(); public void setVendorContractGeneratedIdentifier(Integer vendorContractGeneratedIdentifier); public String getVendorNoteText(); public void setVendorNoteText(String vendorNoteText); public String getRequestorPersonName(); public void setRequestorPersonName(String requestorPersonName); public String getRequestorPersonEmailAddress(); public void setRequestorPersonEmailAddress(String requestorPersonEmailAddress); public String getRequestorPersonPhoneNumber(); public void setRequestorPersonPhoneNumber(String requestorPersonPhoneNumber); public String getNonInstitutionFundOrgChartOfAccountsCode(); public void setNonInstitutionFundOrgChartOfAccountsCode(String nonInstitutionFundOrgChartOfAccountsCode); public String getNonInstitutionFundOrganizationCode(); public void setNonInstitutionFundOrganizationCode(String nonInstitutionFundOrganizationCode); public String getNonInstitutionFundChartOfAccountsCode(); public void setNonInstitutionFundChartOfAccountsCode(String nonInstitutionFundChartOfAccountsCode); public String getNonInstitutionFundAccountNumber(); public void setNonInstitutionFundAccountNumber(String nonInstitutionFundAccountNumber); public String getDeliveryBuildingCode(); public void setDeliveryBuildingCode(String deliveryBuildingCode); public String getDeliveryBuildingName(); public void setDeliveryBuildingName(String deliveryBuildingName); public String getDeliveryBuildingRoomNumber(); public void setDeliveryBuildingRoomNumber(String deliveryBuildingRoomNumber); public String getDeliveryBuildingLine1Address(); public void setDeliveryBuildingLine1Address(String deliveryBuildingLine1Address); public String getDeliveryBuildingLine2Address(); public void setDeliveryBuildingLine2Address(String deliveryBuildingLine2Address); public String getDeliveryCityName(); public void setDeliveryCityName(String deliveryCityName); public String getDeliveryStateCode(); public void setDeliveryStateCode(String deliveryStateCode); public String getDeliveryPostalCode(); public void setDeliveryPostalCode(String deliveryPostalCode); public String getDeliveryCountryCode(); public String getDeliveryCountryName(); public void setDeliveryCountryCode(String deliveryCountryCode); public String getDeliveryToName(); public void setDeliveryToName(String deliveryToName); public String getDeliveryToEmailAddress(); public void setDeliveryToEmailAddress(String deliveryToEmailAddress); public String getDeliveryToPhoneNumber(); public void setDeliveryToPhoneNumber(String deliveryToPhoneNumber); public Date getDeliveryRequiredDate(); public void setDeliveryRequiredDate(Date deliveryRequiredDate); public String getDeliveryInstructionText(); public void setDeliveryInstructionText(String deliveryInstructionText); public Date getPurchaseOrderBeginDate(); public void setPurchaseOrderBeginDate(Date purchaseOrderBeginDate); public Date getPurchaseOrderEndDate(); public void setPurchaseOrderEndDate(Date purchaseOrderEndDate); public String getInstitutionContactName(); public void setInstitutionContactName(String institutionContactName); public String getInstitutionContactPhoneNumber(); public void setInstitutionContactPhoneNumber(String institutionContactPhoneNumber); public String getInstitutionContactEmailAddress(); public void setInstitutionContactEmailAddress(String institutionContactEmailAddress); public String getBillingName(); public void setBillingName(String billingName); public String getBillingLine1Address(); public void setBillingLine1Address(String billingLine1Address); public String getBillingLine2Address(); public void setBillingLine2Address(String billingLine2Address); public String getBillingCityName(); public void setBillingCityName(String billingCityName); public String getBillingStateCode(); public void setBillingStateCode(String billingStateCode); public String getBillingPostalCode(); public void setBillingPostalCode(String billingPostalCode); public String getBillingCountryCode(); public void setBillingCountryCode(String billingCountryCode); public String getBillingCountryName(); public String getBillingPhoneNumber(); public void setBillingPhoneNumber(String receivingPhoneNumber); public String getReceivingName(); public void setReceivingName(String receivingName); public String getReceivingLine1Address(); public void setReceivingLine1Address(String receivingLine1Address); public String getReceivingLine2Address(); public void setReceivingLine2Address(String receivingLine2Address); public String getReceivingCityName(); public void setReceivingCityName(String receivingCityName); public String getReceivingStateCode(); public void setReceivingStateCode(String receivingStateCode); public String getReceivingPostalCode(); public void setReceivingPostalCode(String receivingPostalCode); public String getReceivingCountryCode(); public String getReceivingCountryName(); public void setReceivingCountryCode(String receivingCountryCode); public boolean getAddressToVendorIndicator(); public void setAddressToVendorIndicator(boolean addressToVendorIndicator); public String getExternalOrganizationB2bSupplierIdentifier(); public void setExternalOrganizationB2bSupplierIdentifier(String externalOrganizationB2bSupplierIdentifier); public boolean getPurchaseOrderAutomaticIndicator(); public void setPurchaseOrderAutomaticIndicator(boolean purchaseOrderAutomaticIndicator); public FundingSource getFundingSource(); public void setFundingSource(FundingSource fundingSource); public RequisitionSource getRequisitionSource(); /** * @deprecated */ public void setRequisitionSource(RequisitionSource requisitionSource); public PurchaseOrderTransmissionMethod getPurchaseOrderTransmissionMethod(); /** * @deprecated */ public void setPurchaseOrderTransmissionMethod(PurchaseOrderTransmissionMethod purchaseOrderTransmissionMethod); public PurchaseOrderCostSource getPurchaseOrderCostSource(); /** * @deprecated */ public void setPurchaseOrderCostSource(PurchaseOrderCostSource purchaseOrderCostSource); public DeliveryRequiredDateReason getDeliveryRequiredDateReason(); /** * @deprecated */ public void setDeliveryRequiredDateReason(DeliveryRequiredDateReason deliveryRequiredDateReason); public RecurringPaymentType getRecurringPaymentType(); /** * @deprecated */ public void setRecurringPaymentType(RecurringPaymentType recurringPaymentType); public Organization getOrganization(); /** * @deprecated */ public void setOrganization(Organization organization); public Chart getChartOfAccounts(); /** * @deprecated */ public void setChartOfAccounts(Chart chartOfAccounts); public CampusParameter getDeliveryCampus(); /** * @deprecated */ public void setDeliveryCampus(CampusParameter deliveryCampus); public Chart getNonInstitutionFundOrgChartOfAccounts(); /** * @deprecated */ public void setNonInstitutionFundOrgChartOfAccounts(Chart nonInstitutionFundOrgChartOfAccounts); public Organization getNonInstitutionFundOrganization(); /** * @deprecated */ public void setNonInstitutionFundOrganization(Organization nonInstitutionFundOrganization); public Account getNonInstitutionFundAccount(); /** * @deprecated */ public void setNonInstitutionFundAccount(Account nonInstitutionFundAccount); public Chart getNonInstitutionFundChartOfAccounts(); /** * @deprecated */ public void setNonInstitutionFundChartOfAccounts(Chart nonInstitutionFundChartOfAccounts); public String getVendorPaymentTermsCode(); public void setVendorPaymentTermsCode(String vendorPaymentTermsCode); public String getVendorShippingPaymentTermsCode(); public void setVendorShippingPaymentTermsCode(String vendorShippingPaymentTermsCode); public String getVendorShippingTitleCode(); public void setVendorShippingTitleCode(String vendorShippingTitleCode); public boolean isDeliveryBuildingOtherIndicator(); public void setDeliveryBuildingOtherIndicator(boolean deliveryBuildingOtherIndicator); public List<PurApItem> getItems(); public void setItems(List items); /** * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocument#getItem(int) */ public PurApItem getItem(int pos); /** * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocument#addItem(PurApItem item) */ public void addItem(PurApItem item); /** * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocument#deleteItem(int lineNum) */ public void deleteItem(int lineNum); /** * @see org.kuali.kfs.sys.document.AccountingDocumentBase#getTotalDollarAmount() */ public KualiDecimal getTotalDollarAmount(); /** * Sets vendor detail fields based on the specified Vendor Detail. * * @param vendorDetail the specified Vendor Detail. */ public void templateVendorDetail(VendorDetail vendorDetail); /** * Sets vendor contract fields based on the specified Vendor Contract. * * @param vendorContract the specified Vendor Contract. */ public void templateVendorContract(VendorContract vendorContract); /** * Sets billing address fields based on the specified Billing Address. * * @param billingAddress the specified Billing Address. */ public void templateBillingAddress(BillingAddress billingAddress); /** * Sets receiving address fields based on the specified Receiving Address. * * @param receivingAddress the specified Receiving Address. */ public void templateReceivingAddress(ReceivingAddress receivingAddress); /** * Loads the default receiving address from database corresponding to the chart/org of this document. */ public void loadReceivingAddress(); public boolean isReceivingDocumentRequiredIndicator() ; public void setReceivingDocumentRequiredIndicator(boolean receivingDocumentRequiredIndicator); public boolean isPaymentRequestPositiveApprovalIndicator(); public void setPaymentRequestPositiveApprovalIndicator(boolean paymentRequestPositiveApprovalIndicator); public String getCapitalAssetSystemTypeCode(); public void setCapitalAssetSystemTypeCode(String capitalAssetSystemTypeCode); public String getCapitalAssetSystemStateCode(); public void setCapitalAssetSystemStateCode(String capitalAssetSystemStateCode); public CapitalAssetSystemType getCapitalAssetSystemType(); public void setCapitalAssetSystemType(CapitalAssetSystemType capitalAssetSystemType); public CapitalAssetSystemState getCapitalAssetSystemState(); public void setCapitalAssetSystemState(CapitalAssetSystemState capitalAssetSystemState); public List<CapitalAssetSystem> getPurchasingCapitalAssetSystems(); public void setPurchasingCapitalAssetSystems(List<CapitalAssetSystem> purchasingCapitalAssetSystems); public List<PurchasingCapitalAssetItem> getPurchasingCapitalAssetItems(); public void setPurchasingCapitalAssetItems(List<PurchasingCapitalAssetItem> purchasingCapitalAssetItems); public abstract Class getPurchasingCapitalAssetItemClass(); public abstract Class getPurchasingCapitalAssetSystemClass(); public PurchasingItem getPurchasingItem(Integer itemIdentifier); public PurchasingCapitalAssetItem getPurchasingCapitalAssetItem(Integer itemIdentifier); public abstract PurchasingDocumentSpecificService getDocumentSpecificService(); public void clearCapitalAssetFields(); public boolean shouldGiveErrorForEmptyAccountsProration(); }