Loading src/main/java/es/redmic/db/geodata/properties/fixedsurvey/repository/FixedMeasurementRepository.java +5 −5 Original line number Diff line number Diff line Loading @@ -7,11 +7,11 @@ import es.redmic.databaselib.common.repository.BaseRepository; import es.redmic.db.geodata.properties.fixedsurvey.model.FixedMeasurement; import es.redmic.db.maintenance.parameter.model.DataDefinition; public interface FixedMeasurementRepository extends BaseRepository<FixedMeasurement, Long> { @Query("select s from FixedMeasurement s where s.fixedSurvey.id = :id and s.z = :z") FixedMeasurement findByZAndSurveyStation(@Param("z") double z, @Param("id") Long surveyStationId); @Query("select s from FixedMeasurement s where s.fixedSurvey.id = :id and s.z = :z and s.dataDefinition.id = :dataDefinitionId") FixedMeasurement findByZAndSurveyStation(@Param("z") double z, @Param("id") Long surveyStationId, @Param("dataDefinitionId") Long dataDefinitionId); @Query("select s from FixedMeasurement s where s.dataDefinition.id = :id") FixedMeasurement findByDataDefinitionId(@Param("id") Long dataDefinitionId); Loading src/main/java/es/redmic/db/series/common/service/GeoSeriesService.java +43 −36 Original line number Diff line number Diff line Loading @@ -52,8 +52,10 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends MeasurementDTO measurementDTO = measurementsOrigin.get(i); // Guardamos dataDefinition DataDefinition dataDefinition = factory.getMapperFacade().map(measurementDTO.getDataDefinition(), DataDefinition.class); dataDefinition.setParameterUnit(getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); DataDefinition dataDefinition = factory.getMapperFacade().map(measurementDTO.getDataDefinition(), DataDefinition.class); dataDefinition.setParameterUnit( getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); dataDefinition = dataDefinitionService.saveModel(dataDefinition); // Guardamos measurement Loading @@ -68,10 +70,9 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionSeriesDTO.class); dataDefinitionItem.setZ(fixedMeasurement.getZ()); HierarchicalParameterDTO parDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); HierarchicalParameterDTO parDto = factory.getMapperFacade() .map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); MeasurementDTO measurementItem = new MeasurementDTO(); measurementItem.setDataDefinition(dataDefinitionItem); Loading @@ -96,20 +97,27 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionDTO dataDefinitionDTO = measurementDTO.getDataDefinition(); Double z = dataDefinitionDTO.getZ(); // Guardamos measurement sin pasar por dto FixedMeasurement fixedMeasurement = getFixedMeasurement(model.getId(), z); DataDefinition dataDefinition = factory.getMapperFacade().map(dataDefinitionDTO, DataDefinition.class); dataDefinition.setParameterUnit(getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); dataDefinition.setParameterUnit( getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); FixedMeasurement fixedMeasurement = null; // Si data definition es null, el Measurement no existe y hay que insertarlo. if (dataDefinitionDTO.getId() == null) { if (fixedMeasurement == null) { dataDefinition = dataDefinitionService.saveModel(dataDefinition); fixedMeasurement = new FixedMeasurement(); fixedMeasurement.setFixedSurvey(model); fixedMeasurement.setZ(z); fixedMeasurement.setDataDefinition(dataDefinition); fixedMeasurement = fixedMeasurementRepository.save(fixedMeasurement); } dataDefinition = dataDefinitionService.saveModel(dataDefinition); } else { // Si el dataDefinition no es null, se espera que exista el Measurement sin // modificar la z fixedMeasurement = getFixedMeasurement(model.getId(), dataDefinitionDTO.getId(), z); // El measurement, en caso de no existir, lanza if (fixedMeasurement == null) throw new DBNotFoundException("FixedMeasurement", Loading @@ -121,10 +129,9 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionSeriesDTO.class); dataDefinitionItem.setZ(fixedMeasurement.getZ()); HierarchicalParameterDTO parDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); HierarchicalParameterDTO parDto = factory.getMapperFacade() .map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); MeasurementDTO measurementItem = new MeasurementDTO(); measurementItem.setDataDefinition(dataDefinitionItem); Loading @@ -146,7 +153,7 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends return parameterUnit; } private FixedMeasurement getFixedMeasurement(Long surveySationId, Double z) { return fixedMeasurementRepository.findByZAndSurveyStation(z, surveySationId); private FixedMeasurement getFixedMeasurement(Long surveySationId, Long dataDefinitionId, Double z) { return fixedMeasurementRepository.findByZAndSurveyStation(z, surveySationId, dataDefinitionId); } } Loading
src/main/java/es/redmic/db/geodata/properties/fixedsurvey/repository/FixedMeasurementRepository.java +5 −5 Original line number Diff line number Diff line Loading @@ -7,11 +7,11 @@ import es.redmic.databaselib.common.repository.BaseRepository; import es.redmic.db.geodata.properties.fixedsurvey.model.FixedMeasurement; import es.redmic.db.maintenance.parameter.model.DataDefinition; public interface FixedMeasurementRepository extends BaseRepository<FixedMeasurement, Long> { @Query("select s from FixedMeasurement s where s.fixedSurvey.id = :id and s.z = :z") FixedMeasurement findByZAndSurveyStation(@Param("z") double z, @Param("id") Long surveyStationId); @Query("select s from FixedMeasurement s where s.fixedSurvey.id = :id and s.z = :z and s.dataDefinition.id = :dataDefinitionId") FixedMeasurement findByZAndSurveyStation(@Param("z") double z, @Param("id") Long surveyStationId, @Param("dataDefinitionId") Long dataDefinitionId); @Query("select s from FixedMeasurement s where s.dataDefinition.id = :id") FixedMeasurement findByDataDefinitionId(@Param("id") Long dataDefinitionId); Loading
src/main/java/es/redmic/db/series/common/service/GeoSeriesService.java +43 −36 Original line number Diff line number Diff line Loading @@ -52,8 +52,10 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends MeasurementDTO measurementDTO = measurementsOrigin.get(i); // Guardamos dataDefinition DataDefinition dataDefinition = factory.getMapperFacade().map(measurementDTO.getDataDefinition(), DataDefinition.class); dataDefinition.setParameterUnit(getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); DataDefinition dataDefinition = factory.getMapperFacade().map(measurementDTO.getDataDefinition(), DataDefinition.class); dataDefinition.setParameterUnit( getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); dataDefinition = dataDefinitionService.saveModel(dataDefinition); // Guardamos measurement Loading @@ -68,10 +70,9 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionSeriesDTO.class); dataDefinitionItem.setZ(fixedMeasurement.getZ()); HierarchicalParameterDTO parDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); HierarchicalParameterDTO parDto = factory.getMapperFacade() .map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); MeasurementDTO measurementItem = new MeasurementDTO(); measurementItem.setDataDefinition(dataDefinitionItem); Loading @@ -96,20 +97,27 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionDTO dataDefinitionDTO = measurementDTO.getDataDefinition(); Double z = dataDefinitionDTO.getZ(); // Guardamos measurement sin pasar por dto FixedMeasurement fixedMeasurement = getFixedMeasurement(model.getId(), z); DataDefinition dataDefinition = factory.getMapperFacade().map(dataDefinitionDTO, DataDefinition.class); dataDefinition.setParameterUnit(getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); dataDefinition.setParameterUnit( getParameterUnit(measurementDTO.getParameter().getId(), measurementDTO.getUnit().getId())); FixedMeasurement fixedMeasurement = null; // Si data definition es null, el Measurement no existe y hay que insertarlo. if (dataDefinitionDTO.getId() == null) { if (fixedMeasurement == null) { dataDefinition = dataDefinitionService.saveModel(dataDefinition); fixedMeasurement = new FixedMeasurement(); fixedMeasurement.setFixedSurvey(model); fixedMeasurement.setZ(z); fixedMeasurement.setDataDefinition(dataDefinition); fixedMeasurement = fixedMeasurementRepository.save(fixedMeasurement); } dataDefinition = dataDefinitionService.saveModel(dataDefinition); } else { // Si el dataDefinition no es null, se espera que exista el Measurement sin // modificar la z fixedMeasurement = getFixedMeasurement(model.getId(), dataDefinitionDTO.getId(), z); // El measurement, en caso de no existir, lanza if (fixedMeasurement == null) throw new DBNotFoundException("FixedMeasurement", Loading @@ -121,10 +129,9 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends DataDefinitionSeriesDTO.class); dataDefinitionItem.setZ(fixedMeasurement.getZ()); HierarchicalParameterDTO parDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); HierarchicalParameterDTO parDto = factory.getMapperFacade() .map(dataDefinition.getParameterUnit().getParameter(), HierarchicalParameterDTO.class); UnitDTO unitDto = factory.getMapperFacade().map(dataDefinition.getParameterUnit().getUnit(), UnitDTO.class); MeasurementDTO measurementItem = new MeasurementDTO(); measurementItem.setDataDefinition(dataDefinitionItem); Loading @@ -146,7 +153,7 @@ public abstract class GeoSeriesService<TModel extends FixedSurvey, TDTO extends return parameterUnit; } private FixedMeasurement getFixedMeasurement(Long surveySationId, Double z) { return fixedMeasurementRepository.findByZAndSurveyStation(z, surveySationId); private FixedMeasurement getFixedMeasurement(Long surveySationId, Long dataDefinitionId, Double z) { return fixedMeasurementRepository.findByZAndSurveyStation(z, surveySationId, dataDefinitionId); } }