Buscar

Seleção de Dados com Decodificação

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

SELECT DECODE(DECODE(itlan_med.tp_pagamento,NULL,itreg_fat.tp_pagamento,itlan_med.tp_pagamento)
 || $P{P_PRESTADOR_CREDEN},'CN','B','A') tipo_emissao ,
 TRUNC(DECODE('$P!{P_DETALHADA}','S',itreg_fat.dt_lancamento,DECODE(itfor_apre_gru_pro.tp_data,'S',TRUNC(SYSDATE),itreg_fat.dt_lancamento))) dt_lancamento ,
 DECODE('$P!{P_DETALHADA}','S',itreg_fat.hr_lancamento,DECODE(itfor_apre_gru_pro.tp_data,'H',itreg_fat.hr_lancamento,SYSDATE)) hr_lancamento ,
 DECODE('$P!{P_DETALHADA}','S',itreg_fat.hr_lancamento,DECODE(itfor_apre_gru_pro.tp_data,'H',itreg_fat.hr_lancamento_final,NULL)) hr_lancamento_final ,
-- NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(cod_pro.ds_nome_cobranca,NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(hierarquizado.ds_pro_fat_hierarquizado,1,60),pro_fat.ds_pro_fat), cod_pro.ds_nome_cobranca),SUBSTR(simpro.ds_simpro,1,60)),pro_fat.ds_pro_fat) ds_ordenacao ,
 NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(InitCap(cod_pro.ds_nome_cobranca),NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(InitCap(hierarquizado.ds_pro_fat_hierarquizado),1,60),InitCap(pro_fat.ds_pro_fat)), InitCap(cod_pro.ds_nome_cobranca)),SUBSTR(InitCap(simpro.ds_simpro),1,60)),InitCap(pro_fat.ds_pro_fat)) ds_ordenacao ,
-- NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(cod_pro.ds_nome_cobranca,NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(hierarquizado.ds_pro_fat_hierarquizado,1,60),pro_fat.ds_pro_fat), cod_pro.ds_nome_cobranca),SUBSTR(simpro.ds_simpro,1,60)),pro_fat.ds_pro_fat) func_desc_fat ,
 NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(InitCap(cod_pro.ds_nome_cobranca),NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(InitCap(hierarquizado.ds_pro_fat_hierarquizado),1,60),InitCap(pro_fat.ds_pro_fat)), InitCap(cod_pro.ds_nome_cobranca)),SUBSTR(InitCap(simpro.ds_simpro),1,60)),InitCap(pro_fat.ds_pro_fat)) func_desc_fat ,
 NVL(cod_pro.ds_unidade_cobranca,pro_fat.ds_unidade) func_unid_fat ,
 NVL(cod_pro.ds_codigo_cobranca,DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',hierarquizado.cd_pro_fat_hierarquizado,itreg_fat.cd_pro_fat)) func_cd_fat ,
 acresc_descontos.ds_desconto ds_desconto_lanc ,
 acresc_descontos.ds_acrescimo ds_acrescimo_lanc ,
 acresc_descontos.ds_desconto ds_desconto_setor ,
 acresc_descontos.ds_acrescimo ds_acrescimo_setor ,
 regra_acoplamento.vl_percentual vl_percent_acoplamento ,
 DECODE(configuracao.valor,'N',DECODE(for_apre.sn_imprime_setor,'S',itreg_fat.cd_setor,NULL), DECODE(dbamv.pkg_mv2000.le_cliente,737,itreg_fat.cd_setor_produziu,itreg_fat.cd_setor)) cd_setor ,
 NVL(setor.cd_seq_detalhe,99) cd_seq_detalhe_setor ,
 gru_pro.tp_gru_pro tp_gru_pro ,
 gru_pro.cd_gru_pro cd_gru_pro ,
 gru_pro.ds_gru_pro ds_gru_pro ,
 DECODE( gru_pro.tp_gru_pro, 'SP', 'Honorários Médicos', 'SD', 'Serviços Diagnósticos', 'SH', 'Serviços Hospitalares', 'MT', 'Materiais', 'MD', 'Medicamentos', 'OP', 'Órteses e Próteses' ) tp_proced ,
 itreg_fat.cd_pro_fat cd_pro_fat ,
 InitCap(pro_fat.ds_pro_fat) ds_pro_fat ,
 pro_fat.cd_gru_pro cd_gru_pro1 ,
 DECODE(ITREG_FAT.CD_PRO_FAT
 || HOSPITAL.CD_HOSPITAL,'07000032749',ITREG_FAT.QT_LANCAMENTO / 60,ITREG_FAT.QT_LANCAMENTO) qt_lancamento,
 itreg_fat.qt_lancamento qt_lancamento_lan_med ,
 DECODE(ITREG_FAT.CD_PRO_FAT
 || HOSPITAL.CD_HOSPITAL,'07000032749',ITREG_FAT.VL_UNITARIO * 60, DECODE(ITFOR_APRE_GRU_PRO.SN_IMPRIME_VL_FILME,'N',ITREG_FAT.VL_UNITARIO + NVL(itreg_fat.vl_filme_unitario,0), ITREG_FAT.VL_UNITARIO))
vl_unitario,
 (itreg_fat.vl_filme_unitario * itreg_fat.qt_lancamento) vl_filme ,
 TO_CHAR(NVL(itreg_fat.QT_CH_UNITARIO,0)) qt_ch_unitario ,
 itreg_fat.vl_total_conta vl_total_conta ,
 itreg_fat.vl_desconto_conta vl_desconto_conta ,
 (itreg_fat.vl_acrescimo + nvl(Round(((itreg_fat.vl_acrescimo * itreg_fat.vl_desconto_conta)/decode(nvl(itreg_fat.vl_total_conta,0), 0, 1, itreg_fat.vl_total_conta)),2),0)) vl_acrescimo							,
 (itreg_fat.vl_desconto + nvl(Round(((itreg_fat.vl_desconto * itreg_fat.vl_desconto_conta)/decode(nvl(itreg_fat.vl_total_conta,0), 0, 1, itreg_fat.vl_total_conta)),2),0)) vl_desconto								,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, itreg_fat.cd_prestador) cd_prestador ,
 prestador.nm_prestador nm_prestador ,
 prestador.ds_codigo_conselho ds_codigo_conselho ,
 prestador.nr_cpf_cgc nr_cpf_cgc ,
 itreg_fat.cd_ati_med cd_ati_med ,
 ati_med.ds_ati_med ds_ati_med ,
 NVL(itlan_med.tp_pagamento,NVL(itreg_fat.tp_pagamento,'P')) tp_pagamento ,
 reg_fat.cd_convenio cd_convenio ,
 reg_fat.cd_con_pla cd_con_pla ,
 con_pla.cd_regra cd_regra ,
 con_pla.cd_regra cd_regra1 ,
 reg_fat.cd_atendimento cd_atendimento ,
 atendime.tp_atendimento tp_atendimento ,
 atendime.dt_atendimento dt_atendimento ,
 pro_fat.ds_unidade ds_unidade ,
 itreg_fat.cd_reg_fat cd_reg_fat ,
 itreg_fat.cd_lancamento cd_lancamento ,
 itfor_apre_gru_pro.cd_seq_detalhe cd_seq_detalhe_gru_pro ,
 itfor_apre_gru_pro.tp_data tp_data ,
 itfor_apre_gru_pro.sn_imprime_unidade sn_imprime_unidade ,
 itfor_apre_gru_pro.sn_imprime_HE sn_imprime_HE ,
 itfor_apre_gru_pro.sn_imprime_perc_pago sn_imprime_perc_pago ,
 itfor_apre_gru_pro.sn_imprime_perc_proc sn_imprime_perc_proc ,
 itfor_apre_gru_pro.sn_imprime_ch sn_imprime_ch ,
 itfor_apre_gru_pro.sn_imprime_simpro sn_imprime_simpro ,
 itfor_apre_gru_pro.sn_imprime_brasindice sn_imprime_brasindice ,
 itfor_apre_gru_pro.sn_imprime_prestador sn_imprime_prestador ,
 itfor_apre_gru_pro.sn_imprime_fp sn_imprime_fp ,
 itfor_apre_gru_pro.tp_imp_acresc_desc tp_imp_acresc_desc ,
 itfor_apre_gru_pro.sn_imprime_vl_filme sn_imprime_vl_filme ,
 itreg_fat.sn_horario_especial sn_horario_especial ,
 itreg_fat.vl_percentual_multipla vl_percentual_multipla
