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 | 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< |
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< |
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<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) { | ... | ... |