Estou usando o Brazilutils para as validações do meu sistema, porém a validação de IE para o estado de Goiás está errada. Alguém teria uma rotina para me passar?
Rotina para validação de IE para Goiás
2 Respostas
Não precisa mais… vi que não ia dar tempo de ficar esperando, então eu mesmo fiz. 
public class ValidaIeGoias {
public static boolean valida(String ie) {
ie = ie.replace(".", "").replace("-","").replace(" ", "");
Integer digito;
Integer soma = 0;
Integer resto;
// Número de digitos
if (ie.length() != 9) {
return false;
}
// Separação
digito = Integer.parseInt(ie.substring(8));
// Soma
soma += (9 * Integer.parseInt(ie.substring(0, 1)));
soma += (8 * Integer.parseInt(ie.substring(1, 2)));
soma += (7 * Integer.parseInt(ie.substring(2, 3)));
soma += (6 * Integer.parseInt(ie.substring(3, 4)));
soma += (5 * Integer.parseInt(ie.substring(4, 5)));
soma += (4 * Integer.parseInt(ie.substring(5, 6)));
soma += (3 * Integer.parseInt(ie.substring(6, 7)));
soma += (2 * Integer.parseInt(ie.substring(7, 8)));
// Resto
resto = soma % 11;
// 11094402
if (ie.equals("11094402")) {
if (digito != 0 && digito != 1) {
return false;
}
}
// Resto 0
if (resto == 0) {
if (digito != 0) {
return false;
}
}
// Resto 1
if (resto == 1) {
if (Integer.parseInt(ie) >= 10103105 && Integer.parseInt(ie) <= 10103105) {
if (digito != 1) {
return false;
}
} else {
if (digito != 0) {
return false;
}
}
}
// Outros restos
if (resto != 0 && resto != 1) {
if (digito != (11 - resto)) {
return false;
}
}
return true;
}
}
Mano, sugiro o uso do arquivo DllInscE32.dll, distribuido pelo governo.
De vez em quando esta rotina muda e é mais fácil substituir o arquivo do que ficar buscando novas regras de implementação.
Criado 21 de dezembro de 2009
Ultima resposta 22 de dez. de 2009
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo