Commit e653b75f8da74b0b6fe5b2f7afe591862edba206

Authored by erick.sato
2 parents ff3f9a2b 598ff106
Exists in master

Merge remote-tracking branch 'remotes/origin/adm-1.14.0'

Showing 28 changed files with 776 additions and 167 deletions   Show diff stats
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/ContaContabilMovimentoPatrimonioDao.java
... ... @@ -145,5 +145,7 @@ public interface ContaContabilMovimentoPatrimonioDao extends CitGenericDAO {
145 145 * @param idTransferencia
146 146 * @return List<{@link ContaContabilMovimentoPatrimonio}>
147 147 */
148   - List<ContaContabilMovimentoPatrimonio> findByTransferencia(Long idTransferencia);
  148 + List<ContaContabilMovimentoPatrimonio> findByTransferencia(Long idTransferencia);
  149 +
  150 + List<ContaContabilMovimentoPatrimonio> findContaByTransferenciaAndBemPatrimonial(Long transferenciaId,Long bemPatrimonialId);
149 151 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaItemDao.java
... ... @@ -71,6 +71,8 @@ public interface TransferenciaItemDao extends CitGenericDAO {
71 71 * @param idEntradaItem
72 72 * @return
73 73 */
74   - public List<String> transferenciasComBensPatrimoniaisDaEntradaItem(Long idEntradaItem);
  74 + public List<String> transferenciasComBensPatrimoniaisDaEntradaItem(Long idEntradaItem);
  75 +
  76 + TransferenciaItem findTransferenciaItemBemPatrimonialTransferencia(Long idBemPatrimnonial, Long idTransferencia);
75 77  
76 78 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/ContaContabilMovimentoPatrimonioDaoHibernate.java
... ... @@ -290,4 +290,14 @@ public class ContaContabilMovimentoPatrimonioDaoHibernate extends CitGenericDAOI
290 290 search.addFilterEqual("transferencia.id", idTransferencia);
291 291 return this.search(search);
292 292 }
  293 +
  294 + @Override
  295 + public List<ContaContabilMovimentoPatrimonio> findContaByTransferenciaAndBemPatrimonial(Long transferenciaId,Long bemPatrimonialId) {
  296 + SearchSeven search = new SearchSeven();
  297 +
  298 + search.addFilterEqual("transferencia.id", transferenciaId);
  299 + search.addFilterEqual("bemPatrimonial.id", bemPatrimonialId);
  300 +
  301 + return this.search(search);
  302 + }
293 303 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/HistoricoBemPatrimonialDaoHibernate.java
... ... @@ -79,7 +79,7 @@ public class HistoricoBemPatrimonialDaoHibernate extends CitGenericDAOImpl imple
79 79  
80 80 search.addFilterEqual("bemPatrimonial.id", idBemPatrimonial);
81 81  
82   - search.addSorts(Sort.desc("dataOperacao"), Sort.desc("id"));
  82 + search.addSorts(Sort.desc("id"), Sort.desc("dataOperacao"));
83 83  
84 84 return this.search(search, this.persistentClass);
85 85 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/TransferenciaItemDaoHibernate.java
... ... @@ -5,6 +5,9 @@ import java.util.List;
5 5  
6 6 import org.springframework.stereotype.Repository;
7 7  
  8 +import com.googlecode.genericdao.search.Filter;
  9 +import com.googlecode.genericdao.search.Sort;
  10 +
8 11 import br.com.centralit.api.dao.TransferenciaItemDao;
9 12 import br.com.centralit.api.model.BemPatrimonial;
10 13 import br.com.centralit.api.model.TransferenciaItem;
... ... @@ -12,9 +15,6 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
12 15 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
13 16 import br.com.centralit.framework.util.UtilObjeto;
14 17  
15   -import com.googlecode.genericdao.search.Filter;
16   -import com.googlecode.genericdao.search.Sort;
17   -
18 18 @Repository("transferenciaItemDao")
19 19 public class TransferenciaItemDaoHibernate extends CitGenericDAOImpl implements TransferenciaItemDao {
20 20  
... ... @@ -127,4 +127,15 @@ public class TransferenciaItemDaoHibernate extends CitGenericDAOImpl implements
127 127 return this.search(searchSeven);
128 128 }
129 129  
  130 + @Override
  131 + public TransferenciaItem findTransferenciaItemBemPatrimonialTransferencia(Long idBemPatrimnonial, Long idTransferencia) {
  132 +
  133 + SearchSeven searchSeven = new SearchSeven(TransferenciaItem.class);
  134 +
  135 + searchSeven.addFilterEqual("transferencia.id", idTransferencia);
  136 + searchSeven.addFilterEqual("bemPatrimonial.id", idBemPatrimnonial);
  137 +
  138 + return this.searchUnique(searchSeven, this.persistentClass);
  139 + }
  140 +
130 141 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/model/HistoricoBemPatrimonial.java
... ... @@ -63,7 +63,7 @@ public class HistoricoBemPatrimonial extends PersistentObjectAuditOrganizacao {
63 63 private Long id;
64 64  
65 65 /** Atributo descricao. */
66   - @Column(length = 250)
  66 + @Column(length = 400)
67 67 @JsonView({ Views.HistoricoBemPatrimonialTimelineView.class })
68 68 private String descricao;
69 69  
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java
... ... @@ -903,4 +903,6 @@ public interface BemPatrimonialService extends GenericService&lt;BemPatrimonial, Lo
903 903 * @return
904 904 */
905 905 List<Long> buscaIdBensPorEntradaItem(Long entradaItemId);
  906 +
  907 + void alterarStatusBemPatrimonialInventario(Dominio novoStatus, Long idBem, Long idInventarioBemPatrimonial);
906 908 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/ContaContabilMovimentoPatrimonioService.java
... ... @@ -217,5 +217,7 @@ public interface ContaContabilMovimentoPatrimonioService extends GenericService&lt;
217 217 * @param transferencia
218 218 */
219 219 void alterarMovimentoTransferencia(Transferencia transferencia);
  220 +
  221 + List<ContaContabilMovimentoPatrimonio> findContaByTransferenciaAndBemPatrimonial(Long transferenciaId, Long bemPatrimonialId);
220 222  
221 223 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/HistoricoBemPatrimonialService.java
... ... @@ -18,6 +18,7 @@ import br.com.centralit.api.model.HistoricoBemPatrimonial;
18 18 import br.com.centralit.api.model.SaidaTemporaria;
19 19 import br.com.centralit.api.model.SaidaTemporariaItem;
20 20 import br.com.centralit.api.model.Transferencia;
  21 +import br.com.centralit.api.model.TransferenciaItem;
21 22 import br.com.centralit.api.viewHelper.AlteracaoBemVH;
22 23 import br.com.centralit.framework.model.Dominio;
23 24 import br.com.centralit.framework.service.arquitetura.GenericService;
... ... @@ -62,10 +63,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
62 63 * </p>
63 64 *
64 65 * <p>
65   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  66 + * <b>Regra(s) de negócio:</b>
  67 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
66 68 * </p>
67 69 *
68   - * Método responsável por buscar uma lista de historico a partir do id do bem patrimonial
  70 + * Método responsável por buscar uma lista de historico a partir do id do
  71 + * bem patrimonial
69 72 *
70 73 * @author renato.jesus
71 74 *
... ... @@ -80,10 +83,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
80 83 * </p>
81 84 *
82 85 * <p>
83   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  86 + * <b>Regra(s) de negócio:</b>
  87 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
84 88 * </p>
85 89 *
86   - * Método responsável por gerar o historico do bem ao realizar uma saida temporaria.
  90 + * Método responsável por gerar o historico do bem ao realizar uma saida
  91 + * temporaria.
87 92 *
88 93 * @author geovane.filho
89 94 *
... ... @@ -98,7 +103,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
98 103 *
99 104 * @return <code>HistoricoBemPatrimonial</code>
100 105 */
101   - HistoricoBemPatrimonial gerarHistoricoSaidaTemporaria(BemPatrimonial bemPatrimonial, Dominio statusBemAnterior, Dominio statusBemNovo, SaidaTemporaria saidaTemporaria);
  106 + HistoricoBemPatrimonial gerarHistoricoSaidaTemporaria(BemPatrimonial bemPatrimonial, Dominio statusBemAnterior,
  107 + Dominio statusBemNovo, SaidaTemporaria saidaTemporaria);
102 108  
103 109 /**
104 110 *
... ... @@ -107,10 +113,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
107 113 * </p>
108 114 *
109 115 * <p>
110   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  116 + * <b>Regra(s) de negócio:</b>
  117 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
111 118 * </p>
112 119 *
113   - * Método responsável por gerar o historico do bem ao realizar o retorno de uma saida temporaria.
  120 + * Método responsável por gerar o historico do bem ao realizar o retorno de
  121 + * uma saida temporaria.
114 122 *
115 123 * @author geovane.filho
116 124 *
... ... @@ -125,7 +133,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
125 133 *
126 134 * @return <code>HistoricoBemPatrimonial</code>
127 135 */
128   - HistoricoBemPatrimonial gerarHistoricoRetornoSaidaTemporaria(BemPatrimonial bemPatrimonial, Dominio statusBemAnterior, Dominio statusBemNovo, SaidaTemporariaItem saidaTemporariaItem);
  136 + HistoricoBemPatrimonial gerarHistoricoRetornoSaidaTemporaria(BemPatrimonial bemPatrimonial,
  137 + Dominio statusBemAnterior, Dominio statusBemNovo, SaidaTemporariaItem saidaTemporariaItem);
129 138  
130 139 /**
131 140 * Gera o historico do bem referente a mudança do valor liquido
... ... @@ -141,7 +150,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
141 150 *
142 151 * @return <code>HistoricoBemPatrimonial</code>
143 152 */
144   - HistoricoBemPatrimonial gerarHistoricoDepreciacaoValorLiquido(BemPatrimonial bemPatrimonial, BigDecimal valorAnterior, BigDecimal valorNovo, Depreciacao depreciacao);
  153 + HistoricoBemPatrimonial gerarHistoricoDepreciacaoValorLiquido(BemPatrimonial bemPatrimonial,
  154 + BigDecimal valorAnterior, BigDecimal valorNovo, Depreciacao depreciacao);
145 155  
146 156 /**
147 157 * Gera o historico do bem referente a mudança da vida útil restante
... ... @@ -157,7 +167,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
157 167 *
158 168 * @return <code>HistoricoBemPatrimonial</code>
159 169 */
160   - HistoricoBemPatrimonial gerarHistoricoDepreciacaoVidaUtilRestante(BemPatrimonial bemPatrimonial, Integer valorAnterior, Integer valorNovo, Depreciacao depreciacao);
  170 + HistoricoBemPatrimonial gerarHistoricoDepreciacaoVidaUtilRestante(BemPatrimonial bemPatrimonial,
  171 + Integer valorAnterior, Integer valorNovo, Depreciacao depreciacao);
161 172  
162 173 /**
163 174 * Gera o historico do bem referente a mudança do status da deprecição
... ... @@ -173,7 +184,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
173 184 *
174 185 * @return <code>HistoricoBemPatrimonial</code>
175 186 */
176   - HistoricoBemPatrimonial gerarHistoricoDepreciacaoStatusDepreciacao(BemPatrimonial bemPatrimonial, Dominio valorAnterior, Dominio valorNovo, Depreciacao depreciacao);
  187 + HistoricoBemPatrimonial gerarHistoricoDepreciacaoStatusDepreciacao(BemPatrimonial bemPatrimonial,
  188 + Dominio valorAnterior, Dominio valorNovo, Depreciacao depreciacao);
177 189  
178 190 /**
179 191 * Método responsável por gerar o historico inicial do bem no ato da entrada
... ... @@ -205,7 +217,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
205 217 * </p>
206 218 *
207 219 * <p>
208   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  220 + * <b>Regra(s) de negócio:</b>
  221 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
209 222 * </p>
210 223 *
211 224 * Método responsável por salvar o historicoNumeroPatrimonial
... ... @@ -223,7 +236,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
223 236 * </p>
224 237 *
225 238 * <p>
226   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  239 + * <b>Regra(s) de negócio:</b>
  240 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
227 241 * </p>
228 242 *
229 243 * Método responsável por
... ... @@ -241,7 +255,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
241 255 * </p>
242 256 *
243 257 * <p>
244   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  258 + * <b>Regra(s) de negócio:</b>
  259 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
245 260 * </p>
246 261 *
247 262 * Método responsável por
... ... @@ -259,7 +274,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
259 274 * </p>
260 275 *
261 276 * <p>
262   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  277 + * <b>Regra(s) de negócio:</b>
  278 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
263 279 * </p>
264 280 *
265 281 * Método responsável por
... ... @@ -277,7 +293,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
277 293 * </p>
278 294 *
279 295 * <p>
280   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  296 + * <b>Regra(s) de negócio:</b>
  297 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
281 298 * </p>
282 299 *
283 300 * Método responsável por
... ... @@ -290,7 +307,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
290 307 void gerarHistoricoSituacaoFisica(AlteracaoBemVH alteracaoBemVH, BemPatrimonial bemPatrimonialAlteracao);
291 308  
292 309 /**
293   - * Método responsável por gerar historico da mudança da sistuação fisica do material
  310 + * Método responsável por gerar historico da mudança da sistuação fisica do
  311 + * material
294 312 *
295 313 * @author wilker.machado
296 314 *
... ... @@ -305,7 +323,9 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
305 323 *
306 324 * @return HistoricoBemPatrimonial
307 325 */
308   - public HistoricoBemPatrimonial gerarHistoricoDeMudancaSituacaoFisicaBem(BemPatrimonial bemPatrimonial, Dominio dominioSituacaoFisicaAnterior, Dominio dominioSituacaoFisicaNova, Calendar dataInicioBaixaOuDataAtual, BaixaPatrimonio baixa);
  326 + public HistoricoBemPatrimonial gerarHistoricoDeMudancaSituacaoFisicaBem(BemPatrimonial bemPatrimonial,
  327 + Dominio dominioSituacaoFisicaAnterior, Dominio dominioSituacaoFisicaNova,
  328 + Calendar dataInicioBaixaOuDataAtual, BaixaPatrimonio baixa);
309 329  
310 330 /**
311 331 *
... ... @@ -320,7 +340,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
320 340 public HistoricoBemPatrimonial gerarHistoricoBaixaItem(BaixaPatrimonioItem baixaItem, BaixaPatrimonio baixa);
321 341  
322 342 /**
323   - * Método responsável por retornar o nome da chave de dominio do ultimo valor da situação do bem antes do processo de baixa
  343 + * Método responsável por retornar o nome da chave de dominio do ultimo
  344 + * valor da situação do bem antes do processo de baixa
324 345 *
325 346 * @author wilker.machado
326 347 *
... ... @@ -330,7 +351,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
330 351 String buscarUltimoEstadoBemAntesDaBaixa(BemPatrimonial bemPatrimonial);
331 352  
332 353 /**
333   - * Método responsável por gerar historico da exclusão ou estorno do item da baixa
  354 + * Método responsável por gerar historico da exclusão ou estorno do item da
  355 + * baixa
334 356 *
335 357 * @author wilker.machado
336 358 *
... ... @@ -339,7 +361,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
339 361 * se for true e uma exclusao senao e um estorno
340 362 * @return List<HistoricoBemPatrimonial>
341 363 */
342   - public List<HistoricoBemPatrimonial> gerarHistoricoExclusaoOuEstornoItemBaixa(BaixaPatrimonioItem baixaItem, Boolean exclusao);
  364 + public List<HistoricoBemPatrimonial> gerarHistoricoExclusaoOuEstornoItemBaixa(BaixaPatrimonioItem baixaItem,
  365 + Boolean exclusao);
343 366  
344 367 /**
345 368 * Método responsável por gerar historico da exclusão ou estorno da baixa
... ... @@ -359,10 +382,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
359 382 * </p>
360 383 *
361 384 * <p>
362   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  385 + * <b>Regra(s) de negócio:</b>
  386 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
363 387 * </p>
364 388 *
365   - * Método responsável por gerar o historico bemPatrimonial da definição do detentor
  389 + * Método responsável por gerar o historico bemPatrimonial da definição do
  390 + * detentor
366 391 *
367 392 * @author rogerio.costa
368 393 *
... ... @@ -374,7 +399,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
374 399  
375 400 /**
376 401 *
377   - * Método responsável por gerar historico do bem apartir de uma transferencia por definicao de detentor
  402 + * Método responsável por gerar historico do bem apartir de uma
  403 + * transferencia por definicao de detentor
378 404 *
379 405 * @author thiago.borges
380 406 *
... ... @@ -389,7 +415,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
389 415 * </p>
390 416 *
391 417 * <p>
392   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  418 + * <b>Regra(s) de negócio:</b>
  419 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
393 420 * </p>
394 421 *
395 422 * Método responsável por gerar o historico da adicao a bem principal
... ... @@ -407,10 +434,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
407 434 * </p>
408 435 *
409 436 * <p>
410   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  437 + * <b>Regra(s) de negócio:</b>
  438 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
411 439 * </p>
412 440 *
413   - * Método responsável por gerar o historico da transferencia gerada atraves da adicao a bem principal
  441 + * Método responsável por gerar o historico da transferencia gerada atraves
  442 + * da adicao a bem principal
414 443 *
415 444 * @author thiago.borges
416 445 *
... ... @@ -427,7 +456,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
427 456 * </p>
428 457 *
429 458 * <p>
430   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  459 + * <b>Regra(s) de negócio:</b>
  460 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
431 461 * </p>
432 462 *
433 463 * Método responsável por
... ... @@ -437,7 +467,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
437 467 * @param adicaoBemPatrimonial
438 468 * @param adicaoBemPatrimonialItem
439 469 */
440   - public HistoricoBemPatrimonial geraHistoricoDefinicaoDetentorResponsavel(AdicaoBemPrincipal adicaoBemPrincipal, AdicaoBemPrincipalItem adicaoBemPrincipalItem);
  470 + public HistoricoBemPatrimonial geraHistoricoDefinicaoDetentorResponsavel(AdicaoBemPrincipal adicaoBemPrincipal,
  471 + AdicaoBemPrincipalItem adicaoBemPrincipalItem);
441 472  
442 473 /**
443 474 * <p>
... ... @@ -445,17 +476,20 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
445 476 * </p>
446 477 *
447 478 * <p>
448   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  479 + * <b>Regra(s) de negócio:</b>
  480 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
449 481 * </p>
450 482 *
451   - * Método responsável por gerar o historico da definicao de detentor caso haja
  483 + * Método responsável por gerar o historico da definicao de detentor caso
  484 + * haja
452 485 *
453 486 * @author thiago.borges
454 487 *
455 488 * @param adicaoBemPrincipal
456 489 * @return HistoricoBemPatrimonial
457 490 */
458   - public HistoricoBemPatrimonial geraHistoricoDefinicaoDetentor(AdicaoBemPrincipal adicaoBemPrincipal, AdicaoBemPrincipalItem adicaoBemPrincipalItem);
  491 + public HistoricoBemPatrimonial geraHistoricoDefinicaoDetentor(AdicaoBemPrincipal adicaoBemPrincipal,
  492 + AdicaoBemPrincipalItem adicaoBemPrincipalItem);
459 493  
460 494 /**
461 495 * <p>
... ... @@ -463,10 +497,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
463 497 * </p>
464 498 *
465 499 * <p>
466   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  500 + * <b>Regra(s) de negócio:</b>
  501 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
467 502 * </p>
468 503 *
469   - * Método responsável por gerar o historico da remoção do responsavel pelo bem
  504 + * Método responsável por gerar o historico da remoção do responsavel pelo
  505 + * bem
470 506 *
471 507 * @author thiago.borges
472 508 *
... ... @@ -481,17 +517,20 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
481 517 * </p>
482 518 *
483 519 * <p>
484   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  520 + * <b>Regra(s) de negócio:</b>
  521 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
485 522 * </p>
486 523 *
487   - * Método responsável por gerar o historico da remoção do responsavel pelo bem
  524 + * Método responsável por gerar o historico da remoção do responsavel pelo
  525 + * bem
488 526 *
489 527 * @author thiago.borges
490 528 *
491 529 * @param adicaoBemPrincipalItem
492 530 * @return HistoricoBemPatrimonial
493 531 */
494   - public HistoricoBemPatrimonial geraHistoricoRemoverResponsavelPorAdicao(AdicaoBemPrincipalItem adicaoBemPrincipalItem);
  532 + public HistoricoBemPatrimonial geraHistoricoRemoverResponsavelPorAdicao(
  533 + AdicaoBemPrincipalItem adicaoBemPrincipalItem);
495 534  
496 535 /**
497 536 * <p>
... ... @@ -499,7 +538,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
499 538 * </p>
500 539 *
501 540 * <p>
502   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  541 + * <b>Regra(s) de negócio:</b>
  542 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
503 543 * </p>
504 544 *
505 545 * Método responsável por gerar o historico da remoção do detentor
... ... @@ -517,10 +557,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
517 557 * </p>
518 558 *
519 559 * <p>
520   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  560 + * <b>Regra(s) de negócio:</b>
  561 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
521 562 * </p>
522 563 *
523   - * Método responsável por gerar o historico da remoção do detentor por adicao a bem principal
  564 + * Método responsável por gerar o historico da remoção do detentor por
  565 + * adicao a bem principal
524 566 *
525 567 * @author thiago.borges
526 568 *
... ... @@ -535,7 +577,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
535 577 * </p>
536 578 *
537 579 * <p>
538   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  580 + * <b>Regra(s) de negócio:</b>
  581 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
539 582 * </p>
540 583 *
541 584 * Método responsável por gerar historico da remoção de um item
... ... @@ -554,7 +597,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
554 597 * </p>
555 598 *
556 599 * <p>
557   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  600 + * <b>Regra(s) de negócio:</b>
  601 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
558 602 * </p>
559 603 *
560 604 * Método responsável por gerar historico da remoção de um item
... ... @@ -572,10 +616,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
572 616 * </p>
573 617 *
574 618 * <p>
575   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  619 + * <b>Regra(s) de negócio:</b>
  620 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
576 621 * </p>
577 622 *
578   - * Método responsável por gerar histórico dos bens patrimoniais da transferência
  623 + * Método responsável por gerar histórico dos bens patrimoniais da
  624 + * transferência
579 625 *
580 626 * @author rogerio.cassimiro
581 627 *
... ... @@ -584,7 +630,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
584 630 public void gerarHistoricoBemPatrimonialTransferencia(Transferencia transferencia);
585 631  
586 632 /**
587   - * Método responsável por verificar se houve alguma alteração no bem depois de sua entrada para poder verificar se e possivel a exlusão da entrada
  633 + * Método responsável por verificar se houve alguma alteração no bem depois
  634 + * de sua entrada para poder verificar se e possivel a exlusão da entrada
588 635 *
589 636 * @author wilker.machado
590 637 *
... ... @@ -600,10 +647,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
600 647 * </p>
601 648 *
602 649 * <p>
603   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  650 + * <b>Regra(s) de negócio:</b>
  651 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
604 652 * </p>
605 653 *
606   - * Método responsável por buscar todos os historicos de um bem em uma data com um determinado codigo de motivo de alteracao
  654 + * Método responsável por buscar todos os historicos de um bem em uma data
  655 + * com um determinado codigo de motivo de alteracao
607 656 *
608 657 * @author geovane.filho
609 658 *
... ... @@ -615,7 +664,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
615 664 * Codigo do motivo da alteracao
616 665 * @return Historico gerado na data e do tipo informado.
617 666 */
618   - HistoricoBemPatrimonial findByBemPatrimonialEDataOperacaoECodigoMotivoAlteracao(BemPatrimonial bemPatrimonial, Calendar dataOperacao, Long tipoMotivoAlteracaoBemEmSaidaTemporariaCodigo);
  667 + HistoricoBemPatrimonial findByBemPatrimonialEDataOperacaoECodigoMotivoAlteracao(BemPatrimonial bemPatrimonial,
  668 + Calendar dataOperacao, Long tipoMotivoAlteracaoBemEmSaidaTemporariaCodigo);
619 669  
620 670 /**
621 671 * Método responsável por buscar o historico de cada bem
... ... @@ -633,22 +683,26 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
633 683 * </p>
634 684 *
635 685 * <p>
636   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  686 + * <b>Regra(s) de negócio:</b>
  687 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
637 688 * </p>
638 689 *
639   - * Método responsável por retornar todos os historicos de um determinado bem a partir de uma data e de um determinado tipo.
  690 + * Método responsável por retornar todos os historicos de um determinado bem
  691 + * a partir de uma data e de um determinado tipo.
640 692 *
641 693 * @author geovane.filho
642 694 *
643 695 * @param bemPatrimonial
644 696 * Bem Patrimonial a se buscar os historicos
645 697 * @param dataOperacao
646   - * Data para se procurar a partir dela (Data não inclusa na pesquisa, apenas maiores que ela)
  698 + * Data para se procurar a partir dela (Data não inclusa na
  699 + * pesquisa, apenas maiores que ela)
647 700 * @param tipoHistoricoAlteracaoCodigo
648 701 * Tipo de historico a se buscar
649 702 * @return Coleção com os historicos encontrados.
650 703 */
651   - public Collection<HistoricoBemPatrimonial> findAllByBemPatrimonialEDataOperacaoMaiorQueECodigoTipoHistorico(BemPatrimonial bemPatrimonial, Calendar dataOperacao, Long tipoHistoricoAlteracaoCodigo);
  704 + public Collection<HistoricoBemPatrimonial> findAllByBemPatrimonialEDataOperacaoMaiorQueECodigoTipoHistorico(
  705 + BemPatrimonial bemPatrimonial, Calendar dataOperacao, Long tipoHistoricoAlteracaoCodigo);
652 706  
653 707 /**
654 708 * <p>
... ... @@ -656,20 +710,25 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
656 710 * </p>
657 711 *
658 712 * <p>
659   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  713 + * <b>Regra(s) de negócio:</b>
  714 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
660 715 * </p>
661 716 *
662   - * Método responsável por dizer se foi realizado alguma modificação em um bem patrimonial após uma determinada modificação.
  717 + * Método responsável por dizer se foi realizado alguma modificação em um
  718 + * bem patrimonial após uma determinada modificação.
663 719 *
664 720 * @author geovane.filho
665 721 *
666 722 * @param bemPatrimonial
667 723 * Bem Patrimonial a se buscar a informação
668 724 * @param historicoBemPatrimonial
669   - * Historico a se procurar historicos de modificação a partir dele.
670   - * @return <code>true</code> caso haja historicos de modificação para o bem após o historico dado e <code>false</code> caso contrário.
  725 + * Historico a se procurar historicos de modificação a partir
  726 + * dele.
  727 + * @return <code>true</code> caso haja historicos de modificação para o bem
  728 + * após o historico dado e <code>false</code> caso contrário.
671 729 */
672   - public Boolean temHistoricoAlteracaoAposHistorico(BemPatrimonial bemPatrimonial, HistoricoBemPatrimonial historicoBemPatrimonial);
  730 + public Boolean temHistoricoAlteracaoAposHistorico(BemPatrimonial bemPatrimonial,
  731 + HistoricoBemPatrimonial historicoBemPatrimonial);
673 732  
674 733 /**
675 734 * Método responsável por
... ... @@ -691,7 +750,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
691 750 public void removerMovimentosHistorico(Transferencia entity);
692 751  
693 752 /**
694   - * Método responsável por validar se existe mudança no histórico a partir da data da operação da transferência
  753 + * Método responsável por validar se existe mudança no histórico a partir da
  754 + * data da operação da transferência
695 755 *
696 756 * @author rogerio.cassimiro
697 757 *
... ... @@ -701,7 +761,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
701 761 public boolean existeMudancaPosteriorTransferenciaAPartirDataOperacao(Transferencia transferencia);
702 762  
703 763 /**
704   - * Método responsável por criar os historicos referentes às mudanças de todos os bens que irão ser depreciados
  764 + * Método responsável por criar os historicos referentes às mudanças de
  765 + * todos os bens que irão ser depreciados
705 766 *
706 767 * @author geovane.filho
707 768 *
... ... @@ -710,7 +771,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
710 771 * @param dataOperacao
711 772 * @param usuarioId
712 773 */
713   - public void gerarHistoricoAlteracaoBemDepreciacao(Long organizacaoId, Long depreciacaoId, Calendar dataOperacao, Long usuarioId);
  774 + public void gerarHistoricoAlteracaoBemDepreciacao(Long organizacaoId, Long depreciacaoId, Calendar dataOperacao,
  775 + Long usuarioId);
714 776  
715 777 /**
716 778 * <p>
... ... @@ -718,10 +780,12 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
718 780 * </p>
719 781 *
720 782 * <p>
721   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  783 + * <b>Regra(s) de negócio:</b>
  784 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
722 785 * </p>
723 786 *
724   - * Método responsável por criar o histórico referente à mudança da taxa de valor residual
  787 + * Método responsável por criar o histórico referente à mudança da taxa de
  788 + * valor residual
725 789 *
726 790 * @author geovane.filho
727 791 *
... ... @@ -748,7 +812,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
748 812 * </p>
749 813 *
750 814 * <p>
751   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  815 + * <b>Regra(s) de negócio:</b>
  816 + * <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
752 817 * </p>
753 818 *
754 819 * Método responsável por criar o histórico referente à mudança da vida útil
... ... @@ -759,4 +824,8 @@ public interface HistoricoBemPatrimonialService extends GenericService&lt;Historico
759 824 * @param bemPatrimonial
760 825 */
761 826 void gerarHistoricoVidaUtil(AlteracaoBemVH alteracaoBemVH, BemPatrimonial bemPatrimonial);
  827 +
  828 + void gerarHistoricoBemPatrimonialTransferenciaCancelada(BemPatrimonial bemPatrimonial);
  829 +
  830 + boolean existeMudancaPosteriorTransferenciaItemAPartirDataOperacao(TransferenciaItem transferenciaItem);
762 831 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaItemService.java
... ... @@ -136,4 +136,8 @@ public interface TransferenciaItemService extends GenericService&lt;TransferenciaIt
136 136 * @return
137 137 */
138 138 public List<String> transferenciasComBensPatrimoniaisDaEntrada(Long idEntrada);
  139 +
  140 + TransferenciaItem findTransferenciaItemBemPatrimonialTransferencia(Long idBemPatrimnonial, Long idTransferencia);
  141 +
  142 + Boolean removerItem(Long id);
139 143 }
... ...
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 206  
207 207 @Autowired
208 208 private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
209   -
  209 +
210 210 @Autowired
211 211 public BemPatrimonialServiceImpl( BemPatrimonialDao bemPatrimonialDao ) {
212 212  
... ... @@ -2683,7 +2683,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2683 2683  
2684 2684 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) {
2685 2685 this.saidaTemporariaService.save(tratamentoInconsistenciaVH.getSaidaTemporaria());
2686   - } else {
  2686 + } else if(tratamentoInconsistenciaVH.getBaixa() != null){
2687 2687 try {
2688 2688 this.baixaService.save(tratamentoInconsistenciaVH.getBaixa());
2689 2689  
... ... @@ -2699,8 +2699,14 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2699 2699 dominioInconsistencia.setDataTratamento(Calendar.getInstance());
2700 2700 if (tratamentoInconsistenciaVH.getSaidaTemporaria() != null) {
2701 2701 dominioInconsistencia.setDominioTrataInconsistencia(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_TRATAMENTO_INCONSISTENCIA, Dominio.TIPO_TRATAMENTO_SAIDA_TEMPORARIA));
2702   - } else {
  2702 + } else if(tratamentoInconsistenciaVH.getBaixa() != null){
2703 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(), inventarioBemPatrimonial.getId());
  2709 +
2704 2710 }
2705 2711 dominioInconsistencia.setInventarioBemPatrimonial(inventarioBemPatrimonial);
2706 2712 this.dominioInconsistenciaService.merge(dominioInconsistencia);
... ... @@ -2712,6 +2718,25 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl&lt;BemPatrimonial
2712 2718  
2713 2719 }
2714 2720  
  2721 + public void alterarStatusBemPatrimonialInventario(Dominio novoStatus, Long idBem, Long idInventarioBemPatrimonial) {
  2722 +
  2723 +
  2724 + BemPatrimonial bemPatrimonial = this.getReference(idBem);
  2725 + AlteracaoBemVH alteracaoBemVH = new AlteracaoBemVH();
  2726 + alteracaoBemVH.setDataAlteracao(UtilDate.getDataAtualCalendar());
  2727 + alteracaoBemVH.setDominioMotivoAlteracao(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_MOTIVO_ALTERACAO_BEM, Dominio.TIPO_MOTIVO_ALTERACAO_BEM_INVENTARIO_CODIGO));
  2728 + alteracaoBemVH.setDominioStatus(novoStatus);
  2729 + this.historicoBempatrimonialService.gerarHistoricoStatusBem(alteracaoBemVH, bemPatrimonial);
  2730 +
  2731 + bemPatrimonial.setDominioStatus(novoStatus);
  2732 + this.merge(bemPatrimonial);
  2733 +
  2734 + InventarioBemPatrimonial inventarioBemPatrimonial = this.inventarioBemPatrimonialService.find(idInventarioBemPatrimonial);
  2735 + inventarioBemPatrimonial.setDominioSituacaoFisica(bemPatrimonial.getDominioSituacaoFisica());
  2736 + inventarioBemPatrimonial.setDominioStatus(novoStatus);
  2737 + this.inventarioBemPatrimonialService.merge(inventarioBemPatrimonial);
  2738 + }
  2739 +
