Commit c46f18f654621f54ef55836d98c0e56c80a74bd7

Authored by erick.sato
1 parent a65a9496
Exists in master

[Redmine Atendimento #4709]Permitir alterar status bem patrimonial pelo tratamen…

…to de inconstencia do inventario
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java
@@ -903,4 +903,6 @@ public interface BemPatrimonialService extends GenericService<BemPatrimonial, Lo @@ -903,4 +903,6 @@ public interface BemPatrimonialService extends GenericService<BemPatrimonial, Lo
903 * @return 903 * @return
904 */ 904 */
905 List<Long> buscaIdBensPorEntradaItem(Long entradaItemId); 905 List<Long> buscaIdBensPorEntradaItem(Long entradaItemId);
  906 +
  907 + void alterarStatusBemPatrimonialInventario(Dominio novoStatus, Long idBem);
906 } 908 }
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java
@@ -206,7 +206,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial @@ -206,7 +206,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
206 206
207 @Autowired 207 @Autowired
208 private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService; 208 private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
209 - 209 +
210 @Autowired 210 @Autowired
211 public BemPatrimonialServiceImpl( BemPatrimonialDao bemPatrimonialDao ) { 211 public BemPatrimonialServiceImpl( BemPatrimonialDao bemPatrimonialDao ) {
212 212
@@ -2683,7 +2683,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial @@ -2683,7 +2683,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2683 2683
2684 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) { 2684 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) {
2685 this.saidaTemporariaService.save(tratamentoInconsistenciaVH.getSaidaTemporaria()); 2685 this.saidaTemporariaService.save(tratamentoInconsistenciaVH.getSaidaTemporaria());
2686 - } else { 2686 + } else if(tratamentoInconsistenciaVH.getBaixa() != null){
2687 try { 2687 try {
2688 this.baixaService.save(tratamentoInconsistenciaVH.getBaixa()); 2688 this.baixaService.save(tratamentoInconsistenciaVH.getBaixa());
2689 2689
@@ -2699,8 +2699,14 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial @@ -2699,8 +2699,14 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2699 dominioInconsistencia.setDataTratamento(Calendar.getInstance()); 2699 dominioInconsistencia.setDataTratamento(Calendar.getInstance());
2700 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) { 2700 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) {
2701 dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_SAIDA_TEMPORARIA)); 2701 dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_SAIDA_TEMPORARIA));
2702 - } else { 2702 + } else if(tratamentoInconsistenciaVH.getBaixa() != null){
2703 dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_BAIXA)); 2703 dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_BAIXA));
  2704 + } else if(tratamentoInconsistenciaVH.getNovoStatusBem() != null){
  2705 + dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_STATUS_PATRIMONIO));
  2706 +
  2707 + DadosBemPatrimonial dadosBemPatrimonial = this.dadosBemPatrimonialService.find(inventarioBemPatrimonial.getDadosBemPatrimonial().getId());
  2708 + alterarStatusBemPatrimonialInventario(tratamentoInconsistenciaVH.getNovoStatusBem(), dadosBemPatrimonial.getBemPatrimonial().getId());
  2709 +
2704 } 2710 }
2705 dominioInconsistencia.setInventarioBemPatrimonial(inventarioBemPatrimonial); 2711 dominioInconsistencia.setInventarioBemPatrimonial(inventarioBemPatrimonial);
2706 this.dominioInconsistenciaService.merge(dominioInconsistencia); 2712 this.dominioInconsistenciaService.merge(dominioInconsistencia);
@@ -2712,6 +2718,18 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial @@ -2712,6 +2718,18 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2712 2718
2713 } 2719 }
2714 2720
  2721 + public void alterarStatusBemPatrimonialInventario(Dominio novoStatus, Long idBem) {
  2722 + BemPatrimonial bemPatrimonial = this.getReference(idBem);
  2723 + AlteracaoBemVH alteracaoBemVH = new AlteracaoBemVH();
  2724 + alteracaoBemVH.setDataAlteracao(UtilDate.getDataAtualCalendar());
  2725 + alteracaoBemVH.setDominioMotivoAlteracao(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_MOTIVO_ALTERACAO_BEM, Dominio.TIPO_MOTIVO_ALTERACAO_BEM_INVENTARIO_CODIGO));
  2726 + alteracaoBemVH.setDominioStatus(novoStatus);
  2727 + this.historicoBempatrimonialService.gerarHistoricoStatusBem(alteracaoBemVH, bemPatrimonial);
  2728 +
  2729 + bemPatrimonial.setDominioStatus(novoStatus);
  2730 + this.merge(bemPatrimonial);
  2731 + }
  2732 +
