Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.net.*;
- import java.util.*;
- import java.sql.*;
- public class Klient2 {
- static Scanner sc = new Scanner(System.in);
- public static String logowanie(Socket s) throws IOException{
- DataInputStream din = new DataInputStream(s.getInputStream());
- PrintWriter out = null;
- out = new PrintWriter(s.getOutputStream(), true);
- String login = "", haslo = "", wynik = "";
- do{
- System.out.print("Wprowadź login: ");
- login = sc.next();
- out.println(login);
- System.out.print("Wprowadź haslo: ");
- haslo = sc.next();
- out.println(haslo);
- wynik = din.readUTF();
- /*if(wynik.equals("not")){
- System.out.println("\n- Błędny login lub hasło! -");
- }*/
- if(wynik.equals("notl")){
- System.out.println("\n- Błędny login -");}
- if(wynik.equals("noth")){
- System.out.println("\n- Błędne hasło -");}
- }while(!wynik.equals("ok"));
- return login;
- }
- public static void menuLogowanie(String prawa){
- switch (prawa) {
- case "Admin":
- System.out.println("Pomyślnie zalogowano na konto administratora\n");
- break;
- case "Pracownik":
- System.out.println("Pomyślnie zalogowano na konto pracownika\n");
- break;
- case "Uzytkownik":
- System.out.println("Pomyślnie zalogowano na konto użytkownika\n");
- break;
- default:
- System.out.println("- Wystąpił jakiś błąd! -");
- break;
- }
- }
- public static void menuAdministrator() {
- System.out.println("1. Dodaj pracownika"); //ok
- System.out.println("2. Dodaj użytkownika"); //ok
- System.out.println("3. Usuń pracownika"); //ok
- System.out.println("4. Usuń użytkownika"); //ok
- System.out.println("dalsze funkcje...");
- System.out.println("0. Wyloguj");
- }
- public static void menuPracownik(){
- System.out.println("1. Dodaj użytkownika"); //ok
- System.out.println("2. Edytuj dane użytkownika"); //ok
- System.out.println("3. Usuń użytkownika"); //ok
- System.out.println("4. Wpłata gotówki"); //ok
- System.out.println("5. Wypłata gotówki"); //ok
- System.out.println("6. Sprawdzenie stanu konta"); //ok
- System.out.println("7. Przydziel pożyczkę");
- System.out.println("8. Zmień hasło"); //ok
- System.out.println("0. Wyloguj");
- }
- public static void menuUzytkownik(){
- System.out.println("1. Wykonaj przelew");
- System.out.println("2. Zmień hasło"); //ok
- System.out.println("3. Sprawdzenie stanu konta"); //ok
- System.out.println("0. Wyloguj");
- }
- public static String panelBlokada(String prawa, int blokada){
- int dzialanie = 0;
- String akcja = "";
- System.out.print("Co chcesz zrobić? ");
- dzialanie = sc.nextInt();
- if(dzialanie >= 0 && dzialanie <= blokada){
- akcja = dzialanie + "";
- }
- else{
- System.out.println("\n- Błędne działanie! -\n");
- }
- return akcja;
- }
- public static void funkcjeAdmin(Socket s, String akcja) throws IOException{
- String anulowanie = "";
- switch(akcja){
- case "1":
- stworzKonto(s, "prac");
- System.out.println("Dodano pracownika\n");
- break;
- case "2":
- stworzKonto(s, "uzyt");
- System.out.println("Dodano użytkownika\n");
- break;
- case "3":
- anulowanie = usunKonto(s, "prac");
- if(!anulowanie.equals("not")){
- System.out.println("Anulowano usuwanie\n");
- }
- break;
- case "4":
- anulowanie = usunKonto(s, "uzyt");
- if(!anulowanie.equals("not")){
- System.out.println("Anulowano usuwanie\n");
- }
- break;
- case "0":
- break;
- }
- }
- public static void funkcjePracownik(Socket s, String akcja, String login) throws IOException, SQLException{
- String anulowanie = "", loginU = "";
- switch(akcja){
- case "1":
- stworzKonto(s, "uzyt");
- System.out.println("Dodano użytkownika\n");
- break;
- case "2":
- edytujDane(s);
- System.out.println("Zmieniono dane\n");
- break;
- case "3":
- anulowanie = usunKonto(s, "uzyt");
- if(!anulowanie.equals("not")){
- System.out.println("Anulowano usuwanie\n");
- }
- break;
- case "4":
- wplataGotowki(s, "wplata");
- break;
- case "5":
- wplataGotowki(s, "wyplata");
- break;
- case "6":
- System.out.print("Wprowadź numer użytkownika: ");
- loginU = sc.next();
- sprawdzSaldo(s, loginU);
- break;
- case "7":
- System.out.println("Cos sie stalo\n");
- break;
- case "8":
- zmienHaslo(s, login);
- System.out.println("Cos sie stalo\n");
- break;
- case "0":
- break;
- }
- }
- public static void funkcjeUzytkownik(Socket s, String akcja, String login) throws IOException, SQLException{
- switch(akcja){
- case "1":
- System.out.println("Cos sie stalo\n");
- break;
- case "2":
- zmienHaslo(s, login);
- break;
- case "3":
- sprawdzSaldo(s, login);
- break;
- case "0":
- break;
- }
- }
- public static void stworzKonto(Socket s, String typ) throws IOException{
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- Random rand = new Random();
- String imie = "", nazwisko = "", peselS = "", loginS = "", nrKonta = "", haslo ="", haslo2="";
- int pesel, los = 0, h = 0;
- System.out.print("Imię: ");
- imie = sc.next();
- dout.writeUTF(imie);
- System.out.print("Nazwisko: ");
- nazwisko = sc.next();
- dout.writeUTF(nazwisko);
- System.out.print("Pesel: ");
- peselS = sc.next();
- dout.writeUTF(peselS);
- do {
- System.out.print("Haslo: ");
- haslo = sc.next();
- System.out.print("Potwierdz haslo: ");
- haslo2 = sc.next();
- if (haslo.equals(haslo2)) h = 1;
- else System.out.print("Hasla nie zgadzaja sie");
- } while (h != 1);
- dout.writeUTF(haslo);
- if(typ.equals("prac")){
- los = rand.nextInt(11)+10;
- loginS = los +"";
- }
- else if(typ.equals("uzyt")){
- los = rand.nextInt(61)+30;
- loginS = los +"";
- }
- los = rand.nextInt(900000)+100000;
- loginS = loginS + los;
- dout.writeUTF(loginS);
- los = rand.nextInt(9)+1;
- nrKonta = nrKonta + los;
- for(int i=0; i<13; i++){
- los = rand.nextInt(10);
- nrKonta = nrKonta + los;
- }
- dout.writeUTF(nrKonta);
- }
- public static String usunKonto(Socket s, String typ) throws IOException{
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- String loginS = "", wynik;
- int login, zgoda = 0;
- do{
- System.out.print("Numer użytkownika (0 by anulować): ");
- login = sc.nextInt();
- if(typ.equals("prac") && (login >= 10000000 && login <=29999999)){
- zgoda = 1;
- loginS = login + "";
- System.out.println("\nUsunięto pracownika\n");
- }
- else if(typ.equals("uzyt") && (login >= 30000000 && login <=99999999)){
- zgoda = 1;
- loginS = login + "";
- System.out.println("\nUsunięto użytkownika\n");
- }
- else if((typ.equals("prac") || typ.equals("uzyt")) && login == 0){
- zgoda = 1;
- }
- else{
- zgoda = 0;
- System.out.println("- Błędne uprawnienia! -");
- }
- }while(zgoda != 1);
- if(login == 0){
- typ = "not";
- System.out.println("\n- Anulowano usuwanie! -\n");
- dout.writeUTF(typ);
- dout.writeUTF(loginS);
- }
- else{
- dout.writeUTF(typ);
- dout.writeUTF(loginS);
- }
- wynik = din.readUTF();
- if(wynik.equals("not")){
- wynik = "not";
- System.out.println("- Błędny login! -");
- }
- else if(wynik.equals("err")){
- wynik = "err";
- System.out.println("\n- Problem z usunięciem pliku! -");
- }
- return typ;
- }
- public static void zmienHaslo(Socket s, String login) throws IOException{
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- String hasloS = "", hasloN1 = "", hasloN2 = "", wyjscie = "";
- dout.writeUTF(login);
- System.out.print("Wprowadź stare hasło: ");
- hasloS = sc.next();
- dout.writeUTF(hasloS);
- wyjscie = din.readUTF();
- if(wyjscie.equals("ok")){
- System.out.print("Wprowadź nowe hasło: ");
- hasloN1 = sc.next();
- System.out.print("Powtórz hasło: ");
- hasloN2 = sc.next();
- if(hasloN1.equals(hasloN2)){
- dout.writeUTF(hasloN1);
- wyjscie = din.readUTF();
- if(wyjscie.equals("ok")){
- System.out.println("\nZmieniono hasło");
- }
- else if(wyjscie.equals("err")){
- System.out.println("\n- Wystąpił błąd przy zmienianiu hasła! -");
- }
- }
- else{
- System.out.print("\nHasła się różnią");
- }
- }
- else if(wyjscie.equals("not")){
- System.out.println("\nBłędne hasło");
- }
- else if(wyjscie.equals("err")){
- System.out.println("\n- Wystąpił błąd przy sprawdzaniu hasła! -");
- }
- }
- public static void edytujDane(Socket s) throws IOException{ //tutajjjjjjjjjjjjjjjjjjjjj
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- String login = "", potwierdzenie = "", imie = "", nazwisko = "", peselS = "";
- int pesel = 0;
- System.out.print("Wprowadź numer użytkownika: ");
- login = sc.next();
- dout.writeUTF(login);
- potwierdzenie = din.readUTF();
- if(potwierdzenie.equals("ok")){
- System.out.println("Wprowadź nowe dane");
- System.out.print("Nazwisko: ");
- nazwisko = sc.next();
- System.out.print("Imię: ");
- imie = sc.next();
- System.out.print("Pesel: ");
- pesel = sc.nextInt();
- peselS = pesel + "";
- dout.writeUTF(nazwisko);
- dout.writeUTF(imie);
- dout.writeUTF(peselS);
- }
- else if(potwierdzenie.equals("not")){
- System.out.println("\nBrak użytkownika w bazie");
- }
- }
- public static void wplataGotowki(Socket s, String akcja) throws IOException{
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- String login = "", potwierdzenie = "", kontoS = "", wartoscS = "";
- int wartosc, konto, wyjscie = 0;
- System.out.print("Wprowadź numer użytkownika: ");
- login = sc.next();
- dout.writeUTF(login);
- potwierdzenie = din.readUTF();
- if(potwierdzenie.equals("ok")){
- if(akcja.equals("wplata")){
- System.out.print("Wprowadź wartość wpłacanej gotówki: ");
- wartosc = sc.nextInt();
- wartoscS = wartosc + "";
- }
- else if(akcja.equals("wyplata")){
- System.out.print("Wprowadź wartość wypłacanej gotówki: ");
- wartosc = sc.nextInt();
- wartoscS = wartosc + "";
- }
- do{
- if(akcja.equals("wplata")){
- System.out.println("Na które konto wpłacić? \n1. Rozliczeniowe\n2. Oszczędnościowe");
- System.out.print("Wpłata na: ");
- }
- else if(akcja.equals("wyplata")){
- System.out.println("Z którego konta wypłacić? \n1. Rozliczeniowe\n2. Oszczędnościowe");
- System.out.print("Wypłata z: ");
- }
- konto = sc.nextInt();
- if(konto == 1 || konto == 2){
- wyjscie = 1;
- }
- else{
- System.out.println("Błędna opcja\n");
- }
- }while(wyjscie == 0);
- kontoS = konto + "";
- if(akcja.equals("wplata")){
- System.out.print("Czy na pewno dokonać wpłaty? (TAK/NIE) ");
- }
- else if(akcja.equals("wyplata")){
- System.out.print("Czy na pewno dokonać wypłaty? (TAK/NIE) ");
- }
- potwierdzenie = sc.next();
- dout.writeUTF(potwierdzenie);
- if(potwierdzenie.equals("TAK")){
- dout.writeUTF(akcja);
- dout.writeUTF(wartoscS);
- dout.writeUTF(kontoS);
- if(akcja.equals("wplata")){
- System.out.print("\nDokonano wpłaty");
- }
- else if(akcja.equals("wyplata")){
- System.out.print("\nDokonano wypłaty");
- }
- }
- else if(potwierdzenie.equals("NIE")){
- if(akcja.equals("wplata")){
- System.out.print("\nAnulowano wpłatę\n\n");
- }
- else if(akcja.equals("wyplata")){
- System.out.print("\nAnulowano wypłatę\n\n");
- }
- }
- }
- else if(potwierdzenie.equals("not")){
- System.out.print("\nBrak użytkownika w bazie\n\n");
- }
- }
- public static void sprawdzSaldo(Socket s, String login) throws IOException, SQLException{
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- dout.writeUTF(login);
- System.out.println("Konto rozliczeniowe: " + din.readUTF());
- System.out.println("Konto oszczędnościowe: " + din.readUTF());
- }
- public static void main(String args[]) throws IOException, SQLException {
- Socket s = new Socket("127.0.0.1",8050);
- /*try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- try {
- Connection c = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/xe", "hr", "hr");
- } catch (SQLException e) {
- e.printStackTrace();
- }*/
- DataInputStream din = new DataInputStream(s.getInputStream());
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- String start, prawa, akcja = "", login;
- int wyjscie = 0;
- do{
- login = logowanie(s);
- prawa = din.readUTF();
- menuLogowanie(prawa);
- do{
- switch (prawa) {
- case "Admin":
- menuAdministrator();
- do{
- wyjscie = 0;
- akcja = panelBlokada(prawa, 4); //zabezpieczenie funkcji
- if(!akcja.equals("")){
- wyjscie = 1;
- }
- }while(wyjscie != 1);
- dout.writeUTF(akcja);
- funkcjeAdmin(s, akcja);
- break;
- case "Pracownik":
- menuPracownik();
- do{
- wyjscie = 0;
- akcja = panelBlokada(prawa, 8); //zabezpieczenie funkcji
- if(!akcja.equals("")){
- wyjscie = 1;
- }
- }while(wyjscie != 1);
- dout.writeUTF(akcja);
- funkcjePracownik(s, akcja, login);
- break;
- case "Uzytkownik":
- menuUzytkownik();
- do{
- wyjscie = 0;
- akcja = panelBlokada(prawa, 3); //zabezpieczenie funkcji
- if(!akcja.equals("")){
- wyjscie = 1;
- }
- }while(wyjscie != 1);
- dout.writeUTF(akcja);
- funkcjeUzytkownik(s, akcja, login);
- break;
- }
- }while(!akcja.equals("0"));
- System.out.println("\nPomyślnie wylogowano\n");
- System.out.print("Czy chcesz się zalogować ponownie? (TAK/NIE): ");
- start = sc.next();
- dout.writeUTF(start);
- }while(!start.equals("NIE"));
- s.close();
- sc.close();
- }
- }
Add Comment
Please, Sign In to add comment