2715 2740 @Override
2716 2741 public InventarioEstruturaOrganizacional alterarListaBemInconsistenciaTipo10(TratamentoInconsistenciaVH tratamentoInconsistenciaVH) {
2717 2742  
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/ContaContabilMovimentoPatrimonioServiceImpl.java
... ... @@ -618,4 +618,9 @@ public class ContaContabilMovimentoPatrimonioServiceImpl extends GenericServiceI
618 618  
619 619 return this.contaContabilMovimentoPatrimonioDao.findAllByEntrada(entradaId);
620 620 }
  621 +
  622 + @Override
  623 + public List<ContaContabilMovimentoPatrimonio> findContaByTransferenciaAndBemPatrimonial(Long transferenciaId, Long bemPatrimonialId) {
  624 + return this.contaContabilMovimentoPatrimonioDao.findContaByTransferenciaAndBemPatrimonial(transferenciaId, bemPatrimonialId);
  625 + }
621 626 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/EntradaServiceImpl.java
... ... @@ -580,7 +580,7 @@ public class EntradaServiceImpl extends GenericServiceImpl&lt;EntradaPatrimonio, Lo
580 580 }
581 581  
582 582 EntradaPatrimonio ultimoRegistro =
583   - (EntradaPatrimonio) entradaDao.buscarUltimoRegistroComOrdenadoParametrizada("codigo", Entrada.class, entity.getOrganizacao().getId());
  583 + (EntradaPatrimonio) entradaDao.buscarUltimoRegistroPorAnoReferenciaComOrdenadoParametrizada("codigo", entity.getOrganizacao().getId(), null);
