From f46e67b9d1ecb4ad8b5cbe6cb8fc8100970d30ff Mon Sep 17 00:00:00 2001 From: valdevir Date: Mon, 30 Apr 2018 21:53:29 +0000 Subject: [PATCH] bug#10822 dev:thiago qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@81498 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/IntegracaoTotvsDAO.java | 7 + .../dao/IntgeracaoTotvsHibernateDAO.java | 20 +++ .../ventaboletos/entidad/Caja.java | 36 ++++- .../ventaboletos/entidad/IntegracaoTotvs.java | 131 +++++++++++++++++- .../service/IntegracaoTotvsService.java | 3 + .../impl/ConferenciaComissaoServiceImpl.java | 2 +- .../impl/IntegracaoTotvsServiceImpl.java | 29 ++++ .../ventaboletos/utilerias/DateUtil.java | 70 ++++++---- .../ventaboletos/utilerias/MoneyHelper.java | 82 ++++++----- 9 files changed, 303 insertions(+), 77 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/IntegracaoTotvsDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/IntgeracaoTotvsHibernateDAO.java diff --git a/src/com/rjconsultores/ventaboletos/dao/IntegracaoTotvsDAO.java b/src/com/rjconsultores/ventaboletos/dao/IntegracaoTotvsDAO.java new file mode 100644 index 000000000..efa57eabc --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/IntegracaoTotvsDAO.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs; + +public interface IntegracaoTotvsDAO extends GenericDAO { + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/IntgeracaoTotvsHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/IntgeracaoTotvsHibernateDAO.java new file mode 100644 index 000000000..6566cce8c --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/IntgeracaoTotvsHibernateDAO.java @@ -0,0 +1,20 @@ +package com.rjconsultores.ventaboletos.dao; + +import org.hibernate.SessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.hibernate.GenericHibernateDAO; +import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs; + +@Repository("IntgeracaoTotvsDAO") +public class IntgeracaoTotvsHibernateDAO extends GenericHibernateDAO + implements IntegracaoTotvsDAO { + + @Autowired + public IntgeracaoTotvsHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/Caja.java b/src/com/rjconsultores/ventaboletos/entidad/Caja.java index 93259b6ee..a8f9970f0 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Caja.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Caja.java @@ -271,14 +271,14 @@ public class Caja implements java.io.Serializable { private String ccf; @Temporal(TemporalType.DATE) - @Column(name = "FECHORVENTA_H", length = 7) + @Column(name = "FECHORVENTA_H") private Date fechorventaH; @Column(name = "SERIEIMPFISCALORIGINAL", length = 6) private String serieimpfiscaloriginal; - @Column(name = "INDINTEGRADOAG", nullable = false, precision = 1, scale = 0) - private boolean indintegradoag; + @Column(name = "INDINTEGRADOAG", precision = 1, scale = 0) + private Boolean indintegradoag; @Column(name = "TRANSACAO_ID", precision = 15, scale = 0) private Long transacaoId; @@ -309,10 +309,16 @@ public class Caja implements java.io.Serializable { @Column(name = "SEXO", length = 1) private String sexo; - + @OneToMany(mappedBy = "caja") private List cajaFormaPago; + @Column(name = "INTEGRADOTOTVS", precision = 1, scale = 0) + private Integer integradoTotvs; + + @Column(name = "ERRO", precision = 1, scale = 0) + private String erro; + public Caja() { } @@ -340,7 +346,7 @@ public class Caja implements java.io.Serializable { Integer levanteId, Integer rutaId, String serieimpfiscal, Date fecintegracion, Integer ptovtaventaId, Boolean indremotoinverso, Date fecnacimiento, String dispositivoembarcada, Long numerobilheteembarcada, String numasientovinculado, String ccf, Date fechorventaH, String serieimpfiscaloriginal, - boolean indintegradoag, Long transacaoId, Long transacaooriginalId, String descnumdoc, String descnumdoc2, + Boolean indintegradoag, Long transacaoId, Long transacaooriginalId, String descnumdoc, String descnumdoc2, String desctipodoc, String desctipodoc2, String desctelefono, Long aidfId, String nacionalidad, String sexo) { this.cajaId = cajaId; @@ -1103,11 +1109,11 @@ public class Caja implements java.io.Serializable { this.serieimpfiscaloriginal = serieimpfiscaloriginal; } - public boolean isIndintegradoag() { + public Boolean isIndintegradoag() { return this.indintegradoag; } - public void setIndintegradoag(boolean indintegradoag) { + public void setIndintegradoag(Boolean indintegradoag) { this.indintegradoag = indintegradoag; } @@ -1199,4 +1205,20 @@ public class Caja implements java.io.Serializable { this.cajaFormaPago = cajaFormaPago; } + public Integer getIntegradoTotvs() { + return integradoTotvs; + } + + public void setIntegradoTotvs(Integer integradoTotvs) { + this.integradoTotvs = integradoTotvs; + } + + public String getErro() { + return erro; + } + + public void setErro(String erro) { + this.erro = erro; + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/IntegracaoTotvs.java b/src/com/rjconsultores/ventaboletos/entidad/IntegracaoTotvs.java index 711f5a181..d8da89f72 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/IntegracaoTotvs.java +++ b/src/com/rjconsultores/ventaboletos/entidad/IntegracaoTotvs.java @@ -1,5 +1,134 @@ package com.rjconsultores.ventaboletos.entidad; -public class IntegracaoTotvs { +import java.io.Serializable; +import java.util.Date; +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; + +@Entity +@SequenceGenerator(name = "INTEGRACAOTOTVS_SEQ", sequenceName = "INTEGRACAOTOTVS_SEQ", allocationSize = 1) +@Table(name = "INTEGRACAO_TOTVS") +public class IntegracaoTotvs implements Serializable { + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "INTEGRACAOTOTVS_SEQ") + @Column(name = "INTEGRACAOTOTVS_ID") + private Integer integracaoTotvsId; + @Column(name = "DESC_INTEGRACAO") + private String descIntegracao; + @Column(name = "ESQUEMACORRIDA_ID") + private Integer esquemaCorridaId; + @Column(name = "FECFIN") + private Date fecFin; + @Column(name = "FECINI") + private Date fecInicio; + @Column(name = "FECMODIF") + private Date fecmodif; + @Column(name = "PUNTOVENTA_ID") + private Integer puntoVentaId; + @Column(name = "EMPRESA_ID") + private Integer empresaId; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + @Column(name = "QTDEREGISTROSATUALIZADOS") + private Integer qtdadeResgistrosAtualizados; + + @Column(name = "ACTIVO") + private Boolean activo; + + public Integer getIntegracaoTotvsId() { + return integracaoTotvsId; + } + + public void setIntegracaoTotvsId(Integer integracaoTotvsId) { + this.integracaoTotvsId = integracaoTotvsId; + } + + public String getDescIntegracao() { + return descIntegracao; + } + + public void setDescIntegracao(String descIntegracao) { + this.descIntegracao = descIntegracao; + } + + public Integer getEsquemaCorridaId() { + return esquemaCorridaId; + } + + public void setEsquemaCorridaId(Integer esquemaCorridaId) { + this.esquemaCorridaId = esquemaCorridaId; + } + + public Date getFecFin() { + return fecFin; + } + + public void setFecFin(Date fecFin) { + this.fecFin = fecFin; + } + + public Date getFecInicio() { + return fecInicio; + } + + public void setFecInicio(Date fecInicio) { + this.fecInicio = fecInicio; + } + + public Date getFecmodif() { + return fecmodif; + } + + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } + + public Integer getPuntoVentaId() { + return puntoVentaId; + } + + public void setPuntoVentaId(Integer puntoVentaId) { + this.puntoVentaId = puntoVentaId; + } + + public Integer getUsuarioId() { + return usuarioId; + } + + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + + public Boolean getActivo() { + return activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public Integer getQtdadeResgistrosAtualizados() { + return qtdadeResgistrosAtualizados; + } + + public void setQtdadeResgistrosAtualizados(Integer qtdadeResgistrosAtualizados) { + this.qtdadeResgistrosAtualizados = qtdadeResgistrosAtualizados; + } + + public Integer getEmpresaId() { + return empresaId; + } + + public void setEmpresaId(Integer empresaId) { + this.empresaId = empresaId; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/IntegracaoTotvsService.java b/src/com/rjconsultores/ventaboletos/service/IntegracaoTotvsService.java index 827760549..79498ffb9 100644 --- a/src/com/rjconsultores/ventaboletos/service/IntegracaoTotvsService.java +++ b/src/com/rjconsultores/ventaboletos/service/IntegracaoTotvsService.java @@ -5,6 +5,7 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.exception.BusinessException; public interface IntegracaoTotvsService { @@ -16,4 +17,6 @@ public interface IntegracaoTotvsService { public List buscaPuntoVentaEmpresa(Empresa empresa) throws Exception; + public Integer solicitaReIntegracaoBilhete(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta, Usuario usuario) throws BusinessException; + } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java index aace40ae1..cf30bacf2 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/IntegracaoTotvsServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/IntegracaoTotvsServiceImpl.java index 40acb5ff3..6d9c9fdc5 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/IntegracaoTotvsServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/IntegracaoTotvsServiceImpl.java @@ -5,21 +5,27 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CajaDAO; import com.rjconsultores.ventaboletos.dao.CorridaDAO; import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO; +import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO; import com.rjconsultores.ventaboletos.dao.MarcaDAO; import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs; import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.IntegracaoTotvsService; @Service("integracaoTotvsService") public class IntegracaoTotvsServiceImpl implements IntegracaoTotvsService { + private static final String BILHETE = "BILHETE"; + @Autowired CajaDAO cajaDao; @@ -35,6 +41,9 @@ public class IntegracaoTotvsServiceImpl implements IntegracaoTotvsService { @Autowired EsquemaCorridaDAO esquemaCorridaDao; + @Autowired + IntegracaoTotvsDAO integracaoTotvsDAO; + @Override public Integer atualizaStstausBilhetesIntegrar(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta) throws BusinessException { Marca marca = null; @@ -50,6 +59,26 @@ public class IntegracaoTotvsServiceImpl implements IntegracaoTotvsService { } + @Override + @Transactional + public Integer solicitaReIntegracaoBilhete(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta, Usuario usuario) throws BusinessException { + Integer retorno = atualizaStstausBilhetesIntegrar(empresa, dataInicial, dataFinal, puntoVenta); + if (retorno.intValue() > 0) { + IntegracaoTotvs integracaoTotvs = new IntegracaoTotvs(); + integracaoTotvs.setDescIntegracao(BILHETE); + integracaoTotvs.setFecInicio(dataInicial); + integracaoTotvs.setFecFin(dataFinal); + integracaoTotvs.setFecmodif(new Date()); + integracaoTotvs.setPuntoVentaId(puntoVenta.getPuntoventaId()); + integracaoTotvs.setEmpresaId(empresa.getEmpresaId()); + integracaoTotvs.setUsuarioId(usuario.getUsuarioId()); + integracaoTotvs.setActivo(Boolean.TRUE); + integracaoTotvs.setQtdadeResgistrosAtualizados(retorno); + integracaoTotvsDAO.suscribir(integracaoTotvs); + } + return retorno; + } + @Override public Integer atualizaStstausServicosIntegrar(Empresa empresa, Integer numServico) throws BusinessException { Marca marca = null; diff --git a/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java index 1f0f6a233..de2f24b22 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java @@ -251,6 +251,14 @@ public final class DateUtil { return null; } + public static String getStringDateHour(java.util.Date d) { + if (d != null) { + DateFormat df = new SimpleDateFormat(ddMMaaHHmm); + return df.format(d); + } + return null; + } + public static String getStringDate(java.util.Date d) { return getStringDate(d, "dd/MM/yyyy"); } @@ -596,37 +604,37 @@ public final class DateUtil { */ public static Set carregarDiasCompetencia(String competencia, Date dataMovimento) { Set diasCompetencia = new TreeSet(); - if(competencia== null && dataMovimento!=null){ - Integer diaInteger = new Integer (getStringDate(dataMovimento).split("/")[0]); + if (competencia == null && dataMovimento != null) { + Integer diaInteger = new Integer(getStringDate(dataMovimento).split("/")[0]); diasCompetencia.add(diaInteger); - }else{ + } else { String[] vetCompetencia = competencia.split("/"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH, Integer.valueOf(vetCompetencia[0]) - 1); cal.set(Calendar.YEAR, Integer.valueOf(vetCompetencia[1])); - + for (int i = 1; i <= cal.getActualMaximum(Calendar.DAY_OF_MONTH); i++) { diasCompetencia.add(i); } } return diasCompetencia; } - + public static Set carregarDiasCompetencia(Date dataInicial, Date dataFinal) { Set diasCompetencia = new TreeSet(); - Calendar cal = Calendar.getInstance(); - - cal.setTime(dataInicial); - Integer diaInicial = cal.get(Calendar.DAY_OF_MONTH); - - cal.setTime(dataFinal); - Integer diaFinal = cal.get(Calendar.DAY_OF_MONTH); - - for (int i = diaInicial; i <= diaFinal; i++) { - diasCompetencia.add(i); - } - + Calendar cal = Calendar.getInstance(); + + cal.setTime(dataInicial); + Integer diaInicial = cal.get(Calendar.DAY_OF_MONTH); + + cal.setTime(dataFinal); + Integer diaFinal = cal.get(Calendar.DAY_OF_MONTH); + + for (int i = diaInicial; i <= diaFinal; i++) { + diasCompetencia.add(i); + } + return diasCompetencia; } @@ -660,28 +668,30 @@ public final class DateUtil { } return null; } + public static Date getYesterdayDate() { - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE, -1); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - Date yesterday = calendar.getTime(); - return yesterday; + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, -1); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + Date yesterday = calendar.getTime(); + return yesterday; } + public static String getYesterdayDateString() { - DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); - Calendar cal = Calendar.getInstance(); - cal.add(Calendar.DATE, -1); - return dateFormat.format(cal.getTime()); + DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.DATE, -1); + return dateFormat.format(cal.getTime()); } - + public static Date getDataTempoDecorrido(String tempo) { String[] tempoDecorrido = tempo.split(":"); - + Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR, Integer.parseInt(tempoDecorrido[0].isEmpty() ? "0" : tempoDecorrido[0])); calendar.set(Calendar.MINUTE, Integer.parseInt(tempoDecorrido[1].isEmpty() ? "0" : tempoDecorrido[1])); - + return calendar.getTime(); } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java index e25badd40..9ce854a4e 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java @@ -20,7 +20,7 @@ import org.slf4j.LoggerFactory; */ public class MoneyHelper { private static Logger log = LoggerFactory.getLogger(MoneyHelper.class); - + private static int DECIMALS = 2; private static int ROUNDING_MODE = BigDecimal.ROUND_HALF_EVEN; private static BigDecimal HUNDRED = new BigDecimal("100"); @@ -37,36 +37,36 @@ public class MoneyHelper { public static BigDecimal instanciar(BigDecimal aValor) { return arredondar(aValor); } - - public static BigDecimal somar(BigDecimal ... aAmount) { + + public static BigDecimal somar(BigDecimal... aAmount) { BigDecimal total = BigDecimal.ZERO; - for(BigDecimal value : aAmount){ - BigDecimal fAmountOne = value == null ? BigDecimal.ZERO:arredondar(value); + for (BigDecimal value : aAmount) { + BigDecimal fAmountOne = value == null ? BigDecimal.ZERO : arredondar(value); total = total.add(fAmountOne); } return total.setScale(DECIMALS, ROUNDING_MODE); } - public static BigDecimal somar(int customScale, BigDecimal ... aAmount) { + public static BigDecimal somar(int customScale, BigDecimal... aAmount) { BigDecimal total = BigDecimal.ZERO; - for(BigDecimal value : aAmount){ - BigDecimal fAmountOne = value == null ? BigDecimal.ZERO:arredondar(value, customScale); + for (BigDecimal value : aAmount) { + BigDecimal fAmountOne = value == null ? BigDecimal.ZERO : arredondar(value, customScale); total = total.add(fAmountOne); } return total.setScale(DECIMALS, ROUNDING_MODE); } public static BigDecimal somar(BigDecimal aAmountOne, BigDecimal aAmountTwo) { - BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO:arredondar(aAmountOne); - BigDecimal fAmountTwo =aAmountTwo == null ? BigDecimal.ZERO: arredondar(aAmountTwo); + BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO : arredondar(aAmountOne); + BigDecimal fAmountTwo = aAmountTwo == null ? BigDecimal.ZERO : arredondar(aAmountTwo); return fAmountOne.add(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); } - + public static BigDecimal somar(BigDecimal aAmountOne, BigDecimal aAmountTwo, int customScale) { - BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO:arredondar(aAmountOne, customScale); - BigDecimal fAmountTwo =aAmountTwo == null ? BigDecimal.ZERO: arredondar(aAmountTwo, customScale); - + BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO : arredondar(aAmountOne, customScale); + BigDecimal fAmountTwo = aAmountTwo == null ? BigDecimal.ZERO : arredondar(aAmountTwo, customScale); + return fAmountOne.add(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); } @@ -76,11 +76,11 @@ public class MoneyHelper { return fAmountOne.subtract(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); } - + public static BigDecimal subtrair(BigDecimal aAmountOne, BigDecimal aAmountTwo, int customScale) { BigDecimal fAmountOne = arredondar(aAmountOne, customScale); BigDecimal fAmountTwo = arredondar(aAmountTwo, customScale); - + return fAmountOne.subtract(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); } @@ -90,11 +90,11 @@ public class MoneyHelper { return fAmount.divide(fDivisor, DECIMALS, ROUNDING_MODE); } - + public static BigDecimal dividir(BigDecimal aAmount, BigDecimal aDivisor, int customScale) { BigDecimal fAmount = arredondar(aAmount, customScale); BigDecimal fDivisor = arredondar(aDivisor, customScale); - + return fAmount.divide(fDivisor, customScale, ROUNDING_MODE); } @@ -104,14 +104,14 @@ public class MoneyHelper { return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE)).setScale(DECIMALS, ROUNDING_MODE); } - + public static BigDecimal multiplicar(BigDecimal aAmount, BigDecimal aMultiplicand, int customScale) { BigDecimal fAmount = arredondar(aAmount, customScale); BigDecimal fMultiplicand = arredondar(aMultiplicand, customScale); - + return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE)).setScale(customScale, ROUNDING_MODE); } - + public static BigDecimal arredondar(BigDecimal aNumber) { if (aNumber != null) { return aNumber.setScale(DECIMALS, ROUNDING_MODE); @@ -127,56 +127,56 @@ public class MoneyHelper { return null; } } - + public static BigDecimal arredondar(Float aNumber) { return BigDecimal.valueOf(aNumber).setScale(DECIMALS, ROUNDING_MODE); } - + public static boolean isMaior(BigDecimal aAmountOne, BigDecimal aAmountTwo) { BigDecimal fAmountOne = arredondar(aAmountOne); BigDecimal fAmountTwo = arredondar(aAmountTwo); return fAmountOne.compareTo(fAmountTwo) > 0; } - + public static boolean isMaiorIgual(BigDecimal aAmountOne, BigDecimal aAmountTwo) { BigDecimal fAmountOne = arredondar(aAmountOne); BigDecimal fAmountTwo = arredondar(aAmountTwo); return fAmountOne.compareTo(fAmountTwo) >= 0; } - + public static boolean isMenor(BigDecimal aAmountOne, BigDecimal aAmountTwo) { BigDecimal fAmountOne = arredondar(aAmountOne); BigDecimal fAmountTwo = arredondar(aAmountTwo); return fAmountOne.compareTo(fAmountTwo) < 0; } - + public static boolean isMenorIgual(BigDecimal aAmountOne, BigDecimal aAmountTwo) { BigDecimal fAmountOne = arredondar(aAmountOne); BigDecimal fAmountTwo = arredondar(aAmountTwo); return fAmountOne.compareTo(fAmountTwo) <= 0; } - + public static boolean isIgual(BigDecimal aAmountOne, BigDecimal aAmountTwo) { BigDecimal fAmountOne = arredondar(aAmountOne); BigDecimal fAmountTwo = arredondar(aAmountTwo); return fAmountOne.compareTo(fAmountTwo) == 0; } - + public static BigDecimal getDiferenca(BigDecimal aAmountOne, BigDecimal aAmountTwo) { return aAmountTwo.subtract(aAmountOne); } - + public static BigDecimal getPercentual(BigDecimal aAmountOne, BigDecimal aAmountTwo) { - + BigDecimal diferenca = getDiferenca(aAmountOne, aAmountTwo); - BigDecimal fractionalChange = BigDecimal.ZERO; - - if ( diferenca!=null && ( diferenca.compareTo(BigDecimal.ZERO) != 0) && (aAmountOne.compareTo(BigDecimal.ZERO) != 0) ){ + BigDecimal fractionalChange = BigDecimal.ZERO; + + if (diferenca != null && (diferenca.compareTo(BigDecimal.ZERO) != 0) && (aAmountOne.compareTo(BigDecimal.ZERO) != 0)) { fractionalChange = diferenca.divide(aAmountOne, new MathContext(MATH_CONTEXT)); } return arredondar(fractionalChange.multiply(HUNDRED)).abs(); @@ -186,9 +186,9 @@ public class MoneyHelper { BigDecimal valorDescontado = multiplicar(valor, percdesconto).divide(HUNDRED); return arredondar(subtrair(valor, valorDescontado)); } - + public static BigDecimal getPercentualValor(BigDecimal valorTotal, BigDecimal valorPercentual) { - if(valorTotal != null && valorPercentual != null) { + if (valorTotal != null && valorPercentual != null) { return dividir(dividir(multiplicar(valorTotal, valorPercentual), HUNDRED), HUNDRED); } return BigDecimal.ZERO; @@ -196,12 +196,13 @@ public class MoneyHelper { /** * Converte uma string no formato de moeda em um {@link BigDecimal} + * * @param valor * @return */ public static BigDecimal getValor(String valor) { try { - if(StringUtils.isNotBlank(valor)) { + if (StringUtils.isNotBlank(valor)) { NumberFormat nf = DecimalFormat.getCurrencyInstance(Locale.getDefault()); nf.setMinimumFractionDigits(DECIMALS); nf.setMaximumFractionDigits(DECIMALS); @@ -212,9 +213,14 @@ public class MoneyHelper { } return null; } - + + public static String getValor(BigDecimal valor) { + NumberFormat nf = NumberFormat.getInstance(Locale.getDefault()); + return nf.format(valor); + } + public static BigDecimal arredondar(BigDecimal aNumber, int customScale) { return aNumber.setScale(customScale, ROUNDING_MODE); } - + }