From f0feb9423b5f1ccfb1ffaed3399817b8cefb5740 Mon Sep 17 00:00:00 2001 From: joyfas.silva Date: Tue, 31 May 2016 13:22:04 -0300 Subject: [PATCH] Redmine #4936 --- cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java | 20 ++++++++++++-------- cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java | 29 ++++++++++++++++++++--------- cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java | 17 ++++++++++++----- cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java | 18 +----------------- cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml | 25 +++++++++++++------------ 5 files changed, 58 insertions(+), 51 deletions(-) diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java index fbda367..edbf5bd 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java @@ -10,12 +10,6 @@ import java.util.Set; import org.springframework.stereotype.Repository; -import com.googlecode.genericdao.search.Field; -import com.googlecode.genericdao.search.Filter; -import com.googlecode.genericdao.search.Search; -import com.googlecode.genericdao.search.SearchResult; -import com.googlecode.genericdao.search.Sort; - import br.com.centralit.api.dao.RequisicaoConsumoDao; import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; import br.com.centralit.api.model.DominioAlmoxarifado; @@ -31,6 +25,12 @@ import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilObjeto; import br.com.centralit.framework.util.UtilString; +import com.googlecode.genericdao.search.Field; +import com.googlecode.genericdao.search.Filter; +import com.googlecode.genericdao.search.Search; +import com.googlecode.genericdao.search.SearchResult; +import com.googlecode.genericdao.search.Sort; + /** *