584 584  
585 585 Long sequencial = null;
586 586 if (UtilObjeto.isReferencia(ultimoRegistro)) {
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/HistoricoBemPatrimonialServiceImpl.java
... ... @@ -1879,6 +1879,10 @@ public class HistoricoBemPatrimonialServiceImpl extends GenericServiceImpl&lt;Histo
1879 1879 // PERCORRE A LISTA DE TRANSFERENCIAITEM = BEM PATRIMONIAL E GERA HISTÓRICO
1880 1880 for (TransferenciaItem transferenciaItem : transferencia.getSaidaTemporariaItens()) {
1881 1881  
  1882 + if(UtilObjeto.isReferencia(this.buscarUltimoHistoricoBem(transferenciaItem.getBemPatrimonial(), transferencia.getId()))){
  1883 + continue;
  1884 + }
  1885 +
1882 1886 TermoResponsabilidade termoResponsabilidade = this.termoResponsabilidadeService.findByTransferenciaAndEstrutura(transferencia.getId(), transferenciaItem.getEstruturaOrganizacionalOrigem().getId());
1883 1887  
1884 1888 HistoricoBemPatrimonial historicoBemPatrimonial = new HistoricoBemPatrimonial();
... ... @@ -1905,13 +1909,45 @@ public class HistoricoBemPatrimonialServiceImpl extends GenericServiceImpl&lt;Histo
1905 1909  
1906 1910 descricao = descricao.replace(":DATATRANSFERENCIA:", UtilDate.formatarData(transferencia.getDataTransferencia().getTime(), "dd/MM/yyyy"));
1907 1911 descricao = descricao.replace(":NOVAESTRUTURA:", transferencia.getEstruturaOrganizacionalDestino().getCodigoENome());
1908   - descricao = descricao.replace(":NUMTERMO:", termoResponsabilidade.getNumeroTermo());
  1912 +
  1913 + if(termoResponsabilidade != null){
  1914 + descricao = descricao.replace(":NUMTERMO:", termoResponsabilidade.getNumeroTermo());
  1915 + }
1909 1916  
1910 1917 historicoBemPatrimonial.setDescricao(descricao);
1911 1918  
1912 1919 this.save(historicoBemPatrimonial);
1913 1920 }
1914 1921 }
  1922 +
  1923 + public void gerarHistoricoBemPatrimonialTransferenciaCancelada(BemPatrimonial bemPatrimonial) {
  1924 +
  1925 + Dominio classeReferencia = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_TRANSFERENCIA_INTERNA);
  1926 +
  1927 + Dominio idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
  1928 + // Cria uma nova data de operação diferente da transferência.
  1929 + Calendar dtOperacao = Calendar.getInstance();
  1930 +
  1931 + dtOperacao.setTime(UtilDate.getDataAtual());
  1932 +
  1933 + HistoricoBemPatrimonial historicoBemPatrimonial = new HistoricoBemPatrimonial();
  1934 +
  1935 + historicoBemPatrimonial.setBemPatrimonial(bemPatrimonial);
  1936 +
  1937 + historicoBemPatrimonial.setDominioTipoHistorico(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_HISTORICO, Dominio.TRANSFERENCIA_INTERNA_CODIGO_CANCELADA));
  1938 +
  1939 + historicoBemPatrimonial.setValorNovo(bemPatrimonial.getEstruturaOrganizacionalAtual().getCodigoENome());
  1940 +
  1941 + historicoBemPatrimonial.setDataOperacao(dtOperacao);
  1942 +
  1943 + historicoBemPatrimonial.setDominioClasseReferencia(classeReferencia);
  1944 +
  1945 + String descricao = this.internacionalizacaoService.getTranslate("PATRIMONIO.MSG.HISTORICO_TRANSFERENCIA_CANCELADA", idioma);
  1946 +
  1947 + historicoBemPatrimonial.setDescricao(descricao);
  1948 +
  1949 + this.save(historicoBemPatrimonial);
  1950 + }
