diff --git a/sigeca_data_import_microservice/app/application/synchronization/facilities.py b/sigeca_data_import_microservice/app/application/synchronization/facilities.py index 2f4a606..bd3e4f4 100644 --- a/sigeca_data_import_microservice/app/application/synchronization/facilities.py +++ b/sigeca_data_import_microservice/app/application/synchronization/facilities.py @@ -234,7 +234,7 @@ def _create_new_facilities(self, facilities): col(f"facilities.code"), col("municipality.id"), col("facility_type.id"), - lit({}), + lit('{}'), col("is_operational"), lit(True) ), @@ -382,7 +382,7 @@ def compare_for_any_change(df, col1, col2): # Select the original JSON payloads and the any_change flag return df.select( - "payload", "existing_facilities.id", "oldPayload", change_column, *changes2 + "payload", "existing_facilities.id", "oldPayload", change_column ) diff --git a/sigeca_data_import_microservice/app/domain/resources.py b/sigeca_data_import_microservice/app/domain/resources.py index 7c7fc02..f4e95d1 100644 --- a/sigeca_data_import_microservice/app/domain/resources.py +++ b/sigeca_data_import_microservice/app/domain/resources.py @@ -12,7 +12,8 @@ def get_all(self): class FacilityResourceRepository(BaseResourceRepository): def get_all(self): - query = """(SELECT f.*, + # Geo zone parent is taken because by API endpoint assigns the geo location to ward + query = """(SELECT f.id, f.name,f.code,f.active,f.enabled,f.typeid,gz2.id as"geographiczoneid", (CASE WHEN count(p.code) = 0 THEN '{}'::jsonb ELSE jsonb_object_agg( @@ -28,7 +29,9 @@ def get_all(self): FROM referencedata.facilities f LEFT JOIN referencedata.supported_programs sp ON sp.facilityid = f.id LEFT JOIN referencedata.programs p ON sp.programid = p.id - GROUP BY f.id + LEFT JOIN referencedata.geographic_zones gz ON gz.id = f.geographiczoneid + LEFT JOIN referencedata.geographic_zones gz2 ON gz2.id = gz.parentid + GROUP BY f.id, gz2.id ) AS facilities""" return self.jdbc_reader.read_data(query)