From 34be4cdbced2a87af6a14cd287b7a3d1fcd5e28b Mon Sep 17 00:00:00 2001 From: Ronan Tavares Camargo Date: Mon, 23 May 2016 08:59:08 -0300 Subject: [PATCH] Redmine #3822 --- cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java | 53 ++++++++++++++++++++++------------------------------- cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java | 17 ++++++++++------- cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java | 4 ---- cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java | 1 + cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js | 30 +++++++++++++++++++++++++----- cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html | 27 ++++++++++++++++++++------- cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 227 insertions(+), 54 deletions(-) create mode 100644 cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java create mode 100644 cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java index 58e13d1..f4be66b 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java @@ -1,7 +1,9 @@ package br.com.centralit.api.model; import java.math.BigDecimal; +import java.util.Collection; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; @@ -9,6 +11,7 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; import javax.persistence.Table; import br.com.centralit.api.framework.json.ViewsAlmoxarifado; @@ -79,13 +82,9 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) private MaterialConsumo material; - /** Atributo quantidade. */ - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) - private BigDecimal quantidade; - - @ManyToOne(fetch = FetchType.LAZY, optional = false) - @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) - private MaterialLocalEstoque materialLocalEstoque; + @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumoItem", cascade = CascadeType.ALL, orphanRemoval = true) + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) + private Collection atendimentoRequisicaoConsumoItemEnderecos; /** * Retorna o valor do atributo id @@ -148,26 +147,6 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan } /** - * Retorna o valor do atributo quantidade - * - * @return BigDecimal - */ - public BigDecimal getQuantidade() { - - return quantidade; - } - - /** - * Define o valor do atributo quantidade. - * - * @param quantidade - */ - public void setQuantidade(BigDecimal quantidade) { - - this.quantidade = quantidade; - } - - /** * Retorna o valor do atributo requisicaoConsumoItem * * @return RequisicaoConsumoItem @@ -187,11 +166,23 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan this.requisicaoConsumoItem = requisicaoConsumoItem; } - public MaterialLocalEstoque getMaterialLocalEstoque() { - return materialLocalEstoque; + public Collection getAtendimentoRequisicaoConsumoItemEnderecos() { + return atendimentoRequisicaoConsumoItemEnderecos; } - public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) { - this.materialLocalEstoque = materialLocalEstoque; + public void setAtendimentoRequisicaoConsumoItemEnderecos(Collection atendimentoRequisicaoConsumoItemEnderecos) { + this.atendimentoRequisicaoConsumoItemEnderecos = atendimentoRequisicaoConsumoItemEnderecos; + } + + public BigDecimal getQuantidade(){ + BigDecimal quantidade = BigDecimal.ZERO; + + if(atendimentoRequisicaoConsumoItemEnderecos != null){ + for(AtendimentoRequisicaoConsumoItemEndereco itemEndereco : atendimentoRequisicaoConsumoItemEnderecos){ + quantidade = quantidade.add(itemEndereco.getQuantidade()); + } + } + + return quantidade; } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java new file mode 100644 index 0000000..610aa8c --- /dev/null +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java @@ -0,0 +1,77 @@ +package br.com.centralit.api.model; + +import java.math.BigDecimal; + +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +import br.com.centralit.api.framework.json.ViewsAlmoxarifado; +import br.com.centralit.framework.json.Views; +import br.com.centralit.framework.model.arquitetura.PersistentObject; + +import com.fasterxml.jackson.annotation.JsonView; + +@Entity +@Table(name = "alm_rc_at_item_endereco") +public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @JsonView({ Views.GenericView.class }) + private Long id; + + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) + private BigDecimal quantidade; + + @ManyToOne(fetch = FetchType.LAZY, optional = false) + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) + private MaterialLocalEstoque materialLocalEstoque; + + @ManyToOne(fetch = FetchType.LAZY, optional = false) + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) + @JoinColumn(name = "at_req_consumoitem_id") + private AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem; + + @Override + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public BigDecimal getQuantidade() { + return quantidade; + } + + public void setQuantidade(BigDecimal quantidade) { + this.quantidade = quantidade; + } + + public MaterialLocalEstoque getMaterialLocalEstoque() { + return materialLocalEstoque; + } + + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) { + this.materialLocalEstoque = materialLocalEstoque; + } + + public AtendimentoRequisicaoConsumoItem getAtendimentoRequisicaoConsumoItem() { + return atendimentoRequisicaoConsumoItem; + } + + public void setAtendimentoRequisicaoConsumoItem( + AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) { + this.atendimentoRequisicaoConsumoItem = atendimentoRequisicaoConsumoItem; + } + +} diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java index 0918e52..32a4ede 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.validation.Validator; import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoDao; import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; +import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItemEndereco; import br.com.centralit.api.model.DominioAlmoxarifado; import br.com.centralit.api.model.MaterialLocalEstoque; import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; @@ -178,14 +179,16 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ - - if(somatorioQuantidadesAtentidasPorMaterial.containsKey(atendimentoItem.getMaterialLocalEstoque())){ - - somatorioQuantidadesAtentidasPorMaterial.put(atendimentoItem.getMaterialLocalEstoque(), - somatorioQuantidadesAtentidasPorMaterial.get(atendimentoItem.getMaterialLocalEstoque()).add(atendimentoItem.getQuantidade())); + for(AtendimentoRequisicaoConsumoItemEndereco itemEndereco : atendimentoItem.getAtendimentoRequisicaoConsumoItemEnderecos()){ - }else{ - somatorioQuantidadesAtentidasPorMaterial.put(atendimentoItem.getMaterialLocalEstoque(), atendimentoItem.getQuantidade()); + if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ + + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), + somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque()).add(itemEndereco.getQuantidade())); + + }else{ + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), itemEndereco.getQuantidade()); + } } } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java index 803ea96..d20351a 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java @@ -415,10 +415,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImplALMOXARIFADO.LABEL.QUANTIDADE_PEDIDA ALMOXARIFADO.LABEL.QUANTIDADE_ATENDIDA ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE - ALMOXARIFADO.LABEL.ATENDER* + ALMOXARIFADO.LABEL.ATENDER * @@ -137,16 +137,25 @@ - atendimentoRequisicaoConsumoItem.$quantidade}} - - + + + + + +
+ + + +
@@ -226,5 +235,9 @@ + + diff --git a/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html b/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html new file mode 100644 index 0000000..a3f132e --- /dev/null +++ b/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html @@ -0,0 +1,72 @@ + + + -- libgit2 0.21.2