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 22 import br.com.centralit.api.model.InventarioBemPatrimonial;
23 23 import br.com.centralit.api.model.MyMensagemRetorno;
24 24 import br.com.centralit.api.model.MyRetornoStatus;
  25 +import br.com.centralit.api.model.Transferencia;
25 26 import br.com.centralit.api.service.AdicaoBemPrincipalService;
26 27 import br.com.centralit.api.service.BemPatrimonialService;
27 28 import br.com.centralit.api.service.EntradaItemService;
28 29 import br.com.centralit.api.service.OrganizacaoService;
  30 +import br.com.centralit.api.service.TransferenciaService;
29 31 import br.com.centralit.api.service.UsuarioService;
30 32 import br.com.centralit.api.viewHelper.AlteracaoBemVH;
31 33 import br.com.centralit.api.viewHelper.BemPatrimonialVH;
... ... @@ -54,7 +56,10 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial>
54 56  
55 57 @Autowired
56 58 private OrganizacaoService organizacaoService;
57   -
  59 +
  60 + @Autowired
  61 + private TransferenciaService transferenciaService;
  62 +
58 63 public BemPatrimonialController() {
59 64  
60 65 super();
... ... @@ -688,4 +693,16 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial>
688 693  
689 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 11 };
12 12 $scope.diferenca = null;
13 13 $scope.novoValorResidual = 0;
14   -
  14 +
15 15 // Limpa formulário para novo cadastro
16 16 $scope.resetForm = function() {
17 17 $scope.limparAlteracao();
... ... @@ -256,12 +256,53 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito
256 256 });
257 257  
258 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 306 DominioRepository.findAllDominio('tipoMotivoAlteracaoBem').then(function(result) {
266 307  
267 308 $scope.tiposMotivoAlteracao = [];
... ...