,
 itreg_fat.vl_percentual_paciente vl_percentual_paciente ,
 itcob_pre.cd_fornecedor cd_fornecedor ,
 itcob_pre.nr_documento nr_documento ,
 fornecedor.nm_fornecedor nm_fornecedor ,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, prestador_equipe.cd_prestador) cd_prestador_equipe_nulo ,
 prestador_equipe.nm_prestador nm_prestador_equipe_nulo ,
 prestador_equipe.ds_codigo_conselho ds_codigo_conselho_equipe ,
 prestador_equipe.nr_cpf_cgc nr_cpf_cgc_equipe ,
 ati_med_equipe.cd_ati_med cd_ati_med_equipe ,
 ati_med_equipe.ds_ati_med ds_ati_med_equipe ,
 itlan_med.vl_ato vl_ato ,
 itlan_med.vl_desconto_conta vl_desc_conta ,
 itlan_med.vl_liquido ,
 itlan_med.vl_desconto vl_desconto_eqp ,
 itlan_med.vl_acrescimo vl_acrescimo_eqp ,
 pres_con.cd_prestador_conveniado cd_prestador_conveniado ,
 pres_con_equipe.cd_prestador_conveniado cd_prestador_conveniado_equipe ,
 DECODE(for_apre.sn_imprime_kit,'S',NVL(padrao_cobranca.cd_padrao,0),NULL) cd_padrao ,
 DECODE(for_apre.sn_imprime_kit,'S',padrao_cobranca.ds_padrao,NULL) ds_padrao ,
 itreg_fat.cd_franquia cd_franquia ,
 itreg_fat.cd_regra_acoplamento cd_regra_acoplamento ,
 itreg_fat.cd_reg_fat_pai cd_reg_fat_pai ,
 itreg_fat.cd_lancamento_pai cd_lancamento_pai ,
 NULL dt_agrupamento ,
 NULL kit ,
 imp_simpro.cd_tab_fat ,
 itreg_fat.nr_difep ,
 itreg_fat.cd_gru_fat ,
 itfor_apre_gru_pro.sn_imprime_difep ,
 itreg_fat.cd_gru_fat ,
 convenio.cd_convenio,
 paciente.nm_paciente
 FROM dbamv.itreg_fat ,
 dbamv.reg_fat ,
 dbamv.setor ,
 dbamv.pro_fat ,
 dbamv.prestador ,
 dbamv.prestador prestador_equipe ,
 dbamv.ati_med ,
 dbamv.ati_med ati_med_equipe ,
 dbamv.gru_pro ,
 dbamv.con_pla ,
 dbamv.atendime ,
 dbamv.convenio ,
 dbamv.for_apre ,
 dbamv.itfor_apre_gru_pro ,
 dbamv.itcob_pre ,
 dbamv.fornecedor ,
 dbamv.itlan_med ,
 dbamv.simpro ,
 dbamv.padrao_cobranca ,
 dbamv.hospital ,
 dbamv.regra_acoplamento ,
 (SELECT DISTINCT cod_pro.cd_pro_fat,
 cod_pro.ds_nome_cobranca ,
 cod_pro.ds_unidade_cobranca ,
 cod_pro.ds_codigo_cobranca ,
 itreg_fat.dt_lancamento
 FROM dbamv.reg_fat ,
 dbamv.cod_pro ,
 dbamv.atendime ,
 dbamv.itreg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_reg_fat = itreg_fat.cd_reg_fat
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itreg_fat.cd_pro_fat = cod_pro.cd_pro_fat
 AND cod_pro.cd_convenio
= ( DECODE( dbamv.pkg_mv2000.le_cliente, 264, DECODE( reg_fat.cd_convenio, 45, DECODE( SIGN( TRUNC( sysdate ) - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, DECODE( SIGN( itreg_fat.dt_lancamento - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, reg_fat.cd_convenio , 0, reg_fat.cd_convenio , -1, 143 ) , 0, DECODE( SIGN( itreg_fat.dt_lancamento - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, reg_fat.cd_convenio , 0, reg_fat.cd_convenio , -1, 143 ) , -1, reg_fat.cd_convenio ), reg_fat.cd_convenio ), reg_fat.cd_convenio ) )
 AND NVL(cod_pro.cd_multi_empresa,$P{P_CD_MULTI_EMPRESA}) = $P{P_CD_MULTI_EMPRESA}
 AND atendime.cd_atendimento = reg_fat.cd_atendimento
 AND (atendime.tp_atendimento = cod_pro.tp_atendimento
 OR cod_pro.tp_atendimento = 'T')
 ) cod_pro ,
 (SELECT DISTINCT pres_con.cd_prestador,
 pres_con.cd_prestador_conveniado
 FROM dbamv.reg_fat ,
 dbamv.pres_con
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 and (pres_con.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA} or pres_con.cd_multi_empresa is null ) /* OP 7329 */
 AND pres_con.cd_convenio = reg_fat.cd_convenio
 AND pres_con.sn_paga_pelo_convenio = 'S'
 ) pres_con ,
 (SELECT DISTINCT pres_con.cd_prestador,
 pres_con.cd_prestador_conveniado
 FROM dbamv.reg_fat ,
 dbamv.pres_con
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 and (pres_con.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA} or pres_con.cd_multi_empresa is null ) /* OP 7329 */
 AND pres_con.cd_convenio = reg_fat.cd_convenio
 ) pres_con_equipe ,
 (SELECT DISTINCT acresc_descontos.ds_desconto,
 acresc_descontos.ds_acrescimo ,
 acresc_descontos.cd_gru_pro,
	acresc_descontos.dt_inicio_vigencia,
	acresc_descontos.dt_final_vigencia
 FROM dbamv.acresc_descontos
 WHERE acresc_descontos.tp_atend_internacao = 'S'
 AND acresc_descontos.cd_regra =
 (SELECT reg_fat.cd_regra
 FROM dbamv.reg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 )
 ) acresc_descontos ,
 ( SELECT DISTINCT PRO_HIE.cd_pro_fat_hierarquizado ,
 PRO_HIE.ds_pro_fat_hierarquizado ,
 PRO_HIE.cd_pro_fat
 FROM dbamv.reg_fat ,
 dbamv.PRO_FAT_HIERARQUIZADO PRO_HIE ,
 dbamv.itreg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itreg_fat.cd_reg_fat = reg_fat.cd_reg_fat
 AND itreg_fat.cd_pro_fat = PRO_HIE.cd_pro_fat
 ) hierarquizado ,
 (SELECT cd_pro_fat ,
 MAX(cd_tab_fat) cd_tab_fat
 FROM
 (SELECT DISTINCT pro_fat.cd_pro_fat,
 itregra.cd_tab_fat
 FROM dbamv.pro_fat,
 dbamv.itregra ,
 dbamv.reg_fat ,
 dbamv.imp_simpro
 WHERE reg_fat.cd_regra = itregra.cd_regra
 AND reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itregra.cd_gru_pro = pro_fat.cd_gru_pro
 AND pro_fat.cd_pro_fat = imp_simpro.cd_pro_fat
 AND itregra.cd_tab_fat = imp_simpro.cd_tab_fat
 UNION
 SELECT DISTINCT imp_simpro.cd_pro_fat,
 0 cd_tab_fat
 FROM dbamv.imp_simpro
 WHERE imp_simpro.cd_tab_fat IS NULL
 )
 GROUP BY cd_pro_fat
 ) simpro_tab ,
 (SELECT cd_pro_fat ,
 NVL(cd_tab_fat,0) cd_tab_fat,
 cd_simpro
 FROM dbamv.imp_simpro
 ) imp_simpro,
 (SELECT distinct NVL(valor, 'N') valor
 FROM dbamv.configuracao
 WHERE configuracao.cd_sistema = 'FFCV'
 AND configuracao.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA}
 AND configuracao.chave = 'SN_IMPRIME_SETOR_EXEC_FAT'
 ) configuracao,
 dbamv.paciente
 WHERE itreg_fat.cd_setor = setor.cd_setor(+)
