Commit 3c62e7a220154c15d2ef37bc43c8f9d6347a4853
1 parent
31d1098a
Exists in
master
redmine #4115 Construção da história;
Showing
2 changed files
with
228 additions
and
0 deletions
Show diff stats
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 | ... | ... |