1915 1951  
1916 1952 /**
1917 1953 * {@inheritDoc}
... ... @@ -2091,6 +2127,19 @@ public class HistoricoBemPatrimonialServiceImpl extends GenericServiceImpl&lt;Histo
2091 2127  
2092 2128 return Boolean.FALSE;
2093 2129 }
  2130 +
  2131 + @Override
  2132 + public boolean existeMudancaPosteriorTransferenciaItemAPartirDataOperacao(TransferenciaItem transferenciaItem) {
  2133 +
  2134 + Dominio dominioTipoHIstorico = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_HISTORICO, Dominio.TRANSFERENCIA_INTERNA_CODIGO);
  2135 +
  2136 + if(this.historicoBemPatrimonialDao.validarHistoricoSuperiorDataOperacaoPorBemETipoHistorico(transferenciaItem.getBemPatrimonial(), transferenciaItem.getTransferencia().getDataTransferencia(), dominioTipoHIstorico)) {
  2137 +
  2138 + return Boolean.TRUE;
  2139 + }
  2140 +
  2141 + return Boolean.FALSE;
  2142 + }
2094 2143  
2095 2144 /**
2096 2145 * {@inheritDoc}
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/TransferenciaItemServiceImpl.java
... ... @@ -11,6 +11,7 @@ import br.com.centralit.api.dao.TransferenciaItemDao;
11 11 import br.com.centralit.api.model.AdicaoBemPrincipal;
12 12 import br.com.centralit.api.model.AdicaoBemPrincipalItem;
13 13 import br.com.centralit.api.model.BemPatrimonial;
  14 +import br.com.centralit.api.model.ContaContabilMovimentoPatrimonio;
14 15 import br.com.centralit.api.model.EntradaPatrimonio;
15 16 import br.com.centralit.api.model.EntradaPatrimonioItem;
16 17 import br.com.centralit.api.model.EstruturaOrganizacionalPatrimonio;
... ... @@ -18,10 +19,13 @@ import br.com.centralit.api.model.Transferencia;
18 19 import br.com.centralit.api.model.TransferenciaItem;
19 20 import br.com.centralit.api.service.AdicaoBemPrincipalService;
20 21 import br.com.centralit.api.service.BemPatrimonialService;
  22 +import br.com.centralit.api.service.ContaContabilMovimentoPatrimonioService;
21 23 import br.com.centralit.api.service.DominioService;
22 24 import br.com.centralit.api.service.EntradaItemService;
23 25 import br.com.centralit.api.service.EntradaService;
24 26 import br.com.centralit.api.service.EstruturaOrganizacionalPatrimonioService;
  27 +import br.com.centralit.api.service.HistoricoBemPatrimonialService;
  28 +import br.com.centralit.api.service.InternacionalizacaoService;
25 29 import br.com.centralit.api.service.TransferenciaItemService;
26 30 import br.com.centralit.api.service.TransferenciaService;
27 31 import br.com.centralit.framework.exception.BusinessException;
... ... @@ -93,6 +97,15 @@ public class TransferenciaItemServiceImpl extends GenericServiceImpl&lt;Transferenc
93 97  
94 98 @Autowired
95 99 private DominioService dominioService;
  100 +
  101 + @Autowired
  102 + private InternacionalizacaoService internacionalizacaoService;
  103 +
  104 + @Autowired
  105 + private HistoricoBemPatrimonialService historioBemPatrimonialService;
  106 +
  107 + @Autowired
  108 + private ContaContabilMovimentoPatrimonioService contaContabilMovimentoPatrimonioService;
96 109  
97 110 @Autowired
98 111 public TransferenciaItemServiceImpl( TransferenciaItemDao transferenciaItemDao ) {
... ... @@ -303,8 +316,19 @@ public class TransferenciaItemServiceImpl extends GenericServiceImpl&lt;Transferenc
303 316 */
304 317 private void validarDestinoTransferenciaOrigemBem(Transferencia transferencia, BemPatrimonial bemPatrimonial) {
305 318  
  319 + boolean isEdicaoItemTransferencia = false;
  320 + if(UtilObjeto.isReferencia(transferencia.getId())){
  321 + Transferencia transferenciaAux = this.transferenciaService.find(transferencia.getId());
  322 + for (TransferenciaItem TransferenciaItem : transferenciaAux.getSaidaTemporariaItens()) {
  323 + if(TransferenciaItem.getBemPatrimonial().getId() == bemPatrimonial.getId()){
  324 + isEdicaoItemTransferencia = true;
  325 + break;
  326 + }
  327 + }
  328 + }
  329 +
306 330 // VALIDAR SE A ESTRUTURA DESTINO É A MESMA DA ESTRUTURA ATUAL DO BEM PATRIMONIAL E LANÇA UMA BUSINESSEXCEPTION
307   - if (transferencia.getEstruturaOrganizacionalDestino().getId().equals(bemPatrimonial.getEstruturaOrganizacionalAtual().getId())) {
  331 + if (!isEdicaoItemTransferencia && transferencia.getEstruturaOrganizacionalDestino().getId().equals(bemPatrimonial.getEstruturaOrganizacionalAtual().getId())) {
308 332  
309 333 throw new BusinessException("PATRIMONIO.MSG.MN013", CodigoErro.REGRA_NEGOCIO.getValue());
310 334 }
... ... @@ -329,8 +353,10 @@ public class TransferenciaItemServiceImpl extends GenericServiceImpl&lt;Transferenc
329 353  
330 354 // VALIDA SE A DATA DA TRANSFERÊNCIA É INFERIOR A DATA DA ÚLTIMA TRANSFERÊNCIA DO BEM E GERA UMA EXCEÇÃO
331 355 if (UtilObjeto.isReferencia(ultimaTransferencia) && UtilDate.isPrimeiraDataMenorSegundaData(transferencia.getDataTransferencia(), ultimaTransferencia.getDataTransferencia())) {
332   -
333   - throw new BusinessException("MSG.MN015", CodigoErro.REGRA_NEGOCIO.getValue());
  356 + BemPatrimonial bPatrimonial = this.bemPatrimonialService.find(bemPatrimonial.getId());
  357 + String info = this.internacionalizacaoService.getTranslate("MSG.MN015", this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO));
  358 + info = String.format(info, bPatrimonial.getNumeroPatrimonial());
  359 + throw new BusinessException(info, CodigoErro.REGRA_NEGOCIO.getValue());
334 360 }
335 361 }
336 362  
... ... @@ -392,4 +418,40 @@ public class TransferenciaItemServiceImpl extends GenericServiceImpl&lt;Transferenc
392 418 return transferencias;
393 419 }
394 420  
  421 + @Override
  422 + public TransferenciaItem findTransferenciaItemBemPatrimonialTransferencia(Long idBemPatrimnonial, Long idTransferencia) {
  423 + return this.transferenciaItemDao.findTransferenciaItemBemPatrimonialTransferencia(idBemPatrimnonial, idTransferencia);
  424 + }
  425 +
  426 + @Override
  427 + public Boolean removerItem(Long id) {
  428 +
  429 + TransferenciaItem transferenciaItem = this.find(id);
  430 +
  431 + if (this.historioBemPatrimonialService.existeMudancaPosteriorTransferenciaItemAPartirDataOperacao(transferenciaItem)) {
  432 +
  433 + throw new BusinessException("VALIDACAO.EXCLUSAO_TRANSFERENCIA_IMPOSSIVEL", CodigoErro.REGRA_NEGOCIO.getValue());
  434 + }
  435 +
  436 + BemPatrimonial bemPatrimonial = this.bemPatrimonialService.find(transferenciaItem.getBemPatrimonial().getId());
  437 + bemPatrimonial.setEstruturaOrganizacionalAtual(transferenciaItem.getEstruturaOrganizacionalOrigem());
  438 +
  439 + EstruturaOrganizacionalPatrimonio estruturaPatrimonio = this.estruturaOrganizacionalPatrimonioService.findByEstrutura(bemPatrimonial.getEstruturaOrganizacionalAtual());
  440 + if (estruturaPatrimonio.getIsAlmoxarifado()) {
  441 + List<ContaContabilMovimentoPatrimonio> listaContaContabilMovimentoPatrimonio = this.contaContabilMovimentoPatrimonioService.findContaByTransferenciaAndBemPatrimonial(transferenciaItem.getTransferencia().getId(), bemPatrimonial.getId());
  442 + for (ContaContabilMovimentoPatrimonio contaContabilMovimentoPatrimonio : listaContaContabilMovimentoPatrimonio) {
  443 + this.contaContabilMovimentoPatrimonioService.remove(contaContabilMovimentoPatrimonio);
  444 + }
  445 + }
  446 +
  447 + bemPatrimonial.setDetentor(transferenciaItem.getDetentorOrigem());
  448 +
  449 +// this.historioBemPatrimonialService.gerarHistoricoBemPatrimonialTransferenciaCancelada(bemPatrimonial);
  450 + this.historioBemPatrimonialService.removerMovimentosHistorico(transferenciaItem.getTransferencia());
  451 +
  452 + this.remove(transferenciaItem);
  453 +
  454 + return true;
  455 + }
  456 +
