Commit 3c62e7a220154c15d2ef37bc43c8f9d6347a4853

Authored by luis.camargo
1 parent 31d1098a
Exists in master

redmine #4115 Construção da história;

cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/InicializarContratosServiceImpl.java
... ... @@ -173,6 +173,8 @@ public class InicializarContratosServiceImpl extends UtilStartup {
173 173 criarOpcaoRelatorioRepactuacao(modulo, menuTermosRelatorios);
174 174 // Menu Relatório de recisão
175 175 criarOpcaoRelatorioRecisao(modulo, menuTermosRelatorios);
  176 + // Menu Consulta de relatórios
  177 + criarOpcaoConsultaRelatorios(modulo, menuTermosRelatorios);
176 178 }
177 179  
178 180 private void criarOpcaoSolicitacaoDemanda(Modulo modulo, Menu menuDemandas) {
... ... @@ -653,5 +655,20 @@ public class InicializarContratosServiceImpl extends UtilStartup {
653 655 this.menuService.mergeIfNotExist(menuRelatorioRecisao);
654 656 }
655 657  
  658 + private void criarOpcaoConsultaRelatorios(Modulo modulo, Menu menuTermosRelatorios) {
  659 +
  660 + Pagina pgConsultaRelatorios = new Pagina("Consulta de relatórios", "/cit-contratos-web/html/consultaRelatorios/consultaRelatorios.html");
  661 + pgConsultaRelatorios = this.paginaService.saveIfNotExist(pgConsultaRelatorios);
  662 + Menu menuConsultaRelatorios = new Menu("Consulta de relatório", pgConsultaRelatorios, menuTermosRelatorios, null, 10, null, null, null, null, modulo, "CONSULTA_RELATORIO");
  663 +
  664 + List<MenuFile> filesMenuConsultaRelatorios = new ArrayList<MenuFile>();
  665 + filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "controller/ConsultaRelatoriosController.js", this.dominioJS, menuConsultaRelatorios));
  666 + filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "controller/ConsultaRelatoriosController.min.js", this.dominioJS, menuConsultaRelatorios));
  667 + filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/ConsultaRelatoriosRepository.js", this.dominioJS, menuConsultaRelatorios));
  668 + filesMenuConsultaRelatorios.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/ConsultaRelatoriosRepository.min.js", this.dominioJS, menuConsultaRelatorios));
  669 + menuConsultaRelatorios.setIncludes(filesMenuConsultaRelatorios);
  670 +
  671 + this.menuService.mergeIfNotExist(menuConsultaRelatorios);
  672 + }
