Skip to content

Commit

Permalink
modify view to replace rep directly
Browse files Browse the repository at this point in the history
  • Loading branch information
bellerbrock committed Aug 21, 2024
1 parent 5da4825 commit 79decb4
Showing 1 changed file with 32 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,38 @@ class ObservationDao {

val sObservationsDetailView = """
CREATE VIEW IF NOT EXISTS $sObservationsDetailViewName AS
SELECT obs.*,
(SELECT COUNT(*)
SELECT
obs.internal_id_observation,
obs.observation_unit_id,
obs.study_id,
obs.observation_variable_db_id,
obs.observation_variable_name,
obs.observation_variable_field_book_format,
obs.value,
obs.observation_time_stamp,
obs.collector,
obs.geoCoordinates,
obs.observation_db_id,
obs.last_synced_time,
obs.additional_info,
obs.notes,
(
SELECT COUNT(*)
FROM observations AS sub_obs
WHERE sub_obs.observation_unit_id = obs.observation_unit_id
AND sub_obs.observation_variable_name = obs.observation_variable_name
AND sub_obs.observation_time_stamp <= obs.observation_time_stamp
) AS calculated_rep,
vars.external_db_id AS external_db_id,
vars.observation_variable_details
FROM observations AS obs
JOIN observation_variables AS vars ON obs.observation_variable_db_id = vars.internal_id_observation_variable
WHERE obs.value IS NOT NULL;
AND sub_obs.observation_variable_name = obs.observation_variable_name
AND sub_obs.observation_time_stamp <= obs.observation_time_stamp
) AS rep,
vars.external_db_id AS external_db_id,
vars.observation_variable_details
FROM
observations AS obs
JOIN
observation_variables AS vars
ON
obs.observation_variable_db_id = vars.internal_id_observation_variable
WHERE
obs.value IS NOT NULL;
""".trimIndent()

fun getAll(): Array<ObservationModel> = withDatabase { db ->
Expand Down Expand Up @@ -138,7 +158,7 @@ class ObservationDao {
getStringVal(row, "observation_variable_name"),
missingPhoto
).apply {
rep = getStringVal(row, "calculated_rep")
rep = getStringVal(row, "rep")
unitDbId = getStringVal(row, "observation_unit_id")
descriptiveOntologyTerms = listOf(getStringVal(row, "external_db_id"))
description = getStringVal(row, "observation_variable_details")
Expand Down Expand Up @@ -217,7 +237,7 @@ class ObservationDao {
null // No orderBy
).toTable().map { row ->
BrapiObservation().apply {
rep = getStringVal(row, "calculated_rep")
rep = getStringVal(row, "rep")
unitDbId = getStringVal(row, "observation_unit_id")
variableDbId = getStringVal(row, "external_db_id")
value = CategoryJsonUtil.processValue(row)
Expand Down

0 comments on commit 79decb4

Please sign in to comment.