Commit 9130d51b0b97421c5a3f337922de9fa32d0ce5c1
1 parent
3946521f
Exists in
master
Redmine #5043 Alteração item requisição consumo
Showing
5 changed files
with
17 additions
and
3 deletions
Show diff stats
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< | @@ -354,6 +354,7 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
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< | @@ -362,15 +363,23 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
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<Requisi | @@ -116,6 +116,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl<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) { |