~~ODT~~
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.
O caso de uso inicia solicitando ao usuário:
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.
Não se Aplica.
Não se Aplica.
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 |
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.
Não se aplica.
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;