AND itreg_fat.cd_pro_fat = pro_fat.cd_pro_fat
AND itreg_fat.cd_prestador = prestador.cd_prestador (+)
AND itreg_fat.cd_prestador = pres_con.cd_prestador (+)
AND itlan_med.cd_prestador = pres_con_equipe.cd_prestador (+)
AND itreg_fat.cd_ati_med = ati_med.cd_ati_med (+)
AND pro_fat.cd_gru_pro = gru_pro.cd_gru_pro
AND con_pla.cd_convenio = reg_fat.cd_convenio
AND con_pla.cd_con_pla = reg_fat.cd_con_pla
AND atendime.cd_atendimento = reg_fat.cd_atendimento
AND reg_fat.cd_reg_fat = itreg_fat.cd_reg_fat
AND convenio.cd_convenio = reg_fat.cd_convenio
AND for_apre.cd_for_apre = convenio.cd_for_apre
AND itfor_apre_gru_pro.cd_for_apre = for_apre.cd_for_apre
AND itfor_apre_gru_pro.cd_gru_pro = gru_pro.cd_gru_pro
AND itreg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
AND itreg_fat.cd_reg_fat = itcob_pre.cd_reg_fat (+)
AND itreg_fat.cd_lancamento = itcob_pre.cd_lancamento (+)
AND itcob_pre.cd_fornecedor = fornecedor.cd_fornecedor (+)
AND ((itfor_apre_gru_pro.tp_data = 'H'
AND $P{P_DETALHADA} = 'N')
OR ($P{P_DETALHADA} = 'S'))
AND itlan_med.cd_reg_fat(+) = itreg_fat.cd_reg_fat
AND itlan_med.cd_lancamento(+) = itreg_fat.cd_lancamento
AND ati_med_equipe.cd_ati_med (+) = itlan_med.cd_ati_med
AND prestador_equipe.cd_prestador (+) = itlan_med.cd_prestador
AND hospital.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA}
AND ITREG_FAT.CD_PRO_FAT = HIERARQUIZADO.CD_PRO_FAT(+)
AND cod_pro.cd_pro_fat (+) = itreg_fat.cd_pro_fat
AND cod_pro.dt_lancamento (+) = itreg_fat.dt_lancamento
 --
