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,6 +173,8 @@ public class InicializarContratosServiceImpl extends UtilStartup { | ||
173 | criarOpcaoRelatorioRepactuacao(modulo, menuTermosRelatorios); | 173 | criarOpcaoRelatorioRepactuacao(modulo, menuTermosRelatorios); |
174 | // Menu Relatório de recisão | 174 | // Menu Relatório de recisão |
175 | criarOpcaoRelatorioRecisao(modulo, menuTermosRelatorios); | 175 | criarOpcaoRelatorioRecisao(modulo, menuTermosRelatorios); |
176 | + // Menu Consulta de relatórios | ||
177 | + criarOpcaoConsultaRelatorios(modulo, menuTermosRelatorios); | ||
176 | } | 178 | } |
177 | 179 | ||
178 | private void criarOpcaoSolicitacaoDemanda(Modulo modulo, Menu menuDemandas) { | 180 | private void criarOpcaoSolicitacaoDemanda(Modulo modulo, Menu menuDemandas) { |
@@ -653,5 +655,20 @@ public class InicializarContratosServiceImpl extends UtilStartup { | @@ -653,5 +655,20 @@ public class InicializarContratosServiceImpl extends UtilStartup { | ||
653 | this.menuService.mergeIfNotExist(menuRelatorioRecisao); | 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 @@ | @@ -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 | \ No newline at end of file | 212 | \ No newline at end of file |