Skip to content

Instantly share code, notes, and snippets.

@norbajunior
Created June 14, 2016 00:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save norbajunior/9ccd54c25818e9f07ffed696de563478 to your computer and use it in GitHub Desktop.
Save norbajunior/9ccd54c25818e9f07ffed696de563478 to your computer and use it in GitHub Desktop.
class Patient::Entrance < Salus::Model
# ja tinha no model
has_many :medical_cares, foreign_key: :patient_entrance_id
# ja tinha no model
has_one :first_medical_care,
class_name: 'MedicalCare',
foreign_key: :patient_entrance_id,
order: MedicalCare.arel_table[:id].asc
# ja tinha no model
def self.with_first_medical_care
where(%{
#{quoted_table_name}.id in (
select distinct on(smc.patient_entrance_id) smc.patient_entrance_id
from #{MedicalCare.quoted_table_name} smc
order by smc.patient_entrance_id, smc.id asc
)
})
end
end
# eu fiz
report.patient_entrances.each do |patient_entrance|
table_data << [
{ content: patient_entrance.first_medical_care.patient_name },
{ content: I18n.l(patient_entrance.first_medical_care.patient_birthdate) },
{ content: patient_entrance.first_medical_care.patient_mother },
{ content: I18n.l(patient_entrance.first_medical_care.created_at) },
{ content: patient_entrance.first_medical_care.occupation_name }
]
end
# eu fiz
def patient_entrances
Patient::Entrance
.with_first_medical_care
.between(start_date, end_date)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment