Meus amigos, boa noite. Vou resumir: Tenho um projeto de POO da faculdade e está tudo quase pronto, ele se resume em um sistema de criação de tickets(chamados) e no caso, existem 3 entidades: cliente, funcionario e administrador.
O funcionamento se da na seguinte maneira: cliente se cadastra, cria seu chamado e desloga. Funcionário loga, pode ver os chamados e pode fecha-los, que no caso seria o remove. Eu fiz um algoritmo, diz que o chamado foi removido no if que eu fiz mas ele continua lá, depois que eu saio da conta de funcionario e volto pra cliente. No caso depois de remover como funcionário e logar como cliente, nao deveria mostrar o chamado lá.
opção em que o funcionario escolhe para remover o chamado
if(opcao == 2){ //apagar chamado por ID System.out.println("Digite o ID do chamado que você deseja apagar: "); int id = Integer.parseInt(sc.nextLine()); if(id == chamado.getNumeroChamado()){ negocioChamado.removerChamado(chamado.getNumeroChamado()); System.out.println("Chamado apagado com sucesso!"); }else{ throw new ChamadoNaoExistente("Número inserido inválido."); }
método de remover chamado:
public void removerChamado(int numeroChamado) throws ClassNotFoundException, IOException, ChamadoNaoExistente {
List chamados = dao.ler();
chamados.remove(buscarChamado(numeroChamado));
dao.escrever(chamados);
}
método de criação de chamado:
private void abrirChamado(Cliente cliente) { Chamado chamado = new Chamado(); System.out.println("Entre com o título do Chamado:"); // set Titulo chamado.setTitulo(sc.nextLine()); int opc = 0; do { System.out.println("Entre com o setor do Chamado:"); System.out.println("1 - Administração"); System.out.println("2 - RH"); System.out.println("3 - Diretoria"); opc = Integer.parseInt(sc.nextLine()); if (opc < 1 || opc > 3) { System.out.println("Valor aceitável: 1, 2 e 3"); } } while (opc < 1 || opc > 3); // set Setor chamado.setSetor(((opc == 1) ? "Administração" : ((opc == 2) ? "RH" : "Diretoria"))); opc = 0; do { System.out.println("Entre com a Categoria do Chamado:"); System.out.println("1 - Hardware"); System.out.println("2 - Software"); System.out.println("3 - Rede"); System.out.println("4 - Manutenção"); System.out.println("5 - Backup"); opc = Integer.parseInt(sc.nextLine()); if (opc < 1 || opc > 5) { System.out.println("Valor aceitável: 1, 2, 3, 4 e 5"); } } while (opc < 1 || opc > 5); String categoria = null; switch (opc) { case 1: categoria = "Hardware"; break; case 2: categoria = "Software"; break; case 3: categoria = "Rede"; break; case 4: categoria = "Manutenção"; break; case 5: categoria = "Backup"; break; } //set Categoria chamado.setCategoria(categoria); System.out.println("Entre com a Descrição do Chamado: "); //set Descrição chamado.setDescricao(sc.nextLine()); opc = 0; do { System.out.println("Qual a prioridade?\n1 - Alta\n2 - Média\n3 - Baixa\n"); opc = Integer.parseInt(sc.nextLine()); if (opc < 1 || opc > 3) { System.out.println("Valor aceitável: 1, 2 e 3"); } } while (opc < 1 || opc > 3); //set Prioridade chamado.setPrioridade(opc); //setCliente chamado.setCliente(cliente); try { negocioChamado.adicionarChamado(chamado); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Oque há de errado?
Um abraço!