details: https://code.openbravo.com/erp/devel/pi/rev/3ba9aeac5440 changeset: 35308:3ba9aeac5440 user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com> date: Thu Jan 10 12:24:54 2019 +0100 summary: Fixes invoice creation from shipment for POS orders
diffstat: src/org/openbravo/materialmgmt/InvoiceGeneratorFromGoodsShipment.java | 19 +++++++-- 1 files changed, 15 insertions(+), 4 deletions(-) diffs (64 lines): diff -r aa95d0940466 -r 3ba9aeac5440 src/org/openbravo/materialmgmt/InvoiceGeneratorFromGoodsShipment.java --- a/src/org/openbravo/materialmgmt/InvoiceGeneratorFromGoodsShipment.java Thu Jan 10 12:26:05 2019 +0530 +++ b/src/org/openbravo/materialmgmt/InvoiceGeneratorFromGoodsShipment.java Thu Jan 10 12:24:54 2019 +0100 @@ -26,6 +26,8 @@ import java.util.List; import java.util.Set; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; @@ -60,17 +62,16 @@ import org.openbravo.service.db.CallStoredProcedure; import org.openbravo.service.db.DalConnectionProvider; import org.openbravo.service.db.DbUtility; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; /** * This class generates and processes Invoice from Goods Shipment. Only goods shipment lines not - * linked to a Sales Order, or from Sales Order with Invoice Term "After Delivery", - * "After Order Delivery" or "Immediate" are considered. + * linked to a Sales Order, or from Sales Order with Invoice Term "After Delivery", "After Order + * Delivery" or "Immediate" are considered. * */ public class InvoiceGeneratorFromGoodsShipment { private static final Logger log = LogManager.getLogger(); + private static final String POS_ORDER = "WR"; private String shipmentId; private Invoice invoice; @@ -86,6 +87,9 @@ InvoiceTerm.IMMEDIATE.getInvoiceTerm(), InvoiceTerm.AFTER_DELIVERY.getInvoiceTerm(), CUSTOMERSCHEDULE.getInvoiceTerm()); + private static final List<String> SHOULD_INVOICE__WEBPOS_ORDERLINE = Arrays.asList( + InvoiceTerm.AFTER_DELIVERY.getInvoiceTerm(), AFTER_ORDER_DELIVERY.getInvoiceTerm()); + private String invoiceTermId; private InvoiceTerm(final String invoiceTermId) { @@ -96,6 +100,10 @@ return CAN_INVOICE_ORDERLINE_INDIVIDUALLY.contains(invoiceTerm); } + private static boolean shouldInvoicePOSOrderLine(final String invoiceTerm) { + return SHOULD_INVOICE__WEBPOS_ORDERLINE.contains(invoiceTerm); + } + private String getInvoiceTerm() { return invoiceTermId; } @@ -245,6 +253,9 @@ } private boolean isOrderCandidateToBeInvoiced(final Order order) { + if (POS_ORDER.equals(order.getDocumentType().getSOSubType())) { + return InvoiceTerm.shouldInvoicePOSOrderLine(order.getInvoiceTerms()); + } return !OBDao .getFilteredCriteria(InvoiceCandidateV.class, Restrictions.eq(InvoiceCandidateV.PROPERTY_ID, order.getId())).setMaxResults(1).list() _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits