Commit ed8809737f34f31ce480cafc387d312aa0a832b9
1 parent
34e955e3
Exists in
master
redmine #4110 merge da release-1.9.0 para master das novas branchs
Showing
10 changed files
with
66 additions
and
21 deletions
Show diff stats
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/EstruturaOrganizacionalPatrimonioDao.java
... | ... | @@ -87,7 +87,7 @@ public interface EstruturaOrganizacionalPatrimonioDao extends CitGenericDAO { |
87 | 87 | */ |
88 | 88 | EstruturaOrganizacionalPatrimonio getAlmoxarifadoPadrao(Long idOrganizacao); |
89 | 89 | |
90 | - List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao); | |
90 | + List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao, long idUA); | |
91 | 91 | |
92 | 92 | /** |
93 | 93 | * Método responsável por listar ids das estruturas organizacionais patrimônio definida como almoxarifado | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/EstruturaOrganizacionalPatrimonioDaoHibernate.java
... | ... | @@ -275,21 +275,20 @@ public class EstruturaOrganizacionalPatrimonioDaoHibernate extends CitGenericDAO |
275 | 275 | } |
276 | 276 | |
277 | 277 | @Override |
278 | - public List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao) { | |
278 | + public List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao, long idUA) { | |
279 | 279 | StringBuilder strQuery = new StringBuilder(); |
280 | 280 | strQuery.append("SELECT distinct ep.estruturaOrganizacional FROM EstruturaOrganizacionalPatrimonio ep where "); |
281 | 281 | strQuery.append("ep.isLocalizadoraDeBem IS TRUE and ep.isAlmoxarifado IS FALSE "); |
282 | + if(idUA > 0) | |
283 | + strQuery.append(" AND ep.estruturaOrganizacional.estruturaOrganizacionalParent.id = :idUA "); | |
282 | 284 | strQuery.append(" AND (LOWER(ep.estruturaOrganizacional.nome) like LOWER(:value) "); |
283 | 285 | strQuery.append(" OR LOWER(ep.estruturaOrganizacional.codigo) like LOWER(:value) "); |
284 | 286 | strQuery.append(" OR LOWER(ep.estruturaOrganizacional.localizacao.endereco.logradouro) like LOWER(:value) "); |
285 | 287 | strQuery.append(" OR LOWER(ep.estruturaOrganizacional.localizacao.codigo) like LOWER(:value) "); |
286 | - strQuery.append(" OR LOWER(ep.estruturaOrganizacional.classificacao) like LOWER(:value) "); | |
287 | - strQuery.append(" OR LOWER(ep.estruturaOrganizacional.estruturaOrganizacionalParent.nome) like LOWER(:value) "); | |
288 | - strQuery.append(" OR LOWER(ep.estruturaOrganizacional.estruturaOrganizacionalParent.codigo) like LOWER(:value)) "); | |
288 | + strQuery.append(" OR LOWER(ep.estruturaOrganizacional.classificacao) like LOWER(:value)) "); | |
289 | 289 | strQuery.append(" AND (ep.estruturaOrganizacional.dataFim IS NULL OR ep.estruturaOrganizacional.dataFim > :dataHoje)"); |
290 | 290 | strQuery.append(" AND ep.estruturaOrganizacional.dataInativo IS NULL AND ep.estruturaOrganizacional.dataBloqueio IS NULL"); |
291 | 291 | strQuery.append(" AND ep.estruturaOrganizacional.organizacao.id = :organizacaoId"); |
292 | - | |
293 | 292 | strQuery.append(" OR ep.estruturaOrganizacional.id in ( "); |
294 | 293 | strQuery.append(" SELECT resp.estruturaOrganizacional.id FROM EstruturaOrganizacionalResponsavel resp "); |
295 | 294 | strQuery.append(" inner join resp.estruturaOrganizacional.dominioTipoEstruturaOrganizacional dom "); |
... | ... | @@ -300,6 +299,10 @@ public class EstruturaOrganizacionalPatrimonioDaoHibernate extends CitGenericDAO |
300 | 299 | strQuery.append(" AND dom.chave = :chaveDominio "); |
301 | 300 | strQuery.append(" AND dom.codigo = :codigo "); |
302 | 301 | strQuery.append(" AND (resp.estruturaOrganizacional.dataFim IS NULL OR resp.estruturaOrganizacional.dataFim > :dataHoje))"); |
302 | + | |
303 | + if(idUA > 0) | |
304 | + strQuery.append(" AND ep.estruturaOrganizacional.estruturaOrganizacionalParent.id = :idUA "); | |
305 | + | |
303 | 306 | strQuery.append(" ORDER BY ep.estruturaOrganizacional.nome "); |
304 | 307 | |
305 | 308 | TypedQuery<EstruturaOrganizacional> query = this.em().createQuery(strQuery.toString(), EstruturaOrganizacional.class); |
... | ... | @@ -309,6 +312,8 @@ public class EstruturaOrganizacionalPatrimonioDaoHibernate extends CitGenericDAO |
309 | 312 | query.setParameter("chaveDominio", Dominio.TIPO_ESTRUTURA_ORGANIZACIONAL); |
310 | 313 | query.setParameter("codigo", Dominio.TIPO_UNIDADE_LOCALIZADORA); |
311 | 314 | query.setParameter("value", '%' + nome + '%'); |
315 | + if(idUA > 0) | |
316 | + query.setParameter("idUA", idUA); | |
312 | 317 | query.setMaxResults(MAX_RESULT_AUTOCOMPLETE); |
313 | 318 | |
314 | 319 | return query.getResultList(); | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/EstruturaOrganizacionalPatrimonioService.java
... | ... | @@ -151,7 +151,7 @@ public interface EstruturaOrganizacionalPatrimonioService extends GenericService |
151 | 151 | */ |
152 | 152 | EstruturaOrganizacionalPatrimonio getAlmoxarifadoPadrao(Long idOrganizacao); |
153 | 153 | |
154 | - List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao); | |
154 | + List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao, long idUA); | |
155 | 155 | |
156 | 156 | /** |
157 | 157 | * Método responsável por listar ids das estruturas organizacionais patrimônio definida como almoxarifado | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/EstruturaOrganizacionalPatrimonioServiceImpl.java
... | ... | @@ -357,8 +357,8 @@ public class EstruturaOrganizacionalPatrimonioServiceImpl extends GenericService |
357 | 357 | } |
358 | 358 | |
359 | 359 | @Override |
360 | - public List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao) { | |
361 | - return this.estruturaOrganizacionalPatrimonioDao.listarLocalDestinoParaTransferencia(nome, idOrganizacao); | |
360 | + public List<EstruturaOrganizacional> listarLocalDestinoParaTransferencia(String nome, long idOrganizacao, long idUA) { | |
361 | + return this.estruturaOrganizacionalPatrimonioDao.listarLocalDestinoParaTransferencia(nome, idOrganizacao, idUA); | |
362 | 362 | } |
363 | 363 | |
364 | 364 | /** | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/EstruturaOrganizacionalPatrimonioController.java
... | ... | @@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMethod; |
12 | 12 | import org.springframework.web.bind.annotation.RequestParam; |
13 | 13 | import org.springframework.web.bind.annotation.ResponseBody; |
14 | 14 | |
15 | +import com.google.common.base.Strings; | |
16 | + | |
15 | 17 | import br.com.centralit.api.model.EstruturaOrganizacional; |
16 | 18 | import br.com.centralit.api.model.EstruturaOrganizacionalPatrimonio; |
17 | 19 | import br.com.centralit.api.service.EstruturaOrganizacionalPatrimonioService; |
... | ... | @@ -211,9 +213,9 @@ public class EstruturaOrganizacionalPatrimonioController extends GenericControll |
211 | 213 | |
212 | 214 | @RequestMapping(value = "/listarLocalDestinoParaTransferencia", method = RequestMethod.GET, produces = "application/json") |
213 | 215 | @ResponseBody |
214 | - public ResponseBodyWrapper listarLocalDestinoParaTransferencia(@RequestParam(value = "nome") String nome, @RequestParam(value = "idOrganizacao") String idOrganizacao) { | |
216 | + public ResponseBodyWrapper listarLocalDestinoParaTransferencia(@RequestParam(value = "nome") String nome, @RequestParam(value = "idOrganizacao") String idOrganizacao, @RequestParam(value = "idUA", required = false) String idUA) { | |
215 | 217 | |
216 | - ResultResponseVH<List<EstruturaOrganizacional>> resultResponseVH = new ResultResponseVH<List<EstruturaOrganizacional>>(this.estruturaOrganizacionalPatrimonioService.listarLocalDestinoParaTransferencia(nome, Long.parseLong(idOrganizacao))); | |
218 | + ResultResponseVH<List<EstruturaOrganizacional>> resultResponseVH = new ResultResponseVH<List<EstruturaOrganizacional>>(this.estruturaOrganizacionalPatrimonioService.listarLocalDestinoParaTransferencia(nome, Long.parseLong(idOrganizacao), Strings.isNullOrEmpty(idUA) ? 0 : Long.parseLong(idUA))); | |
217 | 219 | |
218 | 220 | ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, Views.EstruturaOrganizacionalAutoCompleteSimplesView.class); |
219 | 221 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/EmissaoTermoResponsabilidadeController.js
... | ... | @@ -46,7 +46,7 @@ citApp.controller('EmissaoTermoResponsabilidadeController', ['$scope', '$filter' |
46 | 46 | }; |
47 | 47 | |
48 | 48 | $scope.setEstrutura = function() { |
49 | - | |
49 | + $scope.estruturaOrganizacionalLocalizadora = null; | |
50 | 50 | $scope.colaborador = null; |
51 | 51 | }; |
52 | 52 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/EntradaController.js
... | ... | @@ -1639,13 +1639,22 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1639 | 1639 | //MOSTRA DETALHES DO BEM PATRIMONIAL |
1640 | 1640 | $scope.showCaracteristicaEspecifica = function(bemPatrimonial) { |
1641 | 1641 | BemPatrimonialTemporarioRepository.get(bemPatrimonial.id).then(function(result) { |
1642 | - bemPatrimonial.caracteristicas = result.originalElement.caracteristicas; | |
1642 | + | |
1643 | + if(bemPatrimonial.caracteristicas === undefined){ | |
1644 | + bemPatrimonial.caracteristicas = result.originalElement.caracteristicas; | |
1645 | + } | |
1646 | + | |
1643 | 1647 | if (bemPatrimonial.caracteristicas != undefined) { |
1644 | - bemPatrimonial.caracteristicas.forEach(function(caracteristica) { | |
1648 | + var contemGenerico = false; | |
1649 | + bemPatrimonial.caracteristicas.forEach(function(caracteristica) { | |
1645 | 1650 | if (!caracteristica.materialCaracteristica.generico) { |
1646 | - bemPatrimonial.$show = !bemPatrimonial.$show; | |
1651 | + contemGenerico = true; | |
1647 | 1652 | } |
1648 | 1653 | }); |
1654 | + | |
1655 | + if(contemGenerico){ | |
1656 | + bemPatrimonial.$show = !bemPatrimonial.$show; | |
1657 | + } | |
1649 | 1658 | } |
1650 | 1659 | }); |
1651 | 1660 | }; | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaController.js
1 | 1 | 'use strict'; |
2 | -citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', '$translate', 'TransferenciaRepository', 'EstruturaOrganizacionalPatrimonioRepository', 'BemPatrimonialRepository', 'PessoaRepository', 'FileUploader', 'PatrimonioService','DominioRepository', | |
3 | - function TransferenciaController($scope, $filter, $timeout, $translate, TransferenciaRepository, EstruturaOrganizacionalPatrimonioRepository, BemPatrimonialRepository, PessoaRepository, FileUploader, PatrimonioService, DominioRepository) { | |
2 | +citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', '$translate', 'TransferenciaRepository', 'EstruturaOrganizacionalPatrimonioRepository', 'BemPatrimonialRepository', 'PessoaRepository', 'FileUploader', 'PatrimonioService','DominioRepository', 'EstruturaOrganizacionalRepository', | |
3 | + function TransferenciaController($scope, $filter, $timeout, $translate, TransferenciaRepository, EstruturaOrganizacionalPatrimonioRepository, BemPatrimonialRepository, PessoaRepository, FileUploader, PatrimonioService, DominioRepository, EstruturaOrganizacionalRepository) { | |
4 | 4 | |
5 | 5 | |
6 | 6 | $scope.headers = [ { |
... | ... | @@ -157,6 +157,7 @@ citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', ' |
157 | 157 | $scope.resetForm = function() { |
158 | 158 | $scope.edit = true; |
159 | 159 | $scope.permiteAlterarTrans = false; |
160 | + $scope.estruturaOrganizacionalAdm = null; | |
160 | 161 | $scope.transferencia = { |
161 | 162 | estruturaOrganizacionalDestino : null, |
162 | 163 | dataTransferencia : $filter('date')(new Date(), "dd/MM/yyyy"), |
... | ... | @@ -183,12 +184,28 @@ citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', ' |
183 | 184 | $scope.resetForm(); |
184 | 185 | |
185 | 186 | //#################### INÍCIO MÉTODOS AUTOCOMPLETE ESTRUTURA DESTINO #################### |
187 | + // Método responsável por listar UA | |
188 | + $scope.findEstruturaOrganizacionalAdministrativa = function (value){ | |
189 | + return EstruturaOrganizacionalRepository.listarEstruturasOrganizacionaisAdministrativasBusca(value, $scope.usuarioLogado.organizacao.id).then(function(result) { | |
190 | + return result; | |
191 | + }); | |
192 | + }; | |
193 | + | |
194 | + $scope.setEstruturaLocalizadora = function(item) { | |
195 | + $scope.estruturaOrganizacionalAdm = item; | |
196 | + $scope.transferencia.estruturaOrganizacionalDestino = null; | |
197 | + }; | |
198 | + | |
186 | 199 | // Método responsável por listar EstruturaOrganizacional através do nome digitado e o órgao do usuário logado |
187 | 200 | $scope.findEstrutura = function(value) { |
188 | - return EstruturaOrganizacionalPatrimonioRepository.listarLocalDestinoParaTransferencia(value, $scope.usuarioLogado.organizacao.id).then(function(result) { | |
201 | + return EstruturaOrganizacionalPatrimonioRepository.listarLocalDestinoParaTransferencia(value, $scope.usuarioLogado.organizacao.id, $scope.estruturaOrganizacionalAdm ? $scope.estruturaOrganizacionalAdm.id : null).then(function(result) { | |
189 | 202 | return result; |
190 | 203 | }); |
191 | 204 | }; |
205 | + | |
206 | + $scope.limparAutoCompleteEstruturaAdm = function(value){ | |
207 | + $scope.estruturaOrganizacionalAdm = null; | |
208 | + }; | |
192 | 209 | |
193 | 210 | // Método responsável por limpar o auto complete Estrutura |
194 | 211 | $scope.limparAutoCompleteEstrutura = function(value) { | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/EstruturaOrganizacionalPatrimonioRepository.js
... | ... | @@ -34,8 +34,8 @@ citApp.factory('EstruturaOrganizacionalPatrimonioRepository', ['RestangularPatri |
34 | 34 | return restangularPatrimonio.one(this.route + "/getAlmoxarifadoPadrao").get({"idOrganizacao" : idOrganizacao}); |
35 | 35 | }; |
36 | 36 | |
37 | - this.listarLocalDestinoParaTransferencia = function(value, idOrganizacao) { | |
38 | - return restangularPatrimonio.one(this.route).getList("listarLocalDestinoParaTransferencia", {nome : value, idOrganizacao : idOrganizacao}).then(); | |
37 | + this.listarLocalDestinoParaTransferencia = function(value, idOrganizacao, idUA) { | |
38 | + return restangularPatrimonio.one(this.route).getList("listarLocalDestinoParaTransferencia", {nome : value, idOrganizacao : idOrganizacao, idUA : idUA}).then(); | |
39 | 39 | }; |
40 | 40 | |
41 | 41 | this.listarIdsEstruturaPatrimonioComoAlmoxarifado = function(idOrganizacao) { | ... | ... |
citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaEdit.html
... | ... | @@ -79,9 +79,21 @@ |
79 | 79 | </div> |
80 | 80 | </div> |
81 | 81 | |
82 | + <div class="row" ng-show="!transferencia.id"> | |
83 | + <div class="col-sm-8"> | |
84 | + <auto-complete ng-find="findEstruturaOrganizacionalAdministrativa(value)" ng-item="item.codigoENome + ' - ' + item.classificacao" | |
85 | + ng-id="transferencia.estruturaOrganizacionalAdm" ng-label="LABEL.UNIDADE_ADMINISTRATIVA" ng-model="estruturaOrganizacionalAdm" | |
86 | + form="transferenciaForm" ng-set-result="setEstruturaLocalizadora(item)" ng-acao-borracha="limparAutoCompleteEstruturaAdm(item)"></auto-complete> | |
87 | + </div> | |
88 | + </div> | |
89 | + | |
82 | 90 | <div class="row"> |
83 | 91 | <div class="col-sm-8"> |
84 | - <auto-complete ng-find="findEstrutura(value)" form="transferenciaForm" ng-obrigatorio="true" ng-label="PATRIMONIO.LABEL.SELECIONE_LOCAL_DESTINO" ng-set-result="setEstrutura(item)" ng-acao-borracha="limparAutoCompleteEstrutura(item)" ng-item="item.codigoENome + ' - ' + item.classificacao" ng-id="transferencia.estruturaOrganizacionalDestino" ng-model="transferencia.estruturaOrganizacionalDestino" ng-disabled="!edit || permiteAlterarTrans" /> | |
92 | + <auto-complete ng-find="findEstrutura(value)" form="transferenciaForm" ng-obrigatorio="true" | |
93 | + ng-label="PATRIMONIO.LABEL.SELECIONE_LOCAL_DESTINO" ng-set-result="setEstrutura(item)" | |
94 | + ng-acao-borracha="limparAutoCompleteEstrutura(item)" ng-item="item.codigoENome + ' - ' + item.classificacao" | |
95 | + ng-id="transferencia.estruturaOrganizacionalDestino" ng-model="transferencia.estruturaOrganizacionalDestino" | |
96 | + ng-disabled="!edit || permiteAlterarTrans" /> | |
85 | 97 | </div> |
86 | 98 | <div class="col-sm-4"> |
87 | 99 | <label-input-data ng-id="transferencia.dataTransferencia" form="transferenciaForm" ng-disabled="!edit" ng-label="PATRIMONIO.LABEL.DATA_TRANSFERENCIA" ng-obrigatorio="edit" ng-model="transferencia.dataTransferencia" /> | ... | ... |