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