details: https://code.openbravo.com/erp/devel/pi/rev/6b875b0a1505 changeset: 34267:6b875b0a1505 user: Asier Martirena <asier.martirena <at> openbravo.com> date: Wed Jul 04 16:09:49 2018 +0200 summary: Fixed issue 37603: The CL flow used to fail in some cases with services. It was not possible to do a Cancel Layaway proces with one ticket that contains a deleted (and stored) service line, nor a ticket with a delivered service.
diffstat: src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diffs (24 lines): diff -r 8bf896a22664 -r 6b875b0a1505 src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java --- a/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java Tue Dec 12 18:23:16 2017 +0100 +++ b/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java Wed Jul 04 16:09:49 2018 +0200 @@ -1030,15 +1030,19 @@ final OBCriteria<OrderLine> oldOrderLineCriteria = OBDal.getInstance().createCriteria( OrderLine.class); oldOrderLineCriteria.add(Restrictions.eq(OrderLine.PROPERTY_SALESORDER, oldOrder)); + oldOrderLineCriteria.add(Restrictions.eq(OrderLine.PROPERTY_OBPOSISDELETED, false)); for (final OrderLine oldOrderLine : oldOrderLineCriteria.list()) { final StringBuffer where = new StringBuffer(); - where.append(" WHERE (" + OrderlineServiceRelation.PROPERTY_SALESORDERLINE + where.append(" WHERE " + OrderlineServiceRelation.PROPERTY_SALESORDERLINE + "." + + OrderLine.PROPERTY_ID + " IN :cancellingLines"); + where.append(" AND (" + OrderlineServiceRelation.PROPERTY_SALESORDERLINE + " = :salesorderline"); where.append(" OR " + OrderlineServiceRelation.PROPERTY_ORDERLINERELATED + " = :salesorderline)"); final OBQuery<OrderlineServiceRelation> serviceRelationQuery = OBDal.getInstance() .createQuery(OrderlineServiceRelation.class, where.toString()); serviceRelationQuery.setNamedParameter("salesorderline", oldOrderLine); + serviceRelationQuery.setNamedParameter("cancellingLines", linesRelations.keySet()); for (final OrderlineServiceRelation serviceRelation : serviceRelationQuery.list()) { if (!createdRelations.contains(serviceRelation.getId())) { createdRelations.add(serviceRelation.getId()); ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits