rafael.henrique 2018-05-10 23:29:40 +00:00
parent 92fa5be226
commit 224ed6afed
2 changed files with 0 additions and 214 deletions

View File

@ -1,27 +0,0 @@
package com.rjconsultores.ventaboletos.utils;
import java.util.Date;
public class FormataUtil {
public static String formatarValorPorTamanho(String value, int tamanho) {
value = value == null ? "" : value;
if(value.length() > tamanho){
value = value.substring(0, tamanho);
}
return value;
}
public static Date formataData(Date dataGravacao) {
if(dataGravacao == null){
dataGravacao = new Date();
}
return dataGravacao;
}
}

View File

@ -1,187 +0,0 @@
package com.rjconsultores.ventaboletos.utils;
import java.math.BigInteger;
import org.apache.commons.lang.StringUtils;
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
public class NossoNumeroUtils {
/**
* Devolve o nosso numero do Bradesco com o DV calculado (Tamanho 12)...
* @param numCarteira
* @param nossoNumero
* @return
*/
public static String calcularNossonumeroBradesco(Integer numCarteira, BigInteger nossoNumero){
return StringUtils.right("00000000000" + nossoNumero, 11) + dacBradesco(numCarteira, nossoNumero);
}
/**
* Devolve o nosso numero do Itau com o DV calculado (Tamanho 9)...
* @param codAgencia
* @param numConta
* @param numCarteira
* @param nossoNumero
* @return
*/
public static String calcularNossoNumeroItau(Integer codAgencia, Integer numConta, Integer numCarteira, BigInteger nossoNumero){
return StringUtils.right("00000000" + nossoNumero, 8) + dacItau(codAgencia, numConta, numCarteira, nossoNumero);
}
/**
* Calcula do DV para o Bradesco
* @param numCarteira
* @param nossoNumero
* @return
*/
public static String dacBradesco(Integer numCarteira, BigInteger nossoNumero){
int multiplicadores[] = {2,7,6,5,4,3,2,7,6,5,4,3,2};
int multiplicandos[] = new int[13];
String carteira = StringUtils.right("00" + numCarteira, 2);
String nNumero = StringUtils.right("00000000000" + nossoNumero, 11);
String base = carteira + nNumero;
for (int i = 0; i < multiplicandos.length; i++) {
String d = base.charAt(i) + "";
multiplicandos[i] = Integer.valueOf(d) * multiplicadores[i];
}
int dac = 0;
for(Integer v : multiplicandos){
dac += v;
}
dac = 11 - (dac % 11);
return (dac == 10) ? "P" : dac + "";
}
/**
* Calcula do DV para o Itau
* @param codAgencia
* @param numConta
* @param numCarteira
* @param nossoNumero
* @return
*/
public static String dacItau(Integer codAgencia, Integer numConta, Integer numCarteira, BigInteger nossoNumero){
int multiplicadores[] = {1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2};
int multiplicandos[] = new int[20];
String agencia = StringUtils.right("0000" + codAgencia, 4);
String conta = StringUtils.right("00000" + numConta, 5);
String carteira = StringUtils.right("000" + numCarteira, 3);
String nNumero = StringUtils.right("00000000" + nossoNumero, 8);
String base = agencia + conta + carteira + nNumero;
for (int i = 0; i < multiplicandos.length; i++) {
String d = base.charAt(i) + "";
multiplicandos[i] = Integer.valueOf(d) * multiplicadores[i];
}
int dac = 0;
for(Integer v : multiplicandos){
if(v < 10){
dac += v;
}else{
dac += 1 + (v - 10);
}
}
dac = 10 - (dac % 10);
return dac + "";
}
/**
* Calcula do DV para o Itau (Numero Documento)
* @param codAgencia
* @param numConta
* @param numCarteira
* @param nossoNumero
* @return
*/
public static String dvDocumentoItau(Integer numeroDoc){
int multiplicadores[] = {1,2,1,2,1,2,1,2,1,2};
int multiplicandos[] = new int[10];
String doc = StringUtils.right("0000000000" + numeroDoc, 10);
String base = doc;
for (int i = 0; i < multiplicandos.length; i++) {
String d = base.charAt(i) + "";
multiplicandos[i] = Integer.valueOf(d) * multiplicadores[i];
}
int dac = 0;
for(Integer v : multiplicandos){
if(v < 10){
dac += v;
}else{
dac += 1 + (v - 10);
}
}
dac = 10 - (dac % 10);
return dac + "";
}
public static boolean validaNossoNumero(String nossoNumero, BancoLayout bancoLayout){
if(BancoLayout.BRADESCO_Envio.equals(bancoLayout) && nossoNumero.length() == 12 ){
return Boolean.TRUE;
}
if(BancoLayout.ITAU_Envio.equals(bancoLayout) && nossoNumero.length() == 9 ){
return Boolean.TRUE;
}
return Boolean.FALSE;
}
public static void main(String[] args) {
System.out.println(calcularNossonumeroBradesco(19, new BigInteger("00166509652")));
System.out.println(calcularNossonumeroBradesco(19, new BigInteger("00000000001")));
System.out.println(calcularNossoNumeroItau(57, 72192, 109, new BigInteger("987123451")));
System.out.println(dvDocumentoItau(1108954));
}
}