* @@ -311,7 +311,7 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements @Override public List getResumoContabilForReport(Long requisicaoId,boolean isFIFO) { StringBuilder sql = new StringBuilder(); - sql.append("select distinct contac.codigo,contac.descricao, rc_item.quantidadeatendida,"); + sql.append("select distinct contac.codigo,contac.descricao, rc_item.quantidadeatendida,tipo_num.codigo as tpn,"); if(isFIFO) sql.append("fifo.valorUnitario"); @@ -322,6 +322,8 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements sql.append(" left join estruturaorganizacional alm on req_c.organizacao_id = alm.id"); sql.append(" left join alm_rc_item rc_item on rc_item.requisicaoConsumo_id = req_c.id"); sql.append(" left join alm_materialconsumo mat_c on rc_item.materialconsumo_id = mat_c.id"); + sql.append(" left join unidademedida uni_med on mat_c.unidadearmazenamento_id = uni_med.id"); + sql.append(" left join dominio tipo_num on uni_med.tiponumerico_id = tipo_num.id"); sql.append(" left join material mat on mat_c.id = mat.id"); if(isFIFO) @@ -345,7 +347,7 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements public List getMateriaisForReport(Long requisicaoId,boolean isFIFO) { StringBuilder sql = new StringBuilder(); - sql.append("select distinct mat.descricao,umedi.sigla,entrada_item.datavalidade,rc_item.quantidade, rc_item.quantidadeatendida,"); + sql.append("select distinct mat.descricao,umedi.sigla,entrada_item.datavalidade,rc_item.quantidade, rc_item.quantidadeatendida,tipo_num.codigo,"); if(isFIFO) sql.append("fifo.valorUnitario"); @@ -356,6 +358,8 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements sql.append(" left join estruturaorganizacional alm on req_c.organizacao_id = alm.id"); sql.append(" left join alm_rc_item rc_item on rc_item.requisicaoConsumo_id = req_c.id"); sql.append(" left join alm_materialconsumo mat_c on rc_item.materialconsumo_id = mat_c.id"); + sql.append(" left join unidademedida uni_med on mat_c.unidadearmazenamento_id = uni_med.id"); + sql.append(" left join dominio tipo_num on uni_med.tiponumerico_id = tipo_num.id"); sql.append(" left join material mat on mat_c.id = mat.id"); sql.append(" left join alm_en_entradaitem entrada_item on entrada_item.material_id = mat.id"); sql.append(" left join alm_me_localestoque local_estoque on local_estoque.id = entrada_item.materialLocalEstoque_id"); diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java index 6d3b18d..3a5ae7a 100644 --- a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java +++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java @@ -1,6 +1,7 @@ package br.com.centralit.controller; import java.math.BigDecimal; +import java.math.BigInteger; import br.com.centralit.framework.util.Util; import br.com.centralit.framework.util.UtilDate; @@ -11,6 +12,7 @@ public class BeanMaterial { private String unidade; private String dataValidade; private String endereco; + private int tipoNumerico; private BigDecimal qtdeSolicitada; private BigDecimal qtdeFornecida; private BigDecimal qtdeEstoque; @@ -24,7 +26,8 @@ public class BeanMaterial { this.dataValidade = UtilDate.formatarData(objArray[2]); this.qtdeSolicitada = (BigDecimal) objArray[3]; this.qtdeFornecida = (BigDecimal) objArray[4]; - this.valorUnitario = (BigDecimal) objArray[5]; + this.tipoNumerico = ((BigInteger) objArray[5]).intValue(); + this.valorUnitario = (BigDecimal) objArray[6]; setValorTotal(valorUnitario); } @@ -52,16 +55,20 @@ public class BeanMaterial { return endereco; } - public Integer getQtdeSolicitada() { - return qtdeSolicitada != null ? qtdeSolicitada.intValue() : null; + public BigDecimal getQtdeSolicitada() { + return qtdeSolicitada; } - public BigDecimal getQtdeSolicitadaBD() { - return qtdeSolicitada; + public String getQtdeSolicitadaStr() { + return tipoNumerico == 1 ? ""+qtdeSolicitada.intValue() : Util.convertBigDecimalToString(qtdeSolicitada); } - - public Integer getQtdeFornecida() { - return qtdeFornecida != null ? qtdeFornecida.intValue() : null; + + public BigDecimal getQtdeFornecida() { + return qtdeFornecida; + } + + public String getQtdeFornecidaStr() { + return tipoNumerico == 1 ? ""+qtdeFornecida.intValue() : Util.convertBigDecimalToString(qtdeFornecida); } public String getValorTotal() { @@ -70,7 +77,7 @@ public class BeanMaterial { public void setValorTotal(BigDecimal valorUnitario) { this.valorUnitario = valorUnitario; - this.valorTotal = valorUnitario.multiply(getQtdeSolicitadaBD()); + this.valorTotal = valorUnitario.multiply(getQtdeSolicitada()); } public String getValorUnitario() { @@ -88,6 +95,10 @@ public class BeanMaterial { public BigDecimal getQtdeEstoque() { return qtdeEstoque; } + + public int getTipoNumerico() { + return tipoNumerico; + } @Override public boolean equals(Object obj) { diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java index 17a1fa4..8f6e636 100644 --- a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java +++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java @@ -1,6 +1,7 @@ package br.com.centralit.controller; import java.math.BigDecimal; +import java.math.BigInteger; import br.com.centralit.framework.util.Util; @@ -8,6 +9,7 @@ public class BeanSubReportContaContabil { private String conta; private String codigo; private BigDecimal qtde; + private int tipoNumerico; private BigDecimal valorUnitario; private BigDecimal valorTotal; @@ -15,18 +17,19 @@ public class BeanSubReportContaContabil { this.codigo = (String)objArray[0]; this.conta = (String)objArray[1]; this.qtde = (BigDecimal)objArray[2]; - this.valorUnitario = (BigDecimal)objArray[3]; + this.tipoNumerico = ((BigInteger) objArray[3]).intValue(); + this.valorUnitario = (BigDecimal)objArray[4]; } public String getConta() { return codigo+" - "+conta; } - public Integer getQtde() { - return qtde.intValue(); - } - public BigDecimal getQtdeBD() { + public BigDecimal getQtde() { return qtde; } + public String getQtdeStr() { + return tipoNumerico == 1 ? ""+qtde.intValue() : Util.convertBigDecimalToString(qtde); + } public void setQtde(BigDecimal qtde) { this.qtde = qtde; } @@ -46,6 +49,10 @@ public class BeanSubReportContaContabil { public void setValorUnitario(BigDecimal valorUnitario) { this.valorUnitario = valorUnitario; } + + public int getTipoNumerico() { + return tipoNumerico; + } @Override public boolean equals(Object obj) { diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java index ea4f946..071ad29 100644 --- a/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java +++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java @@ -3,7 +3,6 @@ package br.com.centralit.controller; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.math.BigDecimal; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; @@ -206,21 +205,6 @@ public class ReportGuiaRemessaAtendimentoConsumoController extends GenericContro return new JRBeanCollectionDataSource(materiaisResult); } - private void calcularFIFOMateriais(final List materiais, BeanMaterial material,BigDecimal qtdFalta) { - for(BeanMaterial mat : materiais) - if(material.getNome().equals(mat.getNome()) && material.getQtdeEstoque().compareTo(mat.getQtdeEstoque()) >=0) - if(mat.getQtdeEstoque().compareTo(qtdFalta) < 0){ - material.setValorUnitario(material.getValorUnitarioBD().add(mat.getValorUnitarioBD())); - material.setValorUnitario(material.getValorUnitarioBD().divide(new BigDecimal(2))); - qtdFalta = qtdFalta.subtract(mat.getQtdeEstoque()); - calcularFIFOMateriais(materiais, material, qtdFalta); - }else{ - material.setValorUnitario(material.getValorUnitarioBD().add(mat.getValorUnitarioBD())); - material.setValorUnitario(material.getValorUnitarioBD().divide(new BigDecimal(2))); - } - - } - private JRBeanCollectionDataSource getResumoContabil(Long requisicaoId){ List result = requisicaoConsumoService.getResumoContabilForReport(requisicaoId,is_FIFO); @@ -235,7 +219,7 @@ public class ReportGuiaRemessaAtendimentoConsumoController extends GenericContro for(BeanSubReportContaContabil conta : contas) if(contasResult.contains(conta)){ temp = contasResult.get(contasResult.size() -1); - temp.setQtde(temp.getQtdeBD().add(conta.getQtdeBD())); + temp.setQtde(temp.getQtde().add(conta.getQtde())); temp.setValorUnitario(temp.getValorUnitario().add(conta.getValorUnitario())); }else contasResult.add(conta); diff --git a/cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml b/cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml index 5e1f801..c9d6ea1 100644 --- a/cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml +++ b/cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml @@ -70,18 +70,19 @@ - - + + - + - - - + + + + @@ -283,7 +284,7 @@ - + @@ -309,7 +310,7 @@ - + @@ -385,9 +386,9 @@ - + - + @@ -424,7 +425,7 @@ - + @@ -449,7 +450,7 @@ - + -- libgit2 0.21.2