AND imp_simpro.cd_pro_fat (+) = simpro_tab.cd_pro_fat
AND imp_simpro.cd_tab_fat (+) = simpro_tab.cd_tab_fat
AND itreg_fat.cd_pro_fat = simpro_tab.cd_pro_fat (+)
 --
AND imp_simpro.cd_simpro = simpro.cd_simpro (+)
AND padrao_cobranca.cd_padrao (+) = itreg_fat.cd_padrao
AND acresc_descontos.cd_gru_pro(+) = gru_pro.cd_gru_pro
AND (trunc(itreg_fat.dt_lancamento) between trunc(nvl(acresc_descontos.dt_inicio_vigencia, itreg_fat.dt_lancamento )) and trunc(nvl(acresc_descontos.dt_final_vigencia, sysdate )))
AND itreg_fat.cd_regra_acoplamento = regra_acoplamento.cd_regra_acoplamento(+)
AND paciente.cd_paciente = atendime.cd_paciente
 $P!{CF_CONDPREST1} $P!{CF_PACOTE} $P!{CF_GRU_PRO} $P!{CF_EMITE_SP}
UNION ALL
 (SELECT DECODE(DECODE(MAX(itlan_med.tp_pagamento),NULL,MAX(itreg_fat.tp_pagamento),MAX(itlan_med.tp_pagamento))
 || $P{P_PRESTADOR_CREDEN},'CN','B','A') tipo_emissao ,
 TRUNC(DECODE('$P!{P_DETALHADA}','S',MAX(itreg_fat.dt_lancamento),DECODE(MAX(itfor_apre_gru_pro.tp_data),'S',TRUNC(SYSDATE),MAX(itreg_fat.dt_lancamento)))) dt_lancamento ,
 DECODE('$P!{P_DETALHADA}','S',MAX(itreg_fat.hr_lancamento),DECODE(MAX(itfor_apre_gru_pro.tp_data),'H', MAX(itreg_fat.hr_lancamento),SYSDATE)) hr_lancamento ,
 DECODE('$P!{P_DETALHADA}','S',itreg_fat.hr_lancamento,DECODE(itfor_apre_gru_pro.tp_data,'H',itreg_fat.hr_lancamento_final,NULL)) hr_lancamento_final
,
-- MAX(NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(cod_pro.ds_nome_cobranca,NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(hierarquizado.ds_pro_fat_hierarquizado,1,60),pro_fat.ds_pro_fat), cod_pro.ds_nome_cobranca),SUBSTR(simpro.ds_simpro,1,60)),pro_fat.ds_pro_fat)) ds_ordenacao ,
 MAX(NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(InitCap(cod_pro.ds_nome_cobranca),NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(InitCap(hierarquizado.ds_pro_fat_hierarquizado),1,60),InitCap(pro_fat.ds_pro_fat)), InitCap(cod_pro.ds_nome_cobranca)),SUBSTR(InitCap(simpro.ds_simpro),1,60)),InitCap(pro_fat.ds_pro_fat))) ds_ordenacao ,
