Commit 725deb5442c50719c8c1c6beb73fb7b90cf969fa

Authored by THIAGO VIEIRA DI COIMBRA ROCHA
1 parent 84dee635
Exists in master

redmine #3854 Correcao do dropdows 'Tipo Alteracao'.

citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java
@@ -22,10 +22,12 @@ import br.com.centralit.api.model.EntradaPatrimonioItem; @@ -22,10 +22,12 @@ import br.com.centralit.api.model.EntradaPatrimonioItem;
22 import br.com.centralit.api.model.InventarioBemPatrimonial; 22 import br.com.centralit.api.model.InventarioBemPatrimonial;
23 import br.com.centralit.api.model.MyMensagemRetorno; 23 import br.com.centralit.api.model.MyMensagemRetorno;
24 import br.com.centralit.api.model.MyRetornoStatus; 24 import br.com.centralit.api.model.MyRetornoStatus;
  25 +import br.com.centralit.api.model.Transferencia;
25 import br.com.centralit.api.service.AdicaoBemPrincipalService; 26 import br.com.centralit.api.service.AdicaoBemPrincipalService;
26 import br.com.centralit.api.service.BemPatrimonialService; 27 import br.com.centralit.api.service.BemPatrimonialService;
27 import br.com.centralit.api.service.EntradaItemService; 28 import br.com.centralit.api.service.EntradaItemService;
28 import br.com.centralit.api.service.OrganizacaoService; 29 import br.com.centralit.api.service.OrganizacaoService;
  30 +import br.com.centralit.api.service.TransferenciaService;
29 import br.com.centralit.api.service.UsuarioService; 31 import br.com.centralit.api.service.UsuarioService;
30 import br.com.centralit.api.viewHelper.AlteracaoBemVH; 32 import br.com.centralit.api.viewHelper.AlteracaoBemVH;
31 import br.com.centralit.api.viewHelper.BemPatrimonialVH; 33 import br.com.centralit.api.viewHelper.BemPatrimonialVH;
@@ -54,7 +56,10 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial> @@ -54,7 +56,10 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial>
54 56
55 @Autowired 57 @Autowired
56 private OrganizacaoService organizacaoService; 58 private OrganizacaoService organizacaoService;
57 - 59 +
  60 + @Autowired
  61 + private TransferenciaService transferenciaService;
  62 +
58 public BemPatrimonialController() { 63 public BemPatrimonialController() {
59 64
60 super(); 65 super();
@@ -688,4 +693,16 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial> @@ -688,4 +693,16 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial>
688 693
689 return responseBody; 694 return responseBody;
690 } 695 }
  696 + @RequestMapping(value = "/veirificaTransferenciaMaisRecenteBemPatrimonial", method = RequestMethod.GET, produces = "application/json")
  697 + @ResponseBody
  698 + public boolean veirificaTransferenciaMaisRecenteBemPatrimonial(Long idBem) {
  699 + Transferencia transferenciaMaisRecente = transferenciaService.obterTransferenciaMaisRecenteBem(idBem);
  700 +
  701 + if(transferenciaMaisRecente == null) {
  702 + return false;
  703 + } else {
  704 + return true;
  705 + }
  706 + }
  707 +
691 } 708 }
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js
@@ -11,7 +11,7 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito @@ -11,7 +11,7 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito
11 }; 11 };
12 $scope.diferenca = null; 12 $scope.diferenca = null;
13 $scope.novoValorResidual = 0; 13 $scope.novoValorResidual = 0;
14 - 14 +
15 // Limpa formulário para novo cadastro 15 // Limpa formulário para novo cadastro
16 $scope.resetForm = function() { 16 $scope.resetForm = function() {
17 $scope.limparAlteracao(); 17 $scope.limparAlteracao();
@@ -256,12 +256,53 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito @@ -256,12 +256,53 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito
256 }); 256 });
257 257
258 function preencherTiposAlteracaoEdit() { 258 function preencherTiposAlteracaoEdit() {
259 - $scope.tiposAlteracao = [];  
260 - DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAlteracaoBemPatrimonialIndividual').then(function(result) {  
261 - $scope.tiposAlteracao.push(result.originalElement); 259 + var isTodosTiposAlteracao = true;
  260 +
  261 + BemPatrimonialRepository.veirificaTransferenciaMaisRecenteBemPatrimonial($scope.bemPatrimonial.id).then(function(result){
  262 + if(validarDataTransferencia() && result) {
  263 + isTodosTiposAlteracao = false;
  264 + $scope.tiposAlteracao = [];
  265 + if(isTodosTiposAlteracao) {
  266 + DominioRepository.findAllDominio('tipoAlteracaoBemPatrimonialIndividual').then(function(result) {
  267 + angular.forEach(result, function(tipoAlt) {
  268 + if(tipoAlt.originalElement.codigo != 6){
  269 + $scope.tiposAlteracao.push(tipoAlt.originalElement);
  270 + }
  271 + });
  272 + });
  273 + } else {
  274 + DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAlteracaoBemPatrimonialIndividual').then(function(result) {
  275 + $scope.tiposAlteracao.push(result.originalElement);
  276 + });
  277 + }
  278 + }
262 }); 279 });
263 }; 280 };
264 281
  282 + // Método responsável por validar se da data da transferência escolhida é válida em relação a referência vigente antes da inclusão
  283 + function validarDataTransferencia() {
  284 +
  285 + var dataContabilizacaoBemPatrimonial;
  286 +
  287 + // Se já for a data preenchida automaticamente ao entrar na interface de inclusão, ela vem no formato DD/MM/YYYY
  288 + try {
  289 +
  290 + dataContabilizacaoBemPatrimonial = angular.copy(converterStringEmDate($scope.bemPatrimonial.dataContabil));
  291 +
  292 + } catch(err) {
  293 +
  294 + //Usuário altera a data no componente, ela já fica no formato date
  295 + dataContabilizacaoBemPatrimonial = angular.copy($scope.bemPatrimonial.dataContabil);
  296 + }
  297 + // Converte em Date e inicializa dia e hora das datas a serem comparadas. Só valida MM/YYYY
  298 + var dataVigencia = converterStringEmDate($scope.usuarioLogado.organizacao.dataReferenciaVigente);
  299 + dataContabilizacaoBemPatrimonial.setDate(1);
  300 + dataVigencia.setDate(1);
  301 +
  302 + return dataContabilizacaoBemPatrimonial.getTime() == dataVigencia.getTime();
  303 + }
  304 +
  305 +
265 DominioRepository.findAllDominio('tipoMotivoAlteracaoBem').then(function(result) { 306 DominioRepository.findAllDominio('tipoMotivoAlteracaoBem').then(function(result) {
266 307
267 $scope.tiposMotivoAlteracao = []; 308 $scope.tiposMotivoAlteracao = [];