Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_dados(self):
- subquery = self.db.query(TbCdsDomicilioResposta.co_cds_cad_domiciliar,
- TbCdsDomicilioResposta.co_pergunta_detalhe) \
- .join(TbPerguntaDetalhe,
- TbPerguntaDetalhe.co_pergunta_detalhe == TbCdsDomicilioResposta.co_pergunta_detalhe).subquery()
- subquery1 = self.db.query(TbCdsDomicilioResposta.co_cds_cad_domiciliar,
- TbCdsDomicilioResposta.co_pergunta_detalhe) \
- .join(TbPerguntaDetalhe,
- TbPerguntaDetalhe.co_pergunta_detalhe == TbCdsDomicilioResposta.co_pergunta_detalhe).subquery()
- return self.db.query(TbCdsDomicilioResposta.co_cds_cad_domiciliar,
- Usuarios.cnes_cod_cns.label('cns_profissional'), Usuarios.usr_codigo,
- Unidade.uni_cnes.label('cnes_unidade'),
- Unidade.uni_codigo_ibge.label('codigo_ibge_municipio'), TbEquipe.nu_ine,
- Domicilio.dom_data_cadastro.label('data_atendimento'), Bairro.bai_nome.label('bairro'),
- Rua.rua_cep.label('cep'),
- Cidade.cid_codigo_ibge, Domicilio.dom_complemento.label('complemento'),
- Rua.rua_nome.label('nome_logradouro'),
- TbMsTipoLogradouro.co_tipo_logradouro.label('tipo_logradouro_numero_dne'),
- Domicilio.dom_numero.label('numero'), Domicilio.tipo_imovel,
- Estado.uf_nu_dne.label('estado'), subquery.c.co_pergunta_detalhe.label('situacao_moradia'),
- subquery1.c.co_pergunta_detalhe.label('localizacao'),
- ).distinct() \
- .outerjoin(subquery, and_(subquery.c.co_cds_cad_domiciliar == TbCdsDomicilioResposta.co_cds_cad_domiciliar,
- TbCdsDomicilioResposta.co_pergunta == 57)) \
- .outerjoin(subquery1,
- and_(subquery1.c.co_cds_cad_domiciliar == TbCdsDomicilioResposta.co_cds_cad_domiciliar,
- TbCdsDomicilioResposta.co_pergunta == 58)) \
- .join(Domicilio, Domicilio.dom_codigo == TbCdsDomicilioResposta.co_cds_cad_domiciliar) \
- .join(Usuarios, Usuarios.usr_codigo == Domicilio.usr_codigo) \
- .join(Unidade, Unidade.uni_codigo == Domicilio.uni_codigo) \
- .join(Rua, Rua.rua_codigo == Domicilio.rua_codigo) \
- .join(Bairro, Bairro.bai_codigo == Rua.bai_codigo) \
- .outerjoin(Distrito, Distrito.dis_codigo == Bairro.dis_codigo) \
- .join(Cidade, Cidade.cid_codigo == Bairro.cid_codigo) \
- .join(Estado, Estado.uf_codigo == Cidade.cid_codigo) \
- .outerjoin(TbEquipe, TbEquipe.co_seq_equipe == Domicilio.cod_equipe) \
- .join(TbMsTipoLogradouro, TbMsTipoLogradouro.co_tipo_logradouro == Rua.co_tipo_logradouro).filter(
- and_(or_(TbCdsDomicilioResposta.uuid_ficha == None, TbCdsDomicilioResposta.uuid_ficha == ''),
- and_(Domicilio.dom_data_cadastro >= self.data_inicial,
- Domicilio.dom_data_cadastro <= self.data_final))).all()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement