Commit 9130d51b0b97421c5a3f337922de9fa32d0ce5c1

Authored by erick.sato
1 parent 3946521f
Exists in master

Redmine #5043 Alteração item requisição consumo

cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
@@ -99,7 +99,7 @@ public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizac @@ -99,7 +99,7 @@ public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizac
99 private RequisicaoConsumo requisicaoConsumo; 99 private RequisicaoConsumo requisicaoConsumo;
100 100
101 /** Atributo atendimentoRequisicaoConsumoItems. */ 101 /** Atributo atendimentoRequisicaoConsumoItems. */
102 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumo", cascade = CascadeType.ALL, orphanRemoval = true) 102 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumo", cascade = CascadeType.ALL)
103 @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) 103 @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class })
104 private Collection<AtendimentoRequisicaoConsumoItem> atendimentoRequisicaoConsumoItems; 104 private Collection<AtendimentoRequisicaoConsumoItem> atendimentoRequisicaoConsumoItems;
105 105
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
@@ -130,7 +130,7 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { @@ -130,7 +130,7 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao {
130 private Calendar dataFinalizacaoAtendimento; 130 private Calendar dataFinalizacaoAtendimento;
131 131
132 /** Atributo materiais. */ 132 /** Atributo materiais. */
133 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "requisicaoConsumo", cascade = CascadeType.ALL, orphanRemoval = true) 133 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "requisicaoConsumo", cascade = CascadeType.ALL)
134 @JsonView({ ViewsAdmMateriais.RequisicaoConsumoEditView.class, 134 @JsonView({ ViewsAdmMateriais.RequisicaoConsumoEditView.class,
135 ViewsAlmoxarifado.RequisicaoConsumoAutoCompleteView.class, ViewsAlmoxarifado.DevolucaoEditView.class, 135 ViewsAlmoxarifado.RequisicaoConsumoAutoCompleteView.class, ViewsAlmoxarifado.DevolucaoEditView.class,
136 Views.MaterialConsultaInfo.class, ViewsAdmMateriais.RequisicaoConsumo.class }) 136 Views.MaterialConsultaInfo.class, ViewsAdmMateriais.RequisicaoConsumo.class })
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
@@ -354,6 +354,7 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl&lt; @@ -354,6 +354,7 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl&lt;
354 354
355 entity.setRequisicaoConsumo(this.requisicaoConsumoService.find(entity.getRequisicaoConsumo().getId())); 355 entity.setRequisicaoConsumo(this.requisicaoConsumoService.find(entity.getRequisicaoConsumo().getId()));
356 356
  357 + boolean todosItensSemQuantidade = true;
357 for (AtendimentoRequisicaoConsumoItem atendimentoItem : entity.getAtendimentoRequisicaoConsumoItems()) { 358 for (AtendimentoRequisicaoConsumoItem atendimentoItem : entity.getAtendimentoRequisicaoConsumoItems()) {
358 359
359 RequisicaoConsumoItem requisicaoConsumoItem = this.requisicaoConsumoItemService.find(atendimentoItem.getRequisicaoConsumoItem().getId()); 360 RequisicaoConsumoItem requisicaoConsumoItem = this.requisicaoConsumoItemService.find(atendimentoItem.getRequisicaoConsumoItem().getId());
@@ -362,15 +363,23 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl&lt; @@ -362,15 +363,23 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl&lt;
362 atendimentoItem.setAtendimentoRequisicaoConsumo(entity); 363 atendimentoItem.setAtendimentoRequisicaoConsumo(entity);
363 atendimentoItem.setOrganizacao(getUsuario().getOrganizacao()); 364 atendimentoItem.setOrganizacao(getUsuario().getOrganizacao());
364 atendimentoItem.setRequisicaoConsumoItem(requisicaoConsumoItem); 365 atendimentoItem.setRequisicaoConsumoItem(requisicaoConsumoItem);
  366 +
365 for (AtendimentoRequisicaoConsumoItemEndereco atendimentoRequisicaoConsumoItemEndereco : atendimentoItem.getAtendimentoRequisicaoConsumoItemEnderecos()) { 367 for (AtendimentoRequisicaoConsumoItemEndereco atendimentoRequisicaoConsumoItemEndereco : atendimentoItem.getAtendimentoRequisicaoConsumoItemEnderecos()) {
  368 +
366 atendimentoRequisicaoConsumoItemEndereco.setAtendimentoRequisicaoConsumoItem(atendimentoItem); 369 atendimentoRequisicaoConsumoItemEndereco.setAtendimentoRequisicaoConsumoItem(atendimentoItem);
367 - if(atendimentoRequisicaoConsumoItemEndereco.getQuantidade() == null){ 370 + if(atendimentoRequisicaoConsumoItemEndereco.getQuantidade() == null || atendimentoRequisicaoConsumoItemEndereco.getQuantidade().compareTo(new BigDecimal("0")) == 0){
368 atendimentoRequisicaoConsumoItemEndereco.setQuantidade(new BigDecimal(0)); 371 atendimentoRequisicaoConsumoItemEndereco.setQuantidade(new BigDecimal(0));
  372 + }else{
  373 + todosItensSemQuantidade = false;
369 } 374 }
  375 +
370 } 376 }
371 377
372 this.requisicaoConsumoItemService.merge(requisicaoConsumoItem); 378 this.requisicaoConsumoItemService.merge(requisicaoConsumoItem);
373 } 379 }
  380 + if(todosItensSemQuantidade){
  381 + throw new BusinessException("ALMOXARIFADO.VALIDACAO.TODAS_QUANTIDADE_ATENDIDA_EM_BRANCO", CodigoErro.REGRA_NEGOCIO.getValue());
  382 + }
374 } 383 }
375 384
376 /** 385 /**
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoItemServiceImpl.java
@@ -116,6 +116,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl&lt;Requisi @@ -116,6 +116,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl&lt;Requisi
116 requisicaoConsumoItem.setRequisicaoConsumo(requisicaoConsumo); 116 requisicaoConsumoItem.setRequisicaoConsumo(requisicaoConsumo);
117 requisicaoConsumoItem.setMaterialConsumo(materialConsumo); 117 requisicaoConsumoItem.setMaterialConsumo(materialConsumo);
118 requisicaoConsumoItem.setQuantidade(requisicaoConsumoItemTransient.getQuantidade()); 118 requisicaoConsumoItem.setQuantidade(requisicaoConsumoItemTransient.getQuantidade());
  119 +
  120 + if(requisicaoConsumoItemTransient.getId() != null){
  121 + requisicaoConsumoItem.setId(requisicaoConsumoItemTransient.getId());
  122 + }
119 123
120 return requisicaoConsumoItem; 124 return requisicaoConsumoItem;
121 } 125 }
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
@@ -381,6 +381,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat @@ -381,6 +381,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat
381 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE", "A quantidade a ser atendida é superior ao saldo disponível no(s) seguinte(s) endereço(s) de estoque: ", dominio, modulo)); 381 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE", "A quantidade a ser atendida é superior ao saldo disponível no(s) seguinte(s) endereço(s) de estoque: ", dominio, modulo));
382 382
383 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDIDA_MAIOR_REQUISITADA", "A quantidade a ser atendida é superior a quantidade requisitada.", dominio, modulo)); 383 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDIDA_MAIOR_REQUISITADA", "A quantidade a ser atendida é superior a quantidade requisitada.", dominio, modulo));
  384 + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.TODAS_QUANTIDADE_ATENDIDA_EM_BRANCO", "Ao menos um item 'Atender' deve ser preenchido para registrar o atendimento.", dominio, modulo));
384 } 385 }
385 386
386 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { 387 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {