diff --git a/Gemfile.lock b/Gemfile.lock index 3d0b661..e4812cd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -46,7 +46,7 @@ GIT GIT remote: https://gitlab.com/pasosdeJesus/heb412_gen.git - revision: 4cc60cfc343ff67bdde1fe4740f070c406f448d2 + revision: 1fb51ed1ee71279b372edbd85edcf0dfcd97b17d branch: v2.2 specs: heb412_gen (2.2.0.beta5) @@ -74,7 +74,7 @@ GIT GIT remote: https://gitlab.com/pasosdeJesus/msip.git - revision: 39d4c13f8b28fbf56571b58bfad8ce8871d381ad + revision: 14887ddbe05bdfded8233c959f321d443e1408f3 branch: v2.2 specs: msip (2.2.0.beta5) diff --git a/app/models/ability.rb b/app/models/ability.rb index ff83d83..537bf1e 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -98,10 +98,15 @@ def tablasbasicas_prio "aporte_noviembre_añoanterior", "aporte_diciembre_añoanterior", "aporte_total_añoanterior", + "aportes", "centro_poblado", "creado_en", + "cuenta_actividades", + "cuenta_casos", + "cuenta_familiar_victima", "departamento", "dianac", + "etiquetas", "fechaactual", "fechanac_localizada", "fechanac", @@ -109,13 +114,15 @@ def tablasbasicas_prio "mesnac", "municipio", "nacionalde", - "numerodocumento", "nombres", "nombres_y_apellidos", + "numerodocumento", "pais", "sexo", + "tipoaliado", "tdoc", "tdocumento", + "ultimo_aporte", ], controlador: "Msip::PersonasController", ruta: "/personas", diff --git a/app/models/msip/persona.rb b/app/models/msip/persona.rb index 1c067fb..52eb5b2 100644 --- a/app/models/msip/persona.rb +++ b/app/models/msip/persona.rb @@ -171,36 +171,6 @@ def apellidos=(valc) end } - # Registros msip_persona_trelacion en los que - # esta persona aparece como persona2 y la - # persona1 es víctima en un caso - def como_familiar_de_victima - persona_trelacion2.where( - "msip_persona_trelacion.persona1 IN "\ - "(SELECT persona_id FROM sivel2_gen_victima)", - ).order( - :persona1, - ) - end - - def ultimo_aporte - if self.fecha_desafiliacion_aportante - return "Desafiliado" - end - if aporte.where("valor > 0").count == 0 - return "No aportante" - end - ultimo = aporte.where("valor > 0"). - order(["anio desc", "mes desc"]).first - return ultimo.valor.a_decimal_localizado + " en " + - ultimo.anio.to_s + "-" + ultimo.mes.to_s.rjust(2, '0') - end - - def nombres_y_apellidos - r = nombres.strip + " " + apellidos.strip - r.strip - end - def añoanterior return Date.today.year-1 end @@ -270,8 +240,61 @@ def aporte_total_añoanterior return v end + def aportes + s = ::Aporte.where(persona_id: self.id).sum(:valor) + end + + + # Registros msip_persona_trelacion en los que + # esta persona aparece como persona2 y la + # persona1 es víctima en un caso + def como_familiar_de_victima + persona_trelacion2.where( + "msip_persona_trelacion.persona1 IN "\ + "(SELECT persona_id FROM sivel2_gen_victima)", + ).order( + :persona1, + ) + end + + def cuenta_actividades + actividad_ids.count + end + + def cuenta_casos + caso_ids.count + end + + def cuenta_familiar_victima + como_familiar_de_victima.count + end + + def etiquetas + etiqueta.pluck(:nombre).join(". ") + end + + def nombres_y_apellidos + r = nombres.strip + " " + apellidos.strip + r.strip + end + def fechaactual return Date.today.to_s end + + def ultimo_aporte + if self.fecha_desafiliacion_aportante + return "Desafiliado" + end + if aporte.where("valor > 0").count == 0 + return "No aportante" + end + ultimo = aporte.where("valor > 0"). + order(["anio desc", "mes desc"]).first + return ultimo.valor.a_decimal_localizado + " en " + + ultimo.anio.to_s + "-" + ultimo.mes.to_s.rjust(2, '0') + end + + end end diff --git a/app/views/msip/personas/_index_campo_aportes.html.erb b/app/views/msip/personas/_index_campo_aportes.html.erb index 70c193e..0fbba06 100644 --- a/app/views/msip/personas/_index_campo_aportes.html.erb +++ b/app/views/msip/personas/_index_campo_aportes.html.erb @@ -1,2 +1,2 @@ -<% s = ::Aporte.where(persona_id: registro.id).sum(:valor) %> -<%= s.a_decimal_localizado %> +<--% s = ::Aporte.where(persona_id: registro.id).sum(:valor) %--> +<%= registro.aportes.a_decimal_localizado %> diff --git a/app/views/msip/personas/_index_campo_familiarvictima_ids.html.erb b/app/views/msip/personas/_index_campo_familiarvictima_ids.html.erb index ee7c91e..ea22b7e 100644 --- a/app/views/msip/personas/_index_campo_familiarvictima_ids.html.erb +++ b/app/views/msip/personas/_index_campo_familiarvictima_ids.html.erb @@ -1 +1 @@ -<%= registro.como_familiar_de_victima.count %> +<%= registro.cuenta_familiar_victima %> diff --git a/db/migrate/20240423155529_renombra_plantilla_beneficiarios.rb b/db/migrate/20240423155529_renombra_plantilla_beneficiarios.rb new file mode 100644 index 0000000..1f6e0f3 --- /dev/null +++ b/db/migrate/20240423155529_renombra_plantilla_beneficiarios.rb @@ -0,0 +1,19 @@ +class RenombraPlantillaBeneficiarios < ActiveRecord::Migration[7.1] + def up + execute <<-SQL + UPDATE heb412_gen_plantillahcm + SET nombremenu = 'Listado de población vinculada', + ruta='plantillas/listado_poblacion_vinculada.ods' + WHERE id=102; + SQL + end + def down + execute <<-SQL + UPDATE heb412_gen_plantillahcm + SET nombremenu = 'Listado de beneficiarios', + ruta='plantillas/listado_beneficiarios.ods' + WHERE id=102; + SQL + end + +end diff --git a/db/migrate/20240423162050_amplia_listado_poblacion_vinculada.rb b/db/migrate/20240423162050_amplia_listado_poblacion_vinculada.rb new file mode 100644 index 0000000..69d45e6 --- /dev/null +++ b/db/migrate/20240423162050_amplia_listado_poblacion_vinculada.rb @@ -0,0 +1,37 @@ +class AmpliaListadoPoblacionVinculada < ActiveRecord::Migration[7.1] + def up + execute <<-SQL + UPDATE heb412_gen_campoplantillahcm SET columna='F', + nombrecampo='fechanac_localizada' + WHERE id=535; --Fecha de nacimiento en F + UPDATE heb412_gen_campoplantillahcm SET columna='G' + WHERE id=534; --Sexo en G + SQL + Heb412Gen::PlantillaHelper.inserta_columna(102, 560, 'M', 'etiquetas') + Heb412Gen::PlantillaHelper.inserta_columna(102, 561, 'N', 'cuenta_actividades') + Heb412Gen::PlantillaHelper.inserta_columna(102, 562, 'O', 'cuenta_casos') + Heb412Gen::PlantillaHelper.inserta_columna(102, 563, 'P', 'cuenta_familiar_victima') + Heb412Gen::PlantillaHelper.inserta_columna(102, 564, 'Q', 'tipoaliado') + Heb412Gen::PlantillaHelper.inserta_columna(102, 565, 'R', 'ultimo_aporte') + Heb412Gen::PlantillaHelper.inserta_columna(102, 566, 'S', 'aportes') + end + + def down + Heb412Gen::PlantillaHelper.elimina_columna(102, 566) + Heb412Gen::PlantillaHelper.elimina_columna(102, 565) + Heb412Gen::PlantillaHelper.elimina_columna(102, 564) + Heb412Gen::PlantillaHelper.elimina_columna(102, 563) + Heb412Gen::PlantillaHelper.elimina_columna(102, 562) + Heb412Gen::PlantillaHelper.elimina_columna(102, 561) + Heb412Gen::PlantillaHelper.elimina_columna(102, 560) + + execute <<-SQL + UPDATE heb412_gen_campoplantillahcm SET columna='G', + nombrecampo='fechanac' + WHERE id=535; --Fecha de nacimiento en G + UPDATE heb412_gen_campoplantillahcm SET columna='F' + WHERE id=534; --Sexo en F + SQL + end + +end diff --git a/db/structure.sql b/db/structure.sql index 101688c..ffc5e3f 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -12539,6 +12539,8 @@ ALTER TABLE ONLY public.sivel2_gen_victimacolectiva_vinculoestado SET search_path TO "$user", public; INSERT INTO "schema_migrations" (version) VALUES +('20240423162050'), +('20240423155529'), ('20240423143517'), ('20240423142556'), ('20240408185623'), diff --git a/public/heb412/plantillas/listado_beneficiarios.ods b/public/heb412/plantillas/listado_beneficiarios.ods deleted file mode 100644 index b5a53a0..0000000 Binary files a/public/heb412/plantillas/listado_beneficiarios.ods and /dev/null differ diff --git a/public/heb412/plantillas/listado_poblacion_vinculada.ods b/public/heb412/plantillas/listado_poblacion_vinculada.ods new file mode 100644 index 0000000..43e1ac1 Binary files /dev/null and b/public/heb412/plantillas/listado_poblacion_vinculada.ods differ