Module: Sivel2Gen::Concerns::Models::Consexpcaso::ClassMethods
- Defined in:
- lib/sivel2_gen/concerns/models/consexpcaso.rb
Instance Method Summary collapse
- #consulta_consexpcaso ⇒ Object
- #crea_consexpcaso(conscaso, ordenar_por = nil) ⇒ Object
- #interpreta_ordenar_por(campo) ⇒ Object
Instance Method Details
#consulta_consexpcaso ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/sivel2_gen/concerns/models/consexpcaso.rb', line 62 def consulta_consexpcaso "SELECT conscaso.*, caso.titulo, caso.hora, caso.duracion, caso.grconfiabilidad, caso.gresclarecimiento, caso.grimpunidad, caso.grinformacion, caso.bienes, caso.intervalo_id, caso.created_at, caso.updated_at FROM public.sivel2_gen_conscaso AS conscaso JOIN public.sivel2_gen_caso AS caso ON caso.id=conscaso.caso_id " end |
#crea_consexpcaso(conscaso, ordenar_por = nil) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/sivel2_gen/concerns/models/consexpcaso.rb', line 80 def crea_consexpcaso(conscaso, ordenar_por = nil) if ARGV.include?("db:migrate") return end if !ActiveRecord::Base.connection.data_source_exists? 'sivel2_gen_conscaso' Sivel2Gen::Conscaso.refresca_conscaso end if ActiveRecord::Base.connection.data_source_exists? 'sivel2_gen_consexpcaso' ActiveRecord::Base.connection.execute( "DROP MATERIALIZED VIEW IF EXISTS sivel2_gen_consexpcaso;") end w = "WHERE TRUE=FALSE" if conscaso && conscaso.count > 0 w = "WHERE conscaso.caso_id IN (#{conscaso.select(:caso_id).to_sql})" end if ordenar_por w += ' ORDER BY ' + self.interpreta_ordenar_por(ordenar_por) end ActiveRecord::Base.connection.execute("CREATE MATERIALIZED VIEW sivel2_gen_consexpcaso AS #{self.consulta_consexpcaso} #{w} ;") end |
#interpreta_ordenar_por(campo) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/sivel2_gen/concerns/models/consexpcaso.rb', line 40 def interpreta_ordenar_por(campo) critord = "" case campo.to_s when /^fechadesc/ critord = "conscaso.fecha desc" when /^fecha/ critord = "conscaso.fecha asc" when /^ubicaciondesc/ critord = "conscaso.ubicaciones desc" when /^ubicacion/ critord = "conscaso.ubicaciones asc" when /^codigodesc/ critord = "conscaso.caso_id desc" when /^codigo/ critord = "conscaso.caso_id asc" else raise(ArgumentError, "Ordenamiento invalido: #{ campo.inspect }") end critord += ", conscaso.caso_id" return critord end |