From 8933dff420a7cbbef8bc70ab225422d7c627ca2c Mon Sep 17 00:00:00 2001 From: hubda <19195897+hubda@users.noreply.github.com> Date: Wed, 18 May 2022 06:14:57 -0400 Subject: [PATCH] added many pay bill entites and associations (#380) Co-authored-by: hubda --- pom.xml | 2 +- .../association/AssociationFactory.java | 81 ++- .../paybill/InvoiceStatementAssociations.java | 137 ++++ .../InvoiceStatementBatchAssociations.java | 67 ++ ...tatementDistributionBatchAssociations.java | 70 ++ .../InvoiceStatementLineItemAssociations.java | 78 +++ .../paybill/InvoiceTermAssociations.java | 20 + .../InvoiceTermVersionAssociations.java | 60 ++ ...billedRevenueDistributionAssociations.java | 4 - .../BillingSyncBatchFileTypeLookup.java | 193 ++++++ .../entity/core/paybill/invoice/Calendar.java | 161 +++++ .../invoice/CalendarFrequencyLookup.java | 120 ++++ .../paybill/invoice/InvoiceStatement.java | 620 +++++++++++++++--- .../invoice/InvoiceStatementBatch.java | 2 +- .../InvoiceStatementDistributionBatch.java | 2 +- .../invoice/InvoiceStatementExportBatch.java | 8 +- .../InvoiceStatementLineDistribution.java | 38 +- .../invoice/InvoiceStatementLineItem.java | 86 ++- .../InvoiceStatementLineItemGroupBy.java | 43 +- .../InvoiceStatementLineItemSummarizeBy.java | 148 +++++ .../InvoiceStatementMessageTemplate.java | 19 +- .../InvoiceStatementPaidStatusLookup.java | 99 +++ .../invoice/InvoiceStatementSplitBy.java | 47 +- .../paybill/invoice/InvoiceStatementTax.java | 35 +- .../invoice/InvoiceStatementTemplate.java | 3 +- .../core/paybill/invoice/InvoiceTerm.java | 97 ++- .../paybill/invoice/InvoiceTermVersion.java | 51 +- .../core/paybill/invoice/PayBillCycle.java | 185 ++++++ .../com/bullhornsdk/data/TestEntities.java | 77 +++ ...stStandardBullhornApiRestAssociations.java | 86 +++ 30 files changed, 2439 insertions(+), 200 deletions(-) create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementAssociations.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementBatchAssociations.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementDistributionBatchAssociations.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementLineItemAssociations.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermVersionAssociations.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/BillingSyncBatchFileTypeLookup.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/Calendar.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/CalendarFrequencyLookup.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemSummarizeBy.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementPaidStatusLookup.java create mode 100644 src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/PayBillCycle.java diff --git a/pom.xml b/pom.xml index 10c0d229..94a08eed 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.bullhorn sdk-rest - 1.4.40 + 1.4.41 jar Bullhorn REST SDK diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/AssociationFactory.java b/src/main/java/com/bullhornsdk/data/model/entity/association/AssociationFactory.java index 13feba9e..7a2599df 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/association/AssociationFactory.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/AssociationFactory.java @@ -1,14 +1,11 @@ package com.bullhornsdk.data.model.entity.association; -import com.bullhornsdk.data.model.entity.association.paybill.BillingProfileAssociations; -import com.bullhornsdk.data.model.entity.association.paybill.InvoiceTermAssociations; -import com.bullhornsdk.data.model.entity.association.paybill.LocationAssociations; -import com.bullhornsdk.data.model.entity.association.paybill.UnbilledRevenueDistributionAssociations; +import com.bullhornsdk.data.model.entity.association.paybill.*; import com.bullhornsdk.data.model.entity.association.standard.*; import com.bullhornsdk.data.model.entity.core.paybill.BillingProfile; import com.bullhornsdk.data.model.entity.core.paybill.Location; import com.bullhornsdk.data.model.entity.core.paybill.distribution.UnbilledRevenueDistribution; -import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTerm; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.*; import com.bullhornsdk.data.model.entity.core.standard.*; import com.bullhornsdk.data.model.entity.core.type.AssociationEntity; import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; @@ -40,6 +37,11 @@ public class AssociationFactory { private static final BillingProfileAssociations billingProfileAssociations = BillingProfileAssociations.getInstance(); private static final LocationAssociations locationAssociations = LocationAssociations.getInstance(); private static final InvoiceTermAssociations invoiceTermAssociations = InvoiceTermAssociations.getInstance(); + private static final InvoiceStatementAssociations invoiceStatementAssociations = InvoiceStatementAssociations.getInstance(); + private static final InvoiceStatementBatchAssociations invoiceStatementBatchAssociations = InvoiceStatementBatchAssociations.getInstance(); + private static final InvoiceStatementDistributionBatchAssociations invoiceStatementDistributionBatchAssociations = InvoiceStatementDistributionBatchAssociations.getInstance(); + private static final InvoiceStatementLineItemAssociations invoiceStatementLineItemAssociations = InvoiceStatementLineItemAssociations.getInstance(); + private static final InvoiceTermVersionAssociations invoiceTermVersionAssociations = InvoiceTermVersionAssociations.getInstance(); private static final UnbilledRevenueDistributionAssociations unbilledRevenueDistributionAssociations = UnbilledRevenueDistributionAssociations.getInstance(); /** @@ -137,6 +139,30 @@ private static EntityAssociations getEntityAsso return (EntityAssociations) invoiceTermAssociations; } + if (type == InvoiceTermVersion.class) { + return (EntityAssociations) invoiceTermVersionAssociations; + } + + if (type == InvoiceStatement.class) { + return (EntityAssociations) invoiceStatementAssociations; + } + + if (type == InvoiceStatementBatch.class) { + return (EntityAssociations) invoiceStatementBatchAssociations; + } + + if (type == InvoiceStatementDistributionBatch.class) { + return (EntityAssociations) invoiceStatementDistributionBatchAssociations; + } + + if (type == InvoiceStatementLineItem.class) { + return (EntityAssociations) invoiceStatementLineItemAssociations; + } + + if (type == InvoiceTermVersion.class) { + return (EntityAssociations) invoiceTermVersionAssociations; + } + if (type == Location.class) { return (EntityAssociations) locationAssociations; } @@ -316,6 +342,51 @@ public static WorkersCompensationAssociations workersCompensationAssociations() return workersCompensationAssociations; } + /** + * Returns the associations for InvoiceTermVersion + * + * @return + */ + public static InvoiceTermVersionAssociations invoiceTermVersionAssociations() { + return invoiceTermVersionAssociations; + } + + /** + * Returns the associations for InvoiceStatement + * + * @return + */ + public static InvoiceStatementAssociations invoiceStatementAssociations() { + return invoiceStatementAssociations; + } + + /** + * Returns the associations for InvoiceTermVersion + * + * @return + */ + public static InvoiceStatementLineItemAssociations invoiceStatementLineItemAssociations() { + return invoiceStatementLineItemAssociations; + } + + /** + * Returns the associations for InvoiceStatementBatch + * + * @return + */ + public static InvoiceStatementBatchAssociations invoiceStatementBatchAssociations() { + return invoiceStatementBatchAssociations; + } + + /** + * Returns the associations for InvoiceStatementDistributionBatch + * + * @return + */ + public static InvoiceStatementDistributionBatchAssociations invoiceStatementDistributionBatchAssociations() { + return invoiceStatementDistributionBatchAssociations; + } + /** * Returns the associations for UnbilledRevenueDistributionAssociations * diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementAssociations.java new file mode 100644 index 00000000..b83dc20d --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementAssociations.java @@ -0,0 +1,137 @@ +package com.bullhornsdk.data.model.entity.association.paybill; + +import com.bullhornsdk.data.model.entity.association.AssociationField; +import com.bullhornsdk.data.model.entity.association.EntityAssociations; +import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; +import com.bullhornsdk.data.model.entity.core.paybill.charge.BillableCharge; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.*; +import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SpecializedOptionsLookup; +import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; +import com.bullhornsdk.data.model.entity.core.standard.Candidate; +import com.bullhornsdk.data.model.entity.core.standard.Person; +import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; +import com.bullhornsdk.data.model.entity.file.InvoiceStatementExport; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by fayranne.lipton 4/10/2020 + */ +public class InvoiceStatementAssociations implements EntityAssociations { + + private final AssociationField bccRecipients = instantiateAssociationField("bccRecipients", Person.class); + private final AssociationField billableCharges = instantiateAssociationField("billableCharges", BillableCharge.class); + private final AssociationField candidates = instantiateAssociationField("candidates", Candidate.class); + private final AssociationField ccRecipients = instantiateAssociationField("ccRecipients", Person.class); + private final AssociationField discounts = instantiateAssociationField("discounts", InvoiceStatementDiscount.class); + private final AssociationField fileTypesForInvoicing = instantiateAssociationField("fileTypesForInvoicing", SpecializedOptionsLookup.class); + private final AssociationField invoiceStatementExports = instantiateAssociationField("invoiceStatementExports", InvoiceStatementExport.class); + private final AssociationField invoiceStatementExportsBatches = instantiateAssociationField("invoiceStatementExportsBatches", InvoiceStatementExportBatch.class); + private final AssociationField invoiceStatementLineDistributions = instantiateAssociationField("invoiceStatementLineDistributions", InvoiceStatementLineDistribution.class); + private final AssociationField lineItems = instantiateAssociationField("lineItems", InvoiceStatementLineItem.class); + private final AssociationField splitBys = instantiateAssociationField("splitBys", InvoiceStatementSplitBy.class); + private final AssociationField surcharges = instantiateAssociationField("surcharges", InvoiceStatementSurcharge.class); + private final AssociationField taxes = instantiateAssociationField("taxes", InvoiceStatementTax.class); + private List> allAssociations; + + private static final InvoiceStatementAssociations INSTANCE = new InvoiceStatementAssociations(); + + private InvoiceStatementAssociations() { + super(); + } + + public static InvoiceStatementAssociations getInstance() { + return INSTANCE; + } + + public AssociationField bccRecipients() { + return bccRecipients; + } + + public AssociationField billableCharges() { + return billableCharges; + } + + public AssociationField candidates() { + return candidates; + } + + public AssociationField ccRecipients() { + return ccRecipients; + } + + public AssociationField discounts() { + return discounts; + } + + public AssociationField fileTypesForInvoicing() { + return fileTypesForInvoicing; + } + + public AssociationField invoiceStatementExports() { + return invoiceStatementExports; + } + + public AssociationField invoiceStatementExportsBatches() { + return invoiceStatementExportsBatches; + } + + public AssociationField invoiceStatementLineDistributions() { + return invoiceStatementLineDistributions; + } + + public AssociationField lineItems() { + return lineItems; + } + + public AssociationField splitBys() { + return splitBys; + } + + public AssociationField surcharges() { + return surcharges; + } + + public AssociationField taxes() { + return taxes; + } + + private AssociationField instantiateAssociationField(String associationName, Class associationType) { + return new StandardAssociationField(associationName, associationType); + } + + @Override + public List> allAssociations() { + if (allAssociations == null) { + allAssociations = new ArrayList>(); + allAssociations.add(bccRecipients()); + allAssociations.add(billableCharges()); + allAssociations.add(candidates()); + allAssociations.add(ccRecipients()); + allAssociations.add(discounts()); + allAssociations.add(fileTypesForInvoicing()); + allAssociations.add(invoiceStatementExports()); + allAssociations.add(invoiceStatementExportsBatches()); + allAssociations.add(invoiceStatementLineDistributions()); + allAssociations.add(lineItems()); + allAssociations.add(splitBys()); + allAssociations.add(surcharges()); + allAssociations.add(taxes()); + } + return allAssociations; + } + + @Override + public AssociationField getAssociation(String associationName) { + for (AssociationField associationField : allAssociations()) { + if (associationName.equalsIgnoreCase(associationField.getAssociationFieldName())) { + return associationField; + } + } + + throw new IllegalArgumentException("There is no association on entity InvoiceStatement called: " + associationName); + } +} + + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementBatchAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementBatchAssociations.java new file mode 100644 index 00000000..cea4be98 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementBatchAssociations.java @@ -0,0 +1,67 @@ +package com.bullhornsdk.data.model.entity.association.paybill; + +import com.bullhornsdk.data.model.entity.association.AssociationField; +import com.bullhornsdk.data.model.entity.association.EntityAssociations; +import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; +import com.bullhornsdk.data.model.entity.core.paybill.charge.BillableCharge; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.*; +import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; +import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by fayranne.lipton 4/10/2020 + */ +public class InvoiceStatementBatchAssociations implements EntityAssociations { + + private final AssociationField billMasterTransactions = instantiateAssociationField("billMasterTransactions", BillMasterTransaction.class); + private final AssociationField billableCharges = instantiateAssociationField("billableCharges", BillableCharge.class); + private List> allAssociations; + + private static final InvoiceStatementBatchAssociations INSTANCE = new InvoiceStatementBatchAssociations(); + + private InvoiceStatementBatchAssociations() { + super(); + } + + public static InvoiceStatementBatchAssociations getInstance() { + return INSTANCE; + } + + public AssociationField billMasterTransactions() { + return billMasterTransactions; + } + + public AssociationField billableCharges() { + return billableCharges; + } + + private AssociationField instantiateAssociationField(String associationName, Class associationType) { + return new StandardAssociationField(associationName, associationType); + } + + @Override + public List> allAssociations() { + if (allAssociations == null) { + allAssociations = new ArrayList>(); + allAssociations.add(billMasterTransactions()); + allAssociations.add(billableCharges()); + } + return allAssociations; + } + + @Override + public AssociationField getAssociation(String associationName) { + for (AssociationField associationField : allAssociations()) { + if (associationName.equalsIgnoreCase(associationField.getAssociationFieldName())) { + return associationField; + } + } + + throw new IllegalArgumentException("There is no association on entity InvoiceStatementBatch called: " + associationName); + } +} + + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementDistributionBatchAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementDistributionBatchAssociations.java new file mode 100644 index 00000000..cfe160ab --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementDistributionBatchAssociations.java @@ -0,0 +1,70 @@ +package com.bullhornsdk.data.model.entity.association.paybill; + +import com.bullhornsdk.data.model.entity.association.AssociationField; +import com.bullhornsdk.data.model.entity.association.EntityAssociations; +import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; +import com.bullhornsdk.data.model.entity.core.paybill.charge.BillableCharge; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceStatement; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceStatementDistributionBatch; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceStatementDistributionBatch; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceStatementLineDistribution; +import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; +import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by fayranne.lipton 4/10/2020 + */ +public class InvoiceStatementDistributionBatchAssociations implements EntityAssociations { + + private final AssociationField invoiceStatementLineDistributions = instantiateAssociationField("invoiceStatementLineDistributions", InvoiceStatementLineDistribution.class); + private final AssociationField invoiceStatements = instantiateAssociationField("invoiceStatements", InvoiceStatement.class); + private List> allAssociations; + + private static final InvoiceStatementDistributionBatchAssociations INSTANCE = new InvoiceStatementDistributionBatchAssociations(); + + private InvoiceStatementDistributionBatchAssociations() { + super(); + } + + public static InvoiceStatementDistributionBatchAssociations getInstance() { + return INSTANCE; + } + + public AssociationField invoiceStatementLineDistributions() { + return invoiceStatementLineDistributions; + } + + public AssociationField invoiceStatements() { + return invoiceStatements; + } + + private AssociationField instantiateAssociationField(String associationName, Class associationType) { + return new StandardAssociationField(associationName, associationType); + } + + @Override + public List> allAssociations() { + if (allAssociations == null) { + allAssociations = new ArrayList>(); + allAssociations.add(invoiceStatementLineDistributions()); + allAssociations.add(invoiceStatements()); + } + return allAssociations; + } + + @Override + public AssociationField getAssociation(String associationName) { + for (AssociationField associationField : allAssociations()) { + if (associationName.equalsIgnoreCase(associationField.getAssociationFieldName())) { + return associationField; + } + } + + throw new IllegalArgumentException("There is no association on entity InvoiceStatementDistributionBatch called: " + associationName); + } +} + + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementLineItemAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementLineItemAssociations.java new file mode 100644 index 00000000..5edcaf29 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceStatementLineItemAssociations.java @@ -0,0 +1,78 @@ +package com.bullhornsdk.data.model.entity.association.paybill; + +import com.bullhornsdk.data.model.entity.association.AssociationField; +import com.bullhornsdk.data.model.entity.association.EntityAssociations; +import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.*; +import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; +import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by fayranne.lipton 4/10/2020 + */ +public class InvoiceStatementLineItemAssociations implements EntityAssociations { + + private final AssociationField billMasterTransactions = instantiateAssociationField("billMasterTransactions", BillMasterTransaction.class); + private final AssociationField groupBys = instantiateAssociationField("groupBys", InvoiceStatementLineItemGroupBy.class); + private final AssociationField invoiceStatementLineDistributions = instantiateAssociationField("invoiceStatementLineDistributions", InvoiceStatementLineDistribution.class); + private final AssociationField summarizeBys = instantiateAssociationField("summarizeBys", InvoiceStatementLineItemSummarizeBy.class); + private List> allAssociations; + + private static final InvoiceStatementLineItemAssociations INSTANCE = new InvoiceStatementLineItemAssociations(); + + private InvoiceStatementLineItemAssociations() { + super(); + } + + public static InvoiceStatementLineItemAssociations getInstance() { + return INSTANCE; + } + + public AssociationField billMasterTransactions() { + return billMasterTransactions; + } + + public AssociationField groupBys() { + return groupBys; + } + + public AssociationField invoiceStatementLineDistributions() { + return invoiceStatementLineDistributions; + } + + public AssociationField summarizeBys() { + return summarizeBys; + } + + private AssociationField instantiateAssociationField(String associationName, Class associationType) { + return new StandardAssociationField(associationName, associationType); + } + + @Override + public List> allAssociations() { + if (allAssociations == null) { + allAssociations = new ArrayList>(); + allAssociations.add(billMasterTransactions()); + allAssociations.add(groupBys()); + allAssociations.add(invoiceStatementLineDistributions()); + allAssociations.add(summarizeBys()); + } + return allAssociations; + } + + @Override + public AssociationField getAssociation(String associationName) { + for (AssociationField associationField : allAssociations()) { + if (associationName.equalsIgnoreCase(associationField.getAssociationFieldName())) { + return associationField; + } + } + + throw new IllegalArgumentException("There is no association on entity InvoiceStatementLineItem called: " + associationName); + } +} + + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermAssociations.java index b522333b..6b04930d 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermAssociations.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermAssociations.java @@ -4,7 +4,10 @@ import com.bullhornsdk.data.model.entity.association.EntityAssociations; import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTerm; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTermFileTypesForInvoicing; import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTermVersion; +import com.bullhornsdk.data.model.entity.core.paybill.rate.DiscountRate; +import com.bullhornsdk.data.model.entity.core.paybill.rate.SurchargeRate; import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; import java.util.ArrayList; @@ -17,6 +20,9 @@ public class InvoiceTermAssociations implements EntityAssociations private List> allAssociations; private final AssociationField versions = instantiateAssociationField("versions", InvoiceTermVersion.class); + private final AssociationField discountRates = instantiateAssociationField("discountRates", DiscountRate.class); + private final AssociationField fileTypesForInvoicing = instantiateAssociationField("fileTypesForInvoicing", InvoiceTermFileTypesForInvoicing.class); + private final AssociationField surchargeRates = instantiateAssociationField("surchargeRates", SurchargeRate.class); private static final InvoiceTermAssociations INSTANCE = new InvoiceTermAssociations(); @@ -32,6 +38,17 @@ public AssociationField versions() { return versions; } + public AssociationField discountRates() { + return discountRates; + } + + public AssociationField fileTypesForInvoicing() { + return fileTypesForInvoicing; + } + public AssociationField surchargeRates() { + return surchargeRates; + } + private AssociationField instantiateAssociationField(String associationName, Class associationType) { return new StandardAssociationField(associationName, associationType); } @@ -41,6 +58,9 @@ private AssociationField instantiateA if (allAssociations == null) { allAssociations = new ArrayList>(); allAssociations.add(versions()); + allAssociations.add(discountRates()); + allAssociations.add(fileTypesForInvoicing()); + allAssociations.add(surchargeRates()); } return allAssociations; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermVersionAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermVersionAssociations.java new file mode 100644 index 00000000..24184961 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/InvoiceTermVersionAssociations.java @@ -0,0 +1,60 @@ +package com.bullhornsdk.data.model.entity.association.paybill; + +import com.bullhornsdk.data.model.entity.association.AssociationField; +import com.bullhornsdk.data.model.entity.association.EntityAssociations; +import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.BillingSyncBatchFileTypeLookup; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTermVersion; +import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by fayranne.lipton 4/10/2020 + */ +public class InvoiceTermVersionAssociations implements EntityAssociations { + + private final AssociationField fileTypesForInvoicing = instantiateAssociationField("fileTypesForInvoicing", BillingSyncBatchFileTypeLookup.class); + private List> allAssociations; + + private static final InvoiceTermVersionAssociations INSTANCE = new InvoiceTermVersionAssociations(); + + private InvoiceTermVersionAssociations() { + super(); + } + + public static InvoiceTermVersionAssociations getInstance() { + return INSTANCE; + } + + public AssociationField fileTypesForInvoicing() { + return fileTypesForInvoicing; + } + + private AssociationField instantiateAssociationField(String associationName, Class associationType) { + return new StandardAssociationField(associationName, associationType); + } + + @Override + public List> allAssociations() { + if (allAssociations == null) { + allAssociations = new ArrayList>(); + allAssociations.add(fileTypesForInvoicing()); + } + return allAssociations; + } + + @Override + public AssociationField getAssociation(String associationName) { + for (AssociationField associationField : allAssociations()) { + if (associationName.equalsIgnoreCase(associationField.getAssociationFieldName())) { + return associationField; + } + } + + throw new IllegalArgumentException("There is no association on entity InvoiceTermVersion called: " + associationName); + } +} + + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/UnbilledRevenueDistributionAssociations.java b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/UnbilledRevenueDistributionAssociations.java index b69f2b2f..f288503f 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/UnbilledRevenueDistributionAssociations.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/association/paybill/UnbilledRevenueDistributionAssociations.java @@ -4,11 +4,7 @@ import com.bullhornsdk.data.model.entity.association.EntityAssociations; import com.bullhornsdk.data.model.entity.association.standard.StandardAssociationField; import com.bullhornsdk.data.model.entity.core.paybill.distribution.UnbilledRevenueDistribution; -import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTerm; -import com.bullhornsdk.data.model.entity.core.paybill.invoice.InvoiceTermVersion; import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; -import com.bullhornsdk.data.model.entity.core.standard.CorporateUser; -import com.bullhornsdk.data.model.entity.core.standard.JobOrder; import com.bullhornsdk.data.model.entity.core.type.BullhornEntity; import java.util.ArrayList; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/BillingSyncBatchFileTypeLookup.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/BillingSyncBatchFileTypeLookup.java new file mode 100644 index 00000000..7dca03f4 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/BillingSyncBatchFileTypeLookup.java @@ -0,0 +1,193 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.standard.CorporateUser; +import com.bullhornsdk.data.model.entity.core.type.*; +import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; + +import java.util.Objects; + +/** + * Created by fayranne.lipton 4/7/2020 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "dateAdded", "dateLastModified", "description", "isDeleted", "isHidden", "isSystem", "label", "modifiedByUser", "shouldShowInPicker"}) +public class BillingSyncBatchFileTypeLookup extends CustomFieldsB implements QueryEntity, + UpdateEntity, CreateEntity, DateLastModifiedEntity, SoftDeleteEntity { + + private Integer id; + + private DateTime dateAdded; + + private DateTime dateLastModified; + + @JsonIgnore + private String description; + + private Boolean isDeleted; + + private Boolean isHidden; + + private Boolean isSystem; + + @JsonIgnore + private String label; + + private CorporateUser modifiedByUser; + + private Boolean shouldShowInPicker; + + public BillingSyncBatchFileTypeLookup() { + } + + public BillingSyncBatchFileTypeLookup(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + + @Override + @JsonProperty("dateLastModified") + public DateTime getDateLastModified() { + return dateLastModified; + } + + @JsonProperty("dateLastModified") + public void setDateLastModified(DateTime dateLastModified) { + this.dateLastModified = dateLastModified; + } + + @JsonProperty("description") + public String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(String description) { + this.description = description; + } + + @JsonProperty("isDeleted") + public Boolean getIsDeleted() { + return isDeleted; + } + + @JsonProperty("isDeleted") + public void setIsDeleted(Boolean deleted) { + isDeleted = deleted; + } + + @JsonProperty("isHidden") + public Boolean getHidden() { + return isHidden; + } + + @JsonProperty("isHidden") + public void setHidden(Boolean hidden) { + isHidden = hidden; + } + + @JsonProperty("isSystem") + public Boolean getSystem() { + return isSystem; + } + + @JsonProperty("isSystem") + public void setSystem(Boolean system) { + isSystem = system; + } + + @JsonProperty("label") + public String getLabel() { + return label; + } + + @JsonProperty("label") + public void setLabel(String label) { + this.label = label; + } + + @JsonProperty("modifiedByUser") + public CorporateUser getModifiedByUser() { + return modifiedByUser; + } + + @JsonProperty("modifiedByUser") + public void setModifiedByUser(CorporateUser modifiedByUser) { + this.modifiedByUser = modifiedByUser; + } + + @JsonProperty("shouldShowInPicker") + public Boolean getShouldShowInPicker() { + return shouldShowInPicker; + } + + @JsonProperty("shouldShowInPicker") + public void setShouldShowInPicker(Boolean shouldShowInPicker) { + this.shouldShowInPicker = shouldShowInPicker; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + BillingSyncBatchFileTypeLookup that = (BillingSyncBatchFileTypeLookup) o; + return Objects.equals(id, that.id) && + Objects.equals(dateAdded, that.dateAdded) && + Objects.equals(dateLastModified, that.dateLastModified) && + Objects.equals(description, that.description) && + Objects.equals(isDeleted, that.isDeleted) && + Objects.equals(isHidden, that.isHidden) && + Objects.equals(isSystem, that.isSystem) && + Objects.equals(label, that.label) && + Objects.equals(modifiedByUser, that.modifiedByUser) && + Objects.equals(shouldShowInPicker, that.shouldShowInPicker); + } + + @Override + public int hashCode() { + + return Objects.hash(super.hashCode(), id, dateAdded, dateLastModified, description, isDeleted, isHidden, isSystem, label, modifiedByUser, shouldShowInPicker); + } + + @Override + public String toString() { + return "BillingSyncBatchFileTypeLookup{" + + "id=" + id + + ", dateAdded=" + dateAdded + + ", dateLastModified=" + dateLastModified + + ", description='" + description + '\'' + + ", isDeleted=" + isDeleted + + ", isHidden=" + isHidden + + ", isSystem=" + isSystem + + ", label='" + label + '\'' + + ", modifiedByUser=" + modifiedByUser + + ", shouldShowInPicker=" + shouldShowInPicker + + '}'; + } +} diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/Calendar.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/Calendar.java new file mode 100644 index 00000000..2908e689 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/Calendar.java @@ -0,0 +1,161 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.type.CreateEntity; +import com.bullhornsdk.data.model.entity.core.type.DateLastModifiedEntity; +import com.bullhornsdk.data.model.entity.core.type.QueryEntity; +import com.bullhornsdk.data.model.entity.core.type.UpdateEntity; +import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; + +import java.util.Date; +import java.util.Objects; + +/** + * Created by fayranne.lipton 4/3/2020 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "calendarFrequencyLookup", "dateAdded", "dateLastModified", "isCustom", + "invoiceCycleEnabled", "label", "payEvalEnabled", "timesheetEnabled" +}) +public class Calendar extends CustomFieldsB implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { + + private Integer id; + private CalendarFrequencyLookup calendarFrequencyLookup; + private DateTime dateAdded; + private DateTime dateLastModified; + private Boolean isCustom; + @JsonIgnore + private String label; + private Integer offset; + private Date startDate; + + public Calendar() { + } + + public Calendar(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("calendarFrequencyLookup") + public CalendarFrequencyLookup getCalendarFrequencyLookup() { + return calendarFrequencyLookup; + } + + @JsonProperty("calendarFrequencyLookup") + public void setCalendarFrequencyLookup(CalendarFrequencyLookup calendarFrequencyLookup) { + this.calendarFrequencyLookup = calendarFrequencyLookup; + } + + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + + @Override + @JsonProperty("dateLastModified") + public DateTime getDateLastModified() { + return dateLastModified; + } + + @JsonProperty("dateLastModified") + public void setDateLastModified(DateTime dateLastModified) { + this.dateLastModified = dateLastModified; + } + + @JsonProperty("isCustom") + public Boolean getCustom() { + return isCustom; + } + + @JsonProperty("isCustom") + public void setCustom(Boolean custom) { + isCustom = custom; + } + + @JsonProperty("label") + public String getLabel() { + return label; + } + + @JsonProperty("label") + public void setLabel(String label) { + this.label = label; + } + + @JsonProperty("offset") + public Integer getOffset() { + return offset; + } + + @JsonProperty("offset") + public void setOffset(Integer offset) { + this.offset = offset; + } + + @JsonProperty("startDate") + public Date getStartDate() { + return startDate; + } + + @JsonProperty("startDate") + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + Calendar calendar = (Calendar) o; + return Objects.equals(id, calendar.id) && + Objects.equals(calendarFrequencyLookup, calendar.calendarFrequencyLookup) && + Objects.equals(dateAdded, calendar.dateAdded) && + Objects.equals(dateLastModified, calendar.dateLastModified) && + Objects.equals(isCustom, calendar.isCustom) && + Objects.equals(label, calendar.label) && + Objects.equals(offset, calendar.offset) && + Objects.equals(startDate, calendar.startDate); + } + + @Override + public int hashCode() { + + return Objects.hash(super.hashCode(), id, calendarFrequencyLookup, dateAdded, dateLastModified, isCustom, label, offset, startDate); + } + + @Override + public String toString() { + return "Calendar{" + + "id=" + id + + ", calendarFrequencyLookup=" + calendarFrequencyLookup + + ", dateAdded=" + dateAdded + + ", dateLastModified=" + dateLastModified + + ", isCustom=" + isCustom + + ", label='" + label + '\'' + + ", offset=" + offset + + ", startDate=" + startDate + + '}'; + } +} diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/CalendarFrequencyLookup.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/CalendarFrequencyLookup.java new file mode 100644 index 00000000..e966da82 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/CalendarFrequencyLookup.java @@ -0,0 +1,120 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.type.CreateEntity; +import com.bullhornsdk.data.model.entity.core.type.DateLastModifiedEntity; +import com.bullhornsdk.data.model.entity.core.type.QueryEntity; +import com.bullhornsdk.data.model.entity.core.type.UpdateEntity; +import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; + +import java.util.Objects; + +/** + * Created by fayranne.lipton 4/3/2020 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "dateAdded", "dateLastModified", "isDeleted", "label" +}) +public class CalendarFrequencyLookup extends CustomFieldsB implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { + + private Integer id; + private DateTime dateAdded; + private DateTime dateLastModified; + private Boolean isDeleted; + @JsonIgnore + private String label; + + public CalendarFrequencyLookup() { + } + + public CalendarFrequencyLookup(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + + @Override + @JsonProperty("dateLastModified") + public DateTime getDateLastModified() { + return dateLastModified; + } + + @JsonProperty("dateLastModified") + public void setDateLastModified(DateTime dateLastModified) { + this.dateLastModified = dateLastModified; + } + + @JsonProperty("isDeleted") + public Boolean getDeleted() { + return isDeleted; + } + + @JsonProperty("isDeleted") + public void setDeleted(Boolean deleted) { + isDeleted = deleted; + } + + @JsonProperty("label") + public String getLabel() { + return label; + } + + @JsonProperty("label") + public void setLabel(String label) { + this.label = label; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + CalendarFrequencyLookup that = (CalendarFrequencyLookup) o; + return Objects.equals(id, that.id) && + Objects.equals(dateAdded, that.dateAdded) && + Objects.equals(dateLastModified, that.dateLastModified) && + Objects.equals(isDeleted, that.isDeleted) && + Objects.equals(label, that.label); + } + + @Override + public int hashCode() { + + return Objects.hash(super.hashCode(), id, dateAdded, dateLastModified, isDeleted, label); + } + + @Override + public String toString() { + return "CalendarFrequencyLookup{" + + "id=" + id + + ", dateAdded=" + dateAdded + + ", dateLastModified=" + dateLastModified + + ", isDeleted=" + isDeleted + + ", label='" + label + '\'' + + '}'; + } +} diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatement.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatement.java index b83a3e19..f2960417 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatement.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatement.java @@ -1,12 +1,11 @@ package com.bullhornsdk.data.model.entity.core.paybill.invoice; import com.bullhornsdk.data.model.entity.core.paybill.BillingProfile; +import com.bullhornsdk.data.model.entity.core.paybill.charge.BillableCharge; import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SpecializedOptionsLookup; import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.WorkflowOptionsLookup; import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; -import com.bullhornsdk.data.model.entity.core.standard.ClientContact; -import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation; -import com.bullhornsdk.data.model.entity.core.standard.CorporateUser; +import com.bullhornsdk.data.model.entity.core.standard.*; import com.bullhornsdk.data.model.entity.core.type.*; import com.bullhornsdk.data.model.entity.embedded.Address; import com.bullhornsdk.data.model.entity.embedded.OneToMany; @@ -24,19 +23,26 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "billingAddress", "billingAttention", "billingClientContact", "billingCorporateUser", - "billingPeriodEndDate", "billingProfile", "billingScheduleID", "clientCorporation", "creditedByInvoiceStatement", - "creditOfInvoiceStatement", "currencyUnit", "dateAdded", "dateLastModified", "deliveryMethod", "deliveryStatus", - "discounts", "discountTotal", "discountAmount", "dueDate", "effectiveDate", "emailErrorReason", "finalizedSubtotal", "finalizedTotal", - "generalLedgerExportStatusLookup", "invoiceStatementDate", "invoiceStatementExports", "invoiceStatementExportsBatches", - "invoiceStatementNumber", "invoiceStatementFinalizedDate", "invoiceStatementOrigin", "invoiceStatementTemplate", "invoiceStatementType", "invoiceTerm", - "isDeleted", "isCredited", "isFinalized", "isReinstated", "lineItems", "lineItemTotal", "owner", "paymentTerms", - "previousBalance", "purchaseOrderNumber", "rawInvoiceStatementNumber", "remitInstructions", "splitBys", - "status", "subtotal", "surchargeAmount", "surcharges", "surchargeTotal", "taxAmount", "taxes", "taxTotal", "total" +@JsonPropertyOrder({"id", "amountPaid", "bccRecipients", "billableCharges", "billingAddress", "billingAttention", "billingClientContact", "billingCorporateUser", + "billingPeriodEndDate", "billingProfile", "billingProfileCorrelatedCustomText1", "billingProfileCorrelatedCustomText2", "billingProfileCorrelatedCustomText3", + "billingProfileCorrelatedCustomText4", "billingProfileCorrelatedCustomText5", "billingProfileCorrelatedCustomText6", "billingProfileCorrelatedCustomText7", + "billingProfileCorrelatedCustomText8", "billingProfileCorrelatedCustomText9", "billingProfileCorrelatedCustomText10", "billingProfileCorrelatedCustomTextBlock1", + "billingProfileCorrelatedCustomTextBlock2", "billingProfileCorrelatedCustomTextBlock3", "billingScheduleID", "candidates", "ccRecipients", "clientCorporation", + "creditedByInvoiceStatement", "creditOfInvoiceStatement", "currencyUnit", "dateAdded", "dateLastModified", "deliveryMethod", "deliveryMethodLookup", "deliveryStatus", + "discounts", "discountTotal", "discountAmount", "dueDate", "effectiveDate", "emailErrorReason", "fileTypesForInvoicing", "finalizedSubtotal", "finalizedTotal", + "generalLedgerExportStatusLookup", "invoiceStatementDate", "invoiceStatementDistributionBatch", "invoiceStatementExports", "invoiceStatementExportsBatches", + "invoiceStatementNumber", "invoiceStatementFinalizedDate", "invoiceStatementLineDistributions", "invoiceStatementMessageTemplate", "invoiceStatementOrigin", + "invoiceStatementPaidStatus", "invoiceStatementTemplate", "invoiceStatementType", "invoiceTerm", + "isDeleted", "isCredited", "isFinalized", "isReinstated", "lineItems", "lineItemTotal", "outstandingBalance", "owner", "paymentCount", "paymentTerms", + "previousBalance", "purchaseOrderNumber", "rebillFromInvoices", "rebillNumberFromInvoiceStatement", "rebillSuffix", "rebillToInvoices", "rawInvoiceStatementNumber", + "remitInstructions", "splitBys", "status", "subtotal", "surchargeAmount", "surcharges", "surchargeTotal", "taxAmount", "taxes", "taxTotal", "toRecipients", "total" }) -public class InvoiceStatement extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity, SoftDeleteEntity { +public class InvoiceStatement extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity, AssociationEntity { private Integer id; + private BigDecimal amountPaid; + private OneToMany bccRecipients; + private OneToMany billableCharges; private Address billingAddress; @JsonIgnore private String billingAttention; @@ -44,7 +50,35 @@ public class InvoiceStatement extends AbstractEntity implements QueryEntity, Upd private CorporateUser billingCorporateUser; private String billingPeriodEndDate; private BillingProfile billingProfile; + @JsonIgnore + private String billingProfileCorrelatedCustomText1; + @JsonIgnore + private String billingProfileCorrelatedCustomText2; + @JsonIgnore + private String billingProfileCorrelatedCustomText3; + @JsonIgnore + private String billingProfileCorrelatedCustomText4; + @JsonIgnore + private String billingProfileCorrelatedCustomText5; + @JsonIgnore + private String billingProfileCorrelatedCustomText6; + @JsonIgnore + private String billingProfileCorrelatedCustomText7; + @JsonIgnore + private String billingProfileCorrelatedCustomText8; + @JsonIgnore + private String billingProfileCorrelatedCustomText9; + @JsonIgnore + private String billingProfileCorrelatedCustomText10; + @JsonIgnore + private String billingProfileCorrelatedCustomTextBlock1; + @JsonIgnore + private String billingProfileCorrelatedCustomTextBlock2; + @JsonIgnore + private String billingProfileCorrelatedCustomTextBlock3; private Integer billingScheduleID; + private OneToMany candidates; + private OneToMany ccRecipients; private ClientCorporation clientCorporation; private InvoiceStatement creditedByInvoiceStatement; private InvoiceStatement creditOfInvoiceStatement; @@ -53,25 +87,31 @@ public class InvoiceStatement extends AbstractEntity implements QueryEntity, Upd private DateTime dateLastModified; @JsonIgnore private String deliveryMethod; + private SpecializedOptionsLookup deliveryMethodLookup; private SpecializedOptionsLookup deliveryStatus; private OneToMany discounts; private BigDecimal discountTotal; private BigDecimal discountAmount; - private String effectiveDate; + private Date effectiveDate; private Date dueDate; @JsonIgnore private String emailErrorReason; + private OneToMany fileTypesForInvoicing; private BigDecimal finalizedSubtotal; private BigDecimal finalizedTotal; private SpecializedOptionsLookup generalLedgerExportStatusLookup; private Date invoiceStatementDate; + private InvoiceStatementDistributionBatch invoiceStatementDistributionBatch; private OneToMany invoiceStatementExports; private OneToMany invoiceStatementExportsBatches; @JsonIgnore private String invoiceStatementNumber; private Date invoiceStatementFinalizedDate; + private OneToMany invoiceStatementLineDistributions; + private InvoiceStatementMessageTemplate invoiceStatementMessageTemplate; @JsonIgnore private String invoiceStatementOrigin; + private InvoiceStatementPaidStatusLookup invoiceStatementPaidStatus; private InvoiceStatementTemplate invoiceStatementTemplate; private SpecializedOptionsLookup invoiceStatementType; private InvoiceTerm invoiceTerm; @@ -81,13 +121,20 @@ public class InvoiceStatement extends AbstractEntity implements QueryEntity, Upd private Boolean isReinstated; private OneToMany lineItems; private BigDecimal lineItemTotal; + private BigDecimal outstandingBalance; private CorporateUser owner; + private Integer paymentCount; @JsonIgnore private String paymentTerms; private BigDecimal previousBalance; @JsonIgnore private String purchaseOrderNumber; private Long rawInvoiceStatementNumber; + private InvoiceStatement rebillFromInvoices; + private InvoiceStatement rebillNumberFromInvoiceStatement; + @JsonIgnore + private String rebillSuffix; + private InvoiceStatement rebillToInvoices; private String remitInstructions; private OneToMany splitBys; private WorkflowOptionsLookup status; @@ -97,6 +144,7 @@ public class InvoiceStatement extends AbstractEntity implements QueryEntity, Upd private OneToMany surcharges; private BigDecimal taxAmount; private BigDecimal taxTotal; + private Person toRecipients; private OneToMany taxes; private BigDecimal total; @@ -120,6 +168,35 @@ public void setId(Integer id) { this.id = id; } + @JsonProperty("amountPaid") + public BigDecimal getAmountPaid() { + return amountPaid; + } + + @JsonProperty("amountPaid") + public void setAmountPaid(BigDecimal amountPaid) { + this.amountPaid = amountPaid; + } + + @JsonProperty("bccRecipients") + public OneToMany getBccRecipients() { + return bccRecipients; + } + + @JsonProperty("bccRecipients") + public void setBccRecipients(OneToMany bccRecipients) { + this.bccRecipients = bccRecipients; + } + + @JsonProperty("billableCharges") + public OneToMany getBillableCharges() { + return billableCharges; + } + + @JsonProperty("billableCharges") + public void setBillableCharges(OneToMany billableCharges) { + this.billableCharges = billableCharges; + } @JsonProperty("billingAddress") public Address getBillingAddress() { @@ -181,16 +258,166 @@ public void setBillingProfile(BillingProfile billingProfile) { this.billingProfile = billingProfile; } + @JsonProperty("billingProfileCorrelatedCustomText1") + public String getBillingProfileCorrelatedCustomText1() { + return billingProfileCorrelatedCustomText1; + } + + @JsonProperty("billingProfileCorrelatedCustomText1") + public void setBillingProfileCorrelatedCustomText1(String billingProfileCorrelatedCustomText1) { + this.billingProfileCorrelatedCustomText1 = billingProfileCorrelatedCustomText1; + } + + @JsonProperty("billingProfileCorrelatedCustomText2") + public String getBillingProfileCorrelatedCustomText2() { + return billingProfileCorrelatedCustomText2; + } + + @JsonProperty("billingProfileCorrelatedCustomText2") + public void setBillingProfileCorrelatedCustomText2(String billingProfileCorrelatedCustomText2) { + this.billingProfileCorrelatedCustomText2 = billingProfileCorrelatedCustomText2; + } + + @JsonProperty("billingProfileCorrelatedCustomText3") + public String getBillingProfileCorrelatedCustomText3() { + return billingProfileCorrelatedCustomText3; + } + + @JsonProperty("billingProfileCorrelatedCustomText3") + public void setBillingProfileCorrelatedCustomText3(String billingProfileCorrelatedCustomText3) { + this.billingProfileCorrelatedCustomText3 = billingProfileCorrelatedCustomText3; + } + + @JsonProperty("billingProfileCorrelatedCustomText4") + public String getBillingProfileCorrelatedCustomText4() { + return billingProfileCorrelatedCustomText4; + } + + @JsonProperty("billingProfileCorrelatedCustomText4") + public void setBillingProfileCorrelatedCustomText4(String billingProfileCorrelatedCustomText4) { + this.billingProfileCorrelatedCustomText4 = billingProfileCorrelatedCustomText4; + } + + @JsonProperty("billingProfileCorrelatedCustomText5") + public String getBillingProfileCorrelatedCustomText5() { + return billingProfileCorrelatedCustomText5; + } + + @JsonProperty("billingProfileCorrelatedCustomText5") + public void setBillingProfileCorrelatedCustomText5(String billingProfileCorrelatedCustomText5) { + this.billingProfileCorrelatedCustomText5 = billingProfileCorrelatedCustomText5; + } + + @JsonProperty("billingProfileCorrelatedCustomText6") + public String getBillingProfileCorrelatedCustomText6() { + return billingProfileCorrelatedCustomText6; + } + + @JsonProperty("billingProfileCorrelatedCustomText6") + public void setBillingProfileCorrelatedCustomText6(String billingProfileCorrelatedCustomText6) { + this.billingProfileCorrelatedCustomText6 = billingProfileCorrelatedCustomText6; + } + + @JsonProperty("billingProfileCorrelatedCustomText7") + public String getBillingProfileCorrelatedCustomText7() { + return billingProfileCorrelatedCustomText7; + } + + @JsonProperty("billingProfileCorrelatedCustomText7") + public void setBillingProfileCorrelatedCustomText7(String billingProfileCorrelatedCustomText7) { + this.billingProfileCorrelatedCustomText7 = billingProfileCorrelatedCustomText7; + } + + @JsonProperty("billingProfileCorrelatedCustomText8") + public String getBillingProfileCorrelatedCustomText8() { + return billingProfileCorrelatedCustomText8; + } + + @JsonProperty("billingProfileCorrelatedCustomText8") + public void setBillingProfileCorrelatedCustomText8(String billingProfileCorrelatedCustomText8) { + this.billingProfileCorrelatedCustomText8 = billingProfileCorrelatedCustomText8; + } + + @JsonProperty("billingProfileCorrelatedCustomText9") + public String getBillingProfileCorrelatedCustomText9() { + return billingProfileCorrelatedCustomText9; + } + + @JsonProperty("billingProfileCorrelatedCustomText9") + public void setBillingProfileCorrelatedCustomText9(String billingProfileCorrelatedCustomText9) { + this.billingProfileCorrelatedCustomText9 = billingProfileCorrelatedCustomText9; + } + + @JsonProperty("billingProfileCorrelatedCustomText10") + public String getBillingProfileCorrelatedCustomText10() { + return billingProfileCorrelatedCustomText10; + } + + @JsonProperty("billingProfileCorrelatedCustomText10") + public void setBillingProfileCorrelatedCustomText10(String billingProfileCorrelatedCustomText10) { + this.billingProfileCorrelatedCustomText10 = billingProfileCorrelatedCustomText10; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock1") + public String getBillingProfileCorrelatedCustomTextBlock1() { + return billingProfileCorrelatedCustomTextBlock1; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock1") + public void setBillingProfileCorrelatedCustomTextBlock1(String billingProfileCorrelatedCustomTextBlock1) { + this.billingProfileCorrelatedCustomTextBlock1 = billingProfileCorrelatedCustomTextBlock1; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock2") + public String getBillingProfileCorrelatedCustomTextBlock2() { + return billingProfileCorrelatedCustomTextBlock2; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock2") + public void setBillingProfileCorrelatedCustomTextBlock2(String billingProfileCorrelatedCustomTextBlock2) { + this.billingProfileCorrelatedCustomTextBlock2 = billingProfileCorrelatedCustomTextBlock2; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock3") + public String getBillingProfileCorrelatedCustomTextBlock3() { + return billingProfileCorrelatedCustomTextBlock3; + } + + @JsonProperty("billingProfileCorrelatedCustomTextBlock3") + public void setBillingProfileCorrelatedCustomTextBlock3(String billingProfileCorrelatedCustomTextBlock3) { + this.billingProfileCorrelatedCustomTextBlock3 = billingProfileCorrelatedCustomTextBlock3; + } + @JsonProperty("billingScheduleID") public Integer getBillingScheduleID() { return billingScheduleID; } + @JsonProperty("candidates") + public OneToMany getCandidates() { + return candidates; + } + + @JsonProperty("candidates") + public void setCandidates(OneToMany candidates) { + this.candidates = candidates; + } + @JsonProperty("billingScheduleID") public void setBillingScheduleID(Integer billingScheduleID) { this.billingScheduleID = billingScheduleID; } + @JsonProperty("ccRecipients") + public OneToMany getCcRecipients() { + return ccRecipients; + } + + @JsonProperty("ccRecipients") + public void setCcRecipients(OneToMany ccRecipients) { + this.ccRecipients = ccRecipients; + } + @JsonProperty("clientCorporation") public ClientCorporation getClientCorporation() { return clientCorporation; @@ -241,12 +468,12 @@ public void setDateAdded(DateTime dateAdded) { this.dateAdded = dateAdded; } + @Override @JsonProperty("dateLastModified") public DateTime getDateLastModified() { return dateLastModified; } - @ReadOnly @JsonProperty("dateLastModified") public void setDateLastModified(DateTime dateLastModified) { this.dateLastModified = dateLastModified; @@ -262,6 +489,16 @@ public void setDeliveryMethod(String deliveryMethod) { this.deliveryMethod = deliveryMethod; } + @JsonProperty("deliveryMethodLookup") + public SpecializedOptionsLookup getDeliveryMethodLookup() { + return deliveryMethodLookup; + } + + @JsonProperty("deliveryMethodLookup") + public void setDeliveryMethodLookup(SpecializedOptionsLookup deliveryMethodLookup) { + this.deliveryMethodLookup = deliveryMethodLookup; + } + @JsonProperty("deliveryStatus") public SpecializedOptionsLookup getDeliveryStatus() { return deliveryStatus; @@ -292,6 +529,26 @@ public void setDiscountTotal(BigDecimal discountTotal) { this.discountTotal = discountTotal; } + @JsonProperty("discountAmount") + public BigDecimal getDiscountAmount() { + return discountAmount; + } + + @JsonProperty("discountAmount") + public void setDiscountAmount(BigDecimal discountAmount) { + this.discountAmount = discountAmount; + } + + @JsonProperty("effectiveDate") + public Date getEffectiveDate() { + return effectiveDate; + } + + @JsonProperty("effectiveDate") + public void setEffectiveDate(Date effectiveDate) { + this.effectiveDate = effectiveDate; + } + @JsonProperty("dueDate") public Date getDueDate() { return dueDate; @@ -312,6 +569,16 @@ public void setEmailErrorReason(String emailErrorReason) { this.emailErrorReason = emailErrorReason; } + @JsonProperty("fileTypesForInvoicing") + public OneToMany getFileTypesForInvoicing() { + return fileTypesForInvoicing; + } + + @JsonProperty("fileTypesForInvoicing") + public void setFileTypesForInvoicing(OneToMany fileTypesForInvoicing) { + this.fileTypesForInvoicing = fileTypesForInvoicing; + } + @JsonProperty("finalizedSubtotal") public BigDecimal getFinalizedSubtotal() { return finalizedSubtotal; @@ -352,6 +619,16 @@ public void setInvoiceStatementDate(Date invoiceStatementDate) { this.invoiceStatementDate = invoiceStatementDate; } + @JsonProperty("invoiceStatementDistributionBatch") + public InvoiceStatementDistributionBatch getInvoiceStatementDistributionBatch() { + return invoiceStatementDistributionBatch; + } + + @JsonProperty("invoiceStatementDistributionBatch") + public void setInvoiceStatementDistributionBatch(InvoiceStatementDistributionBatch invoiceStatementDistributionBatch) { + this.invoiceStatementDistributionBatch = invoiceStatementDistributionBatch; + } + @JsonProperty("invoiceStatementExports") public OneToMany getInvoiceStatementExports() { return invoiceStatementExports; @@ -362,6 +639,16 @@ public void setInvoiceStatementExports(OneToMany invoice this.invoiceStatementExports = invoiceStatementExports; } + @JsonProperty("invoiceStatementExportsBatches") + public OneToMany getInvoiceStatementExportsBatches() { + return invoiceStatementExportsBatches; + } + + @JsonProperty("invoiceStatementExportsBatches") + public void setInvoiceStatementExportsBatches(OneToMany invoiceStatementExportsBatches) { + this.invoiceStatementExportsBatches = invoiceStatementExportsBatches; + } + @JsonProperty("invoiceStatementNumber") public String getInvoiceStatementNumber() { return invoiceStatementNumber; @@ -372,6 +659,36 @@ public void setInvoiceStatementNumber(String invoiceStatementNumber) { this.invoiceStatementNumber = invoiceStatementNumber; } + @JsonProperty("invoiceStatementFinalizedDate") + public Date getInvoiceStatementFinalizedDate() { + return invoiceStatementFinalizedDate; + } + + @JsonProperty("invoiceStatementFinalizedDate") + public void setInvoiceStatementFinalizedDate(Date invoiceStatementFinalizedDate) { + this.invoiceStatementFinalizedDate = invoiceStatementFinalizedDate; + } + + @JsonProperty("invoiceStatementLineDistributions") + public OneToMany getInvoiceStatementLineDistributions() { + return invoiceStatementLineDistributions; + } + + @JsonProperty("invoiceStatementLineDistributions") + public void setInvoiceStatementLineDistributions(OneToMany invoiceStatementLineDistributions) { + this.invoiceStatementLineDistributions = invoiceStatementLineDistributions; + } + + @JsonProperty("invoiceStatementMessageTemplate") + public InvoiceStatementMessageTemplate getInvoiceStatementMessageTemplate() { + return invoiceStatementMessageTemplate; + } + + @JsonProperty("invoiceStatementMessageTemplate") + public void setInvoiceStatementMessageTemplate(InvoiceStatementMessageTemplate invoiceStatementMessageTemplate) { + this.invoiceStatementMessageTemplate = invoiceStatementMessageTemplate; + } + @JsonProperty("invoiceStatementOrigin") public String getInvoiceStatementOrigin() { return invoiceStatementOrigin; @@ -382,6 +699,16 @@ public void setInvoiceStatementOrigin(String invoiceStatementOrigin) { this.invoiceStatementOrigin = invoiceStatementOrigin; } + @JsonProperty("invoiceStatementPaidStatus") + public InvoiceStatementPaidStatusLookup getInvoiceStatementPaidStatus() { + return invoiceStatementPaidStatus; + } + + @JsonProperty("invoiceStatementPaidStatus") + public void setInvoiceStatementPaidStatus(InvoiceStatementPaidStatusLookup invoiceStatementPaidStatus) { + this.invoiceStatementPaidStatus = invoiceStatementPaidStatus; + } + @JsonProperty("invoiceStatementTemplate") public InvoiceStatementTemplate getInvoiceStatementTemplate() { return invoiceStatementTemplate; @@ -413,42 +740,42 @@ public void setInvoiceTerm(InvoiceTerm invoiceTerm) { } @JsonProperty("isDeleted") - public Boolean getIsDeleted() { + public Boolean getDeleted() { return isDeleted; } @JsonProperty("isDeleted") - public void setIsDeleted(Boolean isDeleted) { - this.isDeleted = isDeleted; + public void setDeleted(Boolean deleted) { + isDeleted = deleted; } @JsonProperty("isCredited") - public Boolean getIsCredited() { + public Boolean getCredited() { return isCredited; } @JsonProperty("isCredited") - public void setIsCredited(Boolean credited) { + public void setCredited(Boolean credited) { isCredited = credited; } @JsonProperty("isFinalized") - public Boolean getIsFinalized() { + public Boolean getFinalized() { return isFinalized; } @JsonProperty("isFinalized") - public void setIsFinalized(Boolean finalized) { + public void setFinalized(Boolean finalized) { isFinalized = finalized; } @JsonProperty("isReinstated") - public Boolean getIsReinstated() { + public Boolean getReinstated() { return isReinstated; } @JsonProperty("isReinstated") - public void setIsReinstated(Boolean reinstated) { + public void setReinstated(Boolean reinstated) { isReinstated = reinstated; } @@ -472,6 +799,16 @@ public void setLineItemTotal(BigDecimal lineItemTotal) { this.lineItemTotal = lineItemTotal; } + @JsonProperty("outstandingBalance") + public BigDecimal getOutstandingBalance() { + return outstandingBalance; + } + + @JsonProperty("outstandingBalance") + public void setOutstandingBalance(BigDecimal outstandingBalance) { + this.outstandingBalance = outstandingBalance; + } + @JsonProperty("owner") public CorporateUser getOwner() { return owner; @@ -482,6 +819,26 @@ public void setOwner(CorporateUser owner) { this.owner = owner; } + @JsonProperty("paymentCount") + public Integer getPaymentCount() { + return paymentCount; + } + + @JsonProperty("paymentCount") + public void setPaymentCount(Integer paymentCount) { + this.paymentCount = paymentCount; + } + + @JsonProperty("paymentTerms") + public String getPaymentTerms() { + return paymentTerms; + } + + @JsonProperty("paymentTerms") + public void setPaymentTerms(String paymentTerms) { + this.paymentTerms = paymentTerms; + } + @JsonProperty("previousBalance") public BigDecimal getPreviousBalance() { return previousBalance; @@ -512,6 +869,46 @@ public void setRawInvoiceStatementNumber(Long rawInvoiceStatementNumber) { this.rawInvoiceStatementNumber = rawInvoiceStatementNumber; } + @JsonProperty("rebillFromInvoices") + public InvoiceStatement getRebillFromInvoices() { + return rebillFromInvoices; + } + + @JsonProperty("rebillFromInvoices") + public void setRebillFromInvoices(InvoiceStatement rebillFromInvoices) { + this.rebillFromInvoices = rebillFromInvoices; + } + + @JsonProperty("rebillNumberFromInvoiceStatement") + public InvoiceStatement getRebillNumberFromInvoiceStatement() { + return rebillNumberFromInvoiceStatement; + } + + @JsonProperty("rebillNumberFromInvoiceStatement") + public void setRebillNumberFromInvoiceStatement(InvoiceStatement rebillNumberFromInvoiceStatement) { + this.rebillNumberFromInvoiceStatement = rebillNumberFromInvoiceStatement; + } + + @JsonProperty("rebillSuffix") + public String getRebillSuffix() { + return rebillSuffix; + } + + @JsonProperty("rebillSuffix") + public void setRebillSuffix(String rebillSuffix) { + this.rebillSuffix = rebillSuffix; + } + + @JsonProperty("rebillToInvoices") + public InvoiceStatement getRebillToInvoices() { + return rebillToInvoices; + } + + @JsonProperty("rebillToInvoices") + public void setRebillToInvoices(InvoiceStatement rebillToInvoices) { + this.rebillToInvoices = rebillToInvoices; + } + @JsonProperty("remitInstructions") public String getRemitInstructions() { return remitInstructions; @@ -562,16 +959,6 @@ public void setSurchargeAmount(BigDecimal surchargeAmount) { this.surchargeAmount = surchargeAmount; } - @JsonProperty("surcharges") - public OneToMany getSurcharges() { - return surcharges; - } - - @JsonProperty("surcharges") - public void setSurcharges(OneToMany surcharges) { - this.surcharges = surcharges; - } - @JsonProperty("surchargeTotal") public BigDecimal getSurchargeTotal() { return surchargeTotal; @@ -582,14 +969,24 @@ public void setSurchargeTotal(BigDecimal surchargeTotal) { this.surchargeTotal = surchargeTotal; } - @JsonProperty("taxes") - public OneToMany getTaxes() { - return taxes; + @JsonProperty("surcharges") + public OneToMany getSurcharges() { + return surcharges; } - @JsonProperty("taxes") - public void setTaxes(OneToMany taxes) { - this.taxes = taxes; + @JsonProperty("surcharges") + public void setSurcharges(OneToMany surcharges) { + this.surcharges = surcharges; + } + + @JsonProperty("taxAmount") + public BigDecimal getTaxAmount() { + return taxAmount; + } + + @JsonProperty("taxAmount") + public void setTaxAmount(BigDecimal taxAmount) { + this.taxAmount = taxAmount; } @JsonProperty("taxTotal") @@ -602,75 +999,34 @@ public void setTaxTotal(BigDecimal taxTotal) { this.taxTotal = taxTotal; } - @JsonProperty("total") - public BigDecimal getTotal() { - return total; - } - - @JsonProperty("total") - public void setTotal(BigDecimal total) { - this.total = total; - } - - - @JsonProperty("discountAmount") - public BigDecimal getDiscountAmount() { - return discountAmount; - } - - @JsonProperty("discountAmount") - public void setDiscountAmount(BigDecimal discountAmount) { - this.discountAmount = discountAmount; - } - - @JsonProperty("effectiveDate") - public String getEffectiveDate() { - return effectiveDate; - } - - @JsonProperty("effectiveDate") - public void setEffectiveDate(String effectiveDate) { - this.effectiveDate = effectiveDate; + @JsonProperty("toRecipients") + public Person getToRecipients() { + return toRecipients; } - @JsonProperty("invoiceStatementExportsBatches") - public OneToMany getInvoiceStatementExportsBatches() { - return invoiceStatementExportsBatches; + @JsonProperty("toRecipients") + public void setToRecipients(Person toRecipients) { + this.toRecipients = toRecipients; } - @JsonProperty("invoiceStatementExportsBatches") - public void setInvoiceStatementExportsBatches(OneToMany invoiceStatementExportsBatches) { - this.invoiceStatementExportsBatches = invoiceStatementExportsBatches; - } - - @JsonProperty("invoiceStatementFinalizedDate") - public Date getInvoiceStatementFinalizedDate() { - return invoiceStatementFinalizedDate; - } - - @JsonProperty("invoiceStatementFinalizedDate") - public void setInvoiceStatementFinalizedDate(Date invoiceStatementFinalizedDate) { - this.invoiceStatementFinalizedDate = invoiceStatementFinalizedDate; - } - - @JsonProperty("paymentTerms") - public String getPaymentTerms() { - return paymentTerms; + @JsonProperty("taxes") + public OneToMany getTaxes() { + return taxes; } - @JsonProperty("paymentTerms") - public void setPaymentTerms(String paymentTerms) { - this.paymentTerms = paymentTerms; + @JsonProperty("taxes") + public void setTaxes(OneToMany taxes) { + this.taxes = taxes; } - @JsonProperty("taxAmount") - public BigDecimal getTaxAmount() { - return taxAmount; + @JsonProperty("total") + public BigDecimal getTotal() { + return total; } - @JsonProperty("taxAmount") - public void setTaxAmount(BigDecimal taxAmount) { - this.taxAmount = taxAmount; + @JsonProperty("total") + public void setTotal(BigDecimal total) { + this.total = total; } @Override @@ -679,13 +1035,31 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; InvoiceStatement that = (InvoiceStatement) o; return Objects.equals(id, that.id) && + Objects.equals(amountPaid, that.amountPaid) && + Objects.equals(bccRecipients, that.bccRecipients) && + Objects.equals(billableCharges, that.billableCharges) && Objects.equals(billingAddress, that.billingAddress) && Objects.equals(billingAttention, that.billingAttention) && Objects.equals(billingClientContact, that.billingClientContact) && Objects.equals(billingCorporateUser, that.billingCorporateUser) && Objects.equals(billingPeriodEndDate, that.billingPeriodEndDate) && Objects.equals(billingProfile, that.billingProfile) && + Objects.equals(billingProfileCorrelatedCustomText1, that.billingProfileCorrelatedCustomText1) && + Objects.equals(billingProfileCorrelatedCustomText2, that.billingProfileCorrelatedCustomText2) && + Objects.equals(billingProfileCorrelatedCustomText3, that.billingProfileCorrelatedCustomText3) && + Objects.equals(billingProfileCorrelatedCustomText4, that.billingProfileCorrelatedCustomText4) && + Objects.equals(billingProfileCorrelatedCustomText5, that.billingProfileCorrelatedCustomText5) && + Objects.equals(billingProfileCorrelatedCustomText6, that.billingProfileCorrelatedCustomText6) && + Objects.equals(billingProfileCorrelatedCustomText7, that.billingProfileCorrelatedCustomText7) && + Objects.equals(billingProfileCorrelatedCustomText8, that.billingProfileCorrelatedCustomText8) && + Objects.equals(billingProfileCorrelatedCustomText9, that.billingProfileCorrelatedCustomText9) && + Objects.equals(billingProfileCorrelatedCustomText10, that.billingProfileCorrelatedCustomText10) && + Objects.equals(billingProfileCorrelatedCustomTextBlock1, that.billingProfileCorrelatedCustomTextBlock1) && + Objects.equals(billingProfileCorrelatedCustomTextBlock2, that.billingProfileCorrelatedCustomTextBlock2) && + Objects.equals(billingProfileCorrelatedCustomTextBlock3, that.billingProfileCorrelatedCustomTextBlock3) && Objects.equals(billingScheduleID, that.billingScheduleID) && + Objects.equals(candidates, that.candidates) && + Objects.equals(ccRecipients, that.ccRecipients) && Objects.equals(clientCorporation, that.clientCorporation) && Objects.equals(creditedByInvoiceStatement, that.creditedByInvoiceStatement) && Objects.equals(creditOfInvoiceStatement, that.creditOfInvoiceStatement) && @@ -693,6 +1067,7 @@ public boolean equals(Object o) { Objects.equals(dateAdded, that.dateAdded) && Objects.equals(dateLastModified, that.dateLastModified) && Objects.equals(deliveryMethod, that.deliveryMethod) && + Objects.equals(deliveryMethodLookup, that.deliveryMethodLookup) && Objects.equals(deliveryStatus, that.deliveryStatus) && Objects.equals(discounts, that.discounts) && Objects.equals(discountTotal, that.discountTotal) && @@ -700,15 +1075,20 @@ public boolean equals(Object o) { Objects.equals(effectiveDate, that.effectiveDate) && Objects.equals(dueDate, that.dueDate) && Objects.equals(emailErrorReason, that.emailErrorReason) && + Objects.equals(fileTypesForInvoicing, that.fileTypesForInvoicing) && Objects.equals(finalizedSubtotal, that.finalizedSubtotal) && Objects.equals(finalizedTotal, that.finalizedTotal) && Objects.equals(generalLedgerExportStatusLookup, that.generalLedgerExportStatusLookup) && Objects.equals(invoiceStatementDate, that.invoiceStatementDate) && + Objects.equals(invoiceStatementDistributionBatch, that.invoiceStatementDistributionBatch) && Objects.equals(invoiceStatementExports, that.invoiceStatementExports) && Objects.equals(invoiceStatementExportsBatches, that.invoiceStatementExportsBatches) && Objects.equals(invoiceStatementNumber, that.invoiceStatementNumber) && Objects.equals(invoiceStatementFinalizedDate, that.invoiceStatementFinalizedDate) && + Objects.equals(invoiceStatementLineDistributions, that.invoiceStatementLineDistributions) && + Objects.equals(invoiceStatementMessageTemplate, that.invoiceStatementMessageTemplate) && Objects.equals(invoiceStatementOrigin, that.invoiceStatementOrigin) && + Objects.equals(invoiceStatementPaidStatus, that.invoiceStatementPaidStatus) && Objects.equals(invoiceStatementTemplate, that.invoiceStatementTemplate) && Objects.equals(invoiceStatementType, that.invoiceStatementType) && Objects.equals(invoiceTerm, that.invoiceTerm) && @@ -718,11 +1098,17 @@ public boolean equals(Object o) { Objects.equals(isReinstated, that.isReinstated) && Objects.equals(lineItems, that.lineItems) && Objects.equals(lineItemTotal, that.lineItemTotal) && + Objects.equals(outstandingBalance, that.outstandingBalance) && Objects.equals(owner, that.owner) && + Objects.equals(paymentCount, that.paymentCount) && Objects.equals(paymentTerms, that.paymentTerms) && Objects.equals(previousBalance, that.previousBalance) && Objects.equals(purchaseOrderNumber, that.purchaseOrderNumber) && Objects.equals(rawInvoiceStatementNumber, that.rawInvoiceStatementNumber) && + Objects.equals(rebillFromInvoices, that.rebillFromInvoices) && + Objects.equals(rebillNumberFromInvoiceStatement, that.rebillNumberFromInvoiceStatement) && + Objects.equals(rebillSuffix, that.rebillSuffix) && + Objects.equals(rebillToInvoices, that.rebillToInvoices) && Objects.equals(remitInstructions, that.remitInstructions) && Objects.equals(splitBys, that.splitBys) && Objects.equals(status, that.status) && @@ -732,6 +1118,7 @@ public boolean equals(Object o) { Objects.equals(surcharges, that.surcharges) && Objects.equals(taxAmount, that.taxAmount) && Objects.equals(taxTotal, that.taxTotal) && + Objects.equals(toRecipients, that.toRecipients) && Objects.equals(taxes, that.taxes) && Objects.equals(total, that.total); } @@ -739,20 +1126,38 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, billingAddress, billingAttention, billingClientContact, billingCorporateUser, billingPeriodEndDate, billingProfile, billingScheduleID, clientCorporation, creditedByInvoiceStatement, creditOfInvoiceStatement, currencyUnit, dateAdded, dateLastModified, deliveryMethod, deliveryStatus, discounts, discountTotal, discountAmount, effectiveDate, dueDate, emailErrorReason, finalizedSubtotal, finalizedTotal, generalLedgerExportStatusLookup, invoiceStatementDate, invoiceStatementExports, invoiceStatementExportsBatches, invoiceStatementNumber, invoiceStatementFinalizedDate, invoiceStatementOrigin, invoiceStatementTemplate, invoiceStatementType, invoiceTerm, isDeleted, isCredited, isFinalized, isReinstated, lineItems, lineItemTotal, owner, paymentTerms, previousBalance, purchaseOrderNumber, rawInvoiceStatementNumber, remitInstructions, splitBys, status, subtotal, surchargeAmount, surchargeTotal, surcharges, taxAmount, taxTotal, taxes, total); + return Objects.hash(id, amountPaid, bccRecipients, billableCharges, billingAddress, billingAttention, billingClientContact, billingCorporateUser, billingPeriodEndDate, billingProfile, billingProfileCorrelatedCustomText1, billingProfileCorrelatedCustomText2, billingProfileCorrelatedCustomText3, billingProfileCorrelatedCustomText4, billingProfileCorrelatedCustomText5, billingProfileCorrelatedCustomText6, billingProfileCorrelatedCustomText7, billingProfileCorrelatedCustomText8, billingProfileCorrelatedCustomText9, billingProfileCorrelatedCustomText10, billingProfileCorrelatedCustomTextBlock1, billingProfileCorrelatedCustomTextBlock2, billingProfileCorrelatedCustomTextBlock3, billingScheduleID, candidates, ccRecipients, clientCorporation, creditedByInvoiceStatement, creditOfInvoiceStatement, currencyUnit, dateAdded, dateLastModified, deliveryMethod, deliveryMethodLookup, deliveryStatus, discounts, discountTotal, discountAmount, effectiveDate, dueDate, emailErrorReason, fileTypesForInvoicing, finalizedSubtotal, finalizedTotal, generalLedgerExportStatusLookup, invoiceStatementDate, invoiceStatementDistributionBatch, invoiceStatementExports, invoiceStatementExportsBatches, invoiceStatementNumber, invoiceStatementFinalizedDate, invoiceStatementLineDistributions, invoiceStatementMessageTemplate, invoiceStatementOrigin, invoiceStatementPaidStatus, invoiceStatementTemplate, invoiceStatementType, invoiceTerm, isDeleted, isCredited, isFinalized, isReinstated, lineItems, lineItemTotal, outstandingBalance, owner, paymentCount, paymentTerms, previousBalance, purchaseOrderNumber, rawInvoiceStatementNumber, rebillFromInvoices, rebillNumberFromInvoiceStatement, rebillSuffix, rebillToInvoices, remitInstructions, splitBys, status, subtotal, surchargeAmount, surchargeTotal, surcharges, taxAmount, taxTotal, toRecipients, taxes, total); } @Override public String toString() { return "InvoiceStatement{" + "id=" + id + + ", amountPaid=" + amountPaid + + ", bccRecipients=" + bccRecipients + + ", billableCharges=" + billableCharges + ", billingAddress=" + billingAddress + ", billingAttention='" + billingAttention + '\'' + ", billingClientContact=" + billingClientContact + ", billingCorporateUser=" + billingCorporateUser + ", billingPeriodEndDate='" + billingPeriodEndDate + '\'' + ", billingProfile=" + billingProfile + + ", billingProfileCorrelatedCustomText1='" + billingProfileCorrelatedCustomText1 + '\'' + + ", billingProfileCorrelatedCustomText2='" + billingProfileCorrelatedCustomText2 + '\'' + + ", billingProfileCorrelatedCustomText3='" + billingProfileCorrelatedCustomText3 + '\'' + + ", billingProfileCorrelatedCustomText4='" + billingProfileCorrelatedCustomText4 + '\'' + + ", billingProfileCorrelatedCustomText5='" + billingProfileCorrelatedCustomText5 + '\'' + + ", billingProfileCorrelatedCustomText6='" + billingProfileCorrelatedCustomText6 + '\'' + + ", billingProfileCorrelatedCustomText7='" + billingProfileCorrelatedCustomText7 + '\'' + + ", billingProfileCorrelatedCustomText8='" + billingProfileCorrelatedCustomText8 + '\'' + + ", billingProfileCorrelatedCustomText9='" + billingProfileCorrelatedCustomText9 + '\'' + + ", billingProfileCorrelatedCustomText10='" + billingProfileCorrelatedCustomText10 + '\'' + + ", billingProfileCorrelatedCustomTextBlock1='" + billingProfileCorrelatedCustomTextBlock1 + '\'' + + ", billingProfileCorrelatedCustomTextBlock2='" + billingProfileCorrelatedCustomTextBlock2 + '\'' + + ", billingProfileCorrelatedCustomTextBlock3='" + billingProfileCorrelatedCustomTextBlock3 + '\'' + ", billingScheduleID=" + billingScheduleID + + ", candidates=" + candidates + + ", ccRecipients=" + ccRecipients + ", clientCorporation=" + clientCorporation + ", creditedByInvoiceStatement=" + creditedByInvoiceStatement + ", creditOfInvoiceStatement=" + creditOfInvoiceStatement + @@ -760,22 +1165,28 @@ public String toString() { ", dateAdded=" + dateAdded + ", dateLastModified=" + dateLastModified + ", deliveryMethod='" + deliveryMethod + '\'' + + ", deliveryMethodLookup=" + deliveryMethodLookup + ", deliveryStatus=" + deliveryStatus + ", discounts=" + discounts + ", discountTotal=" + discountTotal + ", discountAmount=" + discountAmount + - ", effectiveDate='" + effectiveDate + '\'' + + ", effectiveDate=" + effectiveDate + ", dueDate=" + dueDate + ", emailErrorReason='" + emailErrorReason + '\'' + + ", fileTypesForInvoicing=" + fileTypesForInvoicing + ", finalizedSubtotal=" + finalizedSubtotal + ", finalizedTotal=" + finalizedTotal + ", generalLedgerExportStatusLookup=" + generalLedgerExportStatusLookup + ", invoiceStatementDate=" + invoiceStatementDate + + ", invoiceStatementDistributionBatch=" + invoiceStatementDistributionBatch + ", invoiceStatementExports=" + invoiceStatementExports + ", invoiceStatementExportsBatches=" + invoiceStatementExportsBatches + ", invoiceStatementNumber='" + invoiceStatementNumber + '\'' + ", invoiceStatementFinalizedDate=" + invoiceStatementFinalizedDate + + ", invoiceStatementLineDistributions=" + invoiceStatementLineDistributions + + ", invoiceStatementMessageTemplate=" + invoiceStatementMessageTemplate + ", invoiceStatementOrigin='" + invoiceStatementOrigin + '\'' + + ", invoiceStatementPaidStatus=" + invoiceStatementPaidStatus + ", invoiceStatementTemplate=" + invoiceStatementTemplate + ", invoiceStatementType=" + invoiceStatementType + ", invoiceTerm=" + invoiceTerm + @@ -785,11 +1196,17 @@ public String toString() { ", isReinstated=" + isReinstated + ", lineItems=" + lineItems + ", lineItemTotal=" + lineItemTotal + + ", outstandingBalance=" + outstandingBalance + ", owner=" + owner + + ", paymentCount=" + paymentCount + ", paymentTerms='" + paymentTerms + '\'' + ", previousBalance=" + previousBalance + ", purchaseOrderNumber='" + purchaseOrderNumber + '\'' + ", rawInvoiceStatementNumber=" + rawInvoiceStatementNumber + + ", rebillFromInvoices=" + rebillFromInvoices + + ", rebillNumberFromInvoiceStatement=" + rebillNumberFromInvoiceStatement + + ", rebillSuffix='" + rebillSuffix + '\'' + + ", rebillToInvoices=" + rebillToInvoices + ", remitInstructions='" + remitInstructions + '\'' + ", splitBys=" + splitBys + ", status=" + status + @@ -799,6 +1216,7 @@ public String toString() { ", surcharges=" + surcharges + ", taxAmount=" + taxAmount + ", taxTotal=" + taxTotal + + ", toRecipients=" + toRecipients + ", taxes=" + taxes + ", total=" + total + '}'; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementBatch.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementBatch.java index df32bdd0..0d9486a2 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementBatch.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementBatch.java @@ -22,7 +22,7 @@ @JsonRootName(value = "data") @JsonPropertyOrder({"id", "batchStatus", "billMasterTransactions", "billableCharges", "dateAdded", "dateLastModified", "owner"}) -public class InvoiceStatementBatch extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { +public class InvoiceStatementBatch extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, AssociationEntity { private Integer id; private SimplifiedOptionsLookup batchStatus; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementDistributionBatch.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementDistributionBatch.java index d2b94604..b48f91ab 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementDistributionBatch.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementDistributionBatch.java @@ -19,7 +19,7 @@ @JsonPropertyOrder({"id", "accountingDate", "batchStatus", "canvasReport", "dateAdded", "dateLastModified", "invoiceStatementLineDistributions", "invoiceStatements", "owner" }) -public class InvoiceStatementDistributionBatch extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity { +public class InvoiceStatementDistributionBatch extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity, AssociationEntity { private Integer id; private DateTime accountingDate; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementExportBatch.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementExportBatch.java index f2275dfa..db99eb0e 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementExportBatch.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementExportBatch.java @@ -19,11 +19,11 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") @JsonPropertyOrder({"id", "batchStatus", "invoiceStatement", "dateAdded", "dateLastModified", "owner"}) -public class InvoiceStatementExportBatch extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { +public class InvoiceStatementExportBatch extends AbstractEntity implements QueryEntity, DateLastModifiedEntity { private Integer id; private SimplifiedOptionsLookup batchStatus; - private OneToMany invoiceStatement; + private InvoiceStatement invoiceStatement; private DateTime dateAdded; private DateTime dateLastModified; private CorporateUser owner; @@ -60,12 +60,12 @@ public void setBatchStatus(SimplifiedOptionsLookup batchStatus) { } @JsonProperty("invoiceStatement") - public OneToMany getInvoiceStatement() { + public InvoiceStatement getInvoiceStatement() { return invoiceStatement; } @JsonProperty("invoiceStatement") - public void setInvoiceStatements(OneToMany invoiceStatement) { + public void setInvoiceStatements(InvoiceStatement invoiceStatement) { this.invoiceStatement = invoiceStatement; } diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineDistribution.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineDistribution.java index 4517bac3..7b7f5120 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineDistribution.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineDistribution.java @@ -4,10 +4,7 @@ import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; import com.bullhornsdk.data.model.entity.core.type.*; import com.bullhornsdk.data.util.ReadOnly; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.annotation.*; import org.joda.time.DateTime; import java.math.BigDecimal; @@ -15,7 +12,7 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "accountingCode", "creditAmount", "currencyUnit", "dateAdded", "dateLastModified", "debitAmount", "description", +@JsonPropertyOrder({"id", "accountingCode", "creditAmount", "currencyUnit", "dateAdded", "dateLastModified", "customText1", "customText2", "debitAmount", "description", "invoiceStatement", "invoiceStatementDistributionBatch", "invoiceStatementLineDistributionTypeLookup", "invoiceStatementLineItem" }) public class InvoiceStatementLineDistribution extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity { @@ -26,6 +23,10 @@ public class InvoiceStatementLineDistribution extends AbstractEntity implements private CurrencyUnit currencyUnit; private DateTime dateAdded; private DateTime dateLastModified; + @JsonIgnore + private String customText1; + @JsonIgnore + private String customText2; private BigDecimal debitAmount; private String description; private InvoiceStatement invoiceStatement; @@ -117,6 +118,26 @@ public void setDescription(String description) { this.description = description; } + @JsonProperty("customText1") + public String getCustomText1() { + return customText1; + } + + @JsonProperty("customText1") + public void setCustomText1(String customText1) { + this.customText1 = customText1; + } + + @JsonProperty("customText2") + public String getCustomText2() { + return customText2; + } + + @JsonProperty("customText2") + public void setCustomText2(String customText2) { + this.customText2 = customText2; + } + @JsonProperty("invoiceStatement") public InvoiceStatement getInvoiceStatement() { return invoiceStatement; @@ -168,6 +189,8 @@ public boolean equals(Object o) { Objects.equals(currencyUnit, that.currencyUnit) && Objects.equals(dateAdded, that.dateAdded) && Objects.equals(dateLastModified, that.dateLastModified) && + Objects.equals(customText1, that.customText1) && + Objects.equals(customText2, that.customText2) && Objects.equals(debitAmount, that.debitAmount) && Objects.equals(description, that.description) && Objects.equals(invoiceStatement, that.invoiceStatement) && @@ -178,7 +201,8 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, accountingCode, creditAmount, currencyUnit, dateAdded, dateLastModified, debitAmount, description, invoiceStatement, invoiceStatementDistributionBatch, invoiceStatementLineDistributionTypeLookup, invoiceStatementLineItem); + + return Objects.hash(id, accountingCode, creditAmount, currencyUnit, dateAdded, dateLastModified, customText1, customText2, debitAmount, description, invoiceStatement, invoiceStatementDistributionBatch, invoiceStatementLineDistributionTypeLookup, invoiceStatementLineItem); } @Override @@ -190,6 +214,8 @@ public String toString() { ", currencyUnit=" + currencyUnit + ", dateAdded=" + dateAdded + ", dateLastModified=" + dateLastModified + + ", customText1='" + customText1 + '\'' + + ", customText2='" + customText2 + '\'' + ", debitAmount=" + debitAmount + ", description='" + description + '\'' + ", invoiceStatement=" + invoiceStatement + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItem.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItem.java index 3f93e5cb..8027a48e 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItem.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItem.java @@ -1,7 +1,9 @@ package com.bullhornsdk.data.model.entity.core.paybill.invoice; +import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SimplifiedOptionsLookup; import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; +import com.bullhornsdk.data.model.entity.core.paybill.unit.UnitOfMeasure; import com.bullhornsdk.data.model.entity.core.type.*; import com.bullhornsdk.data.model.entity.embedded.OneToMany; import com.bullhornsdk.data.util.ReadOnly; @@ -16,14 +18,15 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "billMasterTransactions", "comment", "currencyUnit", "dateAdded", "dateLastModified", - "description", "groupByDisplay", "groupBys", "invoiceStatement", "quantity", "rate", "subtotal", "summarizeBys", - "taxAmount", "total" +@JsonPropertyOrder({"id", "billMasterTransactions", "chargeTypeLookup", "comment", "currencyUnit", "dateAdded", "dateLastModified", + "description", "discountAmount", "groupByDisplay", "groupBys", "invoiceStatement", "invoiceStatementLineDistributions", "quantity", + "rate", "subtotal", "summarizeBys", "surchargeAmount", "taxAmount", "total", "unitOfMeasure" }) -public class InvoiceStatementLineItem extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { +public class InvoiceStatementLineItem extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, AssociationEntity { private Integer id; private OneToMany billMasterTransactions; + private SimplifiedOptionsLookup chargeTypeLookup; @JsonIgnore private String comment; private CurrencyUnit currencyUnit; @@ -31,16 +34,20 @@ public class InvoiceStatementLineItem extends AbstractEntity implements QueryEnt private DateTime dateLastModified; @JsonIgnore private String description; + private BigDecimal discountAmount; @JsonIgnore private String groupByDisplay; private OneToMany groupBys; private InvoiceStatement invoiceStatement; + private OneToMany invoiceStatementLineDistributions; private BigDecimal quantity; private BigDecimal rate; private BigDecimal subtotal; - private OneToMany summarizeBys; + private OneToMany summarizeBys; + private BigDecimal surchargeAmount; private BigDecimal taxAmount; private BigDecimal total; + private UnitOfMeasure unitOfMeasure; public InvoiceStatementLineItem() { } @@ -72,6 +79,16 @@ public void setBillMasterTransactions(OneToMany billMaste this.billMasterTransactions = billMasterTransactions; } + @JsonProperty("chargeTypeLookup") + public SimplifiedOptionsLookup getChargeTypeLookup() { + return chargeTypeLookup; + } + + @JsonProperty("chargeTypeLookup") + public void setChargeTypeLookup(SimplifiedOptionsLookup chargeTypeLookup) { + this.chargeTypeLookup = chargeTypeLookup; + } + @JsonProperty("comment") public String getComment() { return comment; @@ -123,6 +140,16 @@ public void setDescription(String description) { this.description = description; } + @JsonProperty("discountAmount") + public BigDecimal getDiscountAmount() { + return discountAmount; + } + + @JsonProperty("discountAmount") + public void setDiscountAmount(BigDecimal discountAmount) { + this.discountAmount = discountAmount; + } + @JsonProperty("groupByDisplay") public String getGroupByDisplay() { return groupByDisplay; @@ -153,6 +180,16 @@ public void setInvoiceStatement(InvoiceStatement invoiceStatement) { this.invoiceStatement = invoiceStatement; } + @JsonProperty("invoiceStatementLineDistributions") + public OneToMany getInvoiceStatementLineDistributions() { + return invoiceStatementLineDistributions; + } + + @JsonProperty("invoiceStatementLineDistributions") + public void setInvoiceStatementLineDistributions(OneToMany invoiceStatementLineDistributions) { + this.invoiceStatementLineDistributions = invoiceStatementLineDistributions; + } + @JsonProperty("quantity") public BigDecimal getQuantity() { return quantity; @@ -184,15 +221,25 @@ public void setSubtotal(BigDecimal subtotal) { } @JsonProperty("summarizeBys") - public OneToMany getSummarizeBys() { + public OneToMany getSummarizeBys() { return summarizeBys; } @JsonProperty("summarizeBys") - public void setSummarizeBys(OneToMany summarizeBys) { + public void setSummarizeBys(OneToMany summarizeBys) { this.summarizeBys = summarizeBys; } + @JsonProperty("surchargeAmount") + public BigDecimal getSurchargeAmount() { + return surchargeAmount; + } + + @JsonProperty("surchargeAmount") + public void setSurchargeAmount(BigDecimal surchargeAmount) { + this.surchargeAmount = surchargeAmount; + } + @JsonProperty("taxAmount") public BigDecimal getTaxAmount() { return taxAmount; @@ -213,25 +260,40 @@ public void setTotal(BigDecimal total) { this.total = total; } + @JsonProperty("unitOfMeasure") + public UnitOfMeasure getUnitOfMeasure() { + return unitOfMeasure; + } + + @JsonProperty("unitOfMeasure") + public void setUnitOfMeasure(UnitOfMeasure unitOfMeasure) { + this.unitOfMeasure = unitOfMeasure; + } + @Override public String toString() { return "InvoiceStatementLineItem{" + "id=" + id + ", billMasterTransactions=" + billMasterTransactions + + ", chargeTypeLookup=" + chargeTypeLookup + ", comment='" + comment + '\'' + ", currencyUnit=" + currencyUnit + ", dateAdded=" + dateAdded + ", dateLastModified=" + dateLastModified + ", description='" + description + '\'' + + ", discountAmount=" + discountAmount + ", groupByDisplay='" + groupByDisplay + '\'' + ", groupBys=" + groupBys + ", invoiceStatement=" + invoiceStatement + + ", invoiceStatementLineDistributions=" + invoiceStatementLineDistributions + ", quantity=" + quantity + ", rate=" + rate + ", subtotal=" + subtotal + ", summarizeBys=" + summarizeBys + + ", surchargeAmount=" + surchargeAmount + ", taxAmount=" + taxAmount + ", total=" + total + + ", unitOfMeasure=" + unitOfMeasure + '}'; } @@ -242,24 +304,30 @@ public boolean equals(Object o) { InvoiceStatementLineItem that = (InvoiceStatementLineItem) o; return Objects.equals(id, that.id) && Objects.equals(billMasterTransactions, that.billMasterTransactions) && + Objects.equals(chargeTypeLookup, that.chargeTypeLookup) && Objects.equals(comment, that.comment) && Objects.equals(currencyUnit, that.currencyUnit) && Objects.equals(dateAdded, that.dateAdded) && Objects.equals(dateLastModified, that.dateLastModified) && Objects.equals(description, that.description) && + Objects.equals(discountAmount, that.discountAmount) && Objects.equals(groupByDisplay, that.groupByDisplay) && Objects.equals(groupBys, that.groupBys) && Objects.equals(invoiceStatement, that.invoiceStatement) && + Objects.equals(invoiceStatementLineDistributions, that.invoiceStatementLineDistributions) && Objects.equals(quantity, that.quantity) && Objects.equals(rate, that.rate) && Objects.equals(subtotal, that.subtotal) && Objects.equals(summarizeBys, that.summarizeBys) && + Objects.equals(surchargeAmount, that.surchargeAmount) && Objects.equals(taxAmount, that.taxAmount) && - Objects.equals(total, that.total); + Objects.equals(total, that.total) && + Objects.equals(unitOfMeasure, that.unitOfMeasure); } @Override public int hashCode() { - return Objects.hash(id, billMasterTransactions, comment, currencyUnit, dateAdded, dateLastModified, description, groupByDisplay, groupBys, invoiceStatement, quantity, rate, subtotal, summarizeBys, taxAmount, total); + + return Objects.hash(id, billMasterTransactions, chargeTypeLookup, comment, currencyUnit, dateAdded, dateLastModified, description, discountAmount, groupByDisplay, groupBys, invoiceStatement, invoiceStatementLineDistributions, quantity, rate, subtotal, summarizeBys, surchargeAmount, taxAmount, total, unitOfMeasure); } } diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemGroupBy.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemGroupBy.java index a4b05563..a7eb3acd 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemGroupBy.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemGroupBy.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonRootName; +import org.joda.time.DateTime; import java.util.Objects; @@ -15,10 +16,11 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "invoiceStatementLineItem", "field", "value", "displayValue", "sortOrder"}) +@JsonPropertyOrder({"id", "dateAdded", "invoiceStatementLineItem", "field", "value", "displayValue", "sortOrder"}) public class InvoiceStatementLineItemGroupBy extends AbstractEntity implements QueryEntity { private Integer id; + private DateTime dateAdded; private InvoiceStatementLineItem invoiceStatementLineItem; private String field; private String value; @@ -45,6 +47,16 @@ public void setId(Integer id) { this.id = id; } + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + @JsonProperty("invoiceStatementLineItem") public InvoiceStatementLineItem getInvoiceStatementLineItem() { return invoiceStatementLineItem; @@ -95,24 +107,13 @@ public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; } - @Override - public String toString() { - return "InvoiceStatementLineItemGroupBy{" + - "id=" + id + - ", invoiceStatementLineItem=" + invoiceStatementLineItem + - ", field='" + field + '\'' + - ", value='" + value + '\'' + - ", displayValue='" + displayValue + '\'' + - ", sortOrder=" + sortOrder + - '}'; - } - @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; InvoiceStatementLineItemGroupBy that = (InvoiceStatementLineItemGroupBy) o; return Objects.equals(id, that.id) && + Objects.equals(dateAdded, that.dateAdded) && Objects.equals(invoiceStatementLineItem, that.invoiceStatementLineItem) && Objects.equals(field, that.field) && Objects.equals(value, that.value) && @@ -122,6 +123,20 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, invoiceStatementLineItem, field, value, displayValue, sortOrder); + + return Objects.hash(id, dateAdded, invoiceStatementLineItem, field, value, displayValue, sortOrder); + } + + @Override + public String toString() { + return "InvoiceStatementLineItemGroupBy{" + + "id=" + id + + ", dateAdded=" + dateAdded + + ", invoiceStatementLineItem=" + invoiceStatementLineItem + + ", field='" + field + '\'' + + ", value='" + value + '\'' + + ", displayValue='" + displayValue + '\'' + + ", sortOrder=" + sortOrder + + '}'; } } diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemSummarizeBy.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemSummarizeBy.java new file mode 100644 index 00000000..d5511e02 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementLineItemSummarizeBy.java @@ -0,0 +1,148 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SimplifiedOptionsLookup; +import com.bullhornsdk.data.model.entity.core.paybill.transaction.BillMasterTransaction; +import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; +import com.bullhornsdk.data.model.entity.core.paybill.unit.UnitOfMeasure; +import com.bullhornsdk.data.model.entity.core.type.*; +import com.bullhornsdk.data.model.entity.embedded.OneToMany; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; + +import java.math.BigDecimal; +import java.util.Objects; + +/** + * Created by mkesmetzis 23-Apr-20 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "dateAdded", "displayValue", "field", "invoiceStatementLineItem", "sortOrder", "sortOrder", "value" +}) +public class InvoiceStatementLineItemSummarizeBy extends AbstractEntity implements QueryEntity { + + private Integer id; + private DateTime dateAdded; + @JsonIgnore + private String displayValue; + @JsonIgnore + private String field; + private InvoiceStatementLineItem invoiceStatementLineItem; + private Integer sortOrder; + @JsonIgnore + private String value; + + public InvoiceStatementLineItemSummarizeBy() { + } + + public InvoiceStatementLineItemSummarizeBy(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + + @JsonProperty("displayValue") + public String getDisplayValue() { + return displayValue; + } + + @JsonProperty("displayValue") + public void setDisplayValue(String displayValue) { + this.displayValue = displayValue; + } + + @JsonProperty("field") + public String getField() { + return field; + } + + @JsonProperty("field") + public void setField(String field) { + this.field = field; + } + + @JsonProperty("invoiceStatementLineItem") + public InvoiceStatementLineItem getInvoiceStatementLineItem() { + return invoiceStatementLineItem; + } + + @JsonProperty("invoiceStatementLineItem") + public void setInvoiceStatementLineItem(InvoiceStatementLineItem invoiceStatementLineItem) { + this.invoiceStatementLineItem = invoiceStatementLineItem; + } + + @JsonProperty("sortOrder") + public Integer getSortOrder() { + return sortOrder; + } + + @JsonProperty("sortOrder") + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + @JsonProperty("value") + public String getValue() { + return value; + } + + @JsonProperty("value") + public void setValue(String value) { + this.value = value; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + InvoiceStatementLineItemSummarizeBy that = (InvoiceStatementLineItemSummarizeBy) o; + return Objects.equals(id, that.id) && + Objects.equals(dateAdded, that.dateAdded) && + Objects.equals(displayValue, that.displayValue) && + Objects.equals(field, that.field) && + Objects.equals(invoiceStatementLineItem, that.invoiceStatementLineItem) && + Objects.equals(sortOrder, that.sortOrder) && + Objects.equals(value, that.value); + } + + @Override + public int hashCode() { + + return Objects.hash(id, dateAdded, displayValue, field, invoiceStatementLineItem, sortOrder, value); + } + + @Override + public String toString() { + return "InvoiceStatementLineItemSummarizeBy{" + + "id=" + id + + ", dateAdded=" + dateAdded + + ", displayValue='" + displayValue + '\'' + + ", field='" + field + '\'' + + ", invoiceStatementLineItem=" + invoiceStatementLineItem + + ", sortOrder=" + sortOrder + + ", value='" + value + '\'' + + '}'; + } +} diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementMessageTemplate.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementMessageTemplate.java index 37e6e0d2..bb6d4951 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementMessageTemplate.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementMessageTemplate.java @@ -14,13 +14,15 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({ "id", "dateAdded", "messageText", "name", "owner", "subject" }) +@JsonPropertyOrder({ "id", "dateAdded", "fromEmail", "messageText", "name", "owner", "subject" }) public class InvoiceStatementMessageTemplate implements QueryEntity, UpdateEntity, CreateEntity { private Integer id; private DateTime dateAdded; + private String fromEmail; + private String messageText; @Size(max = 100) @@ -62,6 +64,16 @@ public void setDateAdded(DateTime dateAdded) { this.dateAdded = dateAdded; } + @JsonProperty("fromEmail") + public String getFromEmail() { + return fromEmail; + } + + @JsonProperty("fromEmail") + public void setFromEmail(String fromEmail) { + this.fromEmail = fromEmail; + } + @JsonProperty("messageText") public String getMessageText() { return messageText; @@ -109,6 +121,7 @@ public boolean equals(Object o) { InvoiceStatementMessageTemplate that = (InvoiceStatementMessageTemplate) o; return Objects.equals(id, that.id) && Objects.equals(dateAdded, that.dateAdded) && + Objects.equals(fromEmail, that.fromEmail) && Objects.equals(messageText, that.messageText) && Objects.equals(name, that.name) && Objects.equals(owner, that.owner) && @@ -117,7 +130,8 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, dateAdded, messageText, name, owner, subject); + + return Objects.hash(id, dateAdded, fromEmail, messageText, name, owner, subject); } @Override @@ -125,6 +139,7 @@ public String toString() { return "InvoiceStatementMessageTemplate{" + "id=" + id + ", dateAdded=" + dateAdded + + ", fromEmail='" + fromEmail + '\'' + ", messageText='" + messageText + '\'' + ", name='" + name + '\'' + ", owner=" + owner + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementPaidStatusLookup.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementPaidStatusLookup.java new file mode 100644 index 00000000..bae174b7 --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementPaidStatusLookup.java @@ -0,0 +1,99 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.paybill.BillingProfile; +import com.bullhornsdk.data.model.entity.core.paybill.charge.BillableCharge; +import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SpecializedOptionsLookup; +import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.WorkflowOptionsLookup; +import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; +import com.bullhornsdk.data.model.entity.core.standard.*; +import com.bullhornsdk.data.model.entity.core.type.*; +import com.bullhornsdk.data.model.entity.embedded.Address; +import com.bullhornsdk.data.model.entity.embedded.OneToMany; +import com.bullhornsdk.data.model.entity.file.InvoiceStatementExport; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.Objects; + +/** + * Created by mkesmetzis 23-Apr-20 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "isDeleted", "label" +}) +public class InvoiceStatementPaidStatusLookup extends AbstractEntity implements QueryEntity, SoftDeleteEntity { + + private Integer id; + private Boolean isDeleted; + @JsonIgnore + private String label; + + public InvoiceStatementPaidStatusLookup() { + } + + public InvoiceStatementPaidStatusLookup(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("isDeleted") + public Boolean getIsDeleted() { + return isDeleted; + } + + @JsonProperty("isDeleted") + public void setIsDeleted(Boolean deleted) { + isDeleted = deleted; + } + + @JsonProperty("label") + public String getLabel() { + return label; + } + + @JsonProperty("label") + public void setLabel(String label) { + this.label = label; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + InvoiceStatementPaidStatusLookup that = (InvoiceStatementPaidStatusLookup) o; + return Objects.equals(id, that.id) && + Objects.equals(isDeleted, that.isDeleted) && + Objects.equals(label, that.label); + } + + @Override + public int hashCode() { + + return Objects.hash(id, isDeleted, label); + } + + @Override + public String toString() { + return "InvoiceStatementPaidStatusLookup{" + + "id=" + id + + ", isDeleted=" + isDeleted + + ", label='" + label + '\'' + + '}'; + } +} diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementSplitBy.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementSplitBy.java index d4c412b1..44ab577c 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementSplitBy.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementSplitBy.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonRootName; +import org.joda.time.DateTime; import java.util.Objects; @@ -15,10 +16,11 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "invoiceStatement", "field", "value", "displayValue", "sortOrder"}) +@JsonPropertyOrder({"id", "dateAdded", "invoiceStatement", "field", "value", "displayValue", "sortOrder"}) public class InvoiceStatementSplitBy extends AbstractEntity implements QueryEntity { private Integer id; + private DateTime dateAdded; private InvoiceStatement invoiceStatement; private String field; private String value; @@ -45,13 +47,23 @@ public void setId(Integer id) { this.id = id; } + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + @JsonProperty("invoiceStatement") - public InvoiceStatement getInvoiceStatementLineItem() { + public InvoiceStatement getInvoiceStatement() { return invoiceStatement; } @JsonProperty("invoiceStatement") - public void invoiceStatement(InvoiceStatement invoiceStatement) { + public void setInvoiceStatement(InvoiceStatement invoiceStatement) { this.invoiceStatement = invoiceStatement; } @@ -95,24 +107,13 @@ public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; } - @Override - public String toString() { - return "InvoiceStatementSplitBy{" + - "id=" + id + - ", invoiceStatement=" + invoiceStatement + - ", field='" + field + '\'' + - ", value='" + value + '\'' + - ", displayValue='" + displayValue + '\'' + - ", sortOrder=" + sortOrder + - '}'; - } - @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; InvoiceStatementSplitBy that = (InvoiceStatementSplitBy) o; return Objects.equals(id, that.id) && + Objects.equals(dateAdded, that.dateAdded) && Objects.equals(invoiceStatement, that.invoiceStatement) && Objects.equals(field, that.field) && Objects.equals(value, that.value) && @@ -122,6 +123,20 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, invoiceStatement, field, value, displayValue, sortOrder); + + return Objects.hash(id, dateAdded, invoiceStatement, field, value, displayValue, sortOrder); + } + + @Override + public String toString() { + return "InvoiceStatementSplitBy{" + + "id=" + id + + ", dateAdded=" + dateAdded + + ", invoiceStatement=" + invoiceStatement + + ", field='" + field + '\'' + + ", value='" + value + '\'' + + ", displayValue='" + displayValue + '\'' + + ", sortOrder=" + sortOrder + + '}'; } } diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTax.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTax.java index 8b912e6f..115f34fe 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTax.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTax.java @@ -24,6 +24,7 @@ public class InvoiceStatementTax extends AbstractEntity implements QueryEntity, private Integer id; private BigDecimal finalizedValue; private InvoiceStatement invoiceStatement; + private Boolean isDeleted; private Tax tax; public InvoiceStatementTax() { @@ -67,9 +68,14 @@ public void setInvoiceStatement(InvoiceStatement invoiceStatement) { this.invoiceStatement = invoiceStatement; } - @Override + @JsonProperty("isDeleted") public Boolean getIsDeleted() { - return null; + return isDeleted; + } + + @JsonProperty("isDeleted") + public void setIsDeleted(Boolean deleted) { + isDeleted = deleted; } @JsonProperty("tax") @@ -82,16 +88,6 @@ public void setTax(Tax tax) { this.tax = tax; } - @Override - public String toString() { - return "InvoiceStatementTax{" + - "id=" + id + - ", finalizedValue=" + finalizedValue + - ", invoiceStatement=" + invoiceStatement + - ", tax=" + tax + - '}'; - } - @Override public boolean equals(Object o) { if (this == o) return true; @@ -100,11 +96,24 @@ public boolean equals(Object o) { return Objects.equals(id, that.id) && Objects.equals(finalizedValue, that.finalizedValue) && Objects.equals(invoiceStatement, that.invoiceStatement) && + Objects.equals(isDeleted, that.isDeleted) && Objects.equals(tax, that.tax); } @Override public int hashCode() { - return Objects.hash(id, finalizedValue, invoiceStatement, tax); + + return Objects.hash(id, finalizedValue, invoiceStatement, isDeleted, tax); + } + + @Override + public String toString() { + return "InvoiceStatementTax{" + + "id=" + id + + ", finalizedValue=" + finalizedValue + + ", invoiceStatement=" + invoiceStatement + + ", isDeleted=" + isDeleted + + ", tax=" + tax + + '}'; } } diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTemplate.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTemplate.java index 1ef5830a..2a1da07c 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTemplate.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceStatementTemplate.java @@ -15,7 +15,8 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonRootName(value = "data") -@JsonPropertyOrder({"id", "description", "type", "dateLastModified"}) +@JsonPropertyOrder({"id", "contentSubType", "contentType", "dateAdded", "dateLastModified", "description", "directory", "fileExtension", "fileOwner", "fileSize", + "name", "type"}) public class InvoiceStatementTemplate implements QueryEntity, DateLastModifiedEntity { private Integer id; diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTerm.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTerm.java index 534cf4a1..16ce5c60 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTerm.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTerm.java @@ -1,8 +1,11 @@ package com.bullhornsdk.data.model.entity.core.paybill.invoice; import com.bullhornsdk.data.model.entity.core.paybill.generalledger.GeneralLedgerAccount; +import com.bullhornsdk.data.model.entity.core.paybill.rate.DiscountRate; +import com.bullhornsdk.data.model.entity.core.paybill.rate.SurchargeRate; import com.bullhornsdk.data.model.entity.core.paybill.unit.CurrencyUnit; import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation; +import com.bullhornsdk.data.model.entity.core.standard.CorporateUser; import com.bullhornsdk.data.model.entity.core.type.*; import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; import com.bullhornsdk.data.model.entity.embedded.OneToMany; @@ -30,11 +33,11 @@ "customText4", "customText5", "customText6", "customText7", "customText8", "customText9", "customTextBlock1", "customTextBlock2", "customTextBlock3", "customTextBlock4", "customTextBlock5", - "dateAdded", "dateLastModified", "description", "effectiveDate", + "dateAdded", "dateLastModified", "description", "discountRates", "effectiveDate", "effectiveEndDate", "externalID", "fileTypesForInvoicing", "generalLedgerAccountsReceivable", "includeAttachments", "invoiceApprovedTimecardsRequired", "invoiceGroupBy", "invoiceOn", "invoiceSplitBy", - "invoiceStatementTemplate", "invoiceSummarizeBy", "isDeleted", "isFirst", "paymentTerms", - "purchaseOrderRequired", "remitInstructions", "status", "title", "versionID", "versions", "waitForTimecards"}) + "invoiceStatementTemplate", "invoiceSummarizeBy", "isDeleted", "isFirst", "owner", "payBillCycle", "paymentTerms", + "purchaseOrderRequired", "remitInstructions", "status", "surchargeRates", "title", "versionID", "versions", "waitForTimecards"}) public class InvoiceTerm extends CustomFieldsB implements QueryEntity, UpdateEntity, CreateEntity, EffectiveDateEntity, DateLastModifiedEntity, SoftDeleteEntity, AssociationEntity { @@ -53,6 +56,8 @@ public class InvoiceTerm extends CustomFieldsB implements QueryEntity, UpdateEnt @JsonIgnore private String description; + private OneToMany discountRates; + private String effectiveDate; private String effectiveEndDate; @@ -87,6 +92,10 @@ public class InvoiceTerm extends CustomFieldsB implements QueryEntity, UpdateEnt private Boolean isFirst; + private CorporateUser owner; + + private PayBillCycle payBillCycle; + @JsonIgnore private String paymentTerms; @@ -98,6 +107,8 @@ public class InvoiceTerm extends CustomFieldsB implements QueryEntity, UpdateEnt @JsonIgnore private String status; + private OneToMany surchargeRates; + @JsonIgnore private String title; @@ -204,6 +215,16 @@ public void setDescription(String description) { this.description = description; } + @JsonProperty("discountRates") + public OneToMany getDiscountRates() { + return discountRates; + } + + @JsonProperty("discountRates") + public void setDiscountRates(OneToMany discountRates) { + this.discountRates = discountRates; + } + @JsonProperty("effectiveDate") public String getEffectiveDate() { return effectiveDate; @@ -354,16 +375,6 @@ public void setPurchaseOrderRequired(Boolean purchaseOrderRequired) { this.purchaseOrderRequired = purchaseOrderRequired; } - @JsonProperty("isDeleted") - public Boolean getIsDeleted() { - return isDeleted; - } - - @JsonProperty("isDeleted") - public void setIsDeleted(Boolean isDeleted) { - this.isDeleted = isDeleted; - } - @JsonProperty("remitInstructions") public String getRemitInstructions() { return remitInstructions; @@ -384,6 +395,51 @@ public void setStatus(String status) { this.status = status; } + @JsonProperty("isDeleted") + public Boolean getIsDeleted() { + return isDeleted; + } + + @JsonProperty("isDeleted") + public void setIsDeleted(Boolean deleted) { + isDeleted = deleted; + } + + @JsonProperty("isFirst") + public Boolean getFirst() { + return isFirst; + } + + @JsonProperty("owner") + public CorporateUser getOwner() { + return owner; + } + + @JsonProperty("owner") + public void setOwner(CorporateUser owner) { + this.owner = owner; + } + + @JsonProperty("payBillCycle") + public PayBillCycle getPayBillCycle() { + return payBillCycle; + } + + @JsonProperty("payBillCycle") + public void setPayBillCycle(PayBillCycle payBillCycle) { + this.payBillCycle = payBillCycle; + } + + @JsonProperty("surchargeRates") + public OneToMany getSurchargeRates() { + return surchargeRates; + } + + @JsonProperty("surchargeRates") + public void setSurchargeRates(OneToMany surchargeRates) { + this.surchargeRates = surchargeRates; + } + @JsonProperty("title") public String getTitle() { return title; @@ -437,6 +493,7 @@ public boolean equals(Object o) { Objects.equals(dateAdded, that.dateAdded) && Objects.equals(dateLastModified, that.dateLastModified) && Objects.equals(description, that.description) && + Objects.equals(discountRates, that.discountRates) && Objects.equals(effectiveDate, that.effectiveDate) && Objects.equals(effectiveEndDate, that.effectiveEndDate) && Objects.equals(externalID, that.externalID) && @@ -451,10 +508,13 @@ public boolean equals(Object o) { Objects.equals(invoiceSummarizeBy, that.invoiceSummarizeBy) && Objects.equals(isDeleted, that.isDeleted) && Objects.equals(isFirst, that.isFirst) && + Objects.equals(owner, that.owner) && + Objects.equals(payBillCycle, that.payBillCycle) && Objects.equals(paymentTerms, that.paymentTerms) && Objects.equals(purchaseOrderRequired, that.purchaseOrderRequired) && Objects.equals(remitInstructions, that.remitInstructions) && Objects.equals(status, that.status) && + Objects.equals(surchargeRates, that.surchargeRates) && Objects.equals(title, that.title) && Objects.equals(versionID, that.versionID) && Objects.equals(versions, that.versions) && @@ -463,7 +523,8 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(super.hashCode(), id, approvalRequired, clientCorporation, currencyUnit, dateAdded, dateLastModified, description, effectiveDate, effectiveEndDate, externalID, fileTypesForInvoicing, generalLedgerAccountsReceivable, includeAttachments, invoiceApprovedTimecardsRequired, invoiceGroupBy, invoiceOn, invoiceSplitBy, invoiceStatementTemplate, invoiceSummarizeBy, isDeleted, isFirst, paymentTerms, purchaseOrderRequired, remitInstructions, status, title, versionID, versions, waitForTimecards); + + return Objects.hash(super.hashCode(), id, approvalRequired, clientCorporation, currencyUnit, dateAdded, dateLastModified, description, discountRates, effectiveDate, effectiveEndDate, externalID, fileTypesForInvoicing, generalLedgerAccountsReceivable, includeAttachments, invoiceApprovedTimecardsRequired, invoiceGroupBy, invoiceOn, invoiceSplitBy, invoiceStatementTemplate, invoiceSummarizeBy, isDeleted, isFirst, owner, payBillCycle, paymentTerms, purchaseOrderRequired, remitInstructions, status, surchargeRates, title, versionID, versions, waitForTimecards); } @Override @@ -476,8 +537,9 @@ public String toString() { ", dateAdded=" + dateAdded + ", dateLastModified=" + dateLastModified + ", description='" + description + '\'' + - ", effectiveDate=" + effectiveDate + - ", effectiveEndDate=" + effectiveEndDate + + ", discountRates=" + discountRates + + ", effectiveDate='" + effectiveDate + '\'' + + ", effectiveEndDate='" + effectiveEndDate + '\'' + ", externalID='" + externalID + '\'' + ", fileTypesForInvoicing=" + fileTypesForInvoicing + ", generalLedgerAccountsReceivable=" + generalLedgerAccountsReceivable + @@ -490,10 +552,13 @@ public String toString() { ", invoiceSummarizeBy='" + invoiceSummarizeBy + '\'' + ", isDeleted=" + isDeleted + ", isFirst=" + isFirst + + ", owner=" + owner + + ", payBillCycle=" + payBillCycle + ", paymentTerms='" + paymentTerms + '\'' + ", purchaseOrderRequired=" + purchaseOrderRequired + ", remitInstructions='" + remitInstructions + '\'' + ", status='" + status + '\'' + + ", surchargeRates=" + surchargeRates + ", title='" + title + '\'' + ", versionID=" + versionID + ", versions=" + versions + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTermVersion.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTermVersion.java index 29f75515..7dd9bcf6 100644 --- a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTermVersion.java +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/InvoiceTermVersion.java @@ -4,6 +4,7 @@ import com.bullhornsdk.data.model.entity.core.paybill.generalledger.GeneralLedgerAccount; import com.bullhornsdk.data.model.entity.core.type.*; import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; +import com.bullhornsdk.data.model.entity.embedded.OneToMany; import com.bullhornsdk.data.util.ReadOnly; import com.fasterxml.jackson.annotation.*; @@ -27,12 +28,12 @@ "customText8", "customText9", "customTextBlock1", "customTextBlock2", "customTextBlock3", "customTextBlock4", "customTextBlock5", "dateAdded", "dateLastModified", "description", "effectiveDate", - "effectiveEndDate", "externalID", "generalLedgerAccountsReceivable", "includeAttachments", + "effectiveEndDate", "externalID", "fileTypesForInvoicing", "generalLedgerAccountsReceivable", "includeAttachments", "invoiceApprovedTimecardsRequired", "invoiceGroupBy", "invoiceOn", "invoiceSplitBy", - "invoiceStatementTemplate", "invoiceSummarizeBy", "isFirst", "paymentTerms", + "invoiceStatementTemplate", "invoiceSummarizeBy", "isFirst", "payBillCycle", "paymentTerms", "purchaseOrderRequired", "remitInstructions", "status", "title", "waitForTimecards"}) public class InvoiceTermVersion extends CustomFieldsB implements QueryEntity, - UpdateEntity, CreateEntity, DateLastModifiedEntity, EffectiveDateEntity { + UpdateEntity, CreateEntity, DateLastModifiedEntity, EffectiveDateEntity, AssociationEntity { private Integer id; @@ -50,6 +51,8 @@ public class InvoiceTermVersion extends CustomFieldsB implements QueryEntity, @JsonIgnore private String externalID; + private OneToMany fileTypesForInvoicing; + private GeneralLedgerAccount generalLedgerAccountsReceivable; private Boolean includeAttachments; @@ -76,6 +79,8 @@ public class InvoiceTermVersion extends CustomFieldsB implements QueryEntity, private Boolean isFirst; + private PayBillCycle payBillCycle; + @JsonIgnore private String paymentTerms; @@ -357,28 +362,57 @@ public void setWaitForTimecards(Boolean waitForTimecards) { this.waitForTimecards = waitForTimecards; } + @JsonProperty("fileTypesForInvoicing") + public OneToMany getFileTypesForInvoicing() { + return fileTypesForInvoicing; + } + + @JsonProperty("fileTypesForInvoicing") + public void setFileTypesForInvoicing(OneToMany fileTypesForInvoicing) { + this.fileTypesForInvoicing = fileTypesForInvoicing; + } + + @JsonProperty("isFirst") + public Boolean getFirst() { + return isFirst; + } + + @JsonProperty("payBillCycle") + public PayBillCycle getPayBillCycle() { + return payBillCycle; + } + + @JsonProperty("payBillCycle") + public void setPayBillCycle(PayBillCycle payBillCycle) { + this.payBillCycle = payBillCycle; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; if (!super.equals(o)) return false; InvoiceTermVersion that = (InvoiceTermVersion) o; - return isFirst == that.isFirst && - Objects.equals(id, that.id) && + return Objects.equals(id, that.id) && Objects.equals(approvalRequired, that.approvalRequired) && Objects.equals(currencyUnit, that.currencyUnit) && Objects.equals(dateAdded, that.dateAdded) && Objects.equals(dateLastModified, that.dateLastModified) && Objects.equals(description, that.description) && Objects.equals(externalID, that.externalID) && + Objects.equals(fileTypesForInvoicing, that.fileTypesForInvoicing) && Objects.equals(generalLedgerAccountsReceivable, that.generalLedgerAccountsReceivable) && Objects.equals(includeAttachments, that.includeAttachments) && Objects.equals(invoiceApprovedTimecardsRequired, that.invoiceApprovedTimecardsRequired) && Objects.equals(invoiceGroupBy, that.invoiceGroupBy) && Objects.equals(invoiceOn, that.invoiceOn) && Objects.equals(invoiceSplitBy, that.invoiceSplitBy) && + Objects.equals(effectiveDate, that.effectiveDate) && + Objects.equals(effectiveEndDate, that.effectiveEndDate) && Objects.equals(invoiceStatementTemplate, that.invoiceStatementTemplate) && Objects.equals(invoiceSummarizeBy, that.invoiceSummarizeBy) && + Objects.equals(isFirst, that.isFirst) && + Objects.equals(payBillCycle, that.payBillCycle) && Objects.equals(paymentTerms, that.paymentTerms) && Objects.equals(purchaseOrderRequired, that.purchaseOrderRequired) && Objects.equals(remitInstructions, that.remitInstructions) && @@ -389,7 +423,8 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(super.hashCode(), id, approvalRequired, currencyUnit, dateAdded, dateLastModified, description, externalID, generalLedgerAccountsReceivable, includeAttachments, invoiceApprovedTimecardsRequired, invoiceGroupBy, invoiceOn, invoiceSplitBy, invoiceStatementTemplate, invoiceSummarizeBy, isFirst, paymentTerms, purchaseOrderRequired, remitInstructions, status, title, waitForTimecards); + + return Objects.hash(super.hashCode(), id, approvalRequired, currencyUnit, dateAdded, dateLastModified, description, externalID, fileTypesForInvoicing, generalLedgerAccountsReceivable, includeAttachments, invoiceApprovedTimecardsRequired, invoiceGroupBy, invoiceOn, invoiceSplitBy, effectiveDate, effectiveEndDate, invoiceStatementTemplate, invoiceSummarizeBy, isFirst, payBillCycle, paymentTerms, purchaseOrderRequired, remitInstructions, status, title, waitForTimecards); } @Override @@ -402,15 +437,19 @@ public String toString() { ", dateLastModified=" + dateLastModified + ", description='" + description + '\'' + ", externalID='" + externalID + '\'' + + ", fileTypesForInvoicing=" + fileTypesForInvoicing + ", generalLedgerAccountsReceivable=" + generalLedgerAccountsReceivable + ", includeAttachments=" + includeAttachments + ", invoiceApprovedTimecardsRequired=" + invoiceApprovedTimecardsRequired + ", invoiceGroupBy='" + invoiceGroupBy + '\'' + ", invoiceOn='" + invoiceOn + '\'' + ", invoiceSplitBy='" + invoiceSplitBy + '\'' + + ", effectiveDate='" + effectiveDate + '\'' + + ", effectiveEndDate='" + effectiveEndDate + '\'' + ", invoiceStatementTemplate=" + invoiceStatementTemplate + ", invoiceSummarizeBy='" + invoiceSummarizeBy + '\'' + ", isFirst=" + isFirst + + ", payBillCycle=" + payBillCycle + ", paymentTerms='" + paymentTerms + '\'' + ", purchaseOrderRequired=" + purchaseOrderRequired + ", remitInstructions='" + remitInstructions + '\'' + diff --git a/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/PayBillCycle.java b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/PayBillCycle.java new file mode 100644 index 00000000..8983592b --- /dev/null +++ b/src/main/java/com/bullhornsdk/data/model/entity/core/paybill/invoice/PayBillCycle.java @@ -0,0 +1,185 @@ +package com.bullhornsdk.data.model.entity.core.paybill.invoice; + +import com.bullhornsdk.data.model.entity.core.type.CreateEntity; +import com.bullhornsdk.data.model.entity.core.type.DateLastModifiedEntity; +import com.bullhornsdk.data.model.entity.core.type.QueryEntity; +import com.bullhornsdk.data.model.entity.core.type.UpdateEntity; +import com.bullhornsdk.data.model.entity.customfields.CustomFieldsB; +import com.bullhornsdk.data.util.ReadOnly; +import com.fasterxml.jackson.annotation.*; +import org.joda.time.DateTime; +import java.util.Objects; + +/** + * Created by fayranne.lipton 4/3/2020 + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonRootName(value = "data") +@JsonPropertyOrder({"id", "billEvalEnabled", "billingCalendar", "billingCalendarFrequencyLookup", "dateAdded", "dateLastModified", + "invoiceCycleEnabled", "label", "payEvalEnabled", "timesheetEnabled" +}) +public class PayBillCycle extends CustomFieldsB implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity { + + private Integer id; + private Boolean billEvalEnabled; + private Calendar billingCalendar; + private CalendarFrequencyLookup billingCalendarFrequencyLookup; + private DateTime dateAdded; + private DateTime dateLastModified; + private Boolean invoiceCycleEnabled; + @JsonIgnore + private String label; + private Boolean payEvalEnabled; + private Boolean timesheetEnabled; + + public PayBillCycle() { + } + + public PayBillCycle(Integer id) { + this.id = id; + } + + @Override + @JsonProperty("id") + public Integer getId() { + return id; + } + + @ReadOnly + @Override + @JsonProperty("id") + public void setId(Integer id) { + this.id = id; + } + + @JsonProperty("billEvalEnabled") + public Boolean getBillEvalEnabled() { + return billEvalEnabled; + } + + @JsonProperty("billEvalEnabled") + public void setBillEvalEnabled(Boolean billEvalEnabled) { + this.billEvalEnabled = billEvalEnabled; + } + + @JsonProperty("billingCalendar") + public Calendar getBillingCalendar() { + return billingCalendar; + } + + @JsonProperty("billingCalendar") + public void setBillingCalendar(Calendar billingCalendar) { + this.billingCalendar = billingCalendar; + } + + @JsonProperty("billingCalendarFrequencyLookup") + public CalendarFrequencyLookup getBillingCalendarFrequencyLookup() { + return billingCalendarFrequencyLookup; + } + + @JsonProperty("billingCalendarFrequencyLookup") + public void setBillingCalendarFrequencyLookup(CalendarFrequencyLookup billingCalendarFrequencyLookup) { + this.billingCalendarFrequencyLookup = billingCalendarFrequencyLookup; + } + + @JsonProperty("dateAdded") + public DateTime getDateAdded() { + return dateAdded; + } + + @JsonProperty("dateAdded") + public void setDateAdded(DateTime dateAdded) { + this.dateAdded = dateAdded; + } + + @Override + @JsonProperty("dateLastModified") + public DateTime getDateLastModified() { + return dateLastModified; + } + + @JsonProperty("dateLastModified") + public void setDateLastModified(DateTime dateLastModified) { + this.dateLastModified = dateLastModified; + } + + @JsonProperty("invoiceCycleEnabled") + public Boolean getInvoiceCycleEnabled() { + return invoiceCycleEnabled; + } + + @JsonProperty("invoiceCycleEnabled") + public void setInvoiceCycleEnabled(Boolean invoiceCycleEnabled) { + this.invoiceCycleEnabled = invoiceCycleEnabled; + } + + @JsonProperty("label") + public String getLabel() { + return label; + } + + @JsonProperty("label") + public void setLabel(String label) { + this.label = label; + } + + @JsonProperty("payEvalEnabled") + public Boolean getPayEvalEnabled() { + return payEvalEnabled; + } + + @JsonProperty("payEvalEnabled") + public void setPayEvalEnabled(Boolean payEvalEnabled) { + this.payEvalEnabled = payEvalEnabled; + } + + @JsonProperty("timesheetEnabled") + public Boolean getTimesheetEnabled() { + return timesheetEnabled; + } + + @JsonProperty("timesheetEnabled") + public void setTimesheetEnabled(Boolean timesheetEnabled) { + this.timesheetEnabled = timesheetEnabled; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + PayBillCycle that = (PayBillCycle) o; + return Objects.equals(id, that.id) && + Objects.equals(billEvalEnabled, that.billEvalEnabled) && + Objects.equals(billingCalendar, that.billingCalendar) && + Objects.equals(billingCalendarFrequencyLookup, that.billingCalendarFrequencyLookup) && + Objects.equals(dateAdded, that.dateAdded) && + Objects.equals(dateLastModified, that.dateLastModified) && + Objects.equals(invoiceCycleEnabled, that.invoiceCycleEnabled) && + Objects.equals(label, that.label) && + Objects.equals(payEvalEnabled, that.payEvalEnabled) && + Objects.equals(timesheetEnabled, that.timesheetEnabled); + } + + @Override + public int hashCode() { + + return Objects.hash(super.hashCode(), id, billEvalEnabled, billingCalendar, billingCalendarFrequencyLookup, dateAdded, dateLastModified, invoiceCycleEnabled, label, payEvalEnabled, timesheetEnabled); + } + + @Override + public String toString() { + return "PayBillCycle{" + + "id=" + id + + ", billEvalEnabled=" + billEvalEnabled + + ", billingCalendar=" + billingCalendar + + ", billingCalendarFrequencyLookup=" + billingCalendarFrequencyLookup + + ", dateAdded=" + dateAdded + + ", dateLastModified=" + dateLastModified + + ", invoiceCycleEnabled=" + invoiceCycleEnabled + + ", label='" + label + '\'' + + ", payEvalEnabled=" + payEvalEnabled + + ", timesheetEnabled=" + timesheetEnabled + + '}'; + } +} diff --git a/src/test/java/com/bullhornsdk/data/TestEntities.java b/src/test/java/com/bullhornsdk/data/TestEntities.java index 233664a8..03c43aba 100644 --- a/src/test/java/com/bullhornsdk/data/TestEntities.java +++ b/src/test/java/com/bullhornsdk/data/TestEntities.java @@ -129,6 +129,18 @@ public class TestEntities { private Integer unbilledRevenueDistributionId; + private Integer invoiceTermVersionId; + + private Integer invoiceTermId; + + private Integer invoiceStatementLineItemId; + + private Integer invoiceStatementBatchId; + + private Integer invoiceStatementId; + + private Integer invoiceStatementDistributionBatchId; + public TestEntities() { super(); this.appointmentId = 1; @@ -249,6 +261,17 @@ public TestEntities() { this.unbilledRevenueDistributionId = 1; + this.invoiceTermVersionId = 1; + + this.invoiceTermId = 1; + + this.invoiceStatementLineItemId = 1; + + this.invoiceStatementBatchId = 1; + + this.invoiceStatementId = 1; + + this.invoiceStatementDistributionBatchId = 1; } public Integer getAppointmentId() { @@ -723,6 +746,54 @@ public void setUnbilledRevenueDistributionId(Integer unbilledRevenueDistribution this.unbilledRevenueDistributionId = unbilledRevenueDistributionId; } + public Integer getInvoiceTermVersionId() { + return invoiceTermVersionId; + } + + public void setInvoiceTermVersionId(Integer invoiceTermVersionId) { + this.invoiceTermVersionId = invoiceTermVersionId; + } + + public Integer getInvoiceTermId() { + return invoiceTermId; + } + + public void setInvoiceTermId(Integer invoiceTermId) { + this.invoiceTermId = invoiceTermId; + } + + public Integer getInvoiceStatementLineItemId() { + return invoiceStatementLineItemId; + } + + public void setInvoiceStatementLineItemId(Integer invoiceStatementLineItem) { + this.invoiceStatementLineItemId = invoiceStatementLineItem; + } + + public Integer getInvoiceStatementBatchId() { + return invoiceStatementBatchId; + } + + public void setInvoiceStatementBatchId(Integer invoiceStatementBatchId) { + this.invoiceStatementBatchId = invoiceStatementBatchId; + } + + public Integer getInvoiceStatementDistributionBatchId() { + return invoiceStatementDistributionBatchId; + } + + public void setInvoiceStatementDistributionBatchId(Integer invoiceStatementDistributionBatchId) { + this.invoiceStatementDistributionBatchId = invoiceStatementDistributionBatchId; + } + + public Integer getInvoiceStatementId() { + return invoiceStatementId; + } + + public void setInvoiceStatementId(Integer invoiceStatementId) { + this.invoiceStatementId = invoiceStatementId; + } + @Override public String toString() { return "TestEntities{" + @@ -785,6 +856,12 @@ public String toString() { ", stateTaxFormId=" + stateTaxFormId + ", federalTaxFormId=" + federalTaxFormId + ", unbilledRevenueDistributionId=" + unbilledRevenueDistributionId + + ", invoiceTermVersionId=" + invoiceTermVersionId + + ", invoiceTermId=" + invoiceTermId + + ", invoiceStatementLineItemId=" + invoiceStatementLineItemId + + ", invoiceStatementBatchId=" + invoiceStatementBatchId + + ", invoiceStatementId=" + invoiceStatementId + + ", invoiceStatementDistributionBatchId=" + invoiceStatementDistributionBatchId + '}'; } } diff --git a/src/test/java/com/bullhornsdk/data/TestStandardBullhornApiRestAssociations.java b/src/test/java/com/bullhornsdk/data/TestStandardBullhornApiRestAssociations.java index b3cecd1c..2b3570a3 100644 --- a/src/test/java/com/bullhornsdk/data/TestStandardBullhornApiRestAssociations.java +++ b/src/test/java/com/bullhornsdk/data/TestStandardBullhornApiRestAssociations.java @@ -11,6 +11,7 @@ import com.bullhornsdk.data.model.entity.association.EntityAssociations; import com.bullhornsdk.data.model.entity.core.paybill.distribution.UnbilledRevenueDistribution; +import com.bullhornsdk.data.model.entity.core.paybill.invoice.*; import com.google.common.collect.Sets; import org.apache.commons.beanutils.PropertyUtils; import org.apache.log4j.Logger; @@ -162,6 +163,91 @@ public void testAssociateUnbilledRevenueDistribution() throws IllegalAccessExcep } } + @Test + public void testAssociateInvoiceTerm() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + InvoiceTerm entity = bullhornData.findEntity(InvoiceTerm.class, testEntities.getInvoiceTermId(), getAssociationFieldSet(AssociationFactory.invoiceTermAssociations())); + for (AssociationField association : AssociationFactory.invoiceTermAssociations().allAssociations()) { + + Set associationIds = new HashSet(); + OneToMany linkedIds = (OneToMany) PropertyUtils.getProperty(entity, + association.getAssociationFieldName()); + if (linkedIds != null && !linkedIds.getData().isEmpty()) { + + associationIds.add(linkedIds.getData().get(0).getId()); + testAssociation(InvoiceTerm.class, testEntities.getInvoiceTermId(), associationIds, association); + + } + } + } + + @Test + public void testAssociateInvoiceStatementLineItem() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + InvoiceStatementLineItem entity = bullhornData.findEntity(InvoiceStatementLineItem.class, testEntities.getInvoiceStatementLineItemId(), getAssociationFieldSet(AssociationFactory.invoiceStatementLineItemAssociations())); + for (AssociationField association : AssociationFactory.invoiceStatementLineItemAssociations().allAssociations()) { + + Set associationIds = new HashSet(); + OneToMany linkedIds = (OneToMany) PropertyUtils.getProperty(entity, + association.getAssociationFieldName()); + if (linkedIds != null && !linkedIds.getData().isEmpty()) { + + associationIds.add(linkedIds.getData().get(0).getId()); + testAssociation(InvoiceStatementLineItem.class, testEntities.getInvoiceStatementLineItemId(), associationIds, association); + + } + } + } + + @Test + public void testAssociateInvoiceStatement() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + InvoiceStatement entity = bullhornData.findEntity(InvoiceStatement.class, testEntities.getInvoiceStatementId(), getAssociationFieldSet(AssociationFactory.invoiceStatementAssociations())); + for (AssociationField association : AssociationFactory.invoiceStatementAssociations().allAssociations()) { + + Set associationIds = new HashSet(); + OneToMany linkedIds = (OneToMany) PropertyUtils.getProperty(entity, + association.getAssociationFieldName()); + if (linkedIds != null && !linkedIds.getData().isEmpty()) { + + associationIds.add(linkedIds.getData().get(0).getId()); + testAssociation(InvoiceStatement.class, testEntities.getInvoiceStatementId(), associationIds, association); + + } + } + } + + @Test + public void testAssociateInvoiceStatementBatch() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + InvoiceStatementBatch entity = bullhornData.findEntity(InvoiceStatementBatch.class, testEntities.getInvoiceStatementBatchId(), getAssociationFieldSet(AssociationFactory.invoiceStatementBatchAssociations())); + for (AssociationField association : AssociationFactory.invoiceStatementBatchAssociations().allAssociations()) { + + Set associationIds = new HashSet(); + OneToMany linkedIds = (OneToMany) PropertyUtils.getProperty(entity, + association.getAssociationFieldName()); + if (linkedIds != null && !linkedIds.getData().isEmpty()) { + + associationIds.add(linkedIds.getData().get(0).getId()); + testAssociation(InvoiceStatementBatch.class, testEntities.getInvoiceStatementBatchId(), associationIds, association); + + } + } + } + + @Test + public void testAssociateInvoiceStatementDistributionBatch() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + InvoiceStatementDistributionBatch entity = bullhornData.findEntity(InvoiceStatementDistributionBatch.class, testEntities.getInvoiceStatementDistributionBatchId(), getAssociationFieldSet(AssociationFactory.invoiceStatementDistributionBatchAssociations())); + for (AssociationField association : AssociationFactory.invoiceStatementDistributionBatchAssociations().allAssociations()) { + + Set associationIds = new HashSet(); + OneToMany linkedIds = (OneToMany) PropertyUtils.getProperty(entity, + association.getAssociationFieldName()); + if (linkedIds != null && !linkedIds.getData().isEmpty()) { + + associationIds.add(linkedIds.getData().get(0).getId()); + testAssociation(InvoiceStatementDistributionBatch.class, testEntities.getInvoiceStatementDistributionBatchId(), associationIds, association); + + } + } + } + @Test public void testAssociateNote() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { Note entity = bullhornData.findEntity(Note.class, testEntities.getNoteId(), getAssociationFieldSet(AssociationFactory.noteAssociations()));