Tenho um sistema de clinica (smartclin da pixeon) que utiliza um banco de dados local em sql no qual tenho acesso ao banco durante o uso para fazer as consultas e relatórios de acordo com o meu desejo. O sistema utiliza relatórios do tipo .pbl confeccionados nele próprio de acordo com os campos que escolhemos ou através do relatórios feito no aplicativo infomaker da sybase. Porém, tal sistema é um pouco arcaico nas telas e vi que tem algumas ferramentas que posso criar relatório mais dinâmicos e até painéis instantâneos como no powerbi ou outra que talvez eu não conheça mas que trabalhe com dados do sql.
Primeiramente tenho uma ou 2 consultas mais complexas que queria montar em sql que seriam base para as outras.
Segundo seria me orientar como altero uma coluna de telefone para deixar no padrao ddd9celular os numero que estao sem ddd ou sem o 9 ns frente.
Após essas 2 tarefas iriamos entrar na parte de relatórios que seria basicamente baseado na consulta de sql que informei no item inicial.
Abaixo vou colar a consulta que desejo que seja feita para quem for analisar a proposta ter uma noção. Ahhh posso disponibilizar o banco em sql pra pessoa estudar.
SELECT
dbo.PSV.PSV_CONSELHO,
dbo.PSV.PSV_CRM,
dbo.PSV.PSV_TIPO,
dbo.PSV.PSV_APEL,
dbo.PSV.PSV_NOME,
dbo.USR.USR_LOGIN,
dbo.USR.USR_NOME_COMPLETO,
dbo.PSV.PSV_FILA_NOME,
dbo.ESP.ESP_NOME,
dbo.PSV.PSV_SEXO,
dbo.PSV.PSV_CELULAR,
dbo.PSV.PSV_FONE1,
dbo.PSV.PSV_FONE2,
dbo.PSV.PSV_FONE3,
dbo.PSV.PSV_CID,
dbo.PSV.PSV_UF,
dbo.PSV.PSV_VINC,
dbo.PSV.PSV_CC,
dbo.CCR.CCR_TIT,
dbo.PSV.PSV_DT_NASC,
dbo.PSV.PSV_CPF,
dbo.PSV.PSV_RG,
dbo.PSV.PSV_EMAIL,
dbo.PSV.PSV_OBS,
dbo.PSV.PSV_OBS_CAD,
dbo.HAB.HAB_CTF,
dbo.CTF.CTF_NOME
From
dbo.psv
inner join
dbo.Ccr on
dbo.PSV.PSV_CC =
dbo.CCR.Ccr_cod
left join
dbo.Usr on
dbo.USR.USR_PSV =
dbo.PSV.Psv_cod
inner join
dbo.Esm on
dbo.ESM.ESM_MED =
dbo.PSV.Psv_cod
inner join
dbo.Esp on
dbo.ESM.ESM_ESP =
dbo.ESP.Esp_cod
inner join
dbo.Hab on
dbo.HAB.HAB_MED =
dbo.PSV.Psv_cod
left join
dbo.Ctf on
dbo.CTF.CTF_ESP_COD =
dbo.ESP.ESP_COD AND
dbo.HAB.HAB_TPCTF =
dbo.CTF.CTF_TIPO AND
dbo.HAB.HAB_CTF =
dbo.CTF.CTF_COD
WHERE
dbo.PSV.PSV_TIPO <> 'R' AND
dbo.PSV.PSV_TIPO <> 'I' AND
dbo.PSV.Psv_cc <> '99999'
order by
dbo.PSV.PSV_NOME ASC
-----------------------------------------------------
Medicos...
Acrescentar horarios dessa consulta
select psv.PSV_NOME,
ESP.ESP_NOME,
esp.esp_cbo_tiss_302,
HOR.HOR_DIA,
HOR.HOR_MAT_FIN,
HOR.HOR_MAT_INI,
HOR.HOR_VESP_FIN,
HOR.Hor_vesp_ini
from psv, esp, hor, esm, hab
where ( hor.HOR_CTF = HAB.Hab_ctf ) and
( hor.HOR_TPCTF = HAB.Hab_tpctf ) and
( hor.HOR_MED = HAB.Hab_med ) and
( hab.HAB_MED = PSV.Psv_cod ) and
( esm.ESM_ESP = ESP.Esp_cod ) and
( esm.ESM_MED = PSV.Psv_cod ) and
( esm.ESM_DEFAULT = 'S' )
--------------------------------------
Depois acrecentar os servicos dessa consulta:
select psv.PSV_CRM,
PSV.PSV_NOME,
CTF.CTF_NOME,
SMK.Smk_rot
from psv, ctf, smk, hab, hhs
where ( hab.HAB_MED = PSV.Psv_cod ) and
( hab.HAB_CTF = CTF.Ctf_cod ) and
( hab.HAB_TPCTF = CTF.Ctf_tipo ) and
( hhs.HHS_CTF_COD = HAB.Hab_ctf ) and
( hhs.HHS_CTF_TIPO = HAB.Hab_tpctf ) and
( hhs.HHS_PSV_COD = HAB.Hab_med ) and
( hhs.HHS_SMK_COD = SMK.Smk_cod ) and
( hhs.HHS_SMK_TIPO = SMK.Smk_tipo )
order by psv.Psv_crm asc,
psv.Psv_nome asc,
ctf.CTF_NOME ASC
Prazo de Entrega: Não estabelecido