-- MAX(NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(cod_pro.ds_nome_cobranca,NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(hierarquizado.ds_pro_fat_hierarquizado,1,60),pro_fat.ds_pro_fat), cod_pro.ds_nome_cobranca),SUBSTR(simpro.ds_simpro,1,60)),pro_fat.ds_pro_fat)) func_desc_fat,
 MAX(NVL(DECODE(itfor_apre_gru_pro.sn_imprime_simpro,'N',DECODE(InitCap(cod_pro.ds_nome_cobranca),NULL, DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',SUBSTR(InitCap(hierarquizado.ds_pro_fat_hierarquizado),1,60),InitCap(pro_fat.ds_pro_fat)), InitCap(cod_pro.ds_nome_cobranca)),SUBSTR(InitCap(simpro.ds_simpro),1,60)),InitCap(pro_fat.ds_pro_fat))) func_desc_fat,
 MAX(NVL(cod_pro.ds_unidade_cobranca,pro_fat.ds_unidade)) func_unid_fat ,
 MAX(NVL(cod_pro.ds_codigo_cobranca,DECODE(itfor_apre_gru_pro.sn_imprime_cbhpm,'S',hierarquizado.cd_pro_fat_hierarquizado,itreg_fat.cd_pro_fat))) func_cd_fat ,
 acresc_descontos.ds_desconto ds_desconto_lanc ,
 acresc_descontos.ds_acrescimo ds_acrescimo_lanc ,
 acresc_descontos.ds_desconto ds_desconto_setor ,
 acresc_descontos.ds_acrescimo ds_acrescimo_setor ,
 regra_acoplamento.vl_percentual vl_percent_acoplamento ,
 DECODE(configuracao.valor,'N',DECODE(for_apre.sn_imprime_setor,'S',itreg_fat.cd_setor,NULL), DECODE(dbamv.pkg_mv2000.le_cliente,737,itreg_fat.cd_setor_produziu,itreg_fat.cd_setor)) cd_setor ,
 NVL(MAX(setor.cd_seq_detalhe),99) cd_seq_detalhe_setor ,
 MAX(gru_pro.tp_gru_pro) tp_gru_pro ,
 gru_pro.cd_gru_pro cd_gru_pro ,
 gru_pro.ds_gru_pro ds_gru_pro ,
 DECODE( MAX(gru_pro.tp_gru_pro), 'SP', 'Honorários Médicos', 'SD', 'Serviços Diagnósticos', 'SH', 'Serviços Hospitalares', 'MT', 'Materiais', 'MD', 'Medicamentos', 'OP', 'Órteses e Próteses' ) tp_proced ,
 itreg_fat.cd_pro_fat cd_pro_fat ,
 InitCap(pro_fat.ds_pro_fat) ds_pro_fat ,
 pro_fat.cd_gru_pro cd_gru_pro ,
 SUM(DECODE(ITREG_FAT.CD_PRO_FAT
 || HOSPITAL.CD_HOSPITAL,'07000032749',ITREG_FAT.QT_LANCAMENTO / 60,ITREG_FAT.QT_LANCAMENTO)) qt_lancamento,
 SUM(itreg_fat.qt_lancamento) qt_lancamento_lan_med ,
 DECODE(ITREG_FAT.CD_PRO_FAT
 || HOSPITAL.CD_HOSPITAL,'07000032749',ITREG_FAT.VL_UNITARIO * 60, DECODE(ITFOR_APRE_GRU_PRO.SN_IMPRIME_VL_FILME,'N',ITREG_FAT.VL_UNITARIO + NVL(itreg_fat.vl_filme_unitario,0), ITREG_FAT.VL_UNITARIO)) vl_unitario,
 (itreg_fat.vl_filme_unitario * SUM(itreg_fat.qt_lancamento) ) vl_filme ,
 LTRIM(TO_CHAR(NVL(MAX(itreg_fat.QT_CH_UNITARIO),0))) qt_ch_unitario ,
 SUM(itreg_fat.vl_total_conta) vl_total_conta ,
 SUM(itreg_fat.vl_desconto_conta) vl_desconto_conta ,
 Sum((itreg_fat.vl_acrescimo + nvl(Round(((itreg_fat.vl_acrescimo * itreg_fat.vl_desconto_conta)/decode(nvl(itreg_fat.vl_total_conta,0), 0, 1, itreg_fat.vl_total_conta)),2),0))) vl_acrescimo					 ,
 Sum((itreg_fat.vl_desconto + nvl(Round(((itreg_fat.vl_desconto * itreg_fat.vl_desconto_conta)/decode(nvl(itreg_fat.vl_total_conta,0),
0, 1, itreg_fat.vl_total_conta)),2),0))) vl_desconto						 ,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, itreg_fat.cd_prestador) cd_prestador ,
 MAX(prestador.nm_prestador) nm_prestador ,
 MAX(prestador.ds_codigo_conselho) ds_codigo_conselho ,
 MAX(prestador.nr_cpf_cgc) nr_cpf_cgc ,
 MAX(itreg_fat.cd_ati_med) cd_ati_med ,
 MAX(ati_med.ds_ati_med) ds_ati_med ,
 NVL(itlan_med.tp_pagamento,NVL(itreg_fat.tp_pagamento,'P')) tp_pagamento ,
 MAX(reg_fat.cd_convenio) cd_convenio ,
 MAX(reg_fat.cd_con_pla) cd_con_pla ,
 MAX(con_pla.cd_regra) cd_regra ,
 MAX(con_pla.cd_regra) cd_regra1 ,
 MAX(reg_fat.cd_atendimento) cd_atendimento ,
 MAX(atendime.tp_atendimento) tp_atendimento ,
 MAX(atendime.dt_atendimento) dt_atendimento ,
 MAX(pro_fat.ds_unidade) ds_unidade ,
 MAX(itreg_fat.cd_reg_fat) cd_reg_fat ,
 MAX(itreg_fat.cd_lancamento) cd_lancamento ,
 MAX(itfor_apre_gru_pro.cd_seq_detalhe) cd_seq_detalhe_gru_pro ,
 MAX(itfor_apre_gru_pro.tp_data) tp_data ,
 MAX(itfor_apre_gru_pro.sn_imprime_unidade) sn_imprime_unidade ,
 MAX(itfor_apre_gru_pro.sn_imprime_HE) sn_imprime_HE ,
 MAX(itfor_apre_gru_pro.sn_imprime_perc_pago) sn_imprime_perc_pago ,
 MAX(itfor_apre_gru_pro.sn_imprime_perc_proc) sn_imprime_perc_proc ,
 MAX(itfor_apre_gru_pro.sn_imprime_ch) sn_imprime_ch ,
 itfor_apre_gru_pro.sn_imprime_simpro sn_imprime_simpro ,
 MAX(itfor_apre_gru_pro.sn_imprime_brasindice) sn_imprime_brasindice ,
 MAX(itfor_apre_gru_pro.sn_imprime_prestador) sn_imprime_prestador ,
 MAX(itfor_apre_gru_pro.sn_imprime_fp) sn_imprime_fp ,
 MAX(itfor_apre_gru_pro.tp_imp_acresc_desc) tp_imp_acresc_desc ,
 MAX(itfor_apre_gru_pro.sn_imprime_vl_filme) sn_imprime_vl_filme ,
 MAX(itreg_fat.sn_horario_especial) sn_horario_especial ,
 itreg_fat.vl_percentual_multipla ,
 MAX(itreg_fat.vl_percentual_paciente) vl_percentual_paciente ,
 itcob_pre.cd_fornecedor cd_fornecedor ,
 MAX(itcob_pre.nr_documento) nr_documento ,
 MAX(fornecedor.nm_fornecedor) nm_fornecedor ,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, prestador_equipe.cd_prestador) cd_prestador_equipe_nulo
,
 MAX(prestador_equipe.nm_prestador) nm_prestador_equipe_nulo ,
 MAX(prestador_equipe.ds_codigo_conselho) ds_codigo_conselho_equipe ,
 MAX(prestador_equipe.nr_cpf_cgc) nr_cpf_cgc_equipe ,
 MAX(ati_med_equipe.cd_ati_med) cd_ati_med_equipe ,
 MAX(ati_med_equipe.ds_ati_med) ds_ati_med_equipe ,
 MAX(itlan_med.vl_ato) vl_ato ,
 MAX(itlan_med.vl_desconto_conta) vl_desc_conta ,
 SUM(itlan_med.vl_liquido) vl_liquido ,
 SUM(itlan_med.vl_desconto) vl_desconto_eqp ,
 SUM(itlan_med.vl_acrescimo) vl_acrescimo_eqp ,
 MAX(pres_con.cd_prestador_conveniado) cd_prestador_conveniado ,
 MAX(pres_con_equipe.cd_prestador_conveniado) cd_prestador_conveniado_equipe ,
 DECODE(MAX(for_apre.sn_imprime_kit),'S',NVL(MAX(padrao_cobranca.cd_padrao),0),NULL) cd_padrao ,
 DECODE(MAX(for_apre.sn_imprime_kit),'S',MAX(padrao_cobranca.ds_padrao),NULL) ds_padrao ,
 MAX(itreg_fat.cd_franquia) cd_franquia ,
 MAX(itreg_fat.cd_regra_acoplamento) cd_regra_acoplamento ,
 MAX(itreg_fat.cd_reg_fat_pai) cd_reg_fat_pai ,
 MAX(itreg_fat.cd_lancamento_pai) cd_lancamento_pai ,
 DECODE(itfor_apre_gru_pro.tp_data,'S',NULL,itreg_fat.dt_lancamento) dt_agrupamento ,
 DECODE(for_apre.sn_imprime_kit,'N',NULL,itreg_fat.cd_padrao) kit ,
 MAX(imp_simpro.cd_tab_fat) cd_tab_fat ,
 itreg_fat.nr_difep ,
 itreg_fat.cd_gru_fat ,
 itfor_apre_gru_pro.sn_imprime_difep ,
 itreg_fat.cd_gru_fat ,
 convenio.cd_convenio,
 paciente.nm_paciente
 FROM dbamv.itreg_fat ,
 dbamv.reg_fat ,
 dbamv.setor ,
 dbamv.pro_fat ,
 dbamv.prestador ,
 dbamv.prestador prestador_equipe ,
 dbamv.ati_med ,
 dbamv.ati_med ati_med_equipe ,
 dbamv.gru_pro ,
 dbamv.con_pla ,
 dbamv.atendime ,
 dbamv.convenio ,
 dbamv.for_apre ,
 dbamv.itfor_apre_gru_pro ,
 dbamv.itcob_pre ,
 dbamv.fornecedor ,
 dbamv.itlan_med ,
 dbamv.padrao_cobranca ,
 dbamv.simpro ,
 dbamv.hospital ,
 dbamv.regra_acoplamento ,
 (SELECT DISTINCT cod_pro.cd_pro_fat,
 cod_pro.ds_nome_cobranca ,
 cod_pro.ds_unidade_cobranca ,
 cod_pro.ds_codigo_cobranca ,
 itreg_fat.dt_lancamento
 FROM dbamv.reg_fat ,
 dbamv.cod_pro ,
 dbamv.atendime ,
 dbamv.itreg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_reg_fat = itreg_fat.cd_reg_fat
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itreg_fat.cd_pro_fat = cod_pro.cd_pro_fat
 AND cod_pro.cd_convenio = ( DECODE( dbamv.pkg_mv2000.le_cliente, 264, DECODE( reg_fat.cd_convenio, 45, DECODE( SIGN( TRUNC( sysdate ) - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, DECODE( SIGN( itreg_fat.dt_lancamento - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, reg_fat.cd_convenio , 0, reg_fat.cd_convenio , -1, 143 ) , 0, DECODE( SIGN( itreg_fat.dt_lancamento - to_date( '01/05/2008', 'dd/mm/yyyy' ) ), 1, reg_fat.cd_convenio , 0, reg_fat.cd_convenio , -1, 143 ) , -1, reg_fat.cd_convenio ), reg_fat.cd_convenio ), reg_fat.cd_convenio ) )
 AND NVL(cod_pro.cd_multi_empresa,$P{P_CD_MULTI_EMPRESA}) = $P{P_CD_MULTI_EMPRESA}
 AND atendime.cd_atendimento = reg_fat.cd_atendimento
 AND (atendime.tp_atendimento = cod_pro.tp_atendimento
 OR cod_pro.tp_atendimento = 'T')
 ) cod_pro ,
 (SELECT DISTINCT pres_con.cd_prestador,
 pres_con.cd_prestador_conveniado
FROM dbamv.reg_fat ,
 dbamv.pres_con
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND pres_con.cd_convenio = reg_fat.cd_convenio
 and (pres_con.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA} or pres_con.cd_multi_empresa is null ) /* OP 7329 */
 AND pres_con.sn_paga_pelo_convenio = 'S'
 ) pres_con ,
 (SELECT DISTINCT pres_con.cd_prestador,
 pres_con.cd_prestador_conveniado
 FROM dbamv.reg_fat ,
 dbamv.pres_con
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 and (pres_con.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA} or pres_con.cd_multi_empresa is null ) /* OP 7329 */
 AND pres_con.cd_convenio = reg_fat.cd_convenio
 ) pres_con_equipe ,
 (SELECT DISTINCT acresc_descontos.ds_desconto,
 acresc_descontos.ds_acrescimo ,
 acresc_descontos.cd_gru_pro,
	 acresc_descontos.dt_inicio_vigencia,
	 acresc_descontos.dt_final_vigencia
 FROM dbamv.acresc_descontos
 WHERE acresc_descontos.tp_atend_internacao = 'S'
 AND acresc_descontos.cd_regra =
 (SELECT reg_fat.cd_regra
 FROM dbamv.reg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 )
 ) acresc_descontos ,
 ( SELECT DISTINCT PRO_HIE.cd_pro_fat_hierarquizado ,
 PRO_HIE.ds_pro_fat_hierarquizado ,
 PRO_HIE.cd_pro_fat
 FROM dbamv.reg_fat ,
 dbamv.PRO_FAT_HIERARQUIZADO PRO_HIE ,
 dbamv.itreg_fat
 WHERE reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itreg_fat.cd_reg_fat = reg_fat.cd_reg_fat
 AND itreg_fat.cd_pro_fat = PRO_HIE.cd_pro_fat
 ) hierarquizado ,
 (SELECT cd_pro_fat ,
 MAX(cd_tab_fat) cd_tab_fat
 FROM
 (SELECT DISTINCT pro_fat.cd_pro_fat,
 itregra.cd_tab_fat
 FROM dbamv.pro_fat,
 dbamv.itregra ,
 dbamv.reg_fat ,
 dbamv.imp_simpro
 WHERE reg_fat.cd_regra = itregra.cd_regra
 AND reg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itregra.cd_gru_pro = pro_fat.cd_gru_pro
 AND pro_fat.cd_pro_fat = imp_simpro.cd_pro_fat
 AND itregra.cd_tab_fat = imp_simpro.cd_tab_fat
 UNION
 SELECT DISTINCT imp_simpro.cd_pro_fat,
 0 cd_tab_fat
 FROM dbamv.imp_simpro
 WHERE imp_simpro.cd_tab_fat IS NULL
 )
 GROUP BY cd_pro_fat
 ) simpro_tab ,
 (SELECT cd_pro_fat ,
 NVL(cd_tab_fat,0) cd_tab_fat,
 cd_simpro
 FROM dbamv.imp_simpro
 ) imp_simpro,
 (SELECT distinct NVL(valor, 'N') valor
 FROM dbamv.configuracao
 WHERE configuracao.cd_sistema = 'FFCV'
 AND configuracao.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA}
 AND configuracao.chave = 'SN_IMPRIME_SETOR_EXEC_FAT'
 ) configuracao,
 dbamv.paciente
 WHERE itreg_fat.cd_setor = setor.cd_setor(+)
 AND itreg_fat.cd_pro_fat = pro_fat.cd_pro_fat
 AND itreg_fat.cd_prestador = prestador.cd_prestador (+)
 AND itreg_fat.cd_prestador = pres_con.cd_prestador (+)
 AND itlan_med.cd_prestador = pres_con_equipe.cd_prestador (+)
 AND itreg_fat.cd_ati_med = ati_med.cd_ati_med (+)
 AND pro_fat.cd_gru_pro = gru_pro.cd_gru_pro
 AND con_pla.cd_convenio = reg_fat.cd_convenio
 AND con_pla.cd_con_pla = reg_fat.cd_con_pla
 AND atendime.cd_atendimento = reg_fat.cd_atendimento
 AND reg_fat.cd_reg_fat = itreg_fat.cd_reg_fat
 AND convenio.cd_convenio = reg_fat.cd_convenio
 AND for_apre.cd_for_apre = convenio.cd_for_apre
 AND itfor_apre_gru_pro.cd_for_apre = for_apre.cd_for_apre
 AND itfor_apre_gru_pro.cd_gru_pro = gru_pro.cd_gru_pro
 AND itreg_fat.cd_reg_fat = $P{P_CD_REG_FAT}
 AND reg_fat.cd_atendimento = $P{P_CD_ATENDIMENTO}
 AND itreg_fat.cd_reg_fat = itcob_pre.cd_reg_fat (+)
 AND itreg_fat.cd_lancamento = itcob_pre.cd_lancamento (+)
 AND itcob_pre.cd_fornecedor = fornecedor.cd_fornecedor (+)
 AND itlan_med.cd_reg_fat(+) = itreg_fat.cd_reg_fat
 AND itlan_med.cd_lancamento(+) = itreg_fat.cd_lancamento
 AND ati_med_equipe.cd_ati_med (+) = itlan_med.cd_ati_med
 AND prestador_equipe.cd_prestador (+) = itlan_med.cd_prestador
 AND cod_pro.cd_pro_fat (+) = itreg_fat.cd_pro_fat
 AND cod_pro.dt_lancamento (+) = itreg_fat.dt_lancamento
 AND hospital.cd_multi_empresa = $P{P_CD_MULTI_EMPRESA}
 AND ITREG_FAT.CD_PRO_FAT = HIERARQUIZADO.CD_PRO_FAT(+)
 AND imp_simpro.cd_pro_fat (+) = simpro_tab.cd_pro_fat
 AND imp_simpro.cd_tab_fat (+) = simpro_tab.cd_tab_fat
 AND itreg_fat.cd_pro_fat = simpro_tab.cd_pro_fat (+)
 AND padrao_cobranca.cd_padrao (+) = itreg_fat.cd_padrao
 AND imp_simpro.cd_simpro = simpro.cd_simpro (+)
 AND itfor_apre_gru_pro.tp_data <> 'H'
 AND $P{P_DETALHADA} = 'N'
 AND acresc_descontos.cd_gru_pro(+) = gru_pro.cd_gru_pro
 AND (trunc(itreg_fat.dt_lancamento) between trunc(nvl(acresc_descontos.dt_inicio_vigencia, itreg_fat.dt_lancamento )) and trunc(nvl(acresc_descontos.dt_final_vigencia, sysdate )))
 AND itreg_fat.cd_regra_acoplamento = regra_acoplamento.cd_regra_acoplamento(+)
 AND paciente.cd_paciente = atendime.cd_paciente $P!{CF_CONDPREST1} $P!{CF_PACOTE} $P!{CF_GRU_PRO} $P!{CF_EMITE_SP}
 GROUP BY DECODE(configuracao.valor,'N',DECODE(for_apre.sn_imprime_setor,'S',itreg_fat.cd_setor,NULL) , DECODE(dbamv.pkg_mv2000.le_cliente,737,itreg_fat.cd_setor_produziu,itreg_fat.cd_setor)) ,
 gru_pro.cd_gru_pro ,
 gru_pro.ds_gru_pro ,
 itreg_fat.cd_pro_fat ,
 ati_med_equipe.cd_ati_med ,
 pro_fat.ds_pro_fat ,
 simpro.ds_simpro ,
 pro_fat.cd_gru_pro ,
 itreg_fat.nr_difep ,
 itreg_fat.cd_gru_fat ,
 itfor_apre_gru_pro.sn_imprime_difep
,
 itreg_fat.cd_gru_fat ,
 convenio.cd_convenio ,
 ITREG_FAT.CD_PRO_FAT ,
 HOSPITAL.CD_HOSPITAL ,
 ITREG_FAT.VL_UNITARIO ,
 ITFOR_APRE_GRU_PRO.SN_IMPRIME_VL_FILME ,
 itfor_apre_gru_pro.sn_imprime_simpro ,
 itcob_pre.cd_fornecedor ,
 pro_fat.ds_unidade ,
 hierarquizado.cd_pro_fat_hierarquizado ,
 hierarquizado.ds_pro_fat_hierarquizado ,
 itfor_apre_gru_pro.sn_imprime_cbhpm ,
 NVL(itlan_med.tp_pagamento,NVL(itreg_fat.tp_pagamento,'P')) ,
 itreg_fat.vl_filme_unitario ,
 itfor_apre_gru_pro.sn_imprime_simpro ,
 DECODE(configuracao.valor,'N',DECODE(for_apre.sn_imprime_setor,'S',itreg_fat.cd_setor,NULL), DECODE(for_apre.sn_imprime_setor,'S',itreg_fat.cd_setor_produziu,itreg_fat.cd_setor)) ,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, itreg_fat.cd_prestador) ,
 DECODE(itfor_apre_gru_pro.sn_imprime_prestador,'N', NULL, prestador_equipe.cd_prestador) ,
 DECODE(itfor_apre_gru_pro.tp_data,'S',NULL,itreg_fat.dt_lancamento) ,
 DECODE(for_apre.sn_imprime_kit,'N',NULL,itreg_fat.cd_padrao) ,
 acresc_descontos.ds_desconto ,
 acresc_descontos.ds_acrescimo ,
 regra_acoplamento.vl_percentual ,
 itreg_fat.vl_percentual_multipla ,
 DECODE('$P!{P_DETALHADA}','S',itreg_fat.hr_lancamento,DECODE(itfor_apre_gru_pro.tp_data,'H',itreg_fat.hr_lancamento_final,NULL)),
 paciente.nm_paciente
 )
ORDER BY cd_gru_pro,cd_setor,cd_padrao,5]]

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina