Boa tarde,
Então, estou fazendo um codigo simples pra implementar no ERP da empresa, aonde preciso pegar o CPF presente no banco de dados e fazer a verificação se ele ja existe no sistema ou não, porem no codigo que fiz abaixo, só esta me retornando o mesmo erro, mesmo nao preenchendo o campo CPF, que é o erro “O CPF já existe no sistema”.
Esse é o código:
public class ValidaCpf implements AcaoRotinaJava {
private List listaCPFs = new ArrayList<>();
public void doAction(ContextoAcao contexto) throws Exception {
JapeSession.SessionHandle hnd = null;
try {
hnd = JapeSession.open();
JapeWrapper cpfDAO = JapeFactory.dao("Curriculo");
Registro[] linhas = contexto.getLinhas();
String cpf;
DynamicVO cpfVO;
for (Registro linha : linhas) {
cpf = (String) linha.getCampo("CPF");
if (cpf != null) {
if (listaCPFs.contains(cpf)) {
contexto.mostraErro("O CPF " + cpf + " já existe no sistema");
} else {
cpfVO = cpfDAO.findOne("CPF = ?", new Object[]{cpf});
if (cpfVO != null) {
contexto.mostraErro("O CPF " + cpf + " já existe no sistema");
} else {
listaCPFs.add(cpf);
}
}
} else {
contexto.mostraErro("O CPF não pode estar vazio");
}
}
} catch (Exception e) {
e.printStackTrace();
contexto.mostraErro(e.getMessage());
} finally {
JapeSession.close(hnd);
}
}
}