Author: pgil
Date: Fri Sep 6 14:44:01 2019 New Revision: 1866511 URL: http://svn.apache.org/viewvc?rev=1866511&view=rev Log: Improved: Get correct information history for Company Header in pdf document (OFBIZ-11177) CompanyHeader.groovy now use the rendered document date as a reference to retrieve company data. Thanks Carl Demus for your contribution Modified: ofbiz/ofbiz-framework/trunk/applications/order/groovyScripts/order/CompanyHeader.groovy Modified: ofbiz/ofbiz-framework/trunk/applications/order/groovyScripts/order/CompanyHeader.groovy URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/groovyScripts/order/CompanyHeader.groovy?rev=1866511&r1=1866510&r2=1866511&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/groovyScripts/order/CompanyHeader.groovy (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/groovyScripts/order/CompanyHeader.groovy Fri Sep 6 14:44:01 2019 @@ -27,6 +27,8 @@ import org.apache.ofbiz.order.order.Orde import org.apache.ofbiz.party.content.PartyContentWrapper import org.apache.ofbiz.entity.util.EntityUtilProperties +import java.sql.Timestamp + orderHeader = parameters.orderHeader orderId = parameters.orderId invoice = parameters.invoice @@ -74,10 +76,12 @@ if (quoteId) { // defaults: def logoImageUrl = null // the default value, "/images/ofbiz_powered.gif", is set in the screen decorators def partyId = null - +// reference date for filtering +Timestamp referenceDate = null // get the logo partyId from order or invoice - note that it is better to do comparisons this way in case the there are null values if (orderHeader) { orh = new OrderReadHelper(orderHeader) + referenceDate = orderHeader.orderDate // for sales order, the logo party is the "BILL_FROM_VENDOR" of the order. If that's not available, we'll use the OrderHeader's ProductStore's payToPartyId if ("SALES_ORDER".equals(orderHeader.orderTypeId)) { if (orh.getBillFromParty()) { @@ -101,6 +105,7 @@ if (orderHeader) { } } } else if (invoice) { + referenceDate = invoice.invoiceDate if ("SALES_INVOICE".equals(invoice.invoiceTypeId) && invoice.partyIdFrom) { partyId = invoice.partyIdFrom } @@ -157,7 +162,7 @@ context.companyName = companyName // the address addresses = from("PartyContactWithPurpose") .where("partyId", partyId, "contactMechPurposeTypeId", "GENERAL_LOCATION") - .filterByDate("contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") + .filterByDate(referenceDate, "contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") .queryList() address = null if (addresses) { @@ -179,7 +184,7 @@ context.postalAddress = address //telephone phones = from("PartyContactWithPurpose") .where("partyId", partyId, "contactMechPurposeTypeId", "PRIMARY_PHONE") - .filterByDate("contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") + .filterByDate(referenceDate, "contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") .queryList() if (phones) { context.phone = from("TelecomNumber").where("contactMechId", phones[0].contactMechId).queryOne() @@ -188,7 +193,7 @@ if (phones) { // Fax faxNumbers = from("PartyContactWithPurpose") .where("partyId", partyId, "contactMechPurposeTypeId", "FAX_NUMBER") - .filterByDate("contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") + .filterByDate(referenceDate, "contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") .queryList() if (faxNumbers) { context.fax = from("TelecomNumber").where("contactMechId", faxNumbers[0].contactMechId).queryOne() @@ -197,13 +202,13 @@ if (faxNumbers) { emails = from("PartyContactWithPurpose") .where("partyId", partyId, "contactMechPurposeTypeId", "PRIMARY_EMAIL") - .filterByDate("contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") + .filterByDate(referenceDate, "contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") .queryList() if (emails) { context.email = from("ContactMech").where("contactMechId", emails[0].contactMechId).queryOne() } else { //get email address from party contact mech selContacts = from("PartyContactMech") - .where("partyId", partyId).filterByDate(nowTimestamp, "fromDate", "thruDate") + .where("partyId", partyId).filterByDate(referenceDate, "fromDate", "thruDate") .queryList() if (selContacts) { i = selContacts.iterator() @@ -220,7 +225,7 @@ if (emails) { // website websiteUrls = from("PartyContactWithPurpose") .where("partyId", partyId, "contactMechPurposeTypeId", "PRIMARY_WEB_URL") - .filterByDate("contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") + .filterByDate(referenceDate, "contactFromDate", "contactThruDate", "purposeFromDate", "purposeThruDate") .queryList() if (websiteUrls) { websiteUrl = EntityUtil.getFirst(websiteUrls) @@ -228,7 +233,7 @@ if (websiteUrls) { } else { //get web address from party contact mech selContacts = from("PartyContactMech") .where("partyId", partyId) - .filterByDate(nowTimestamp, "fromDate", "thruDate") + .filterByDate(referenceDate, "fromDate", "thruDate") .queryList() if (selContacts) { Iterator i = selContacts.iterator() @@ -245,7 +250,7 @@ if (websiteUrls) { //Bank account selPayments = from("PaymentMethod") .where("partyId", partyId, "paymentMethodTypeId", "EFT_ACCOUNT") - .filterByDate(nowTimestamp, "fromDate", "thruDate") + .filterByDate(referenceDate, "fromDate", "thruDate") .queryList() if (selPayments) { context.eftAccount = from("EftAccount").where("paymentMethodId", selPayments[0].paymentMethodId).queryOne() @@ -253,7 +258,7 @@ if (selPayments) { // Tax ID Info partyTaxAuthInfoList = from("PartyTaxAuthInfo").where("partyId", partyId) - .filterByDate(nowTimestamp, "fromDate", "thruDate") + .filterByDate(referenceDate, "fromDate", "thruDate") .queryList() if (partyTaxAuthInfoList) { if (address?.countryGeoId) { |
Free forum by Nabble | Edit this page |