Commit a035a519 authored by COTONNEC's avatar COTONNEC
Browse files

Merge remote-tracking branch 'origin/develop' into develop

parents bbe056de 97fe41c3
......@@ -74,7 +74,7 @@ variables:
- ${ARTIFACT_CONFIG_FILES}
reports:
dotenv: ${ENV_FILE}
expire_in: 60 minutes
expire_in: 72 hours
build:
extends: .build
......@@ -118,14 +118,14 @@ docker:ci:
artifacts:
paths:
- target/ci/Dockerfile
expire_in: 60 minutes
expire_in: 72 hours
# ---------------------------------------------------------------
# Test jobs
# ---------------------------------------------------------------
# ---------------------------------------------------------------
# Build jobs
# Tests jobs
# ---------------------------------------------------------------
.test:
......@@ -143,14 +143,17 @@ docker:ci:
- ${ARTIFACT_CORE_MODULE}/target/surefire-reports/*
- ${ARTIFACT_WAR_MODULE}/target/surefire-reports/*
- ${ARTIFACT_WAR_MODULE}/site/surefire-report.html
expire_in: 1 days
expire_in: 72 hours
test:
extends: .test
image: ${CI_BUILD_IMAGE}
only:
- develop
when: manual
rules:
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_MERGE_REQUEST_ID || $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_BRANCH =~ /^feature/'
when: manual
allow_failure: true
sonarqube:
stage: test
......@@ -251,7 +254,10 @@ gitlab-release:
extends: .docker
stage: docker
script:
# Create the target directory
# Build variables: set default values
- export IMAGE_USERID=${IMAGE_USERID:-20001}
- export IMAGE_GROUPID=${IMAGE_GROUPID:-20001}
# Create the target directory, to build the image
- mkdir -p target/docker/config
- cp -rf ${APP_WAR_MODULE}/src/main/docker/* target/docker/
- cp -f ${ARTIFACT_WAR_FILE} target/docker/app.war
......@@ -260,25 +266,25 @@ gitlab-release:
- cd target/docker
# Build docker image
- docker pull ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} || true
- docker build --cache-from ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} --pull -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} .
#- docker build --no-cache -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} .
- docker build --cache-from ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} --pull -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} --build-arg="USERID=${IMAGE_USERID}" --build-arg="GROUPID=${IMAGE_GROUPID}" .
#- docker build --no-cache -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} --build-arg="USERID=${IMAGE_USERID}" --build-arg="GROUPID=${IMAGE_GROUPID}" .
- docker push ${CI_REGISTRY_IMAGE}:${IMAGE_TAG}
artifacts:
paths:
- target/docker
expire_in: 60 minutes
expire_in: 72 hours
docker:develop:
extends: .docker-build
variables:
IMAGE_TAG: develop
IMAGE_TAG: 'develop'
only:
- develop
docker:imagine:
extends: .docker-build
variables:
IMAGE_TAG: imagine
IMAGE_TAG: 'imagine'
only:
- feature/imagine
......@@ -289,21 +295,32 @@ docker:release:
only:
- tags
docker:production:
extends: .docker-build
variables:
IMAGE_TAG: 'production'
IMAGE_USERID: ${PRODUCTION_IMAGE_USERID}
IMAGE_GROUPID: ${PRODUCTION_IMAGE_GROUPID}
only:
- tags
- feature/imagine
when: manual
# ---------------------------------------------------------------
# Publish jobs
# ---------------------------------------------------------------
.deploy-file:
stage: deploy
stage: publish
tags: [sih_public_runner]
script:
- APP_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout)
- APP_GROUP_ID=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.groupId -q -DforceStdout)
- mvn deploy:deploy-file -s ./ci_settings.xml -DgroupId=${APP_GROUP_ID} -DartifactId=${APP_WAR_MODULE} -Dversion=${APP_VERSION} -Dfile=${APP_WAR_MODULE}/target/${APP_WAR_MODULE}-${APP_VERSION}.war -DrepositoryId=job-maven -Durl=$MAVEN_REPO_URL
deploy-file:develop:
deploy-file:
extends: .deploy-file
needs: [fast-build]
needs: [build]
only:
- develop
when: manual
......@@ -318,7 +335,7 @@ failsafe-deploy-file:develop:
deploy-file:release:
extends: .deploy-file
image: ${CI_BUILD_IMAGE}
needs: [fast-build]
needs: [build]
allow_failure: true
only:
- tags
......
......@@ -32,8 +32,12 @@
<!-- other fields -->
<select alias="START_DATE" type="date">APP.START_DATE</select>
<select alias="END_DATE" type="date">APP.END_DATE</select>
<!-- TODO: EFFORT à renommer en ??? -->
<select alias="EXPECTED_EFFORT" type="number">APP.ACQUISITION_NUMBER</select>
<select alias="REALIZED_EFFORT" type="number">count(distinct S.ID)</select>
<!--<select alias="SAMPLE_COUNT" type="number">count(distinct S.ID)</select>-->
<select alias="LANDING_COUNT" type="number">count(distinct L.ID)</select>
<!-- hidden columns -->
......
......@@ -275,34 +275,40 @@ public class StrategyRepositoryImpl
@Override
public String computeNextSampleLabelByStrategy(String strategyLabel, String labelSeparator, int nbDigit) {
Preconditions.checkNotNull(strategyLabel);
final String prefix = (labelSeparator == null) ? strategyLabel : strategyLabel + labelSeparator;
final String prefix = StringUtils.isNotBlank(labelSeparator) ? strategyLabel + labelSeparator : strategyLabel;
CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<String> query = builder.createQuery(String.class);
Root<Sample> root = query.from(Sample.class);
ParameterExpression<Integer> idParam = builder.parameter(Integer.class);
ParameterExpression<String> valueParam = builder.parameter(String.class);
ParameterExpression<Integer> tagIdPmfmIdParam = builder.parameter(Integer.class);
ParameterExpression<Integer> strategyPmfmIdParam = builder.parameter(Integer.class);
ParameterExpression<String> strategyLabelParam = builder.parameter(String.class);
Join<Sample, Landing> landingInnerJoin = root.join(Sample.Fields.LANDING, JoinType.INNER);
Join<Landing, LandingMeasurement> measurementInnerJoin = landingInnerJoin.joinList(Landing.Fields.MEASUREMENTS, JoinType.INNER);
Join<Landing, LandingMeasurement> strategyMeasurementInnerJoin = landingInnerJoin.joinList(Landing.Fields.MEASUREMENTS, JoinType.INNER);
Join<Landing, LandingMeasurement> tagIdInnerJoin = landingInnerJoin.joinList(Landing.Fields.MEASUREMENTS, JoinType.INNER);
query.select(root.get(Sample.Fields.LABEL))
query.select(tagIdInnerJoin.get(LandingMeasurement.Fields.ALPHANUMERICAL_VALUE))
.distinct(true)
.where(
builder.and(
builder.equal(measurementInnerJoin.get(LandingMeasurement.Fields.PMFM).get(IEntity.Fields.ID), idParam),
builder.equal(measurementInnerJoin.get(LandingMeasurement.Fields.ALPHANUMERICAL_VALUE), valueParam)
// Tag id measurement
builder.equal(tagIdInnerJoin.get(LandingMeasurement.Fields.PMFM).get(IEntity.Fields.ID), tagIdPmfmIdParam),
// Strategy measurement
builder.equal(strategyMeasurementInnerJoin.get(LandingMeasurement.Fields.PMFM).get(IEntity.Fields.ID), strategyPmfmIdParam),
builder.equal(strategyMeasurementInnerJoin.get(LandingMeasurement.Fields.ALPHANUMERICAL_VALUE), strategyLabelParam)
));
String result = getEntityManager()
.createQuery(query)
.setParameter(idParam, PmfmEnum.STRATEGY_LABEL.getId())
.setParameter(valueParam, strategyLabel)
.getResultStream()
.max(String::compareTo)
.map(source -> StringUtils.removeStart(source, prefix))
.orElse("0");
.createQuery(query)
.setParameter(tagIdPmfmIdParam, PmfmEnum.TAG_ID.getId())
.setParameter(strategyPmfmIdParam, PmfmEnum.STRATEGY_LABEL.getId())
.setParameter(strategyLabelParam, strategyLabel)
.getResultStream()
.max(String::compareTo)
.map(source -> StringUtils.removeStart(source, prefix))
.orElse("0");
if (!StringUtils.isNumeric(result)) {
throw new SumarisTechnicalException(String.format("Unable to increment label '%s' on sample", prefix.concat(result)));
......
......@@ -54,6 +54,11 @@ public class Software implements IItemReferentialEntity {
@Column(nullable = false, length = LENGTH_NAME)
private String name;
private String description;
@Column(length = LENGTH_COMMENTS)
private String comments;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "status_fk", nullable = false)
private Status status;
......
......@@ -28,7 +28,6 @@ import lombok.experimental.FieldNameConstants;
import net.sumaris.core.util.Beans;
import net.sumaris.core.vo.administration.user.DepartmentVO;
import java.util.Date;
import java.util.List;
import java.util.Map;
......
......@@ -36,6 +36,8 @@ public class SoftwareVO implements IReferentialVO {
private Integer id;
private String label;
private String name;
private String description;
private String comments;
private Date updateDate;
private Date creationDate;
private Integer statusId;
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
~ #%L
~ SUMARiS
~ %%
~ Copyright (C) 2019 SUMARiS Consortium
~ %%
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as
~ published by the Free Software Foundation, either version 3 of the
~ License, or (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public
~ License along with this program. If not, see
~ <http://www.gnu.org/licenses/gpl-3.0.html>.
~ #L%
-->
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"
logicalFilePath="https://github.com/sumaris-net/sumaris-pod/blob/master/sumaris-core/src/main/resources/net/sumaris/core/db/changelog/hsqldb/db-changelog-1.8.8.xml">
<property name="sqlCheck.not_empty.sql" value="SELECT COUNT(*) FROM STATUS WHERE ID=1"/>
<property name="sqlCheck.not_empty.expectedResult" value="1"/>
<changeSet author="ludovic.pecquot@e-is.pro" id="1619445032000-1">
<preConditions onFail="MARK_RAN">
<and>
<not><columnExists tableName="software" columnName="description"/></not>
<not><columnExists tableName="software" columnName="comments"/></not>
</and>
</preConditions>
<addColumn tableName="software">
<column name="description" type="VARCHAR(255)"/>
<column name="comments" type="VARCHAR(2000)"/>
</addColumn>
</changeSet>
<!-- update SYSTEM_VERSION -->
<changeSet author="benoit.lavenier@e-is.pro" id="1619445032000-200" runOnChange="true">
<delete tableName="SYSTEM_VERSION">
<where>LABEL='1.8.8'</where>
</delete>
<insert tableName="SYSTEM_VERSION">
<column name="ID" valueComputed="NEXT VALUE FOR SYSTEM_VERSION_SEQ"/>
<column name="LABEL">1.8.8</column>
<column name="DESCRIPTION">
- SOFTWARE: Add columns DESCRIPTION and COMMENTS
</column>
<column name="CREATION_DATE" valueComputed="sysdate"/>
<column name="UPDATE_DATE" valueComputed="current_timestamp"/>
<column name="COMMENTS">
</column>
</insert>
</changeSet>
</databaseChangeLog>
......@@ -100,6 +100,8 @@
<include relativeToChangelogFile="true" file="db-changelog-1.8.7.xml"/>
<include relativeToChangelogFile="true" file="adap/db-changelog-1.8.7.xml"/>
<include relativeToChangelogFile="true" file="db-changelog-1.8.8.xml"/>
<!-- Refresh schema objects (functions, procedures, triggers, ...) -->
<include relativeToChangelogFile="true" file="db-changelog-refresh.xml"/>
......
FROM openjdk:8-jdk
# Build arg
ARG ENTRYPOINT=app.sh
ARG WAR_FILE=app.war
ARG CONFIG_FILES=config/*.properties
ARG USERNAME="spring"
ARG USERID="20001"
ARG GROUPNAME="spring"
ARG GROUPID="20001"
# Install dependencies
RUN apt update && apt -y install libsodium-dev
COPY ${ENTRYPOINT} /app/app.sh
# Create execution user/group
RUN echo "Creatin group ${GROUPNAME}:${GROUPID}"
RUN groupadd -g ${GROUPID} ${GROUPNAME}
RUN echo "Creatin user ${USERNAME}:${USERID}"
RUN useradd -g ${GROUPNAME} -d /app -u ${USERID} ${USERNAME}
USER ${USERNAME}:${GROUPNAME}
# Copy files
COPY --chown=${USERNAME}:${GROUPNAME} ${ENTRYPOINT} /app/app.sh
RUN chmod +x /app/app.sh
COPY ${WAR_FILE} /app/app.war
COPY ${CONFIG_FILES} /app/config/
RUN mkdir -p /app/logs && chown ${USERNAME}:${GROUPNAME} /app/logs
RUN mkdir -p /app/data && chown ${USERNAME}:${GROUPNAME} /app/data
COPY --chown=${USERNAME}:${GROUPNAME} ${WAR_FILE} /app/app.war
COPY --chown=${USERNAME}:${GROUPNAME} ${CONFIG_FILES} /app/config/
# Run
ENV PORT=8080 \
TZ=UTC \
PROFILES=default
......
#!/bin/bash
APP_NAME=sumaris
BASEDIR=/app
JAVA_OPTS="-Dsumaris.basedir=${BASEDIR}"
LOG_DIR=/app/logs
JAVA_OPTS="-D${APP_NAME}.basedir=${BASEDIR}"
JAVA_OPTS="${JAVA_OPTS} -Dspring.config.location=file:${BASEDIR}/config/"
JAVA_OPTS="${JAVA_OPTS} -Dsumaris.log.file=${LOG_DIR}/${APP_NAME}-pod.log"
JAVA_OPTS="${JAVA_OPTS} -Doracle.net.tns_admin=/home/tnsnames"
JAVA_OPTS="${JAVA_OPTS} -Doracle.jdbc.timezoneAsRegion=false"
[[ "_${PROFILES}" != "_" ]] && JAVA_OPTS="${JAVA_OPTS} -Dspring.profiles.active=${PROFILES}"
......@@ -12,6 +15,6 @@ ARGS=
# TODO test this
#ARGS=${@:2}
echo "*** Starting Application - args: ${ARGS} - profiles: ${PROFILES} ***"
echo "*** Starting ${APP_NAME}-pod - args: ${ARGS} - profiles: ${PROFILES} ***"
java ${JAVA_OPTS} -server -jar ${BASEDIR}/app.war ${ARGS}
\ No newline at end of file
......@@ -889,7 +889,7 @@
<!-- PARAMBIO / Strategy -->
<PARAMETER ID="350" LABEL="AGE" NAME="Âge" IS_BOOLEAN="0" IS_QUALITATIVE="0" IS_ALPHANUMERIC="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PARAMETER ID="351" LABEL="MATURITY_STAGE_9_VISUAL" NAME="Maturité sexuelle à 4 plus 2 stades" IS_BOOLEAN="0" IS_QUALITATIVE="1" IS_ALPHANUMERIC="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PARAMETER ID="352" LABEL="MORSE_CODE" NAME="Code Morse" IS_QUALITATIVE="0" IS_ALPHANUMERIC="1" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<!--<PARAMETER ID="352" LABEL="MORSE_CODE" NAME="Code Morse" IS_QUALITATIVE="0" IS_ALPHANUMERIC="1" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>-->
<PARAMETER ID="353" LABEL="STRATEGY_LABEL" NAME="Stratégie" IS_QUALITATIVE="0" IS_ALPHANUMERIC="1" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<!-- QV / Trawl type-->
......@@ -1469,8 +1469,9 @@
<PMFM ID="351" PARAMETER_FK="351" LABEL="MATURITY_STAGE_9_VISUAL" MATRIX_FK="2" FRACTION_FK="1" METHOD_FK="2" UNIT_FK="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PMFM ID="356" PARAMETER_FK="91" LABEL="WEIGHT_TOTAL_KG" MATRIX_FK="2" FRACTION_FK="1" METHOD_FK="1" MIN_VALUE="0" MAXIMUM_NUMBER_DECIMALS="2" UNIT_FK="3" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PMFM ID="357" PARAMETER_FK="91" LABEL="WEIGHT_ESTIMATED_TOTAL_KG" MATRIX_FK="2" FRACTION_FK="1" METHOD_FK="3" MIN_VALUE="0" MAXIMUM_NUMBER_DECIMALS="2" UNIT_FK="3" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PMFM ID="358" PARAMETER_FK="352" LABEL="MORSE_CODE" UNIT_FK="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<!--<PMFM ID="358" PARAMETER_FK="352" LABEL="MORSE_CODE" UNIT_FK="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>-->
<PMFM ID="359" PARAMETER_FK="353" LABEL="STRATEGY_LABEL" UNIT_FK="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<PMFM ID="1435" PARAMETER_FK="82" LABEL="SAMPLE_ID" UNIT_FK="0" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
<!-- Round weight conversion -->
<ROUND_WEIGHT_CONVERSION ID="1" TAXON_GROUP_FK="1122" CONVERSION_COEFFICIENT="3.95" START_DATE="2010-01-01 00:00:00.000000" LOCATION_FK="1" DRESSING_FK="351" PRESERVING_FK="332" STATUS_FK="1" CREATION_DATE="2018-03-08" UPDATE_DATE="2018-03-08"/>
......@@ -1644,4 +1645,4 @@
<P01_RDB_SPECIES_LIST/>
<P01_RDB_LANDING/>
</dataset>
\ No newline at end of file
</dataset>
......@@ -40,8 +40,7 @@
<PROGRAM_PROPERTY ID="69" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.landing.dateTime.enable" NAME="false"/>
<PROGRAM_PROPERTY ID="70" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.landing.location.enable" NAME="true"/>
<PROGRAM_PROPERTY ID="71" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.i18nSuffix" NAME="SAMPLING."/>
<PROGRAM_PROPERTY ID="72" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.landing.oneTab.enable" NAME="true"/>
<PROGRAM_PROPERTY ID="73" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.landing.samplesCount.enable" NAME="true"/>
<PROGRAM_PROPERTY ID="72" STATUS_FK="1" PROGRAM_FK="40" CREATION_DATE="2020-09-29" LABEL="sumaris.landing.samplesCount.enable" NAME="true"/>
<PROGRAM2PERSON ID="40" PROGRAM_FK="40" PERSON_FK="3" PROGRAM_PRIVILEGE_FK="1" UPDATE_DATE="2020-09-29"/>
<PROGRAM2PERSON ID="41" PROGRAM_FK="40" PERSON_FK="2" PROGRAM_PRIVILEGE_FK="2" UPDATE_DATE="2020-09-29"/>
......@@ -75,7 +74,7 @@
<!-- PmfmStrategy / Observation -->
<PMFM_STRATEGY ID="500" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="11" PMFM_FK="359" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="1"/>
<PMFM_STRATEGY ID="501" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" PMFM_FK="358" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="501" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" PMFM_FK="82" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="502" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" PMFM_FK="80" RANK_ORDER="2" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="503" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" PMFM_FK="350" RANK_ORDER="3" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="504" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" PMFM_FK="351" RANK_ORDER="4" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
......@@ -87,7 +86,7 @@
<PMFM_STRATEGY ID="510" STRATEGY_FK="30" ACQUISITION_LEVEL_FK="12" FRACTION_FK="13" RANK_ORDER="10" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="530" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="11" PMFM_FK="359" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="1"/>
<PMFM_STRATEGY ID="531" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="12" PMFM_FK="358" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="531" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="12" PMFM_FK="82" RANK_ORDER="1" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="532" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="12" PMFM_FK="80" RANK_ORDER="2" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="533" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="12" PMFM_FK="350" RANK_ORDER="3" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
<PMFM_STRATEGY ID="534" STRATEGY_FK="31" ACQUISITION_LEVEL_FK="12" PMFM_FK="351" RANK_ORDER="4" ACQUISITION_NUMBER="1" IS_MANDATORY="0"/>
......
......@@ -92,8 +92,7 @@
<SOFTWARE_PROPERTY ID="109" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.auth.notSelfExtractionAccess.role" NAME="ROLE_USER"/>
<SOFTWARE_PROPERTY ID="110" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.referential.vessel.enable" NAME="false"/>
<SOFTWARE_PROPERTY ID="111" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.analyticReferences.enable" NAME="true"/>
<SOFTWARE_PROPERTY ID="112" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.observedLocation.new.name" NAME="OBSERVED_LOCATION.NEW.SAMPLING.TITLE"/>
<SOFTWARE_PROPERTY ID="113" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.persistence.technicalTables.update" NAME="false"/>
<SOFTWARE_PROPERTY ID="114" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.menu.items" NAME="[{&#34;title&#34;: &#34;Lignes de plan&#34;, &#34;path&#34;: &#34;/referential/programs/40/strategies&#34;,&#34;after&#34;:&#34;MENU.OCCASIONS&#34;, &#34;icon&#34;: &#34;contract&#34;}]"/>
<SOFTWARE_PROPERTY ID="112" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.persistence.technicalTables.update" NAME="false"/>
<SOFTWARE_PROPERTY ID="113" STATUS_FK="1" SOFTWARE_FK="5" CREATION_DATE="2019-02-11" LABEL="sumaris.menu.items" NAME="[{&#34;title&#34;: &#34;Lignes de plan&#34;, &#34;path&#34;: &#34;/referential/programs/40/strategies&#34;,&#34;before&#34;:&#34;MENU.OCCASIONS&#34;, &#34;icon&#34;: &#34;contract&#34;, &#34;profile&#34;: &#34;USER&#34;}]"/>
</dataset>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment