Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 117feaa8 by Tony Chemit at 2020-12-26T10:28:20+01:00 l'information nombre total d'opération de pêches sur le formulaire marée me semble un peu faible ? - See #1695 - - - - - ec3b8390 by Tony Chemit at 2020-12-26T10:33:57+01:00 On en voit pas les activités observées disponibles - Closes #1697 - - - - - 11 changed files: - client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripSelectionTreeNode.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java - client/i18n/src/main/i18n/translations/observe_en_GB.properties - client/i18n/src/main/i18n/translations/observe_es_ES.properties - client/i18n/src/main/i18n/translations/observe_fr_FR.properties - models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java - models/dto/src/main/models/Observe-35-data-ll.model - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java Changes: ===================================== client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter ===================================== @@ -30,10 +30,12 @@ observe.data.ll.common.GearUseFeatures.generalTab observe.data.ll.common.GearUseFeatures.measurementsTab observe.data.ll.common.GearUseFeatures.number observe.data.ll.common.GearUseFeatures.usedInTrip +observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount observe.data.ll.common.Trip.availableData observe.data.ll.common.Trip.ersId observe.data.ll.common.Trip.generalComment observe.data.ll.common.Trip.generalTab +observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount observe.data.ll.common.Trip.logbookAvailability observe.data.ll.common.Trip.logbookComment observe.data.ll.common.Trip.logbookDataEntryOperator @@ -43,6 +45,7 @@ observe.data.ll.common.Trip.mapTab observe.data.ll.common.Trip.noOfCrewMembers observe.data.ll.common.Trip.noOfDays observe.data.ll.common.Trip.observationMethod +observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount observe.data.ll.common.Trip.observationsAvailability observe.data.ll.common.Trip.observationsComment observe.data.ll.common.Trip.observationsDataEntryOperator @@ -51,7 +54,6 @@ observe.data.ll.common.Trip.observationsTab observe.data.ll.common.Trip.species observe.data.ll.common.Trip.species.selected observe.data.ll.common.Trip.species.universe -observe.data.ll.common.Trip.totalFishingOperationsNumber observe.data.ll.common.Trip.tripType observe.data.ll.landing.Landing.brokerageCompany observe.data.ll.landing.Landing.caracteristicsTab ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripSelectionTreeNode.java ===================================== @@ -49,7 +49,7 @@ public class TripSelectionTreeNode extends TripSelectionTreeNodeSupport<TripDto, @Override public String getText() { - String s = super.getText() + " (" + getData().getActivityObsSize() + ")"; + String s = super.getText() + " (" + getData().getObservationsActivityCount() + ")"; if (isExist()) { return t("observe.common.exist.on.remote", s); } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx ===================================== @@ -180,13 +180,13 @@ </cell> </row> - <!-- totalFishingOperationsNumber --> + <!-- associatedActivityAndFishingOperationCount --> <row> - <cell anchor='west'> - <JLabel id='totalFishingOperationsNumberLabel' styleClass="italic"/> - </cell> - <cell anchor='west' weightx="0.5"> - <JLabel id='totalFishingOperationsNumber' styleClass="skipI18n"/> + <cell columns='2'> + <JPanel id='associatedActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model"> + <JLabel id='associatedActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/> + <JLabel id='associatedActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/> + </JPanel> </cell> </row> @@ -267,7 +267,15 @@ <JaxxComboBox id='observationsDataQuality' genericType='DataQualityReference' constructorParams='this'/> </cell> </row> - + <!-- observationsActivityAndFishingOperationCount --> + <row> + <cell columns='2'> + <JPanel id='observationsActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model"> + <JLabel id='observationsActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/> + <JLabel id='observationsActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/> + </JPanel> + </cell> + </row> <!-- observationsComment --> <row> <cell columns='2' fill='both' weighty="1"> @@ -301,7 +309,15 @@ <JaxxComboBox id='logbookDataQuality' genericType='DataQualityReference' constructorParams='this'/> </cell> </row> - + <!-- logbookActivityAndFishingOperationCount --> + <row> + <cell columns='2' weightx="1"> + <JPanel id='logbookActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model"> + <JLabel id='logbookActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/> + <JLabel id='logbookActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/> + </JPanel> + </cell> + </row> <!-- logbookComment --> <row> <cell columns='2' fill='both' weighty="1"> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss ===================================== @@ -20,9 +20,19 @@ * #L% */ -#totalFishingOperationsNumber { +#associatedActivityAndFishingOperationCount { font-weight:bold; - text:{getStringValue(bean.getTotalFishingOperationsNumber())}; + text:{" " + bean.getAssociatedActivityAndFishingOperationCount()}; +} + +#observationsActivityAndFishingOperationCount { + font-weight:bold; + text:{" " + bean.getObservationsActivityAndFishingOperationCount()}; +} + +#logbookActivityAndFishingOperationCount { + font-weight:bold; + text:{" " + bean.getLogbookActivityAndFishingOperationCount()}; } #startDate { @@ -55,8 +65,6 @@ } #species { - /*showListLabel:true; - label:{t("observe.data.ll.common.Trip.species")};*/ universeLabel:{t("observe.data.ll.common.Trip.species.universe")}; selectedLabel:{t("observe.data.ll.common.Trip.species.selected")}; } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java ===================================== @@ -100,9 +100,6 @@ public class ActivityUIModel extends GeneratedActivityUIModel { } private void updateActivityObsCandidates() { - if (!getStates().isOpened()) { - return; - } log.info(String.format("%s Will update release observed activities...", getPrefix())); ActivityDto bean = getStates().getBean(); if (pairingContext == null) { ===================================== client/i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Change program observe.data.ll.common.Trip.action.move.choose.parent.message=Select target program observe.data.ll.common.Trip.action.move.choose.parent.title=Move trips to another program observe.data.ll.common.Trip.action.move.tip=Change program of trip(s) +observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count observe.data.ll.common.Trip.availableData=Available data observe.data.ll.common.Trip.ersId=Id ERS observe.data.ll.common.Trip.generalComment=Comment @@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=Common characteristics observe.data.ll.common.Trip.list.message.none=No trip for current program observe.data.ll.common.Trip.list.navigation.node=Trip observe.data.ll.common.Trip.list.title=List of trips +observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count observe.data.ll.common.Trip.logbookAvailability=Logbook and associated data observe.data.ll.common.Trip.logbookComment=Comment observe.data.ll.common.Trip.logbookTab=Logbook and associated data @@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=Current trip is not opened, no edit observe.data.ll.common.Trip.navigation.unsaved=New trip observe.data.ll.common.Trip.noOfCrewMembers=Number of crew observe.data.ll.common.Trip.noOfDays=Duration (days) +observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count observe.data.ll.common.Trip.observationsAvailability=Observations observe.data.ll.common.Trip.observationsComment=Comment observe.data.ll.common.Trip.observationsTab=Observations @@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Target species observe.data.ll.common.Trip.species.selected=Selected species observe.data.ll.common.Trip.species.universe=Available species observe.data.ll.common.Trip.title=Trip -observe.data.ll.common.Trip.totalFishingOperationsNumber=Total fishing operation count observe.data.ll.common.Trip.with.logbooks.message=There is some logbook data in this trip, can't unselect logbook availability observe.data.ll.common.Trip.with.logbooks.title=Can't remove logbook availability observe.data.ll.common.Trip.with.observations.message=There is some observations in this trip, can't unselect observations availability ===================================== client/i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Reasignación del programa observe.data.ll.common.Trip.action.move.choose.parent.message=A qué programa quiere asociar las mareas seleccionadas ? observe.data.ll.common.Trip.action.move.choose.parent.title=Cambiar el programa de las mareas observe.data.ll.common.Trip.action.move.tip=Cambiar el programme de mareas seleccionadas +observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count \#TODO observe.data.ll.common.Trip.availableData=Données disponibles observe.data.ll.common.Trip.ersId=Id ERS observe.data.ll.common.Trip.generalComment=Comentarios @@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=General características observe.data.ll.common.Trip.list.message.none=Ninguna marea para el programa actual observe.data.ll.common.Trip.list.navigation.node=Marea observe.data.ll.common.Trip.list.title=List of trips +observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count \#TODO observe.data.ll.common.Trip.logbookAvailability=Diario de pesca y datos asociados observe.data.ll.common.Trip.logbookComment=Comentarios observe.data.ll.common.Trip.logbookTab=Diario de pesca y datos asociados @@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=La marea actual no está abierta, n observe.data.ll.common.Trip.navigation.unsaved=Nueva marea observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage observe.data.ll.common.Trip.noOfDays=Duración (días) +observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count \#TODO observe.data.ll.common.Trip.observationsAvailability=Observaciones observe.data.ll.common.Trip.observationsComment=Comentarios observe.data.ll.common.Trip.observationsTab=Observaciones @@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Especie objetivo observe.data.ll.common.Trip.species.selected=Espèces sélectionnées \#TODO observe.data.ll.common.Trip.species.universe=Espèces disponibles \#TODO observe.data.ll.common.Trip.title=Marea -observe.data.ll.common.Trip.totalFishingOperationsNumber=Número total de las operaciones de pesca observe.data.ll.common.Trip.with.logbooks.message=There is some logbook data in this trip, can't unselect logbook availability \#TODO observe.data.ll.common.Trip.with.logbooks.title=Can't remove logbook availability \#TODO observe.data.ll.common.Trip.with.observations.message=There is some observations in this trip, can't unselect observations availability \#TODO ===================================== client/i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Réallocation du programme observe.data.ll.common.Trip.action.move.choose.parent.message=A quel programme voulez-vous associer les marées sélectionnées ? observe.data.ll.common.Trip.action.move.choose.parent.title=Changer le programme des marées observe.data.ll.common.Trip.action.move.tip=Changer le programme des marées sélectionnées +observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche mises en correspondance observe.data.ll.common.Trip.availableData=Données disponibles observe.data.ll.common.Trip.ersId=Id ERS observe.data.ll.common.Trip.generalComment=Commentaire @@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=Caractéristiques communes observe.data.ll.common.Trip.list.message.none=Aucune marée pour le programme courant observe.data.ll.common.Trip.list.navigation.node=Marée observe.data.ll.common.Trip.list.title=Liste de marées +observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche livre de bord observe.data.ll.common.Trip.logbookAvailability=Livre de bord et données associées observe.data.ll.common.Trip.logbookComment=Commentaire observe.data.ll.common.Trip.logbookTab=Livre de bord et données associées @@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=La marée courante n'est pas ouvert observe.data.ll.common.Trip.navigation.unsaved=Nouvelle marée observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage observe.data.ll.common.Trip.noOfDays=Durée (jours) +observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche observées observe.data.ll.common.Trip.observationsAvailability=Données d'observation observe.data.ll.common.Trip.observationsComment=Commentaire observe.data.ll.common.Trip.observationsTab=Données d'observation @@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Espèces ciblées observe.data.ll.common.Trip.species.selected=Espèces sélectionnées observe.data.ll.common.Trip.species.universe=Espèces disponibles observe.data.ll.common.Trip.title=Marée -observe.data.ll.common.Trip.totalFishingOperationsNumber=Nombre total d'opérations de pêche observe.data.ll.common.Trip.with.logbooks.message=Il existe des données `Livre de bord` sur cette marée, impossible de désactiver cette propriété observe.data.ll.common.Trip.with.logbooks.title=Impossible de désactiver la présence des livres de bord observe.data.ll.common.Trip.with.observations.message=Il existe des observations sur cette marée, impossible de désactiver cette propriété ===================================== models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java ===================================== @@ -52,20 +52,68 @@ public class TripDto extends GeneratedTripDto { return I18nDecoratorHelper.getStartEndDateLabel(getStartDate(), getEndDate()); } + @Override + public void setStartDate(Date startDate) { + super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate)); + } + + @Override + public void setObservationsActivityCount(int observationsActivityCount) { + super.setObservationsActivityCount(observationsActivityCount); + firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount()); + } + + @Override + public void setObservationsFishingOperationCount(int observationsFishingOperationCount) { + super.setObservationsFishingOperationCount(observationsFishingOperationCount); + firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount()); + } + + public String getObservationsActivityAndFishingOperationCount() { + return String.format("%d / %d", getObservationsActivityCount(), getObservationsFishingOperationCount()); + } + + @Override + public void setLogbookActivityCount(int logbookActivityCount) { + super.setLogbookActivityCount(logbookActivityCount); + firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount()); + } + + @Override + public void setLogbookFishingOperationCount(int logbookFishingOperationCount) { + super.setLogbookFishingOperationCount(logbookFishingOperationCount); + firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount()); + } + + public String getLogbookActivityAndFishingOperationCount() { + return String.format("%d / %d", getLogbookActivityCount(), getLogbookFishingOperationCount()); + } + + @Override + public void setAssociatedActivityCount(int associatedActivityCount) { + super.setAssociatedActivityCount(associatedActivityCount); + firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount()); + } + + @Override + public void setAssociatedFishingOperationCount(int associatedFishingOperationCount) { + super.setAssociatedFishingOperationCount(associatedFishingOperationCount); + firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount()); + } + + public String getAssociatedActivityAndFishingOperationCount() { + return String.format("%d / %d", getAssociatedActivityCount(), getAssociatedFishingOperationCount()); + } + public void updateNoOfDays() { setNoOfDays(createNoOfDay(startDate, endDate)); } public boolean withLogbookData() { - return getActivityLogbookSize() > 0 || getSampleSize() > 0 || getLandingSize() > 0; + return getLogbookActivityCount() > 0 || getSampleSize() > 0 || getLandingSize() > 0; } public boolean withObservationData() { - return isNotActivityObsEmpty(); - } - - @Override - public void setStartDate(Date startDate) { - super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate)); + return getObservationsActivityCount() > 0; } } ===================================== models/dto/src/main/models/Observe-35-data-ll.model ===================================== @@ -10,15 +10,19 @@ data.ll.common.GearUseFeaturesMeasurement > data.Data | references=measurementVa measurementValue + {*:1} String gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference -data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,activityObsSize,activityLogbookSize,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program +data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program startDate + {*:1} Date | notNull endDate + {*:1} Date | notNull -totalFishingOperationsNumber + {*:1} Integer ersId + {*:1} String generalComment + {*:1} String observationsComment + {*:1} String logbookComment + {*:1} String -activityLogbookSize + {*:1} int +logbookActivityCount + {*:1} int +logbookFishingOperationCount + {*:1} int +observationsActivityCount + {*:1} int +observationsFishingOperationCount + {*:1} int +associatedActivityCount + {*:1} int +associatedFishingOperationCount + {*:1} int sampleSize + {*:1} int landingSize + {*:1} int noOfCrewMembers + {*:1} Integer ===================================== models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java ===================================== @@ -25,7 +25,6 @@ package fr.ird.observe.entities.data.ll.common; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.ll.common.TripDto; import fr.ird.observe.dto.referential.ReferentialLocale; -import fr.ird.observe.entities.data.ll.observation.Activity; import org.nuiton.util.DateUtil; import java.util.Date; @@ -45,25 +44,41 @@ public class TripImpl extends TripAbstract { super.toDto(referentialLocale, dto); if (dto instanceof TripDto) { TripDto dto1 = (TripDto) dto; - //FIXME Improve this to compute it in dto.postInit method - dto1.setTotalFishingOperationsNumber(computeTotalFishingOperationsNumber()); + + dto1.setObservationsActivityCount(getActivityObsSize()); + dto1.setLogbookActivityCount(getActivityLogbookSize()); + + int observationsFishingOperationCount = 0; + int logbookFishingOperationCount = 0; + int associatedActivityCount = 0; + int associatedFishingOperationCount = 0; + for (fr.ird.observe.entities.data.ll.observation.Activity a : getActivityObs()) { + if (a.isSetOperation()) { + observationsFishingOperationCount++; + } + } + for (fr.ird.observe.entities.data.ll.logbook.Activity a : getActivityLogbook()) { + boolean withRelated = a.getRelatedObservedActivity() != null; + if (withRelated) { + associatedActivityCount++; + } + if (a.isSetOperation()) { + logbookFishingOperationCount++; + if (withRelated) { + associatedFishingOperationCount++; + } + } + } + dto1.setObservationsFishingOperationCount(observationsFishingOperationCount); + dto1.setLogbookFishingOperationCount(logbookFishingOperationCount); + dto1.setAssociatedActivityCount(associatedActivityCount); + dto1.setAssociatedFishingOperationCount(associatedFishingOperationCount); } } @Override public Date getTheoreticalEndDate() { - Date lastActivityDate = isActivityObsEmpty() ? null : getActivityObs().stream().map(Activity::getTimeStamp).max(Date::compareTo).orElse(null); + Date lastActivityDate = isActivityObsEmpty() ? null : getActivityObs().stream().map(fr.ird.observe.entities.data.ll.observation.Activity::getTimeStamp).max(Date::compareTo).orElse(null); return DateUtil.getEndOfDay(lastActivityDate == null ? getStartDate() : lastActivityDate); } - - private int computeTotalFishingOperationsNumber() { - int result = 0; - if (isActivityLogbookNotEmpty()) { - result += activityLogbook.stream().filter(fr.ird.observe.entities.data.ll.logbook.Activity::isSetOperation).count(); - } - if (isActivityObsNotEmpty()) { - result += activityObs.stream().filter(fr.ird.observe.entities.data.ll.observation.Activity::isSetOperation).count(); - } - return result; - } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e91ce44533915ee1727afe00... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e91ce44533915ee1727afe00... You're receiving this email because of your account on gitlab.com.