public boolean Salvar(UsuarioSistema obj) throws ErroValidacaoException, Exception{
        try{
            
            PessoaDAO dao = new PessoaDAO();
            Pessoa tempPessoa = new Pessoa();
            
            tempPessoa.setCpf(obj.getCpf());
            tempPessoa.setDataNascimento(obj.getDataNascimento());
            tempPessoa.setEmails(obj.getEmails());
            tempPessoa.setEnderecos(obj.getEnderecos());
            tempPessoa.setNome(obj.getNome());
            tempPessoa.setRg(obj.getRg());
            tempPessoa.setTelefones(obj.getTelefones());
            tempPessoa.setId(obj.getId());
            tempPessoa.setAtivo(obj.getAtivo());
            
            if(obj.getId() == 0){
                int id = dao.Salvar(tempPessoa);
            
                PreparedStatement comando = banco.getConexao()
                        .prepareStatement("INSERT INTO usuarios_sistema"
                        + " (usuario,senha, id_pessoa,ativo) VALUES(?,?,?,?)");
                comando.setString(1, obj.getUsuario());
                comando.setString(2, obj.getSenha());
                comando.setInt(3, id);
                comando.setInt(4, obj.getAtivo());
                comando.executeUpdate();
                comando.getConnection().commit();
            
            }else{
                
                PreparedStatement comando = banco.getConexao()
                        .prepareStatement("UPDATE  usuarios_sistema SET "
                        + "usuario =? ,senha= ?, ativo = ? WHERE id = ?");
                comando.setString(1, obj.getUsuario());
                comando.setString(2, obj.getSenha());
                comando.setInt(3,obj.getAtivo());
                comando.setInt(4, obj.getId());
                comando.executeUpdate();
                comando.getConnection().commit();
            }
            return true;
        }catch(SQLException ex ){
            ex.printStackTrace();
            return false;
        }
    
    }