📄 n2006131015_manutencao.java
字号:
/**
*
*@author Diogo Mestre 2006131015
*
*/
import java.io.Serializable;
import java.util.*;
class n2006131015_Manutencao implements Serializable {
n2006131015_Manutencao(){
}
//ArrayLists
ArrayList <n2006131015_Sistema> sistema = new ArrayList <n2006131015_Sistema> ();
ArrayList <n2006131015_Formacao> formacao = new ArrayList <n2006131015_Formacao> ();
ArrayList <n2006131015_Intervencao> intervencoes = new ArrayList <n2006131015_Intervencao> ();
ArrayList <n2006131015_Utilizador> utilizador = new ArrayList <n2006131015_Utilizador> ();
ArrayList <n2006131015_Tecnico> tecnico = new ArrayList <n2006131015_Tecnico> ();
ArrayList <n2006131015_Posto_de_Trabalho> postoTrabalho = new ArrayList <n2006131015_Posto_de_Trabalho> ();
//------------- CRIAR -------------
/**
* Cria um novo utilizador pedindo os dados ao utilizador
*
*/
public void CriarUtilizador(){
System.out.println("\n------------------------------------- Cria Utilizador --------------------------------------");
String nomeU;
int numU=0;
do{
System.out.print("Introduza o nome do utilizador: ");
nomeU=User.readString();
}while(nomeU.length()==0);
numU=utilizador.size()+1;
utilizador.add (new n2006131015_Utilizador(nomeU,numU));
System.out.print("\nUtilizador criado com sucesso!");
}
/**
* Cria um novo tecnico pedindo os dados ao utilizador
*
*/
public void CriarTecnico(){
System.out.println("\n------------------------------------- Cria Tecnico --------------------------------------");
String nomeT;
int numT=0;
do{
System.out.print("Introduza o nome do tecnico: ");
nomeT=User.readString();
}while(nomeT.length()==0);
numT=tecnico.size()+1;
tecnico.add (new n2006131015_Tecnico(nomeT,numT));
System.out.print("\nTecnico criado com sucesso!");
}
/**
* Cria um novo posto de trabalho pedindo os dados ao utilizador
*
*/
public void CriarPostoTrabalho(){
System.out.println("\n------------------------------------- Cria Posto de Trabalho --------------------------------------");
String CPU, RAM, disco, so;
int numPT=0;
do{
System.out.print("Introduza o CPU (em GHz): ");
CPU=User.readString();
}while(CPU.length()==0);
do{
System.out.print("Introduza a RAM (em Megabytes): ");
RAM=User.readString();
}while(RAM.length()==0);
do{
System.out.print("Introduza o disco (em Gbytes): ");
disco=User.readString();
}while(disco.length()==0);
do{
System.out.print("Introduza o SO: ");
so=User.readString();
}while(so.length()==0);
numPT=postoTrabalho.size()+1;
postoTrabalho.add (new n2006131015_Posto_de_Trabalho(numPT,CPU,RAM,disco,so));
System.out.print("\nPosto de Trabalho criado com sucesso!");
}
/**
* Cria um novo pedido de sistema pedindo os dados ao utilizador
*
*/
public void CriarPedidoSistema(){
System.out.println("\n------------------------------------- Pedido de Assitencia de Sistema --------------------------------------");
int num_pedido=0,num_utilizador=0,num_postoTrabalho=0,quebrar=0;
String descricao = null;
//Permite introduzir um numero de utlizador caso exista um na Arraylist
ListarUtilizadores();
do {
if (utilizador.size()==0){
System.out.println("Ainda n鉶 existem utilizadores registados!");
quebrar=1;
break;
}
else{
System.out.print("N鷐ero de Utilizador: ");
num_utilizador = User.readInt();
}
} while (num_utilizador < 1 || num_utilizador > utilizador.size());
//Permite introduzir o posto de trabalho caso exista um na Arraylist e caso passe nas condicoes de cima
ListarPostosTrabalho();
do {
if (quebrar==1){
break;
}
if (postoTrabalho.size()==0){
System.out.println("Ainda n鉶 existem postos de trabalho registados!");
quebrar=1;
break;
}
else{
System.out.print("N鷐ero de posto de Trabalho: ");
num_postoTrabalho = User.readInt();
}
} while (num_postoTrabalho < 1 || num_postoTrabalho > postoTrabalho.size());
//Permite introduzir a descricao caso escreva alguma coisa e passe nas condicoes de cima
do {
if (quebrar==1){
break;
}
else{
System.out.print("Descri玢o: ");
descricao = User.readString();
}
} while (descricao.length() == 0);
//Insere na Arraylist sistema caso passe nas condicoes em cima
if (quebrar==0){
num_pedido=sistema.size()+formacao.size()+1;
sistema.add(new n2006131015_Sistema (num_pedido,num_utilizador, num_postoTrabalho, descricao));
System.out.print("\nPedido de Assist阯cia criado com sucesso!");
}
}
/**
* Cria um novo pedido de formacao pedindo os dados ao utilizador
*
*/
public void CriarPedidoFormacao(){
System.out.println("\n------------------------------------- Pedido de Assitencia de Forma玢o --------------------------------------");
int num_pedido=0,num_utilizador=0,quebrar=0;
String tema = null;
//Permite introduzir um numero de utlizador caso exista um na Arraylist
ListarUtilizadores();
do {
if (utilizador.size()==0){
System.out.println("Ainda n鉶 existem utilizadores registados!");
quebrar=1;
break;
}
else {
System.out.print("N鷐ero de Utilizador: ");
num_utilizador = User.readInt();
}
} while (num_utilizador < 1 || num_utilizador > utilizador.size());
//Permite introduzir o tema caso escreva alguma coisa e caso passe nas condicoes de cima
do{
if (quebrar==1){
break;
}
else{
System.out.print("Tema: ");
tema = User.readString();
}
} while (tema.length() == 0);
//Insere na Arraylist formacao caso passe nas condicoes em cima
if (quebrar==0){
num_pedido=sistema.size()+formacao.size()+1;
formacao.add(new n2006131015_Formacao (num_pedido,num_utilizador, tema));
System.out.print("\nPedido de Assist阯cia criado com sucesso!");
}
}
/**
* Cria uma nova intervencao pedindo os dados ao utilizador
*
*/
public void CriarIntervencao(){
System.out.println("\n------------------------------------- Cria Interven玢o --------------------------------------");
int num_intervencoes=0, num_pedido=0, num_tecnico=0,estado=0,duracao=0,quebrar=0;
String descricao = null;
//Permite introduzir uma intervencao caso exista um pedido na Arraylist
if (sistema.size()!=0 || formacao.size()!=0){
//Permite introduzir o numero do pedido caso exista um na Arraylist e caso passe nas condicoes de cima
ListarPedidos();
do {
if ((sistema.size()+formacao.size())==0){
System.out.println("Ainda n鉶 existem pedidos registados!");
quebrar=1;
break;
}
else{
System.out.print("N鷐ero do Pedido: ");
num_pedido = User.readInt();
}
} while (num_pedido < 1 || num_pedido > (sistema.size()+formacao.size()));
//Permite introduzir o numero do tecnico caso exista um na Arraylist e caso passe nas condicoes de cima
ListarTecnicos();
do {
if (quebrar==1){
break;
}
if (tecnico.size()==0){
System.out.println("Ainda n鉶 existem tecnicos registados!");
quebrar=1;
break;
}
else{
System.out.print("N鷐ero do T閏nico: ");
num_tecnico = User.readInt();
}
} while (num_tecnico < 1 || num_tecnico > tecnico.size());
//Permite introduzir uma descricao caso escreva alguma coisa e caso passe nas condicoes de cima
do{
if (quebrar==1){
break;
}
else{
System.out.print("Descri玢o: ");
descricao = User.readString();
}
} while (descricao.length() == 0);
//Permite introduzir a duracao caso escreva um inteiro e caso passe nas condicoes de cima
do{
if (quebrar==1){
break;
}
else{
System.out.print("Dura玢o (em horas): ");
duracao = User.readInt();
}
} while (duracao<0);
//Permite introduzir o estado caso escreva 1 ou 2 e caso passe nas condicoes de cima
do{
if (quebrar==1){
break;
}
else{
System.out.print("Estado (1-Resolvido | 2-N鉶 Resolvido): ");
estado = User.readInt();
}
} while (estado < 1 || estado > 2);
//Insere na Arraylist intervencoes caso passe nas condicoes em cima
if (quebrar==0){
num_intervencoes=intervencoes.size()+1;
intervencoes.add(new n2006131015_Intervencao (num_intervencoes,num_pedido,num_tecnico,descricao,duracao,estado));
System.out.print("\nInterven玢o criada com sucesso!");
}
}
else if (sistema.size()==0 || formacao.size()==0){
System.out.print("N鉶 exitem pedidos\n");
}
}
//------------ ALTERAR ------------
/**
* Altera um utilizador, caso exista, pedindo ao utilizador o que pretende alterar
*
*/
public void AlterarUtilizador(){
int num_altera=0,altera_opcao=0,altera_num=0,alterou=0;
String altera_nome;
Iterator<n2006131015_Utilizador> i = utilizador.iterator();
System.out.println("\n------------------------------------- Altera Utilizador --------------------------------------");
System.out.print("Introduza o n鷐ero do utilizador a alterar: ");
num_altera=User.readInt();
while (i.hasNext()) {
n2006131015_Pessoa U = (n2006131015_Utilizador) i.next();
if(U.getNum()==num_altera){
alterou=1;
System.out.println("\n| Nome: "+ U.getNome()+" |");
System.out.println("| N鷐ero: "+ U.getNum()+" |");
System.out.println("-------------------------------------");
do{
System.out.print("Novo Nome: ");
altera_nome=User.readString();
}while(altera_nome.length()==0);
U.setNome(altera_nome);
System.out.print("\nNome alterado com sucesso!");
break;
}
}
if (alterou==0){
System.out.println("\nN鷐ero n鉶 encontrado");
}
}
/**
* Altera um tecnico, caso exista, pedindo ao utilizador o que pretende alterar
*
*/
public void AlterarTecnico(){
int num_altera=0,altera_opcao=0,altera_num=0,alterou=0;
String altera_nome;
Iterator<n2006131015_Tecnico> i = tecnico.iterator();
System.out.println("\n------------------------------------- Altera Tecnico --------------------------------------");
System.out.print("Introduza o n鷐ero do tecnico a alterar: ");
num_altera=User.readInt();
while (i.hasNext()) {
n2006131015_Pessoa T = (n2006131015_Tecnico) i.next();
if(T.getNum()==num_altera){
alterou=1;
System.out.println("\n| Nome: "+ T.getNome()+" |");
System.out.println("| N鷐ero: "+ T.getNum()+" |");
System.out.println("-------------------------------------");
do{
System.out.print("Novo Nome: ");
altera_nome=User.readString();
}while(altera_nome.length()==0);
T.setNome(altera_nome);
System.out.print("\nNome alterado com sucesso!");
break;
}
}
if (alterou==0){
System.out.println("\nN鷐ero n鉶 encontrado");
}
}
/**
* Altera um posto de trabalho, caso exista, pedindo ao utilizador o que pretende alterar
*
*/
public void AlterarPostoTrabalho(){
int num_altera=0,altera_opcao=0,altera_num=0,alterou=0;
String altera_CPU,altera_RAM,altera_Disco,altera_SO;
Iterator<n2006131015_Posto_de_Trabalho> i = postoTrabalho.iterator();
System.out.println("\n------------------------------------- Altera Posto Trabalho --------------------------------------");
System.out.print("Introduza o n鷐ero do posto de trabalho a alterar: ");
num_altera=User.readInt();
while (i.hasNext()) {
n2006131015_Posto_de_Trabalho PT = (n2006131015_Posto_de_Trabalho) i.next();
if(PT.getNumPT()==num_altera){
alterou=1;
while (altera_opcao!=5){
System.out.println("\n| N鷐ero: "+ PT.getNumPT()+" |");
System.out.println("| CPU: "+ PT.getCPU()+" |");
System.out.println("| RAM: "+ PT.getRAM()+" |");
System.out.println("| Disco: "+ PT.getDisco()+" |");
System.out.println("| SO: "+ PT.getSO()+" |");
System.out.println("-------------------------------------");
System.out.println("O que pretendes alterar no posto de trabalho:");
System.out.println("1- CPU");
System.out.println("2- RAM");
System.out.println("3- Disco");
System.out.println("4- SO");
System.out.println("5- Voltar");
System.out.print("\nOp玢o: ");
altera_opcao=User.readInt();
if (altera_opcao==1){
System.out.print("Novo CPU (em GHz): ");
altera_CPU=User.readString();
PT.setCPU(altera_CPU);
System.out.print("\nCPU alterado com sucesso!");
break;
}
if (altera_opcao==2){
System.out.print("Nova RAM (em Megabytes): ");
altera_RAM=User.readString();
PT.setRAM(altera_RAM);
System.out.print("\nRAM alterado com sucesso!");
break;
}
if (altera_opcao==3){
System.out.print("Novo Disco (em Gbytes): ");
altera_Disco=User.readString();
PT.setDisco(altera_Disco);
System.out.print("\nDisco alterado com sucesso!");
break;
}
if (altera_opcao==4){
System.out.print("Novo SO: ");
altera_SO=User.readString();
PT.setSO(altera_SO);
System.out.print("\nSO alterado com sucesso!");
break;
}
}
}
}
if (alterou==0){
System.out.println("\nN鷐ero n鉶 encontrado");
}
}
/**
* Altera um pedido de sistema, caso exista, pedindo ao utilizador o que pretende alterar
*
*/
public void AlterarPedidoSistema(){
int num_altera=0,altera_opcao=0,altera_numPedido=0,altera_numUtilizador = 0,altera_numPT = 0,alterou=0;
String altera_Descricao;
Iterator<n2006131015_Sistema> i = sistema.iterator();
System.out.println("\n------------------------------------- Altera Pedido de Assitencia de Sistema --------------------------------------");
System.out.print("Introduza o n鷐ero do pedido a alterar: ");
num_altera=User.readInt();
while (i.hasNext()) {
n2006131015_Sistema S = (n2006131015_Sistema) i.next();
if(S.getNumPedido()==num_altera){
alterou=1;
while (altera_opcao!=4){
System.out.println("\n| N鷐ero do Pedido: "+ S.getNumPedido()+" |");
System.out.println("| N鷐ero do Utilizador: "+ S.getNumUtilizador()+" |");
System.out.println("| N鷐ero do Posto de Trabalho: "+ S.getNumPT()+" |");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -