~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatorio Custos Telefonia por Dia da Semana ====== Este caso de uso tem como finalidade apresentar informações de gastos com telefonia fixa ,móvel e fax para uma unidade por dia da semana. ===== Descrição do Caso de Uso ===== O caso de uso inicia solicitando ao usuário: * **Ano*** - Formato : . Tipo : NUMÉRICO. * **Unidade** - Formato : (). Tipo : AUTOCOMPLETE. Entrada de Dados: NOME ou CÓDIGO DA UNIDADE. * **Tipo Relatório*** Formato : *HTML *EXCEL . Tipo : Lógico. Tipo do relatório a ser gerado, caso seja HTML a visualização do relatório se dará via navegador , caso contrário um arquivo .xls será gerado e a visualização do relatório será feito por um programa office. O relatório lista os gastos telefônicos agrupando por unidade. Segue o modelo do relatório: **__Planilha de Gastos Telefônicos por Unidade __** **__Unidade__**: UNIDADE (SIGLA) (99.99) ^ UNIDADE (SIGLA) (99.99) ^^^^^^^^^ ^ DIA ^SEGUNDA ^ TERÇA ^ QUARTA ^ QUINTA ^ SEXTA ^ SÁBADO ^ DOMINGO ^ TOTAL^^^^^ |FIXO| 99999999 | 999,99 | ... | 999,99 | 999,99 | 999,99 | 999,99 | 999,99 | | CELULAR|99999999 | 999,99 | ... | 999,99 | 999,99 | 999,99 | 999,99 | 999,99 | | FAX|99999999 | 999,99 | ... | 999,99 | 999,99 | 999,99 | 999,99 | 999,99 | ^ Total por Ano ^^^^^^^^^ | FIXO | 99999999 | | CELULAR| 99999999 | | FAX | 99999999 | Fim do caso de uso. ===== Principais Regras de Negócio ===== Não se Aplica. ==== Resoluções/Legislações Associadas ==== Não se Aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.faturas.dominio.FaturaProcessada | administrativo_update_geral.contratos.fatura_processada | | br.ufrn.sipac.faturas.telefones.dominio.LigacaoTelefonica | administrativo_update_geral.contratos.ligacao_telefonica | | br.ufrn.sipac.faturas.telefones.dominio.LinhaTelefonica | administrativo_update_geral.contratos.linha_telefonica | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Faturas Link(s): Faturas -> Telefonia -> Relatórios -> Custos de Telefonia por Dia da Semana Usuário: adrianaalves Papel que usuário deve ter: SipacPapeis.GESTOR_FATURAS. ===== Cenários de Teste ===== Não se aplica. ===== Dados para o Teste ===== Gerar o relatório e conferir com o resultado da consulta do seguinte sql(lembrar de ajustar o ano) SELECT z.dia_semana_txt , z.dia_semana , z.tipo_telefone --, z.id_unidade_pagadora , z.codigo_unidade , z.nome_unidade , translate(cast (cast(sum(z.valor_cobrado_diario_total) AS numeric(14,2)) as text),'.',',') AS valor_total_dia_semana FROM (SELECT to_char(foo.data, 'DD-MM-YYYY') AS data , CASE WHEN foo.dia_semana = 0 THEN 'DOMINGO' WHEN foo.dia_semana = 1 THEN 'SEGUNDA' WHEN foo.dia_semana = 2 THEN 'TERÇA' WHEN foo.dia_semana = 3 THEN 'QUARTA' WHEN foo.dia_semana = 4 THEN 'QUINTA' WHEN foo.dia_semana = 5 THEN 'SEXTA' WHEN foo.dia_semana = 6 THEN 'SABADO' END AS dia_semana_txt , foo.dia_semana , foo.tipo_telefone , foo.valor_cobrado_diario_total , foo.id_unidade_pagadora , foo.codigo_unidade , foo.nome_unidade FROM (SELECT cast(ltel.data AS date) AS data , extract(DOW FROM ltel.data) AS dia_semana , tt.denominacao AS tipo_telefone , sum(ltel.valor_cobrado) AS valor_cobrado_diario_total , lt.id_unidade_pagadora , u.codigo_unidade , u.nome AS nome_unidade FROM contratos.linha_telefonica lt JOIN contratos.ligacao_telefonica ltel ON lt.id_linha_telefonica = ltel.id_linha_telefonica JOIN contratos.tipo_telefone tt ON tt.id_tipo_telefone = lt.id_tipo_telefone JOIN comum.unidade u ON lt.id_unidade_pagadora = u.id_unidade WHERE extract(YEAR FROM ltel.data) = 2010 GROUP BY cast(ltel.data AS date) , tt.denominacao , extract(DOW FROM ltel.data) , lt.id_unidade_pagadora , u.codigo_unidade , u.nome ORDER BY data ASC , tt.denominacao ) AS foo ) AS z GROUP BY --z.id_unidade_pagadora z.codigo_unidade , z.nome_unidade , z.dia_semana , z.dia_semana_txt , z.tipo_telefone ORDER BY z.codigo_unidade ASC , z.dia_semana ASC;