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 99 private RequisicaoConsumo requisicaoConsumo;
100 100  
101 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 103 @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class })
104 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 130 private Calendar dataFinalizacaoAtendimento;
131 131  
132 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 134 @JsonView({ ViewsAdmMateriais.RequisicaoConsumoEditView.class,
135 135 ViewsAlmoxarifado.RequisicaoConsumoAutoCompleteView.class, ViewsAlmoxarifado.DevolucaoEditView.class,
136 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 354  
355 355 entity.setRequisicaoConsumo(this.requisicaoConsumoService.find(entity.getRequisicaoConsumo().getId()));
356 356  
  357 + boolean todosItensSemQuantidade = true;
357 358 for (AtendimentoRequisicaoConsumoItem atendimentoItem : entity.getAtendimentoRequisicaoConsumoItems()) {
358 359  
359 360 RequisicaoConsumoItem requisicaoConsumoItem = this.requisicaoConsumoItemService.find(atendimentoItem.getRequisicaoConsumoItem().getId());
... ... @@ -362,15 +363,23 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl&lt;
362 363 atendimentoItem.setAtendimentoRequisicaoConsumo(entity);
363 364 atendimentoItem.setOrganizacao(getUsuario().getOrganizacao());
364 365 atendimentoItem.setRequisicaoConsumoItem(requisicaoConsumoItem);
  366 +
365 367 for (AtendimentoRequisicaoConsumoItemEndereco atendimentoRequisicaoConsumoItemEndereco : atendimentoItem.getAtendimentoRequisicaoConsumoItemEnderecos()) {
  368 +
366 369 atendimentoRequisicaoConsumoItemEndereco.setAtendimentoRequisicaoConsumoItem(atendimentoItem);
367   - if(atendimentoRequisicaoConsumoItemEndereco.getQuantidade() == null){
  370 + if(atendimentoRequisicaoConsumoItemEndereco.getQuantidade() == null || atendimentoRequisicaoConsumoItemEndereco.getQuantidade().compareTo(new BigDecimal("0")) == 0){
368 371 atendimentoRequisicaoConsumoItemEndereco.setQuantidade(new BigDecimal(0));
  372 + }else{
  373 + todosItensSemQuantidade = false;
369 374 }
  375 +
370 376 }
371 377  
372 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 116 requisicaoConsumoItem.setRequisicaoConsumo(requisicaoConsumo);
117 117 requisicaoConsumoItem.setMaterialConsumo(materialConsumo);
118 118 requisicaoConsumoItem.setQuantidade(requisicaoConsumoItemTransient.getQuantidade());
  119 +
  120 + if(requisicaoConsumoItemTransient.getId() != null){
  121 + requisicaoConsumoItem.setId(requisicaoConsumoItemTransient.getId());
  122 + }
119 123  
120 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 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 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 387 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
... ...