2715 @Override 2733 @Override
2716 public InventarioEstruturaOrganizacional alterarListaBemInconsistenciaTipo10(TratamentoInconsistenciaVH tratamentoInconsistenciaVH) { 2734 public InventarioEstruturaOrganizacional alterarListaBemInconsistenciaTipo10(TratamentoInconsistenciaVH tratamentoInconsistenciaVH) {
2717 2735
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/viewHelper/TratamentoInconsistenciaVH.java
@@ -11,22 +11,34 @@ import br.com.centralit.api.model.InventarioBemPatrimonial; @@ -11,22 +11,34 @@ import br.com.centralit.api.model.InventarioBemPatrimonial;
11 import br.com.centralit.api.model.SaidaTemporaria; 11 import br.com.centralit.api.model.SaidaTemporaria;
12 import br.com.centralit.api.model.Transferencia; 12 import br.com.centralit.api.model.Transferencia;
13 import br.com.centralit.framework.json.Views; 13 import br.com.centralit.framework.json.Views;
  14 +import br.com.centralit.framework.model.Dominio;
14 15
15 import com.fasterxml.jackson.annotation.JsonView; 16 import com.fasterxml.jackson.annotation.JsonView;
16 17
17 -  
18 /** 18 /**
19 - * <p><img src="http://centralit.com.br/images/logo_central.png"></p> 19 + * <p>
  20 + * <img src="http://centralit.com.br/images/logo_central.png">
  21 + * </p>
20 * 22 *
21 - * <p><b>Company: </b> Central IT - Governança Corporativa - </p> 23 + * <p>
  24 + * <b>Company: </b> Central IT - Governança Corporativa -
  25 + * </p>
22 * 26 *
23 - * <p><b>Title: </b></p> 27 + * <p>
  28 + * <b>Title: </b>
  29 + * </p>
24 * 30 *
25 - * <p><b>Description: </b></p> 31 + * <p>
  32 + * <b>Description: </b>
  33 + * </p>
26 * 34 *
27 - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> 35 + * <p>
  36 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  37 + * </p>
28 * 38 *
29 - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> 39 + * <p>
  40 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  41 + * </p>
30 * 42 *
31 * @since 13/11/2015 - 13:16:22 43 * @since 13/11/2015 - 13:16:22
32 * 44 *
@@ -70,6 +82,9 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -70,6 +82,9 @@ public class TratamentoInconsistenciaVH implements Serializable {
70 @JsonView({ Views.DadosBemPatrimonialEditView.class }) 82 @JsonView({ Views.DadosBemPatrimonialEditView.class })
71 private Inventario inventario; 83 private Inventario inventario;
72 84
  85 + @JsonView({ Views.InventarioBemPatrimonialInconsistenciaMapView.class })
  86 + private Dominio novoStatusBem;
  87 +
73 /** 88 /**
74 * Retorna o valor do atributo <code>transferencia</code> 89 * Retorna o valor do atributo <code>transferencia</code>
75 * 90 *
@@ -80,7 +95,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -80,7 +95,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
80 return transferencia; 95 return transferencia;
81 } 96 }
82 97
83 -  
84 /** 98 /**
85 * Define o valor do atributo <code>transferencia</code>. 99 * Define o valor do atributo <code>transferencia</code>.
86 * 100 *
@@ -91,7 +105,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -91,7 +105,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
91 this.transferencia = transferencia; 105 this.transferencia = transferencia;
92 } 106 }
93 107
94 -  
95 /** 108 /**
96 * Retorna o valor do atributo <code>listaInventarioBem</code> 109 * Retorna o valor do atributo <code>listaInventarioBem</code>
97 * 110 *
@@ -102,7 +115,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -102,7 +115,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
102 return listaInventarioBem; 115 return listaInventarioBem;
103 } 116 }
104 117
105 -  
106 /** 118 /**
107 * Define o valor do atributo <code>listaInventarioBem</code>. 119 * Define o valor do atributo <code>listaInventarioBem</code>.
108 * 120 *
@@ -113,7 +125,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -113,7 +125,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
113 this.listaInventarioBem = listaInventarioBem; 125 this.listaInventarioBem = listaInventarioBem;
114 } 126 }
115 127
116 -  
117 /** 128 /**
118 * Retorna o valor do atributo <code>idEstruturaOrganizacional</code> 129 * Retorna o valor do atributo <code>idEstruturaOrganizacional</code>
119 * 130 *
@@ -124,7 +135,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -124,7 +135,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
124 return idEstruturaOrganizacional; 135 return idEstruturaOrganizacional;
125 } 136 }
126 137
127 -  
128 /** 138 /**
129 * Define o valor do atributo <code>idEstruturaOrganizacional</code>. 139 * Define o valor do atributo <code>idEstruturaOrganizacional</code>.
130 * 140 *
@@ -135,8 +145,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -135,8 +145,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
135 this.idEstruturaOrganizacional = idEstruturaOrganizacional; 145 this.idEstruturaOrganizacional = idEstruturaOrganizacional;
136 } 146 }
137 147
138 -  
139 -  
140 /** 148 /**
141 * Retorna o valor do atributo <code>saidaTemporaria</code> 149 * Retorna o valor do atributo <code>saidaTemporaria</code>
142 * 150 *
@@ -147,8 +155,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -147,8 +155,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
147 return saidaTemporaria; 155 return saidaTemporaria;
148 } 156 }
149 157
150 -  
151 -  
152 /** 158 /**
153 * Define o valor do atributo <code>saidaTemporaria</code>. 159 * Define o valor do atributo <code>saidaTemporaria</code>.
154 * 160 *
@@ -159,8 +165,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -159,8 +165,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
159 this.saidaTemporaria = saidaTemporaria; 165 this.saidaTemporaria = saidaTemporaria;
160 } 166 }
161 167
162 -  
163 -  
164 /** 168 /**
165 * Retorna o valor do atributo <code>baixa</code> 169 * Retorna o valor do atributo <code>baixa</code>
166 * 170 *
@@ -171,8 +175,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -171,8 +175,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
171 return baixa; 175 return baixa;
172 } 176 }
173 177
174 -  
175 -  
176 /** 178 /**
177 * Define o valor do atributo <code>baixa</code>. 179 * Define o valor do atributo <code>baixa</code>.
178 * 180 *
@@ -183,8 +185,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -183,8 +185,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
183 this.baixa = baixa; 185 this.baixa = baixa;
184 } 186 }
185 187
186 -  
187 -  
188 /** 188 /**
189 * Retorna o valor do atributo <code>bemPatrimonial</code> 189 * Retorna o valor do atributo <code>bemPatrimonial</code>
190 * 190 *
@@ -195,8 +195,6 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -195,8 +195,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
195 return bemPatrimonial; 195 return bemPatrimonial;
196 } 196 }
197 197
198 -  
199 -  
200 /** 198 /**
201 * Define o valor do atributo <code>bemPatrimonial</code>. 199 * Define o valor do atributo <code>bemPatrimonial</code>.
202 * 200 *
@@ -207,47 +205,44 @@ public class TratamentoInconsistenciaVH implements Serializable { @@ -207,47 +205,44 @@ public class TratamentoInconsistenciaVH implements Serializable {
207 this.bemPatrimonial = bemPatrimonial; 205 this.bemPatrimonial = bemPatrimonial;
208 } 206 }
209 207
210 -  
211 public Long getCodigoDominioTratamentoEscolhido() { 208 public Long getCodigoDominioTratamentoEscolhido() {
212 return codigoDominioTratamentoEscolhido; 209 return codigoDominioTratamentoEscolhido;
213 } 210 }
214 211
215 -  
216 - public void setCodigoDominioTratamentoEscolhido(  
217 - Long codigoDominioTratamentoEscolhido) { 212 + public void setCodigoDominioTratamentoEscolhido(Long codigoDominioTratamentoEscolhido) {
218 this.codigoDominioTratamentoEscolhido = codigoDominioTratamentoEscolhido; 213 this.codigoDominioTratamentoEscolhido = codigoDominioTratamentoEscolhido;
219 } 214 }
220 215
221 -  
222 public List<DadosBemPatrimonial> getListaDadosBemPatrimonial() { 216 public List<DadosBemPatrimonial> getListaDadosBemPatrimonial() {
223 return listaDadosBemPatrimonial; 217 return listaDadosBemPatrimonial;
224 } 218 }
225 219
226 -  
227 - public void setListaDadosBemPatrimonial(  
228 - List<DadosBemPatrimonial> listaDadosBemPatrimonial) { 220 + public void setListaDadosBemPatrimonial(List<DadosBemPatrimonial> listaDadosBemPatrimonial) {
229 this.listaDadosBemPatrimonial = listaDadosBemPatrimonial; 221 this.listaDadosBemPatrimonial = listaDadosBemPatrimonial;
230 } 222 }
231 223
232 -  
233 public DadosBemPatrimonial getDadosBemPatrimonialSelecionado() { 224 public DadosBemPatrimonial getDadosBemPatrimonialSelecionado() {
234 return dadosBemPatrimonialSelecionado; 225 return dadosBemPatrimonialSelecionado;
235 } 226 }
236 227
237 -  
238 - public void setDadosBemPatrimonialSelecionado(  
239 - DadosBemPatrimonial dadosBemPatrimonialSelecionado) { 228 + public void setDadosBemPatrimonialSelecionado(DadosBemPatrimonial dadosBemPatrimonialSelecionado) {
240 this.dadosBemPatrimonialSelecionado = dadosBemPatrimonialSelecionado; 229 this.dadosBemPatrimonialSelecionado = dadosBemPatrimonialSelecionado;
241 } 230 }
242 231
243 -  
244 public Inventario getInventario() { 232 public Inventario getInventario() {
245 return inventario; 233 return inventario;
246 } 234 }
247 235
248 -  
249 public void setInventario(Inventario inventario) { 236 public void setInventario(Inventario inventario) {
250 this.inventario = inventario; 237 this.inventario = inventario;
251 } 238 }
252 239
  240 + public Dominio getNovoStatusBem() {
  241 + return novoStatusBem;
  242 + }
  243 +
  244 + public void setNovoStatusBem(Dominio novoStatusBem) {
  245 + this.novoStatusBem = novoStatusBem;
  246 + }
  247 +
253 } 248 }
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java
@@ -25,6 +25,7 @@ import br.com.centralit.api.model.MyRetornoStatus; @@ -25,6 +25,7 @@ import br.com.centralit.api.model.MyRetornoStatus;
25 import br.com.centralit.api.model.Transferencia; 25 import br.com.centralit.api.model.Transferencia;
26 import br.com.centralit.api.service.AdicaoBemPrincipalService; 26 import br.com.centralit.api.service.AdicaoBemPrincipalService;
27 import br.com.centralit.api.service.BemPatrimonialService; 27 import br.com.centralit.api.service.BemPatrimonialService;
  28 +import br.com.centralit.api.service.DominioService;
28 import br.com.centralit.api.service.EntradaItemService; 29 import br.com.centralit.api.service.EntradaItemService;
29 import br.com.centralit.api.service.OrganizacaoService; 30 import br.com.centralit.api.service.OrganizacaoService;
30 import br.com.centralit.api.service.TransferenciaService; 31 import br.com.centralit.api.service.TransferenciaService;
@@ -60,6 +61,9 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt; @@ -60,6 +61,9 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
60 @Autowired 61 @Autowired
61 private TransferenciaService transferenciaService; 62 private TransferenciaService transferenciaService;
62 63
  64 + @Autowired
  65 + private DominioService dominioService;
  66 +
63 public BemPatrimonialController() { 67 public BemPatrimonialController() {
64 68
65 super(); 69 super();
@@ -573,7 +577,8 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt; @@ -573,7 +577,8 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
573 577
574 Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); 578 Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId());
575 579
576 - if (!organizacao.getEmFechamento() && UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa())) { 580 + if (!organizacao.getEmFechamento() && (UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa()) || UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getNovoStatusBem()))
  581 + || UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getSaidaTemporaria()) ) {
577 582
578 ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView()); 583 ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView());
579 584
@@ -705,4 +710,12 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt; @@ -705,4 +710,12 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
705 } 710 }
706 } 711 }
707 712
  713 + @RequestMapping(value = "/alterarStatusBemPatrimonialInventario", method = RequestMethod.GET, produces = "application/json")
  714 + @ResponseBody
  715 + public Boolean alterarStatusBemPatrimonialInventario(@RequestParam(value = "idDominioStatusBem") Long idDominioStatusBem, @RequestParam(value = "idBemPatrimonial") Long idBemPatrimonial) {
  716 + this.bemPatrimonialService.alterarStatusBemPatrimonialInventario(this.dominioService.find(idDominioStatusBem), idBemPatrimonial);
  717 + return true;
  718 + }
  719 +
  720 +
708 } 721 }
citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java
@@ -591,6 +591,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio @@ -591,6 +591,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio
591 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_GERAL_RESUMO_CONTA_CONTABIL", "Relatório Inventário Geral – Resumo por Contas", dominio, modulo)); 591 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_GERAL_RESUMO_CONTA_CONTABIL", "Relatório Inventário Geral – Resumo por Contas", dominio, modulo));
592 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_QUANTITATIVO_LEVANTAMENTO", "Relatório Quantitativo Por Levantamento", dominio, modulo)); 592 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_QUANTITATIVO_LEVANTAMENTO", "Relatório Quantitativo Por Levantamento", dominio, modulo));
593 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TRANSFERENCIA_CANCELADA", "Transferência cancelada", dominio, modulo)); 593 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TRANSFERENCIA_CANCELADA", "Transferência cancelada", dominio, modulo));
  594 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.ALTERAR_STATUS", "Alteração de status", dominio, modulo));
594 595
595 } 596 }
596 597
@@ -755,6 +756,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio @@ -755,6 +756,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio
755 internacionalizacaoList.add(new Internacionalizacao("HISTORICO_SAIDA_COM_PREVISAO" , "Bem está em saída temporária com o objetivo: :OBJETIVOSAIDA:. Data Prevista para Retorno: :DATARETORNO:.", dominio, modulo)); 756 internacionalizacaoList.add(new Internacionalizacao("HISTORICO_SAIDA_COM_PREVISAO" , "Bem está em saída temporária com o objetivo: :OBJETIVOSAIDA:. Data Prevista para Retorno: :DATARETORNO:.", dominio, modulo));
756 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.DATA_FORA_REFERENCIA_EXCLUSAO_ENTRADA" , "Essa entrada não pode ser excluída porque ela não foi contabilizada na referência vigente.", dominio, modulo)); 757 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.DATA_FORA_REFERENCIA_EXCLUSAO_ENTRADA" , "Essa entrada não pode ser excluída porque ela não foi contabilizada na referência vigente.", dominio, modulo));
757 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.EXCLUSAO_TRANSFERENCIA_IMPOSSIVEL" , "Não é possível excluir a transferência, pois houve movimentação após a transferência!", dominio, modulo)); 758 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.EXCLUSAO_TRANSFERENCIA_IMPOSSIVEL" , "Não é possível excluir a transferência, pois houve movimentação após a transferência!", dominio, modulo));
  759 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.ACAO_ALTERAR_STATUS", "Esta ação irá realizar uma alteração de status do bem patrimonial", dominio, modulo));
758 } 760 }
759 761
760 } 762 }
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js
@@ -2812,7 +2812,7 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$ @@ -2812,7 +2812,7 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
2812 } 2812 }
2813 2813
2814 }; 2814 };
2815 - 2815 +
2816 $scope.baixa = function(desfazimentoComissao, dataBaixa) { 2816 $scope.baixa = function(desfazimentoComissao, dataBaixa) {
2817 2817
2818 $scope.desfazimentoComissao = desfazimentoComissao; 2818 $scope.desfazimentoComissao = desfazimentoComissao;
@@ -3839,6 +3839,41 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$ @@ -3839,6 +3839,41 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3839 3839
3840 3840
3841 }; 3841 };
  3842 +
  3843 + $scope.alterarStatusBemMultipla = function(dominioStatusBem) {
  3844 +
  3845 + $scope.codigoDominioTratamentoEscolhido = 3;
  3846 + $scope.dominioStatusBem = dominioStatusBem.originalElement;
  3847 + $scope.setLoadingSalva(true);
  3848 +
  3849 + var listaIds = [];
  3850 + var idInventarioEstrutura = 0;
  3851 +
  3852 + angular.forEach($scope.inconsistenciaTipo1, function(item){
  3853 + idInventarioEstrutura = item.dadosBemPatrimonial.inventarioEstruturaOrganizacional.id;
  3854 + listaIds.push(item.dadosBemPatrimonial.bemPatrimonial.id);
  3855 + });
  3856 +
  3857 + DadosBemPatrimonialRepository.existeBemAguardandoTratamentoList(listaIds, $scope.inventario.id, idInventarioEstrutura).then(function(result) {
  3858 + if(result){
  3859 + $scope.$openModalConfirm({
  3860 + message: $translate.instant("PATRIMONIO.MSG.EXISTE_BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO"),
  3861 + callback: function () {
  3862 + $scope.executarSaidaTemporariaModalConfirm = true;
  3863 + $scope.$modalConfirmInstance.dismiss('cancel');
  3864 + $scope.$modalInstance.dismiss('cancel');
  3865 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus();
  3866 + }
  3867 + });
  3868 + }else{
  3869 + $scope.$modalInstance.dismiss('cancel');
  3870 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus();
  3871 + }
  3872 + });
  3873 +
  3874 + $scope.setLoading(false);
  3875 +
  3876 + };
3842 3877
3843 $scope.alteracaoBemPatrimonialTipo1ListaSaida = function() { 3878 $scope.alteracaoBemPatrimonialTipo1ListaSaida = function() {
3844 3879
@@ -3893,6 +3928,36 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$ @@ -3893,6 +3928,36 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3893 }); 3928 });
3894 3929
3895 }; 3930 };
  3931 +
  3932 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus = function() {
  3933 +
  3934 + $scope.setLoadingSalva(true);
  3935 +
  3936 + var tratamentoInconsistencia = {
  3937 + novoStatusBem : $scope.dominioStatusBem,
  3938 + listaInventarioBem : $scope.inconsistenciaTipo1,
  3939 + idEstruturaOrganizacional : getIdInventarioEstruturaOrganizacionalPorEstruturaSelecionada(),
  3940 + codigoDominioTratamentoEscolhido : $scope.codigoDominioTratamentoEscolhido
  3941 + };
  3942 +
  3943 + BemPatrimonialRepository.alterarListaBemInconsistenciaTipo1(tratamentoInconsistencia).then(function(result){
  3944 + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) {
  3945 + $scope.setLoading(false);
  3946 + angular.forEach(result.originalElement.mensagens, function (mensagem) {
  3947 + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem));
  3948 + });
  3949 + } else {
  3950 + alterarDominioStatusInventarioEstrutura(result);
  3951 + $scope.setLoading(false);
  3952 + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais');
  3953 + $scope.showAlert("success", $translate.instant("MSG.MG001"));
  3954 + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
  3955 + $scope.$modalInstance.dismiss('cancel');
  3956 + $scope.irParaFim();
  3957 + }
  3958 + });
  3959 +
  3960 + };
3896 3961
3897 $scope.abrirModalEntradaSalvaMultipla = function(item) { 3962 $scope.abrirModalEntradaSalvaMultipla = function(item) {
3898 $scope.itemSelecionado = item; 3963 $scope.itemSelecionado = item;
@@ -3963,6 +4028,22 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$ @@ -3963,6 +4028,22 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3963 $scope.$openModal('modal-baixa.html', 'md'); 4028 $scope.$openModal('modal-baixa.html', 'md');
3964 4029
3965 }; 4030 };
  4031 +
  4032 + $scope.abrirModalAlterarStatus = function(dominioInconsistencia){
  4033 +
  4034 + $scope.dominioInconsistencia = dominioInconsistencia;
  4035 +
  4036 + DominioRepository.findAllDominio('tipoStatusBem').then(function(result) {
  4037 + $scope.dominiosStatusBem = [];
  4038 + angular.forEach(result, function (dominio) {
  4039 + if(dominio.codigo == 7 || dominio.codigo == 10 || dominio.codigo == 9){
  4040 + $scope.dominiosStatusBem.push(dominio);
  4041 + }
  4042 + });
  4043 + });
  4044 +
  4045 + $scope.$openModal('modal-alterar-status.html', 'md');
  4046 + };
3966 4047
3967 $scope.desabilitaCampoFisicaStatus = function(){ 4048 $scope.desabilitaCampoFisicaStatus = function(){
3968 $scope.desabilitaBemNaoEncontrado = $scope.bemNaoEncontradoModel; 4049 $scope.desabilitaBemNaoEncontrado = $scope.bemNaoEncontradoModel;
@@ -4080,7 +4161,61 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$ @@ -4080,7 +4161,61 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
4080 $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); 4161 $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
4081 $scope.irParaFim(); 4162 $scope.irParaFim();
4082 }); 4163 });
  4164 + };
  4165 +
  4166 + $scope.alterarStatusBemUnico = function(dominioStatusBem) {
  4167 +
  4168 + var idInventarioEstrutura = $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] ? $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] : $scope.dadosBemPatrimonialSelecionado.inventarioEstruturaOrganizacional.id;
  4169 + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id;
  4170 + // Obtem DadosBemPatrimonial aguardado tratamento para o mesmo bem
  4171 + DadosBemPatrimonialRepository.existeBemAguardandoTratamento(idBem, $scope.inventario.id, idInventarioEstrutura).then(function(result) {
  4172 +
  4173 + $scope.obterNomeEstruturasDoBemInventariado(result);
  4174 + $scope.resultDadosBemPatrimonial = result;
  4175 + $scope.executarAlteracaoStatusBemModalConfirm = false;
  4176 +
  4177 + // HA ESTRUTURAS QUE ESTAO AGUARDANDO TRATAMENTO PARA O MESMO BEM
  4178 + if($scope.nomesEstruturasBemInventariado !== "") {
  4179 + $scope.$modalInstance.dismiss('cancel');
  4180 + $scope.$openModalConfirm({
  4181 + message: $translate.instant("PATRIMONIO.MSG.BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO").concat($scope.nomesEstruturasBemInventariado),
  4182 + callback: function () {
  4183 + $scope.executarAlteracaoStatusBemModalConfirm = true;
  4184 + $scope.executarAlteracaoStatusBem(dominioStatusBem);
  4185 + }
  4186 + });
  4187 +
  4188 + } else {
  4189 + $scope.executarAlteracaoStatusBem(dominioStatusBem);
  4190 + }
  4191 +
  4192 + });
  4193 + };
  4194 +
  4195 + $scope.executarAlteracaoStatusBem = function(dominioStatusBem) {
  4196 +
  4197 + $scope.setLoadingSalva(true);
  4198 + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id;
  4199 + // Salva a baixa
  4200 + BemPatrimonialRepository.alterarStatusBemPatrimonialInventario(dominioStatusBem.id, idBem).then(function(result) {
  4201 + $timeout(function(){
  4202 + // Salva a alteração do dominío inconsistência - Data tratamento
  4203 + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoTratamentoInconsistencia').then(function(result) {
  4204 + $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement;
  4205 + alterarDominioInconsistencia($scope.dominioInconsistencia);
  4206 + });
  4207 + });
  4208 +
  4209 + if($scope.executarAlteracaoStatusBemModalConfirm){
  4210 + $scope.$modalConfirmInstance.dismiss('cancel');
  4211 + $scope.tratarInconsistenciasAutomaticamente();
  4212 + } else {
  4213 + $scope.$modalInstance.dismiss('cancel');
  4214 + $scope.setLoading(false);
  4215 + }
  4216 + });
  4217 +
  4218 + };
4083 4219
4084 - };  
4085 4220
4086 }]); 4221 }]);
4087 \ No newline at end of file 4222 \ No newline at end of file
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js
@@ -152,6 +152,11 @@ citApp.factory(&#39;BemPatrimonialRepository&#39;, [&#39;RestangularPatrimonio&#39;, &#39;AbstractRe @@ -152,6 +152,11 @@ citApp.factory(&#39;BemPatrimonialRepository&#39;, [&#39;RestangularPatrimonio&#39;, &#39;AbstractRe
152 this.veirificaTransferenciaMaisRecenteBemPatrimonial = function(idBem) { 152 this.veirificaTransferenciaMaisRecenteBemPatrimonial = function(idBem) {
153 return restangularPatrimonio.one(this.route+"/veirificaTransferenciaMaisRecenteBemPatrimonial").get({"idBem": idBem}).then(); 153 return restangularPatrimonio.one(this.route+"/veirificaTransferenciaMaisRecenteBemPatrimonial").get({"idBem": idBem}).then();
154 }; 154 };
  155 +
  156 + this.alterarStatusBemPatrimonialInventario = function(idStatusBem, idBem) {
  157 + return restangularPatrimonio.one(this.route+"/alterarStatusBemPatrimonialInventario").get({"idDominioStatusBem": idStatusBem , "idBemPatrimonial": idBem}).then();
  158 + };
  159 +
155 } 160 }
156 161
157 AbstractRepository.extend(BemPatrimonialRepository); 162 AbstractRepository.extend(BemPatrimonialRepository);
citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html
@@ -1203,6 +1203,11 @@ @@ -1203,6 +1203,11 @@
1203 </a> 1203 </a>
1204 <span style="margin-left: 9px;" ng-if="dominioInconsistencia.dataTratamento !== null && dominioInconsistencia.dominioTipoInconsistencia.codigo === 1"><translate>PATRIMONIO.LABEL.BAIXA</translate></span> 1204 <span style="margin-left: 9px;" ng-if="dominioInconsistencia.dataTratamento !== null && dominioInconsistencia.dominioTipoInconsistencia.codigo === 1"><translate>PATRIMONIO.LABEL.BAIXA</translate></span>
1205 1205
  1206 + <a href="#void" ng-click="abrirModalAlterarStatus(dominioInconsistencia)" style="margin-left: 10px;" ng-if="dominioInconsistencia.dataTratamento === null && controleInventariar">
  1207 + <span ng-if="dominioInconsistencia.dominioTipoInconsistencia.codigo === 1"><translate>PATRIMONIO.LABEL.ALTERAR_STATUS</translate></span>
  1208 + </a>
  1209 + <span style="margin-left: 9px;" ng-if="dominioInconsistencia.dataTratamento !== null && dominioInconsistencia.dominioTipoInconsistencia.codigo === 1"><translate>PATRIMONIO.LABEL.ALTERAR_STATUS</translate></span>
  1210 +
1206 <a href="#void" ng-click="abrirModalTransferencia(dominioInconsistencia);" style="margin-left: 10px;" ng-if="dominioInconsistencia.dataTratamento === null && controleInventariar"> 1211 <a href="#void" ng-click="abrirModalTransferencia(dominioInconsistencia);" style="margin-left: 10px;" ng-if="dominioInconsistencia.dataTratamento === null && controleInventariar">
1207 <span ng-if="dominioInconsistencia.dominioTipoInconsistencia.codigo === 2"><translate>PATRIMONIO.LABEL.TRANSFERENCIA_INTERNA</translate></span> 1212 <span ng-if="dominioInconsistencia.dominioTipoInconsistencia.codigo === 2"><translate>PATRIMONIO.LABEL.TRANSFERENCIA_INTERNA</translate></span>
1208 </a> 1213 </a>
@@ -1496,6 +1501,10 @@ @@ -1496,6 +1501,10 @@
1496 <i class="fa fa-level-down blue"></i> 1501 <i class="fa fa-level-down blue"></i>
1497 <translate>PATRIMONIO.LABEL.BAIXA</translate> 1502 <translate>PATRIMONIO.LABEL.BAIXA</translate>
1498 </button> 1503 </button>
  1504 + <button class="btn btn-clear" title="{{$translate.instant('PATRIMONIO.LABEL.ALTERAR_STATUS')}}" alt="{{$translate.instant('PATRIMONIO.LABEL.ALTERAR_STATUS')}}" type="button" ng-click="abrirModalAlterarStatus();" >
  1505 + <i class="fa fa-edit orange"></i>
  1506 + <translate>PATRIMONIO.LABEL.ALTERAR_STATUS</translate>
  1507 + </button>
1499 <button class="btn btn-clear" title="{{$translate.instant('PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR')}}" alt="{{$translate.instant('PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR')}}" type="button" ng-click="cancelarAlteraoInconsistencia();" > 1508 <button class="btn btn-clear" title="{{$translate.instant('PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR')}}" alt="{{$translate.instant('PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR')}}" type="button" ng-click="cancelarAlteraoInconsistencia();" >
1500 <i class="fa fa-times red"></i> 1509 <i class="fa fa-times red"></i>
1501 <translate>PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR</translate> 1510 <translate>PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR</translate>
@@ -1632,8 +1641,6 @@ @@ -1632,8 +1641,6 @@
1632 </div> 1641 </div>
1633 </fieldset> 1642 </fieldset>
1634 </div> 1643 </div>
1635 -  
1636 -  
1637 </form> 1644 </form>
1638 1645
1639 <!-- DIALOG INFORMAR ENTRADA - INCONSISTENCIA --> 1646 <!-- DIALOG INFORMAR ENTRADA - INCONSISTENCIA -->
@@ -1810,6 +1817,44 @@ @@ -1810,6 +1817,44 @@
1810 </form> 1817 </form>
1811 </script> 1818 </script>
1812 1819
  1820 + <script type="text/ng-template" id="modal-alterar-status.html">
  1821 + <form name="formDialogAlterarStatus" novalidate >
  1822 +
  1823 + <div class="modal-content modal-dialog modal-md">
  1824 + <div class="modal-header">
  1825 + <button ng-show="!atualizarMultiplasInconsistenciasTipo1" title="{{$translate.instant('LABEL.CONFIRMAR')}}" alt="{{$translate.instant('LABEL.CONFIRMAR')}}" ng-click="alterarStatusBemUnico(dominioStatusBem);" class="btn btn-clear" type="button">
  1826 + <i class="fa fa-save green"></i>
  1827 + <translate>LABEL.CONFIRMAR</translate>
  1828 + </button>
  1829 +
  1830 + <button ng-show="atualizarMultiplasInconsistenciasTipo1" title="{{$translate.instant('LABEL.CONFIRMAR')}}" alt="{{$translate.instant('LABEL.CONFIRMAR')}}" ng-click="alterarStatusBemMultipla(dominioStatusBem);" class="btn btn-clear" type="button">
  1831 + <i class="fa fa-save green"></i>
  1832 + <translate>LABEL.CONFIRMAR</translate>
  1833 + </button>
  1834 +
  1835 + <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
  1836 + <i class="fa fa-times red"></i>
  1837 + <translate>LABEL.CANCELAR</translate>
  1838 + </button>
  1839 + </div>
  1840 +
  1841 + <div class="modal-body">
  1842 + <h5><translate>PATRIMONIO.MSG.ACAO_ALTERAR_STATUS</translate>. <translate>MSG.CONFIRMA_ACAO</translate></h5>
  1843 + <div class="row margin-top">
  1844 + <div class="col-sm-8">
  1845 + <label-select ng-id="dominioStatusBem" ng-model="dominioStatusBem" ng-label="PATRIMONIO.LABEL.DOMINIO_TIPO_OBJETIVO" ng-obrigatorio="true" ng-disabled="false"
  1846 + form="formDialogAlterarStatus" ng-list="dominiosStatusBem" ng-custom-options="dominioStatusBem as dominioStatusBem.descricao for dominioStatusBem"
  1847 + track-by="track by dominioStatusBem.id" >
  1848 + </label-select>
  1849 + </div>
  1850 + </div>
  1851 + </div>
  1852 +
  1853 + </div>
  1854 +
  1855 + </form>
  1856 + </script>
  1857 +
1813 <!-- DIALOG BAIXA INCONSISTENCIA --> 1858 <!-- DIALOG BAIXA INCONSISTENCIA -->
1814 <script type="text/ng-template" id="modal-baixa.html"> 1859 <script type="text/ng-template" id="modal-baixa.html">
1815 <form name="formDialogBaixa" novalidate > 1860 <form name="formDialogBaixa" novalidate >