395 457 }
... ...
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/TransferenciaServiceImpl.java
... ... @@ -201,23 +201,47 @@ public class TransferenciaServiceImpl extends GenericServiceImpl&lt;Transferencia,
201 201 transferenciaItemListTemp.add(transferenciaItem);
202 202 } else {
203 203 // SALVA A TRANSFERÊNCIA
204   - Transferencia transferenciaSave = geraTransferenciaInterna(transferencia, transferenciaItemListTemp);
205   - this.transferenciaDao.save(transferenciaSave);
206   - this.salvarTermo(transferenciaSave, this.estruturaOrganizacionalService.getReference(idUltimaEstrutura));
207   - if (listaTransferenciaSalva != null) {
208   - listaTransferenciaSalva.add(transferenciaSave);
  204 + if(!UtilObjeto.isReferencia(transferencia.getId())){
  205 + Transferencia transferenciaSave = geraTransferenciaInterna(transferencia, transferenciaItemListTemp);
  206 + this.transferenciaDao.save(transferenciaSave);
  207 + this.salvarTermo(transferenciaSave, this.estruturaOrganizacionalService.getReference(idUltimaEstrutura));
  208 + if (listaTransferenciaSalva != null) {
  209 + listaTransferenciaSalva.add(transferenciaSave);
  210 + }
209 211 }
210   -
211 212 idUltimaEstrutura = transferenciaItem.getEstruturaOrganizacionalOrigem().getId();
212   - transferenciaItemListTemp = new ArrayList<TransferenciaItem>();
213 213 transferenciaItemListTemp.add(transferenciaItem);
214 214 }
215 215  
216 216 }
217 217  
218   - for (TransferenciaItem transferenciaItem : transferenciaItemListTemp) {
219   - transferenciaItem.setTransferencia(transferencia);
  218 + if(UtilObjeto.isReferencia(transferencia.getId())){
  219 + List<TransferenciaItem> transferenciaItemList = new ArrayList<TransferenciaItem>();
  220 + List<TransferenciaItem> transferenciaItensSalvos = this.transferenciaItemService.buscarTransferenciaItens(transferencia.getId());
  221 + boolean itemNovo = true;
  222 + for (TransferenciaItem transferenciaItem : transferenciaItemListTemp) {
  223 + itemNovo = true;
  224 + for (TransferenciaItem transferenciaItemSalvo : transferenciaItensSalvos) {
  225 + if(transferenciaItem.getBemPatrimonial().getId() == transferenciaItemSalvo.getBemPatrimonial().getId()){
  226 + transferenciaItemList.add(transferenciaItemSalvo);
  227 + itemNovo = false;
  228 + break;
  229 + }
  230 + }
  231 + if(itemNovo){
  232 + transferenciaItem.setTransferencia(transferencia);
  233 + transferenciaItemList.add(transferenciaItem);
  234 +
  235 + }
  236 + }
  237 + transferencia.setSaidaTemporariaItens(transferenciaItemList);
  238 + }else{
  239 + for (TransferenciaItem transferenciaItem : transferenciaItemListTemp) {
  240 + transferenciaItem.setTransferencia(transferencia);
  241 + }
  242 + transferencia.setSaidaTemporariaItens(transferenciaItemListTemp);
220 243 }
  244 +
221 245 if(transferencia.getObservacoes() != null){
222 246 for (TransferenciaObservacao trataObs : transferencia.getObservacoes()) {
223 247 trataObs.setTransferencia(transferencia);
... ... @@ -228,13 +252,18 @@ public class TransferenciaServiceImpl extends GenericServiceImpl&lt;Transferencia,
228 252 trataDocs.setTransferencia(transferencia);
229 253 }
230 254 }
231   - transferencia.setSaidaTemporariaItens(transferenciaItemListTemp);
232   - this.transferenciaDao.save(transferencia);
233   - configurarCodigo(transferencia);
234   - this.salvarTermo(transferencia, this.estruturaOrganizacionalService.getReference(idUltimaEstrutura));
235   - if (listaTransferenciaSalva != null) {
236   - listaTransferenciaSalva.add(transferencia);
  255 +
  256 + if(UtilObjeto.isReferencia(transferencia.getId())){
  257 + this.transferenciaDao.merge(transferencia);
  258 + }else{
  259 + this.transferenciaDao.save(transferencia);
  260 + configurarCodigo(transferencia);
  261 + this.salvarTermo(transferencia, this.estruturaOrganizacionalService.getReference(idUltimaEstrutura));
  262 + if (listaTransferenciaSalva != null) {
  263 + listaTransferenciaSalva.add(transferencia);
  264 + }
237 265 }
  266 +
238 267 }
239 268  
240 269 private Transferencia geraTransferenciaInterna(Transferencia transferencia, List<TransferenciaItem> transferenciaItemListTemp) {
... ... @@ -758,12 +787,15 @@ public class TransferenciaServiceImpl extends GenericServiceImpl&lt;Transferencia,
758 787 public List<Transferencia> update(Transferencia transferencia) {
759 788  
760 789 List<Transferencia> listaTransferencia = new ArrayList<Transferencia>();
761   - this.montarDocsObsTransferenciaInterna(transferencia);
762   -
763   - transferencia.setSaidaTemporariaItens(this.transferenciaItemService.buscarTransferenciaItens(transferencia.getId()));
  790 +// this.montarDocsObsTransferenciaInterna(transferencia);
  791 +//
  792 +// transferencia.setSaidaTemporariaItens(this.transferenciaItemService.buscarTransferenciaItens(transferencia.getId()));
764 793  
765 794 // SALVA A TRANSFERÊNCIA
766   - this.transferenciaDao.merge(transferencia);
  795 +
  796 + List<Transferencia> listaTransferenciaSalva = new ArrayList<Transferencia>();
  797 + this.salvarNovoRegistro(transferencia, listaTransferenciaSalva);
  798 +// this.transferenciaDao.merge(transferencia);
767 799  
768 800 this.contaContabilMovimentoPatrimonioService.alterarMovimentoTransferencia(transferencia);
769 801  
... ...
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 11 import br.com.centralit.api.model.SaidaTemporaria;
12 12 import br.com.centralit.api.model.Transferencia;
13 13 import br.com.centralit.framework.json.Views;
  14 +import br.com.centralit.framework.model.Dominio;
14 15  
15 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 43 * @since 13/11/2015 - 13:16:22
32 44 *
... ... @@ -70,6 +82,9 @@ public class TratamentoInconsistenciaVH implements Serializable {
70 82 @JsonView({ Views.DadosBemPatrimonialEditView.class })
71 83 private Inventario inventario;
72 84  
  85 + @JsonView({ Views.InventarioBemPatrimonialInconsistenciaMapView.class })
  86 + private Dominio novoStatusBem;
  87 +
73 88 /**
74 89 * Retorna o valor do atributo <code>transferencia</code>
75 90 *
... ... @@ -80,7 +95,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
80 95 return transferencia;
81 96 }
82 97  
83   -
84 98 /**
85 99 * Define o valor do atributo <code>transferencia</code>.
86 100 *
... ... @@ -91,7 +105,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
91 105 this.transferencia = transferencia;
92 106 }
93 107  
94   -
95 108 /**
96 109 * Retorna o valor do atributo <code>listaInventarioBem</code>
97 110 *
... ... @@ -102,7 +115,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
102 115 return listaInventarioBem;
103 116 }
104 117  
105   -
106 118 /**
107 119 * Define o valor do atributo <code>listaInventarioBem</code>.
108 120 *
... ... @@ -113,7 +125,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
113 125 this.listaInventarioBem = listaInventarioBem;
114 126 }
115 127  
116   -
117 128 /**
118 129 * Retorna o valor do atributo <code>idEstruturaOrganizacional</code>
119 130 *
... ... @@ -124,7 +135,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
124 135 return idEstruturaOrganizacional;
125 136 }
126 137  
127   -
128 138 /**
129 139 * Define o valor do atributo <code>idEstruturaOrganizacional</code>.
130 140 *
... ... @@ -135,8 +145,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
135 145 this.idEstruturaOrganizacional = idEstruturaOrganizacional;
136 146 }
137 147  
138   -
139   -
140 148 /**
141 149 * Retorna o valor do atributo <code>saidaTemporaria</code>
142 150 *
... ... @@ -147,8 +155,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
147 155 return saidaTemporaria;
148 156 }
149 157  
150   -
151   -
152 158 /**
153 159 * Define o valor do atributo <code>saidaTemporaria</code>.
154 160 *
... ... @@ -159,8 +165,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
159 165 this.saidaTemporaria = saidaTemporaria;
160 166 }
161 167  
162   -
163   -
164 168 /**
165 169 * Retorna o valor do atributo <code>baixa</code>
166 170 *
... ... @@ -171,8 +175,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
171 175 return baixa;
172 176 }
173 177  
174   -
175   -
176 178 /**
177 179 * Define o valor do atributo <code>baixa</code>.
178 180 *
... ... @@ -183,8 +185,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
183 185 this.baixa = baixa;
184 186 }
185 187  
186   -
187   -
188 188 /**
189 189 * Retorna o valor do atributo <code>bemPatrimonial</code>
190 190 *
... ... @@ -195,8 +195,6 @@ public class TratamentoInconsistenciaVH implements Serializable {
195 195 return bemPatrimonial;
196 196 }
197 197  
198   -
199   -
200 198 /**
201 199 * Define o valor do atributo <code>bemPatrimonial</code>.
202 200 *
... ... @@ -207,47 +205,44 @@ public class TratamentoInconsistenciaVH implements Serializable {
207 205 this.bemPatrimonial = bemPatrimonial;
208 206 }
209 207  
210   -
211 208 public Long getCodigoDominioTratamentoEscolhido() {
212 209 return codigoDominioTratamentoEscolhido;
213 210 }
214 211  
215   -
216   - public void setCodigoDominioTratamentoEscolhido(
217   - Long codigoDominioTratamentoEscolhido) {
  212 + public void setCodigoDominioTratamentoEscolhido(Long codigoDominioTratamentoEscolhido) {
218 213 this.codigoDominioTratamentoEscolhido = codigoDominioTratamentoEscolhido;
219 214 }
220 215  
221   -
222 216 public List<DadosBemPatrimonial> getListaDadosBemPatrimonial() {
223 217 return listaDadosBemPatrimonial;
224 218 }
225 219  
226   -
227   - public void setListaDadosBemPatrimonial(
228   - List<DadosBemPatrimonial> listaDadosBemPatrimonial) {
  220 + public void setListaDadosBemPatrimonial(List<DadosBemPatrimonial> listaDadosBemPatrimonial) {
229 221 this.listaDadosBemPatrimonial = listaDadosBemPatrimonial;
230 222 }
231 223  
232   -
233 224 public DadosBemPatrimonial getDadosBemPatrimonialSelecionado() {
234 225 return dadosBemPatrimonialSelecionado;
235 226 }
236 227  
237   -
238   - public void setDadosBemPatrimonialSelecionado(
239   - DadosBemPatrimonial dadosBemPatrimonialSelecionado) {
  228 + public void setDadosBemPatrimonialSelecionado(DadosBemPatrimonial dadosBemPatrimonialSelecionado) {
240 229 this.dadosBemPatrimonialSelecionado = dadosBemPatrimonialSelecionado;
241 230 }
242 231  
243   -
244 232 public Inventario getInventario() {
245 233 return inventario;
246 234 }
247 235  
248   -
249 236 public void setInventario(Inventario inventario) {
250 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,7 +25,9 @@ import br.com.centralit.api.model.MyRetornoStatus;
25 25 import br.com.centralit.api.model.Transferencia;
26 26 import br.com.centralit.api.service.AdicaoBemPrincipalService;
27 27 import br.com.centralit.api.service.BemPatrimonialService;
  28 +import br.com.centralit.api.service.DominioService;
28 29 import br.com.centralit.api.service.EntradaItemService;
  30 +import br.com.centralit.api.service.InventarioBemPatrimonialService;
29 31 import br.com.centralit.api.service.OrganizacaoService;
30 32 import br.com.centralit.api.service.TransferenciaService;
31 33 import br.com.centralit.api.service.UsuarioService;
... ... @@ -60,6 +62,9 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
60 62 @Autowired
61 63 private TransferenciaService transferenciaService;
62 64  
  65 + @Autowired
  66 + private DominioService dominioService;
  67 +
63 68 public BemPatrimonialController() {
64 69  
65 70 super();
... ... @@ -573,13 +578,8 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
573 578  
574 579 Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId());
575 580  
576   - if (!organizacao.getEmFechamento() && UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa())) {
577   -
578   - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView());
579   -
580   - return responseBody;
  581 + if (organizacao.getEmFechamento() && !UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getSaidaTemporaria())) {
581 582  
582   - } else {
583 583 MyRetornoStatus retorno = new MyRetornoStatus();
584 584 retorno.data = tratamentoInconsistenciaVH;
585 585 retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES"));
... ... @@ -587,6 +587,12 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
587 587 ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView());
588 588  
589 589 return responseBody;
  590 +
  591 + } else {
  592 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView());
  593 +
  594 + return responseBody;
  595 +
590 596 }
591 597 }
592 598  
... ... @@ -705,4 +711,29 @@ public class BemPatrimonialController extends GenericController&lt;BemPatrimonial&gt;
705 711 }
706 712 }
707 713  
  714 + @RequestMapping(value = "/alterarStatusBemPatrimonialInventario", method = RequestMethod.GET, produces = "application/json")
  715 + @ResponseBody
  716 + public ResponseBodyWrapper alterarStatusBemPatrimonialInventario(@RequestParam(value = "idDominioStatusBem") Long idDominioStatusBem, @RequestParam(value = "idBemPatrimonial") Long idBemPatrimonial, @RequestParam(value = "idInventarioBemPatrimonial") Long idInventarioBemPatrimonial) {
  717 +
  718 + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId());
  719 +
  720 + if (organizacao.getEmFechamento()) {
  721 +
  722 + MyRetornoStatus retorno = new MyRetornoStatus();
  723 + retorno.data = false;
  724 + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES"));
  725 +
  726 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView());
  727 +
  728 + return responseBody;
  729 +
  730 + } else {
  731 + this.bemPatrimonialService.alterarStatusBemPatrimonialInventario(this.dominioService.find(idDominioStatusBem), idBemPatrimonial, idInventarioBemPatrimonial);
  732 + return new ResponseBodyWrapper(true, getEditView());
  733 +
  734 + }
  735 +
  736 + }
  737 +
  738 +
708 739 }
... ...
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaItemController.java
... ... @@ -7,6 +7,7 @@ import org.springframework.stereotype.Controller;
7 7 import org.springframework.web.bind.annotation.RequestBody;
8 8 import org.springframework.web.bind.annotation.RequestMapping;
9 9 import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RequestParam;
10 11 import org.springframework.web.bind.annotation.ResponseBody;
11 12  
12 13 import br.com.centralit.api.model.TransferenciaItem;
... ... @@ -116,6 +117,25 @@ public class TransferenciaItemController extends GenericController&lt;Transferencia
116 117 return responseBody;
117 118 }
118 119  
  120 +
  121 + @RequestMapping(value = "/findTransferenciaItemBemPatrimonialTransferencia", method = RequestMethod.GET, produces = "application/json")
  122 + @ResponseBody
  123 + public ResponseBodyWrapper findTransferenciaItemBemPatrimonialTransferencia(@RequestParam(value = "idBemPatrimnonial") Long idBemPatrimnonial, @RequestParam(value = "idTransferencia") Long idTransferencia) {
  124 +
  125 + ResponseBodyWrapper responseBodyWrapper = new ResponseBodyWrapper(this.transferenciaItemService.findTransferenciaItemBemPatrimonialTransferencia(idBemPatrimnonial, idTransferencia), Views.TransferenciaEditView.class);
  126 +
  127 + return responseBodyWrapper;
  128 + }
  129 +
  130 + @RequestMapping(value = "/removerItem", method = RequestMethod.GET, produces = "application/json")
  131 + @ResponseBody
  132 + public ResponseBodyWrapper removerItem(@RequestParam(value = "idItem") Long idItem ) {
  133 +
  134 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(transferenciaItemService.removerItem(idItem), getEditView());
  135 +
  136 + return responseBody;
  137 + }
  138 +
119 139 @Override
120 140 public Class<Views.TransferenciaItemListView> getListView() {
121 141  
... ...
citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java
... ... @@ -590,6 +590,8 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio
590 590 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_TERMO_RESPONSABILIDADE_INVENTARIO_POR_UNIDADE", "Termo de responsabilidade do inventário por U.L.", dominio, modulo));
591 591 internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_GERAL_RESUMO_CONTA_CONTABIL", "Relatório Inventário Geral – Resumo por Contas", dominio, modulo));
592 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));
  594 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.ALTERAR_STATUS", "Alteração de status", dominio, modulo));
593 595  
594 596 }
595 597  
... ... @@ -651,6 +653,8 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio
651 653 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.EXCLUSAO_BAIXA", "A baixa ou um dos seus itens só pode ser excluído se a situação for 'EM ANDAMENTO'", dominio, modulo));
652 654 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.TRANSFERENCIA_ANTERIOR_ULTIMA_OPERACAO", "Você não pode transferir um bem patrimonial com data anterior a da última operação do bem! Verifique a operação: ", dominio, modulo));
653 655 internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.TRANSFERENCIA_DATA_INFERIOR_ENTRADA", "Não foi possível realizar a transferência pois a data informada é inferior a data contábil da entrada do bem", dominio, modulo));
  656 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.VALIDACAO.REMOVER_ULTIMO_ITEM_TRASNFERENCIA", "Não é permitido remover o último item da transferência. Caso queira remover este bem, favor excluir a transferência.", dominio, modulo));
  657 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.VALIDACAO.ESTRUTURA_ORGANIZACIONAL", "Detentor não possui estrutura organizacional vinculada em seu cadastro. Por gentileza, preencha tal informação para prosseguir.", dominio, modulo));
654 658  
655 659 }
656 660  
... ... @@ -740,7 +744,21 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio
740 744 internacionalizacaoList.add(new Internacionalizacao("MSG.SUCESSO_DEPRECIACAO", "Depreciação gerada com Sucesso!", dominio, modulo));
741 745 internacionalizacaoList.add(new Internacionalizacao("MSG.SUCESSO_MES_REFERENCIA", "Mês referência fechado com sucesso!", dominio, modulo));
742 746 internacionalizacaoList.add(new Internacionalizacao("MSG.PROXIMO_NUMERO_PATRIMONIO", "Próximo número patrimônial disponível.", dominio, modulo));
743   -
  747 + internacionalizacaoList.add(new Internacionalizacao("MSG.MN015", "Bem Patrimonial (%s) possui registro de transferência posterior &agrave; data informada! Favor verificar.", dominio, modulo));
  748 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.HISTORICO_TRANSFERENCIA", "Transferência foi realizada em: :DATATRANSFERENCIA: - Nova Estrutura Organizacional: :NOVAESTRUTURA: - Número do Termo: :NUMTERMO:", dominio, modulo));
  749 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.HISTORICO_TRANSFERENCIA_CANCELADA", "Última transferência cancelada", dominio, modulo));
  750 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.HISTORICO_CONTABILIZACAO", "Contabilização realizada em: :DATACONTABILIZACAO:", dominio, modulo));
  751 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.HISTORICO_ENTRADA", "Entrada em: :DATARECEBIMENTO: - Estrutura organizacional: :ESTRUTURACODIGONOME: – Número Patrimonial: :NUMPATRIMONIAL: - :MATERIALDESC:", dominio, modulo));
  752 + internacionalizacaoList.add(new Internacionalizacao("HISTORICO_BAIXA_INICIADA" , "Processo de Baixa iniciado – Status anterior: :STATUSANTERIOR: – Novo status: :STATUSNOVO:", dominio, modulo));
  753 + internacionalizacaoList.add(new Internacionalizacao("HISTORICO_BAIXA_AUTORIZADA" , "Processo de Baixa autorizado – Status anterior: :STATUSANTERIOR: – Novo status: :STATUSNOVO:", dominio, modulo));
  754 + internacionalizacaoList.add(new Internacionalizacao("HISTORICO_BAIXA_NAO_AUTORIZADA" , "Processo de Baixa não autorizado – Status anterior: :STATUSANTERIOR: – Novo status: :STATUSNOVO:", dominio, modulo));
  755 + internacionalizacaoList.add(new Internacionalizacao("HISTORICO_TRANSFERENCIA" , "Transferência foi realizada em: :DATATRANSFERENCIA: - Nova Estrutura Organizacional: :NOVAESTRUTURA: - Número do Termo: :NUMTERMO:", dominio, modulo));
  756 + internacionalizacaoList.add(new Internacionalizacao("HISTORICO_SAIDA_SEM_PREVISAO" , "Bem está em saída temporária com o objetivo: :OBJETIVOSAIDA:. Sem previsão de retorno.", dominio, modulo));
  757 + 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));
  758 + 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));
  759 + 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));
  760 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.ACAO_ALTERAR_STATUS", "Esta ação irá realizar uma alteração de status do bem patrimonial", dominio, modulo));
  761 + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.SELECIONE_ALTERAR_STATUS", "Selecione um status para realizar a alteração.", dominio, modulo));
744 762 }
745 763  
746 764 }
... ...
citgrp-patrimonio-web/src/main/resources/reports/termoTransferencia.jrxml
... ... @@ -104,7 +104,7 @@ LEFT JOIN Endereco enderecoDestino ON enderecoDestino.id = localizacaoDestino.en
104 104 LEFT JOIN BemPatrimonial bemPatrimonial ON bemPatrimonial.id = items.bempatrimonial_id
105 105 LEFT JOIN Dominio dominioSituacaoFisica ON dominioSituacaoFisica.id = bemPatrimonial.dominiosituacaofisica_id
106 106 LEFT JOIN Material material ON material.id = bemPatrimonial.material_id
107   -WHERE transferencia.id = $P{idTransferencia} and items.unidadeorigem_id = $P{idEstruturaOrganizacionalOrigem}
  107 +WHERE transferencia.id = $P{idTransferencia} and items.unidadeorigem_id = $P{idEstruturaOrganizacionalOrigem} AND items.datainativo is null
108 108 GROUP BY transferencia.codigo,
109 109 transferencia.dataTransferencia,
110 110 items.id,
... ...
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/DefinicaoDetentorController.js
... ... @@ -122,13 +122,17 @@ citApp.controller(&#39;DefinicaoDetentorController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;Definica
122 122 return;
123 123 }
124 124  
125   - DefinicaoDetentorRepository.validarTransferenciaDefinicao($scope.definicaoDetentor.colaborador.estruturaOrganizacional.id, $scope.listaBemPatrimonialTemp).then(function(result){
126   - if(result) {
127   - $scope.$openModal('modal-realizaTransferencia', 'mr');
128   - } else {
129   - $scope.save(false);
130   - }
131   - });
  125 + if($scope.definicaoDetentor.colaborador.estruturaOrganizacional){
  126 + DefinicaoDetentorRepository.validarTransferenciaDefinicao($scope.definicaoDetentor.colaborador.estruturaOrganizacional.id, $scope.listaBemPatrimonialTemp).then(function(result){
  127 + if(result) {
  128 + $scope.$openModal('modal-realizaTransferencia', 'mr');
  129 + } else {
  130 + $scope.save(false);
  131 + }
  132 + });
  133 + }else{
  134 + $scope.showAlert("warning", $translate.instant("PATRIMONIO.VALIDACAO.ESTRUTURA_ORGANIZACIONAL"), " ", false);
  135 + }
132 136  
133 137 // if($scope.definicaoDetentor.colaborador.estruturaOrganizacional !== undefined){
134 138 //
... ...
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js
... ... @@ -1709,9 +1709,11 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
1709 1709  
1710 1710 $scope.validarExistenciaBemSemInventariar();
1711 1711  
1712   - $scope.setLoading(false);
1713   -
1714 1712 $scope.fetchResult();
  1713 +
  1714 + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
  1715 + $scope.irParaFim();
  1716 + $scope.setLoading(false);
1715 1717 });
1716 1718 }
1717 1719  
... ... @@ -2758,6 +2760,9 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
2758 2760 $scope.$modalInstance.dismiss('cancel');
2759 2761 $scope.setLoading(false);
2760 2762 }
  2763 + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais');
  2764 + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
  2765 + $scope.irParaFim();
2761 2766  
2762 2767 });
2763 2768  
... ... @@ -2812,7 +2817,7 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
2812 2817 }
2813 2818  
2814 2819 };
2815   -
  2820 +
2816 2821 $scope.baixa = function(desfazimentoComissao, dataBaixa) {
2817 2822  
2818 2823 $scope.desfazimentoComissao = desfazimentoComissao;
... ... @@ -3839,6 +3844,44 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3839 3844  
3840 3845  
3841 3846 };
  3847 +
  3848 + $scope.alterarStatusBemMultipla = function(dominioStatusBem) {
  3849 +
  3850 + if(!dominioStatusBem){
  3851 + $scope.showAlert('error', $translate.instant('PATRIMONIO.MSG.SELECIONE_ALTERAR_STATUS'));
  3852 + }else{
  3853 + $scope.codigoDominioTratamentoEscolhido = 3;
  3854 + $scope.dominioStatusBem = dominioStatusBem.originalElement;
  3855 + $scope.setLoadingSalva(true);
  3856 +
  3857 + var listaIds = [];
  3858 + var idInventarioEstrutura = 0;
  3859 +
  3860 + angular.forEach($scope.inconsistenciaTipo1, function(item){
  3861 + idInventarioEstrutura = item.dadosBemPatrimonial.inventarioEstruturaOrganizacional.id;
  3862 + listaIds.push(item.dadosBemPatrimonial.bemPatrimonial.id);
  3863 + });
  3864 +
  3865 + DadosBemPatrimonialRepository.existeBemAguardandoTratamentoList(listaIds, $scope.inventario.id, idInventarioEstrutura).then(function(result) {
  3866 + if(result){
  3867 + $scope.$openModalConfirm({
  3868 + message: $translate.instant("PATRIMONIO.MSG.EXISTE_BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO"),
  3869 + callback: function () {
  3870 + $scope.executarSaidaTemporariaModalConfirm = true;
  3871 + $scope.$modalConfirmInstance.dismiss('cancel');
  3872 + $scope.$modalInstance.dismiss('cancel');
  3873 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus();
  3874 + }
  3875 + });
  3876 + }else{
  3877 + $scope.$modalInstance.dismiss('cancel');
  3878 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus();
  3879 + }
  3880 + });
  3881 +
  3882 + $scope.setLoading(false);
  3883 + }
  3884 + };
3842 3885  
3843 3886 $scope.alteracaoBemPatrimonialTipo1ListaSaida = function() {
3844 3887  
... ... @@ -3893,6 +3936,38 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3893 3936 });
3894 3937  
3895 3938 };
  3939 +
  3940 + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus = function() {
  3941 +
  3942 + $scope.setLoadingSalva(true);
  3943 +
  3944 + var tratamentoInconsistencia = {
  3945 + novoStatusBem : $scope.dominioStatusBem,
  3946 + listaInventarioBem : $scope.inconsistenciaTipo1,
  3947 + idEstruturaOrganizacional : getIdInventarioEstruturaOrganizacionalPorEstruturaSelecionada(),
  3948 + codigoDominioTratamentoEscolhido : $scope.codigoDominioTratamentoEscolhido
  3949 + };
  3950 +
  3951 + BemPatrimonialRepository.alterarListaBemInconsistenciaTipo1(tratamentoInconsistencia).then(function(result){
  3952 + $scope.atualizarMultiplasInconsistenciasTipo1 = false;
  3953 + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) {
  3954 + $scope.setLoading(false);
  3955 + angular.forEach(result.originalElement.mensagens, function (mensagem) {
  3956 + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem));
  3957 + });
  3958 + } else {
  3959 + alterarDominioStatusInventarioEstrutura(result);
  3960 + $scope.setLoading(false);
  3961 + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais');
  3962 + $scope.showAlert("success", $translate.instant("MSG.MG001"));
  3963 + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
  3964 + $scope.dominioStatusBem = {};
  3965 + $scope.$modalInstance.dismiss('cancel');
  3966 + $scope.irParaFim();
  3967 + }
  3968 + });
  3969 +
  3970 + };
3896 3971  
3897 3972 $scope.abrirModalEntradaSalvaMultipla = function(item) {
3898 3973 $scope.itemSelecionado = item;
... ... @@ -3930,39 +4005,69 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
3930 4005 };
3931 4006  
3932 4007 $scope.abrirModalBaixaMultipla = function() {
  4008 +
  4009 + if(!$scope.bensSemInventariar) {
3933 4010 // Define vazio para comissao de desfazimento
3934 4011 $scope.desfazimentoComissao = "";
3935 4012 // Define vazio para data da baixa
3936 4013 $scope.dataBaixa = "";
3937   -
  4014 +
3938 4015 // Tipo operação alteração bem patrimonial
3939 4016 DominioRepository.findAllDominio(TIPO_OPERACAO).then(function(result) {
3940 4017 $scope.tiposOperacao = result;
3941 4018 });
3942   -
  4019 +
3943 4020 // Tipo bem baixa
3944 4021 DominioRepository.findAllDominioByCodigo(TIPO_BEM, CODIGO_TIPO_BEM_CONTABILIZADO).then(function(result) {
3945 4022 $scope.dominioTipoBem = result.originalElement;
3946 4023 });
3947   -
  4024 +
3948 4025 // Tipo baixa
3949 4026 DominioRepository.findAllDominioByCodigo(TIPO_BAIXA, CODIGO_TIPO_BAIXA_EXTRAVIO).then(function(result) {
3950 4027 $scope.dominioTipoBaixa = result.originalElement;
3951 4028 });
3952   -
  4029 +
3953 4030 // Tipo situação baixa
3954 4031 DominioRepository.findAllDominioByCodigo(TIPO_SITUACAO_BAIXA, CODIGO_TIPO_SITUACAO_BAIXA_AUTORIZADA).then(function(result) {
3955 4032 $scope.dominioSituacaoBaixa = result.originalElement;
3956 4033 });
3957   -
  4034 +
3958 4035 // Tipo alteracao bem patrimonial inidividual
3959 4036 DominioRepository.findAllDominioByCodigo(TIPO_ALTERACAO_BEM_INDIVIDUAL, CODIGO_ALTERACAO_BEM_INDIVIDUAL_GERAL).then(function(result) {
3960 4037 $scope.dominioTipoAlteracaoIndividual = result.originalElement;
3961 4038 });
3962   -
  4039 +
3963 4040 $scope.$openModal('modal-baixa.html', 'md');
  4041 +
  4042 + } else {
  4043 +
  4044 + $scope.showAlert('error', $translate.instant('PATRIMONIO.MSG.TRATAMENTO_INCONSISTENCIA_INVENTARIAR_BEM'));
  4045 + }
3964 4046  
3965 4047 };
  4048 +
  4049 + $scope.abrirModalAlterarStatus = function(dominioInconsistencia){
  4050 +
  4051 + if(!$scope.bensSemInventariar) {
  4052 + $scope.dominioInconsistencia = dominioInconsistencia;
  4053 +
  4054 + DominioRepository.findAllDominio('tipoStatusBem').then(function(result) {
  4055 + $scope.dominiosStatusBem = [];
  4056 + angular.forEach(result, function (dominio) {
  4057 + if(dominio.codigo == 7 || dominio.codigo == 10 || dominio.codigo == 9){
  4058 + $scope.dominiosStatusBem.push(dominio);
  4059 + }
  4060 + });
  4061 + });
  4062 +
  4063 + $scope.$openModal('modal-alterar-status.html', 'md');
  4064 +
  4065 + } else {
  4066 +
  4067 + $scope.showAlert('error', $translate.instant('PATRIMONIO.MSG.TRATAMENTO_INCONSISTENCIA_INVENTARIAR_BEM'));
  4068 + }
  4069 +
  4070 + };
3966 4071  
3967 4072 $scope.desabilitaCampoFisicaStatus = function(){
3968 4073 $scope.desabilitaBemNaoEncontrado = $scope.bemNaoEncontradoModel;
... ... @@ -4080,7 +4185,81 @@ citApp.controller(&#39;InventarioController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$translate&#39;, &#39;$
4080 4185 $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
4081 4186 $scope.irParaFim();
4082 4187 });
  4188 + };
  4189 +
  4190 + $scope.alterarStatusBemUnico = function(dominioStatusBem) {
  4191 +
  4192 + if(!dominioStatusBem){
  4193 + $scope.showAlert('error', $translate.instant('PATRIMONIO.MSG.SELECIONE_ALTERAR_STATUS'));
  4194 + }else{
  4195 + var idInventarioEstrutura = $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] ? $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] : $scope.dadosBemPatrimonialSelecionado.inventarioEstruturaOrganizacional.id;
  4196 + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id;
  4197 + // Obtem DadosBemPatrimonial aguardado tratamento para o mesmo bem
  4198 + DadosBemPatrimonialRepository.existeBemAguardandoTratamento(idBem, $scope.inventario.id, idInventarioEstrutura).then(function(result) {
  4199 +
  4200 + $scope.obterNomeEstruturasDoBemInventariado(result);
  4201 + $scope.resultDadosBemPatrimonial = result;
  4202 + $scope.executarAlteracaoStatusBemModalConfirm = false;
  4203 +
  4204 + // HA ESTRUTURAS QUE ESTAO AGUARDANDO TRATAMENTO PARA O MESMO BEM
  4205 + if($scope.nomesEstruturasBemInventariado !== "") {
  4206 + $scope.$modalInstance.dismiss('cancel');
  4207 + $scope.$openModalConfirm({
  4208 + message: $translate.instant("PATRIMONIO.MSG.BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO").concat($scope.nomesEstruturasBemInventariado),
  4209 + callback: function () {
  4210 + $scope.executarAlteracaoStatusBemModalConfirm = true;
  4211 + $scope.executarAlteracaoStatusBem(dominioStatusBem);
  4212 + }
  4213 + });
  4214 +
  4215 + } else {
  4216 + $scope.executarAlteracaoStatusBem(dominioStatusBem);
  4217 + }
  4218 +
  4219 + });
  4220 + }
  4221 +
  4222 + };
  4223 +
  4224 + $scope.executarAlteracaoStatusBem = function(dominioStatusBem) {
  4225 +
  4226 + $scope.setLoadingSalva(true);
  4227 + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id;
  4228 + // Salva a baixa
  4229 + BemPatrimonialRepository.alterarStatusBemPatrimonialInventario(dominioStatusBem.id, idBem, $scope.dadosBemPatrimonialSelecionado.inventarioBemPatrimonial.id).then(function(result) {
  4230 +
  4231 + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) {
  4232 + $scope.setLoading(false);
  4233 + angular.forEach(result.originalElement.mensagens, function (mensagem) {
  4234 + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem));
  4235 + });
  4236 + } else {
  4237 + $timeout(function(){
  4238 + // Salva a alteração do dominío inconsistência - Data tratamento
  4239 + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoTratamentoInconsistencia').then(function(result) {
  4240 + $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement;
  4241 + alterarDominioInconsistencia($scope.dominioInconsistencia);
  4242 + });
  4243 + });
  4244 +
  4245 + if($scope.executarAlteracaoStatusBemModalConfirm){
  4246 + $scope.dadosBemPatrimonialSelecionado.$showInconsistencias = false;
  4247 + $scope.$modalConfirmInstance.dismiss('cancel');
  4248 + $scope.tratarInconsistenciasAutomaticamente();
  4249 + } else {
  4250 + $scope.dadosBemPatrimonialSelecionado.$showInconsistencias = false;
  4251 + $scope.$modalInstance.dismiss('cancel');
  4252 + $scope.setLoading(false);
  4253 + }
  4254 + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais');
  4255 + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional);
  4256 + $scope.irParaFim();
  4257 +
  4258 + }
  4259 +
  4260 + });
  4261 +
  4262 + };
4083 4263  
4084   - };
4085 4264  
4086 4265 }]);
4087 4266 \ No newline at end of file
... ...
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', 'EstruturaOrganizacionalRepository',
3   - function TransferenciaController($scope, $filter, $timeout, $translate, TransferenciaRepository, EstruturaOrganizacionalPatrimonioRepository, BemPatrimonialRepository, PessoaRepository, FileUploader, PatrimonioService, DominioRepository, EstruturaOrganizacionalRepository) {
  2 +citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', '$translate', 'TransferenciaRepository', 'EstruturaOrganizacionalPatrimonioRepository', 'BemPatrimonialRepository', 'PessoaRepository', 'FileUploader',
  3 + 'PatrimonioService','DominioRepository', 'EstruturaOrganizacionalRepository','TransferenciaItemRepository', '$q',
  4 + function TransferenciaController($scope, $filter, $timeout, $translate, TransferenciaRepository, EstruturaOrganizacionalPatrimonioRepository, BemPatrimonialRepository, PessoaRepository, FileUploader, PatrimonioService, DominioRepository, EstruturaOrganizacionalRepository, TransferenciaItemRepository, $q) {
4 5  
5 6  
6 7 $scope.headers = [ {
... ... @@ -103,7 +104,9 @@ citApp.controller(&#39;TransferenciaController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;, &#39;
103 104 var ids = [];
104 105 if($scope.transferencia.saidaTemporariaItens.length > 0){
105 106 angular.forEach($scope.transferencia.saidaTemporariaItens, function (saidaItem){
106   - ids.push(saidaItem.bemPatrimonial.id);
  107 + if(!saidaItem.dataInativo){
  108 + ids.push(saidaItem.bemPatrimonial.id);
  109 + }
107 110 });
108 111 }
109 112 $scope.listaBemPatrimonialTemp = ids;
... ... @@ -460,6 +463,30 @@ citApp.controller(&#39;TransferenciaController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;, &#39;
460 463 }
461 464 });
462 465 };
  466 +
  467 +
  468 + $scope.permiteExcluirItem = function() {
  469 + var deferred = $q.defer();
  470 + if($scope.listaBemPatrimonialTemp.length == 1 && $scope.transferencia.id){
  471 + $scope.showAlert("error", $translate.instant("PATRIMONIO.VALIDACAO.REMOVER_ULTIMO_ITEM_TRASNFERENCIA"));
  472 + deferred.resolve(false);
  473 + }else{
  474 + deferred.resolve(true);
  475 + }
  476 + return deferred.promise;
  477 + }
  478 +
  479 + $scope.removerTransferencia = function(bemSelecionado){
  480 + if($scope.transferencia.id){
  481 + $scope.setLoadingRemove(true);
  482 + TransferenciaItemRepository.findTransferenciaItemBemPatrimonialTransferencia(bemSelecionado.id, $scope.transferencia.id).then(function(result) {
  483 + TransferenciaItemRepository.removerItem(result.id).then(function(result) {
  484 + $scope.showAlert('success', $translate.instant('MSG.EXCLUSAO_SUCESSO'), " ", false);
  485 + $scope.setLoading(false);
  486 + });
  487 + });
  488 + }
  489 + };
463 490  
464 491 }]);
465 492  
... ...
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 152 this.veirificaTransferenciaMaisRecenteBemPatrimonial = function(idBem) {
153 153 return restangularPatrimonio.one(this.route+"/veirificaTransferenciaMaisRecenteBemPatrimonial").get({"idBem": idBem}).then();
154 154 };
  155 +
  156 + this.alterarStatusBemPatrimonialInventario = function(idStatusBem, idBem, idInventarioBemPatrimonial) {
  157 + return restangularPatrimonio.one(this.route+"/alterarStatusBemPatrimonialInventario").get({"idDominioStatusBem": idStatusBem , "idBemPatrimonial": idBem, "idInventarioBemPatrimonial": idInventarioBemPatrimonial}).then();
  158 + };
  159 +
155 160 }
156 161  
157 162 AbstractRepository.extend(BemPatrimonialRepository);
... ...
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/TransferenciaItemRepository.js
... ... @@ -22,6 +22,16 @@ citApp.factory(&#39;TransferenciaItemRepository&#39;, [&#39;RestangularPatrimonio&#39;, &#39;Abstrac
22 22  
23 23 return restangularPatrimonio.all(this.route + '/buscarTransferenciaComBensPatrimonaisDaEntrada').post(idEntrada);
24 24 };
  25 +
  26 + this.findTransferenciaItemBemPatrimonialTransferencia = function(idBemPatrimnonial, idTransferencia) {
  27 + return restangularPatrimonio.one(this.route + "/findTransferenciaItemBemPatrimonialTransferencia").get({'idBemPatrimnonial': idBemPatrimnonial, 'idTransferencia' : idTransferencia}).then();
  28 + };
  29 +
  30 + this.removerItem = function (idItem) {
  31 + return restangularPatrimonio.one(this.route + "/removerItem").get({'idItem': idItem}).then();
  32 +
  33 + }
  34 +
25 35 }
26 36  
27 37 AbstractRepository.extend(TransferenciaItemRepository);
... ...
citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html
... ... @@ -1203,6 +1203,11 @@
1203 1203 </a>
1204 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 1211 <a href="#void" ng-click="abrirModalTransferencia(dominioInconsistencia);" style="margin-left: 10px;" ng-if="dominioInconsistencia.dataTratamento === null && controleInventariar">
1207 1212 <span ng-if="dominioInconsistencia.dominioTipoInconsistencia.codigo === 2"><translate>PATRIMONIO.LABEL.TRANSFERENCIA_INTERNA</translate></span>
1208 1213 </a>
... ... @@ -1496,6 +1501,10 @@
1496 1501 <i class="fa fa-level-down blue"></i>
1497 1502 <translate>PATRIMONIO.LABEL.BAIXA</translate>
1498 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 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 1509 <i class="fa fa-times red"></i>
1501 1510 <translate>PATRIMONIO.INTERFACE_USUARIO.BOTAO_CANCELAR</translate>
... ... @@ -1632,8 +1641,6 @@
1632 1641 </div>
1633 1642 </fieldset>
1634 1643 </div>
1635   -
1636   -
1637 1644 </form>
1638 1645  
1639 1646 <!-- DIALOG INFORMAR ENTRADA - INCONSISTENCIA -->
... ... @@ -1810,6 +1817,44 @@
1810 1817 </form>
1811 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 1858 <!-- DIALOG BAIXA INCONSISTENCIA -->
1814 1859 <script type="text/ng-template" id="modal-baixa.html">
1815 1860 <form name="formDialogBaixa" novalidate >
... ...
citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaEdit.html
... ... @@ -102,9 +102,9 @@
102 102  
103 103 </fieldset><!-- .filedset Dados Transferência -->
104 104 <componente-busca-bens-patrimoniais ng-nome-form="'transferenciaForm'" ng-form-submitted="transferenciaForm.$submitted" ng-lista-bens="listaBemPatrimonialTemp"
105   - ng-codigos-status-bem="listaCodigosBens" ng-regra-bem-principal="true" is-title-bem-patrimonial-count="true" ng-obrigatorio="true" ng-edit="edit && !permiteAlterarTrans"></componente-busca-bens-patrimoniais>
  105 + ng-codigos-status-bem="listaCodigosBens" ng-regra-bem-principal="true" is-title-bem-patrimonial-count="true" ng-obrigatorio="true" ng-edit="edit"></componente-busca-bens-patrimoniais>
106 106  
107   - <list-view-paginate ng-lista="listaBemPatrimonialTemp" ng-dominio-repository="DominioRepository" ng-repository="BemPatrimonialRepository" ng-headers="headers" ng-fields="fields" ng-filters="filters" ng-filter-criteria="filterCriteria" ng-edit= "edit && !permiteAlterarTrans" ng-show-remover="true"></list-view-paginate>
  107 + <list-view-paginate ng-lista="listaBemPatrimonialTemp" ng-dominio-repository="DominioRepository" ng-repository="BemPatrimonialRepository" ng-headers="headers" ng-fields="fields" ng-filters="filters" ng-filter-criteria="filterCriteria" ng-edit= "edit" ng-show-remover="true" ng-custom-remove="true" ng-metodo-remover="removerTransferencia" ng-validacao-antes-excluir="permiteExcluirItem"></list-view-paginate>
108 108  
109 109 <componente-associar-documentos ng-documentos="transferencia.documentos" ng-edit="edit" ng-uploader="uploader" ng-workspace="$parent.workspace" form="transferenciaForm" ng-obrigatorio="false"></componente-associar-documentos>
110 110  
... ...