Alias | Descrição | Tamanho | Tipo | Formato | Obrigatório |
---|---|---|---|---|---|
TabelaProcedimento | TabelaProcedimento | 0 | Caractere | ||
Procedimento | Procedimento | 0 | Caractere | ||
DenteRegiao | DenteRegiao | 0 | Caractere | ||
Face | Face | 0 | Caractere | ||
QuantidadePermitida | QuantidadePermitida | 0 | Caractere | ||
UnidadeQuantidade | UnidadeQuantidade | 0 | Caractere | ||
VldQtdPrestador | VldQtdPrestador | 0 | Caractere | ||
VldQtdEspec | VldQtdEspec | 0 | Caractere | ||
VldQtdCid | VldQtdCid | 0 | Caractere | ||
Periodicidade | Periodicidade | 0 | Caractere | ||
UnidadePeriodicidade | UnidadePeriodicidade | 0 | Caractere | ||
VldPerPrestador | VldPerPrestador | 0 | Caractere | ||
VldPerEspec | VldPerEspec | 0 | Caractere | ||
VldPerCid | VldPerCid | 0 | Caractere | ||
IdadeMinima | IdadeMinima | 0 | Caractere | ||
IdadeMaxima | IdadeMaxima | 0 | Caractere |
View para clientes com o sistema de gestão ERP Protheus - Módulo Planos de Saúde.
SELECT
ISNULL(BTU.BTU_CODTAB, BTQ.BTQ_CODTAB) AS TabelaProcedimento,
ISNULL(BTU.BTU_CDTERM, BTQ.BTQ_CDTERM) AS Procedimento,
BYL_CODIGO DenteRegiao,
SUBSTRING(BYL_FACE, numbers.n, 1) Face,
CAST(B05.B05_QTD AS INT) QuantidadePermitida,
B05.B05_UNCA UnidadeQuantidade,
B05.B05_QTDMED VldQtdPrestador,
B05.B05_QTDESP VldQtdEspec,
B05.B05_QTDPAT VldQtdCid,
CAST(B05.B05_PERIOD AS INT) Periodicidade,
B05.B05_UNPERI UnidadePeriodicidade,
B05.B05_PTRMED VldPerPrestador,
B05.B05_PTRESP VldPerEspec,
B05.B05_PTRPAT VldPerCid,
CAST(B05.B05_IDAMIN AS INT) IdadeMinima,
CAST(B05.B05_IDAMAX AS INT) IdadeMaxima,
B05.B05_AUTORI ModalidadeAutorizacao
FROM
(SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 ) numbers
INNER JOIN BYL010 BYL ON LEN(BYL.BYL_FACE)>numbers.n-1
INNER JOIN B05010 B05 ON BYL.BYL_CODPAD = B05.B05_CODPAD AND BYL.BYL_CODPSA = B05.B05_CODPSA
LEFT JOIN BTU010 BTU ON (BTU.BTU_VLRBUS = BYL.BYL_CODPSA AND BTU.D_E_L_E_T_ = ' ')
LEFT JOIN BTQ010 BTQ ON (BTQ.BTQ_CDTERM = BYL.BYL_CODPSA AND BTQ.D_E_L_E_T_ = ' ')
WHERE
BYL_FACE <> ' '
AND SUBSTRING(BYL_FACE, numbers.n, 1) <> ' '
AND (BTQ_CODTAB IS NULL OR BTQ_CODTAB IN ('18', '19', '20', '22', '90', '98'))
AND (BTU_CODTAB IS NULL OR BTU_CODTAB IN ('18', '19', '20', '22', '90', '98'))
AND ((BTU_CODTAB IS NOT NULL AND BTU_CDTERM IS NOT NULL) OR (BTQ_CODTAB IS NOT NULL AND BTQ_CDTERM IS NOT NULL))
AND BYL.D_E_L_E_T_ = ' '
AND B05.D_E_L_E_T_ = ' '
AND (
BYL.S_T_A_M_P_ > (DATEADD(HOUR, -1, GETUTCDATE()))
OR B05.S_T_A_M_P_ > (DATEADD(HOUR, -1, GETUTCDATE()))
)
GROUP BY
ISNULL(BTU.BTU_CODTAB, BTQ.BTQ_CODTAB),
ISNULL(BTU.BTU_CDTERM, BTQ.BTQ_CDTERM),
BYL_CODIGO,
SUBSTRING(BYL_FACE, numbers.n, 1),
CAST(B05.B05_QTD AS INT),
B05.B05_UNCA ,
B05.B05_QTDMED ,
B05.B05_QTDESP ,
B05.B05_QTDPAT ,
CAST(B05.B05_PERIOD AS INT) ,
B05.B05_UNPERI ,
B05.B05_PTRMED ,
B05.B05_PTRESP ,
B05.B05_PTRPAT ,
CAST(B05.B05_IDAMIN AS INT) ,
CAST(B05.B05_IDAMAX AS INT) ,
B05.B05_AUTORI
UNION ALL
SELECT
ISNULL(BTU.BTU_CODTAB, BTQ.BTQ_CODTAB) AS TabelaProcedimento,
ISNULL(BTU.BTU_CDTERM, BTQ.BTQ_CDTERM) AS Procedimento,
B05_CODIGO DenteRegiao,
' ' Face,
CAST(B05.B05_QTD AS INT) QuantidadePermitida,
B05.B05_UNCA UnidadeQuantidade,
B05.B05_QTDMED VldQtdPrestador,
B05.B05_QTDESP VldQtdEspec,
B05.B05_QTDPAT VldQtdCid,
CAST(B05.B05_PERIOD AS INT) Periodicidade,
B05.B05_UNPERI UnidadePeriodicidade,
B05.B05_PTRMED VldPerPrestador,
B05.B05_PTRESP VldPerEspec,
B05.B05_PTRPAT VldPerCid,
CAST(B05.B05_IDAMIN AS INT) IdadeMinima,
CAST(B05.B05_IDAMAX AS INT) IdadeMaxima,
B05.B05_AUTORI ModalidadeAutorizacao
FROM B05010 B05
LEFT JOIN BTU010 BTU ON (BTU.BTU_VLRBUS = B05.B05_CODPSA AND BTU.D_E_L_E_T_ = ' ')
LEFT JOIN BTQ010 BTQ ON (BTQ.BTQ_CDTERM = B05.B05_CODPSA AND BTQ.D_E_L_E_T_ = ' ')
WHERE
B05_CODPSA NOT IN (SELECT BYL_CODPSA FROM BYL010)
AND (BTQ_CODTAB IS NULL OR BTQ_CODTAB IN ('18', '19', '20', '22', '90', '98'))
AND (BTU_CODTAB IS NULL OR BTU_CODTAB IN ('18', '19', '20', '22', '90', '98'))
AND ((BTU_CODTAB IS NOT NULL AND BTU_CDTERM IS NOT NULL) OR (BTQ_CODTAB IS NOT NULL AND BTQ_CDTERM IS NOT NULL))
AND B05.D_E_L_E_T_ = ' '
AND B05.S_T_A_M_P_ > (DATEADD(HOUR, -1, GETUTCDATE()))
GROUP BY
ISNULL(BTU.BTU_CODTAB, BTQ.BTQ_CODTAB),
ISNULL(BTU.BTU_CDTERM, BTQ.BTQ_CDTERM),
B05_CODIGO,
CAST(B05.B05_QTD AS INT),
B05.B05_UNCA,
B05.B05_QTDMED,
B05.B05_QTDESP,
B05.B05_QTDPAT,
CAST(B05.B05_PERIOD AS INT),
B05.B05_UNPERI,
B05.B05_PTRMED,
B05.B05_PTRESP,
B05.B05_PTRPAT,
CAST(B05.B05_IDAMIN AS INT),
CAST(B05.B05_IDAMAX AS INT),
B05.B05_AUTORI
Observação: Para a view de carga inicial, basta remover o filtro de STAMP.