Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3
Commits:
-
2ca9ec8e
by Tony CHEMIT at 2018-04-11T13:21:13Z
3 changed files:
- t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF2Action.java
- t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties
- t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties
Changes:
| ... | ... | @@ -128,22 +128,22 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 128 | 128 |
setSpeciesByCountry(result);
|
| 129 | 129 |
tripDone = TreeMultimap.create();
|
| 130 | 130 |
List<Trip> tripList = getUsableTrips(landingHarbours, true);
|
| 131 |
- log.info("Trip count: "+tripList.size());
|
|
| 131 |
+ log.info("Trip count: " + tripList.size());
|
|
| 132 | 132 |
setTrips(tripList);
|
| 133 | 133 |
completeTripsByVessel = ArrayListMultimap.create();
|
| 134 | 134 |
// get all trips group by the vessel
|
| 135 | 135 |
ListMultimap<Vessel, Trip> tripsByVessel = TripTopiaDao.groupByVessel(tripList);
|
| 136 |
- log.info("Trip vessel count: "+tripsByVessel.keySet().size());
|
|
| 136 |
+ log.info("Trip vessel count: " + tripsByVessel.keySet().size());
|
|
| 137 | 137 |
|
| 138 | 138 |
// compute for each vessel list of complete trip
|
| 139 | 139 |
for (Map.Entry<Vessel, Collection<Trip>> entry : tripsByVessel.asMap().entrySet()) {
|
| 140 | 140 |
Vessel vessel = entry.getKey();
|
| 141 | 141 |
List<Trip> tripsForVessel = new ArrayList<>(entry.getValue());
|
| 142 |
- log.info("Trip vessel ["+vessel.getLabel1()+"] count: "+tripsForVessel.size());
|
|
| 142 |
+ log.info("Trip vessel [" + vessel.getLabel1() + "] count: " + tripsForVessel.size());
|
|
| 143 | 143 |
TripTopiaDao.sortTrips(tripsForVessel);
|
| 144 | 144 |
// get all complete trips
|
| 145 | 145 |
List<CompleteTrip> completeTrips = tripDAO.toCompleteTrip(tripsForVessel);
|
| 146 |
- log.info("Complete trip vessel ["+vessel.getLabel1()+"] count: "+completeTrips.size());
|
|
| 146 |
+ log.info("Complete trip vessel [" + vessel.getLabel1() + "] count: " + completeTrips.size());
|
|
| 147 | 147 |
completeTripsByVessel.putAll(vessel, completeTrips);
|
| 148 | 148 |
}
|
| 149 | 149 |
|
| ... | ... | @@ -169,8 +169,10 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 169 | 169 |
|
| 170 | 170 |
boolean computeRf2 = !getConfiguration().isConfigurationEmpty();
|
| 171 | 171 |
|
| 172 |
- if (species.isEmpty()) {
|
|
| 173 |
- log.info(String.format("Won't compute rf2 for any stratum of fleet %s since no species found for it.", countryStr));
|
|
| 172 |
+ if (computeRf2 && species.isEmpty()) {
|
|
| 173 |
+ String message = l(locale, "t3.level0.computeRF2.skip.missing.species", harbourStr, countryStr);
|
|
| 174 |
+ log.info(message);
|
|
| 175 |
+ addInfoMessage(message);
|
|
| 174 | 176 |
computeRf2 = false;
|
| 175 | 177 |
}
|
| 176 | 178 |
for (VesselSimpleType vesselSimpleType : vesselSimpleTypes) {
|
| ... | ... | @@ -191,6 +193,32 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 191 | 193 |
T3Date month = entry.getKey();
|
| 192 | 194 |
Collection<CompleteTrip> stratumTrips = entry.getValue();
|
| 193 | 195 |
nbStratum++;
|
| 196 |
+ boolean computeThisStratum = computeRf2;
|
|
| 197 |
+ if (computeRf2) {
|
|
| 198 |
+ // check that at least on trip miss logbook
|
|
| 199 |
+ computeThisStratum = false;
|
|
| 200 |
+ for (CompleteTrip completeTrip : stratumTrips) {
|
|
| 201 |
+ if (computeThisStratum) {
|
|
| 202 |
+ break;
|
|
| 203 |
+ }
|
|
| 204 |
+ for (Trip trip : completeTrip) {
|
|
| 205 |
+ if (trip.getElementaryCatchTotalWeightRf1(species) == 0) {
|
|
| 206 |
+ |
|
| 207 |
+ // no logbook on this
|
|
| 208 |
+ computeThisStratum = true;
|
|
| 209 |
+ String message = l(locale, "t3.level0.computeRF2.found.missing.logbook", harbourStr, countryStr, vesselSimpleTypeStr, decorate(trip));
|
|
| 210 |
+ log.info(message);
|
|
| 211 |
+ addInfoMessage(message);
|
|
| 212 |
+ break;
|
|
| 213 |
+ }
|
|
| 214 |
+ }
|
|
| 215 |
+ }
|
|
| 216 |
+ if (!computeThisStratum) {
|
|
| 217 |
+ String message = l(locale, "t3.level0.computeRF2.skip.missing.logbook", harbourStr, countryStr, vesselSimpleTypeStr);
|
|
| 218 |
+ log.info(message);
|
|
| 219 |
+ addInfoMessage(message);
|
|
| 220 |
+ }
|
|
| 221 |
+ }
|
|
| 194 | 222 |
String message = l(locale, "t3.level0.computeRF2.nbTrips.for.stratum",
|
| 195 | 223 |
stratumTrips.size(),
|
| 196 | 224 |
nbStratum,
|
| ... | ... | @@ -200,7 +228,7 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 200 | 228 |
month);
|
| 201 | 229 |
log.info(message);
|
| 202 | 230 |
addInfoMessage(message);
|
| 203 |
- executeForStratum(harbour, fleet, vesselSimpleType, month, species, stratumTrips, computeRf2);
|
|
| 231 |
+ executeForStratum(harbour, fleet, vesselSimpleType, month, species, stratumTrips, computeThisStratum);
|
|
| 204 | 232 |
}
|
| 205 | 233 |
}
|
| 206 | 234 |
}
|
| ... | ... | @@ -269,7 +297,9 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 269 | 297 |
}
|
| 270 | 298 |
// do the rf2 stratum computation
|
| 271 | 299 |
float rf2 = computeRf2 ? computeRF2ForStratum(trips, species) : 1f;
|
| 272 |
- addInfoMessage(l(locale, "t3.level0.computeRF2.computed.rf2.for.stratum", rf2));
|
|
| 300 |
+ if (computeRf2) {
|
|
| 301 |
+ addInfoMessage(l(locale, "t3.level0.computeRF2.computed.rf2.for.stratum", rf2));
|
|
| 302 |
+ }
|
|
| 273 | 303 |
// assign rf2 value to the entity
|
| 274 | 304 |
raisingFactor.setRaisingFactorValue(rf2);
|
| 275 | 305 |
if (!rFCreated) {
|
| ... | ... | @@ -308,12 +338,12 @@ public class ComputeRF2Action extends AbstractLevel0Action<ComputeRF2Configurati |
| 308 | 338 |
tripCatchWeight = trip.getElementaryCatchTotalWeightRf1(species);
|
| 309 | 339 |
}
|
| 310 | 340 |
totalCatchWeight += tripCatchWeight;
|
| 311 |
- if (canLog(tripStr,"compute")) {
|
|
| 341 |
+ if (canLog(tripStr, "compute")) {
|
|
| 312 | 342 |
addInfoMessage(l(locale, "t3.level0.computeRF2.resume.rf1.for.trip", tripStr, tripCatchWeight, tripLandingWeight));
|
| 313 | 343 |
}
|
| 314 | 344 |
} else {
|
| 315 | 345 |
// this trip does not have any landing catches for given species
|
| 316 |
- if (canLog(tripStr,"compute")) {
|
|
| 346 |
+ if (canLog(tripStr, "compute")) {
|
|
| 317 | 347 |
addWarningMessage(l(locale, "t3.level0.computeRF2.resume.skip.for.trip", tripStr));
|
| 318 | 348 |
}
|
| 319 | 349 |
}
|
| ... | ... | @@ -38,10 +38,13 @@ t3.level0.computeRF1.warning.too.high.rf1=For complete trip %s from %s to %s com |
| 38 | 38 |
t3.level0.computeRF1.warning.too.low.rf1=For complete trip %s from %s to %s computed rf1 is too small (less than %s)
|
| 39 | 39 |
t3.level0.computeRF1.warning.trip.is.not.complete=Trip %s is not compelte, can not compute any rf1 for it
|
| 40 | 40 |
t3.level0.computeRF2.computed.rf2.for.stratum=Computed rf2 for stratum \: %s
|
| 41 |
+t3.level0.computeRF2.found.missing.logbook=Stratum [%s/%s/%s] - found a trip {%s} without logbook, will compute rf2.
|
|
| 41 | 42 |
t3.level0.computeRF2.nbTrips.for.stratum=%s complete trip(s) for Stratum (%s) [%s/%s/%s/%s]
|
| 42 | 43 |
t3.level0.computeRF2.resume.rf1.for.trip=Trip %s total rf1 catches weight %s / total landing weight %s
|
| 43 | 44 |
t3.level0.computeRF2.resume.skip.for.trip=Trip %s has not elementary landing (trip not used to compute rf2)
|
| 44 | 45 |
t3.level0.computeRF2.resume.total.rf1=Sum total rf1 catches weight %s / Sum total landing weight %s
|
| 46 |
+t3.level0.computeRF2.skip.missing.logbook=Stratum [%s/%s/%s] - won't compute rf2, since no logbook is missing.
|
|
| 47 |
+t3.level0.computeRF2.skip.missing.species=Strate [%s/%s/???] - won't compute rf2, since no species found the fleet.
|
|
| 45 | 48 |
t3.level0.computeSetDurationAndPositiveSetCount.error.noSetDurationFound=SetDuration data not found (ocean %s, fleet %s, school type %s, year %s)
|
| 46 | 49 |
t3.level0.computeTripEffort=Trip efforts %s (fishing %s, search %s)
|
| 47 | 50 |
t3.level0.computeTripEffortSkipForDay=Trip %s, day without fishing time (only activities of type « at harbour » or « under way without prospection »)
|
| ... | ... | @@ -38,10 +38,13 @@ t3.level0.computeRF1.warning.too.high.rf1=Pour la marée complète %s de %s à % |
| 38 | 38 |
t3.level0.computeRF1.warning.too.low.rf1=Pour la marée complète %s de %s à %s le rf1 calculé %s est trop petit (inférieur à %s)
|
| 39 | 39 |
t3.level0.computeRF1.warning.trip.is.not.complete=La marée %s n'est pas complète, calcul du rf1 impossible
|
| 40 | 40 |
t3.level0.computeRF2.computed.rf2.for.stratum=Valeur du rf2 calculé pour la strate \: %s
|
| 41 |
+t3.level0.computeRF2.found.missing.logbook=Strate [%s/%s/%s] - une marée {%s} sans logbook a été trouvée, calcul du rf2 programmé.
|
|
| 41 | 42 |
t3.level0.computeRF2.nbTrips.for.stratum=%s marée(s) complête(s) pour la Strate (%s) [%s/%s/%s/%s]
|
| 42 | 43 |
t3.level0.computeRF2.resume.rf1.for.trip=Marée %s Poids total des captures rf1isées %s / Poids total des ventes %s
|
| 43 | 44 |
t3.level0.computeRF2.resume.skip.for.trip=La marée %s ne possède pas de lots commerciaux (non prise en compte dans le calcul du rf2)
|
| 44 | 45 |
t3.level0.computeRF2.resume.total.rf1=Poids cumulé des captures rf1isées %s / Poids cumulé des ventes %s
|
| 46 |
+t3.level0.computeRF2.skip.missing.logbook=Strate [%s/%s/%s] - le rf2 ne sera pas calculé, aucun logbook manquant.
|
|
| 47 |
+t3.level0.computeRF2.skip.missing.species=Strate [%s/%s/???] - le rf2 ne sera pas calculé, pas d'espèce trouvé pour la flotte.
|
|
| 45 | 48 |
t3.level0.computeSetDurationAndPositiveSetCount.error.noSetDurationFound=Donnée SetDuration non trouvée (ocean %s, flotte %s, type de banc %s, année %s)
|
| 46 | 49 |
t3.level0.computeTripEffort=Efforts de la marée %s (pêche %s, recherche %s)
|
| 47 | 50 |
t3.level0.computeTripEffortSkipForDay=Marée %s, jour sans temps de pêche (uniquement des activités « au port » ou « route sans veille »)
|