⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n2006131015_manutencao.java

📁 Its a project that i create. The program its like an helpdesk, that allows the user to introduce re
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/**
*
*@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 + -