656 673  
657 674 }
... ...
cit-contratos-web/src/main/webapp/html/consultaRelatorios/consultaRelatorios.html 0 → 100644
... ... @@ -0,0 +1,211 @@
  1 +<div id="visaoContratoOcorrencias" class="page-content clearfix" ng-controller="VisaoContratoController">
  2 +
  3 + <div class="bar-buttons-action fixed">
  4 + <div class="row">
  5 + <div class="col-sm-9 text-left">
  6 + <span class="divider-vertical"></span>
  7 + </div><!-- .col -->
  8 +
  9 + <div class="col-sm-3 text-right">
  10 + <favorito/>
  11 + <help-button workspace="workspace" />
  12 + </div><!-- .col -->
  13 + </div><!-- .row -->
  14 + </div><!-- .bar-buttons-action -->
  15 +
  16 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  17 + <form name="VisaoContratoForm">
  18 + <div class="row">
  19 + <div class="col-sm-3">
  20 + <auto-complete ng-find="findContrato(value)" ng-item="item.numeroAnoContratoFormatado" ng-id="contrato" ng-acao-borracha="resetForm()"
  21 + ng-model="contrato" form="VisaoContratoForm" ng-obrigatorio="true">
  22 + </auto-complete>
  23 + </div>
  24 + </div>
  25 + <div class="contrato-evento-container">
  26 + <div class="contrato-evento-items">
  27 + <div class="contrato-evento-item" ng-repeat="contratoEvento in contratoEventos" ng-class="classCssSituacaoContrato[contratoEvento.contrato.dominioSituacaoAtual.nome]">
  28 + <div class="contrato-evento-item-top">
  29 + <h3 class="contrato-evento-item-title">
  30 + <translate>LABEL.CONTRATO</translate> - {{contratoEvento.contrato.numeroAnoContratoFormatado}}
  31 + <span class="contrato-evento-item-status"> <translate>LABEL.STATUS</translate> - {{contratoEvento.contrato.dominioSituacaoAtual.descricao}}</span>
  32 + <span class="contrato-evento-item-status" style="color: black; background: transparent; margin: auto;">
  33 + <translate>LABEL.NUMERO_PROCESSO</translate> - {{contratoEvento.contrato.numeroProcesso}}</span>
  34 + </h3>
  35 +
  36 + <div class="contrato-evento-item-top-right">
  37 + <div ng-hide="true" class="contrato-evento-item-filters clearfix">
  38 + <span class="contrato-evento-item-filters-title"><translate>LABEL.FILTROS</translate></span>
  39 +
  40 + <div class="contrato-evento-item-filters-fields clearfix">
  41 + <input type="text" class="contrato-evento-item-filters-field form-control" />
  42 +
  43 + <input type="text" class="contrato-evento-item-filters-field form-control" />
  44 + </div>
  45 + </div>
  46 +
  47 + <div class="contrato-evento-item-actions">
  48 + <select class="form-control" ng-model="contrato.contratoEvento.tipoEventoId" ng-options="acao.nome as acao.descricao for acao in acoesContrato track by acao.id"
  49 + ng-change="criarEvento()">
  50 + <option value="">Selecione</option>
  51 + </select>
  52 + </div>
  53 +
  54 + <div ng-hide="true" class="contrato-evento-item-view-details">
  55 + <button class="btn btn-primary"><i class="fa fa-eye"></i><translate>LABEL.EXIBIR_DETALHES</translate></button>
  56 + </div>
  57 + </div>
  58 + </div>
  59 +
  60 + <timeline-horizontal
  61 + show-start-end-point="true"
  62 + start-point-icon="play-circle"
  63 + start-point-text="{{contrato.dataVigenciaInicial}}"
  64 + end-point-icon="stop"
  65 + end-point-color="{{endPointColor}}"
  66 + end-point-text="{{contrato.ultimaDataVigenciaFinal? contrato.ultimaDataVigenciaFinal : contrato.dataVigenciaFinal}}"
  67 + vigencia-final="{{vigenciaFinal}}"
  68 + timeline-class="contrato-evento-item-timeline"
  69 + list="contratoEvento.eventos"
  70 + list-screen="contratoEvento.contratoEventosForScreen"
  71 + total-items="{{contratoEvento.totalOcorrencia}}"
  72 + next-element-event="atualizaContratoOcorrenciasPorDemanda(contratoEvento.contrato.id)">
  73 + <li class="timeline-item" ng-repeat="evento in contratoEvento.contratoEventosForScreen" ng-class="{'timeline-item-month-start': evento.monthStart, 'timeline-item-hidden': evento.hidden}">
  74 + <div class="timeline-item-icon" tooltip="{{evento.dataEvento}} - {{evento.tipoEvento.descricao}}" tooltip-enable="!evento.monthStart && !evento.dataVigencia">
  75 + <div class="timeline-item-month-start-text" ng-if="evento.monthStart">{{evento.dataEvento}}</div>
  76 + <div class="timeline-item-month-start-line" ng-if="evento.monthStart"></div>
  77 +
  78 + <i ng-if="!evento.monthStart && !evento.dataVigencia" class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" ng-click="mostrarEvento(evento);" style="cursor: pointer;"></i>
  79 + <div class="timeline-item" ng-if="evento.dataVigencia">
  80 + <div class="timeline-start-end-point-icon timeline-end-point-icon">
  81 + <i class="fa fa-{{evento.iconClass}} {{evento.colorClass}}" title="{{evento.tipoEvento}} - {{evento.dataEvento}}"></i>
  82 + </div>
  83 + </div>
  84 + </div><!-- .timeline-item-icon -->
  85 + </li><!-- .timeline-item -->
  86 + </timeline-horizontal>
  87 +
  88 + <div class="contrato-evento-item-progress-container">
  89 + <h4 class="contrato-evento-item-progress-title"><translate>LABEL.EMPENHO</translate></h4>
  90 + <div class="contrato-evento-item-progress">
  91 + <div class="contrato-evento-item-progress-scored"
  92 + tooltip="{{$translate.instant('LABEL.VALOR_EMPENHADO')}}: {{contratoEvento.contrato.totalEmpenhado | currency}}"
  93 + style="width: {{porcentagemEmpenho}}%">
  94 + </div>
  95 + <div class="contrato-evento-item-progress-total"
  96 + tooltip="{{$translate.instant('LABEL.VALOR_RESIDUAL')}}: {{(valorTotalContratoAditivado - contratoEvento.contrato.totalEmpenhado) | currency}}"
  97 + style="width: {{100 - porcentagemEmpenho}}%">
  98 + </div>
  99 + </div>
  100 +
  101 + <div class="contrato-evento-item-progress-legend">
  102 + <div class="contrato-evento-item-progress-legend-scored">
  103 + <span class="contrato-evento-item-progress-legend-color"></span> <translate>LABEL.VALOR_EMPENHADO</translate>: {{contratoEvento.contrato.totalEmpenhado | currency}}
  104 + </div>
  105 +
  106 + <div class="contrato-evento-item-progress-legend-total">
  107 + <span class="contrato-evento-item-progress-legend-color"></span> <translate>LABEL.VALOR_RESIDUAL</translate>: {{(valorTotalContratoAditivado - contratoEvento.contrato.totalEmpenhado) | currency}}
  108 +
  109 + <div align="right"><translate>LABEL.VALOR_TOTAL_CONTRATO</translate>: {{valorTotalContratoAditivado | currency}}</div>
  110 + </div>
  111 + </div>
  112 + </div>
  113 +
  114 + </div>
  115 + </div>
  116 + </div>
  117 + </br>
  118 + <div ng-show="evento">
  119 + <div class="panel-heading clearfix">
  120 + <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" ng-click="visualizarModal(evento);">
  121 + <i class="fa fa-search blue"></i>
  122 + <translate>LABEL.VISUALIZAR</translate>
  123 + </button>
  124 +
  125 + <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" ng-show="editEvento" class="btn btn-clear" type="button" ng-click="editarModal(evento)">
  126 + <i class="fa fa-pencil blue"></i>
  127 + <translate>LABEL.EDITAR</translate>
  128 + </button>
  129 +
  130 + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" ng-show="removeEvento" class="btn btn-clear" type="button" ng-click="removerEvento();">
  131 + <i class="fa fa-times red"></i>
  132 + <translate>LABEL.REMOVER</translate>
  133 + </button>
  134 +
  135 + <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}" class="btn btn-clear" type="button" ng-click="limparEvento();">
  136 + <i class="fa fa-times"></i>
  137 + <translate>LABEL.FECHAR</translate>
  138 + </button>
  139 + </div><!-- .panel-heading -->
  140 + <div class="row">
  141 + <div class="col-sm-3">
  142 + <label-input ng-id="evento.tipoEvento.descricao" ng-label="LABEL.ACAO" ng-model="evento.tipoEvento.descricao" form="VisaoContratoForm" ng-disabled="true"/>
  143 + </div>
  144 + <div class="col-sm-3">
  145 + <label-input-data ng-id="evento.dataEvento" ng-label="LABEL.DATA" ng-model="evento.dataEvento" form="VisaoContratoForm" ng-disabled="true" />
  146 + </div>
  147 + </div>
  148 + <div class="row">
  149 + <div class="col-sm-12">
  150 + <label-input ng-id="evento.descricao" ng-label="LABEL.DESCRICAO" ng-model="evento.descricao" form="VisaoContratoForm" ng-disabled="true"/>
  151 + </div>
  152 + </div>
  153 + </div>
  154 +
  155 + </form>
  156 +</div>
  157 +
  158 +<!-- MODAL JUSTIFICATIVA EXCLUSAO -->
  159 +<script type="text/ng-template" id="modal-justificativa-exclusao.html">
  160 + <div ng-include src="'/cit-contratos-web/html/eventos/modal-justificativa-exclusao.html'" />
  161 +</script>
  162 +
  163 +<!-- MODAL LIBERACAO PAGAMENTO -->
  164 +<script type="text/ng-template" id="modal-cnt_ev_liberacao_pagamento.html">
  165 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_liberacao_pagamento.html'" />
  166 +</script>
  167 +
  168 +<!-- MODAL APOSTILAMENTO -->
  169 +<script type="text/ng-template" id="cnt_ev_apostilamentoModal.html" >
  170 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_apostilamentoModal.html'" />
  171 +</script>
  172 +
  173 +<!-- MODAL ATUALIZACAO STATUS -->
  174 +<script type="text/ng-template" id="modal-cnt_ev_atualizacao_status.html">
  175 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_atualizacao_status.html'" />
  176 +</script>
  177 +
  178 +<!-- MODAL RECEBIMENTO OBJETO -->
  179 +<script type="text/ng-template" id="modal-cnt_ev_recebimentoobjeto.html">
  180 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_recebimentoobjeto.html'" />
  181 +</script>
  182 +
  183 +<!-- MODAL REGISTRO NAO CONFORMIDADE -->
  184 +<script type="text/ng-template" id="modal-cnt_ev_registro_nc.html">
  185 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_registro_nc.html'" />
  186 +</script>
  187 +
  188 +<!-- MODAL PENALIDADE -->
  189 +<script type="text/ng-template" id="cnt_ev_aplicar_penalidade.html" >
  190 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_aplicar_penalidade.html'" />
  191 +</script>
  192 +
  193 +<!-- MODAL ADITIVO -->
  194 +<script type="text/ng-template" id="modal-cnt_ev_aditivo.html">
  195 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_aditivo.html'" />
  196 +</script>
  197 +
  198 +<!-- MODAL RESCISAO CONTRATO -->
  199 +<script type="text/ng-template" id="modal-cnt_ev_rescisao_contrato.html">
  200 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_rescisao_contrato.html'" />
  201 +</script>
  202 +
  203 +<!-- MODAL REPACTUACAO -->
  204 +<script type="text/ng-template" id="modal-cnt_ev_repactuacao.html">
  205 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_repactuacao.html'" />
  206 +</script>
  207 +
  208 +<!-- MODAL REGISTRAR EMPENHO-->
  209 +<script type="text/ng-template" id="cnt_ev_empenho.html" >
  210 + <div ng-include src="'/cit-contratos-web/html/eventos/cnt_ev_empenho.html'" />
  211 +</script>
0 212 \ No newline at end of file
... ...