Author: bleny Date: 2012-04-27 18:04:09 +0200 (Fri, 27 Apr 2012) New Revision: 1610 Url: http://forge.codelutin.com/repositories/revision/wao/1610 Log: fixes #1179 Erreur dans le calcul du programm?\195?\169 dans la synth?\195?\168se si on filtre sur une fa?\195?\167ade Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-04-27 16:03:24 UTC (rev 1609) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-04-27 16:04:09 UTC (rev 1610) @@ -74,21 +74,24 @@ if (filterOnFishingZone) { String fishingZoneAlias = WaoQueryHelper.newFishingZoneProperty().defaultAlias(); - query.addDistinct() - .addLeftJoin(query.getMainAlias() + "." + SampleRow.PROPERTY_FISHING_ZONE, fishingZoneAlias, false); + TopiaQuery subQuery = createQuery("SR2"); + subQuery.setSelect("SR2." + SampleRow.TOPIA_ID) + .addJoin("SR2." + SampleRow.PROPERTY_FISHING_ZONE, fishingZoneAlias, false); + if (filterOnFaceName) { - query.addEquals( + subQuery.addEquals( fishingZoneAlias + "." + FishingZone.PROPERTY_FACADE_NAME, filter.getFacadeName()); } if (filterOnSectorName) { - query.addEquals( + subQuery.addEquals( fishingZoneAlias + "." + FishingZone.PROPERTY_SECTOR_NAME, filter.getSectorName()); } + query.addSubQuery(query.getMainAlias() + "." + SampleRow.TOPIA_ID + " IN (?)", subQuery); } boolean filterOnDcfGears = filter.getFishingGearDCF() != null;
participants (1)
-
bleny@users.forge.codelutin.com