예제 #1
0
  // Imprime todas as fichas dos medicos da clinica.
  private static void imprimeHorarioEMedicosClinica() {
    Iterator<Medico> it = listaDeMedico.iterator();

    if (listaDeMedico.isEmpty()) {
      System.out.println("A clinica nao possui nenhum medico cadastrado");
    }
    while (it.hasNext()) {
      Medico novoMedico = it.next();
      System.out.println("\n" + novoMedico.toString() + "\n" + novoMedico.agendaMedico() + "\n");
    }
  }
예제 #2
0
  private static void testaHorarios(Medico medico1, Medico medico2) {
    if (listaDeMedico.size() >= 2) {
      if (medico1.getEspecialidade().equals(medico2.getEspecialidade())) {
        for (DiaDeTrabalho diaMedico1 : medico1.getDiasDeCirurgia()) {
          for (DiaDeTrabalho diaMedico2 : medico2.getDiasDeCirurgia()) {
            if (diaMedico1.getDiaSemana().equals(diaMedico2.getDiaSemana())) {
              int hora1Entrou = tempoNaClinica(diaMedico1.getEntrou());
              int hora2Entrou = tempoNaClinica(diaMedico2.getEntrou());
              int hora1Saiu = tempoNaClinica(diaMedico1.getSaiu());
              int hora2Saiu = tempoNaClinica(diaMedico2.getSaiu());

              if (hora1Entrou > hora2Entrou && hora1Entrou < hora2Saiu) {
                System.out.println(
                    "ATENCAO\nO medico: "
                        + medico1.getNomeDoMedico()
                        + " e o medico: "
                        + medico2.getNomeDoMedico()
                        + "\nSao da mesma especialidade e estao disponivei para cirurgia no mesmo horario\n");
              } else if (hora2Entrou > hora1Entrou && hora2Entrou < hora1Saiu) {
                System.out.println(
                    "ATENCAO\nO medico: "
                        + medico1.getNomeDoMedico()
                        + " e o medico: "
                        + medico2.getNomeDoMedico()
                        + "\nSao da mesma especialidade e estao disponivei para cirurgia no mesmo horario\n");
              }
            }
          }
        }
      }
    }
  }
예제 #3
0
  // Imprime o nome de todos os medicos cadastrados.
  private static void imprimeNomeMedicosCadastrados() {
    int cont = 0;
    Iterator<Medico> it = listaDeMedico.iterator();

    while (it.hasNext()) {
      cont++;
      Medico proximoMedico = it.next();
      if (proximoMedico == null) {
        continue;
      } else {
        System.out.println(cont + " - " + proximoMedico.getNomeDoMedico());
      }
    }
  }
예제 #4
0
 private static void verificaHoraIgual(Medico medico) {
   if (listaDeMedico.size() >= 2) {
     for (int i = 0; i < listaDeMedico.toArray().length; i++) {
       Medico medico1 = (Medico) listaDeMedico.toArray()[i];
       if (!medico.equals(medico1)) {
         testaHorarios(medico, medico1);
       }
     }
   }
 }
예제 #5
0
  private static void adicionaHorario() {
    int opcoes;
    Medico medico = new Medico();

    if (!listaDeMedico.isEmpty()) {
      do {
        System.out.println("Escolha qual medico deseja adicionar horario");

        imprimeNomeMedicosCadastrados();

        System.out.print("> ");
        opcoes = lerValor();

        try {
          medico = listaDeMedico.get(opcoes - 1);
        } catch (java.lang.IndexOutOfBoundsException e) {
          System.out.println("Opcao invalida!");
          adicionaHorario();
        }

        System.out.println("1 - Cadastrar horario de atendimento");
        System.out.println("2 - Cadastrar horario de cirurgias");
        System.out.println("3 - Voltar");

        System.out.print("> ");
        opcoes = lerValor();

        switch (opcoes) {
          case 1:
            System.out.println("\nEscolha qual dia da semana deseja adicionar horario\n");
            imprimeDiaDaSemana();
            System.out.print("> ");
            opcoes = lerValor();
            Semana semana1 = Semana.values()[opcoes - 1];
            try {
              medico.addDiasDeExpediente(lerDia(semana1));
              System.out.println("Adicionado com sucesso\n");
              opcoes = 3;
              break;
            } catch (Exception e) {
              System.out.println("Hora invalida. Tente novamente.\n");
              break;
            }

          case 2:
            System.out.println("\nEscolha qual dia da semana deseja adicionar horario\n");
            imprimeDiaDaSemana();
            System.out.print("> ");
            opcoes = lerValor();
            Semana semana2 = Semana.values()[opcoes - 1];
            try {
              medico.addDiasDeCirurgia(lerDia(semana2));
              verificaHoraIgual(medico);
              System.out.println("Adicionado com sucesso\n");
              opcoes = 3;
              break;
            } catch (Exception e) {
              System.out.println("Hora invalida. Tente novamente.\n");

              break;
            }
          case 3:
            imprimeHorarioEMedicosClinica();
            break;
          default:
            System.out.println("Opcao invalida digite novamente!");
            break;
        }
      } while (opcoes != 3);
    } else {
      System.out.println("Nenhum medico cadastrado na clinica");
    }
  }