Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 85 additions & 19 deletions src/main/java/org/example/fromrima/AdminModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,95 @@
import java.util.Scanner;

public class AdminModule {
public static void main(String[] args) {
Scanner inputBuffObj = new Scanner(System.in);
ArrayList<String> customerArray = new ArrayList<>();
public static void adminMenu(Scanner input, ArrayList<Complaint> complaints) {
System.out.print("Enter Admin PIN: ");
int pin = input.nextInt();
if (pin != 1234) {
System.out.println("Incorrect PIN");
return;
}
while (true) {
System.out.println("-------- Main Menu --------");
System.out.println(" 1. Customer\n 2. Admin\n 3. Support Staff\n 4. Exit");
int userInput = inputBuffObj.nextInt();

if (userInput == 2) {
System.out.print("Enter Admin PIN: ");
int adminPIN = inputBuffObj.nextInt();
if (adminPIN == 1234) {
System.out.println(" 1.View all complaints.\n 2.Search complaint by ID.\n 3.Close a complaint.");
if (userInput == 1) {
System.out.println(customerArray);
} else if (userInput == 2) {

System.out.println("\n--- Admin Menu ---");
System.out.println("1. View All Complaints");
System.out.println("2. Search Complaint");
System.out.println("3. Close Complaint");
System.out.println("4. Back");
System.out.println("5. Exit");
int choice = input.nextInt();
switch (choice) {
case 1:
if (complaints.isEmpty()) {
System.out.println("No Complaints Found");
}
} else {
System.out.println("InCorrect PIN");
}
for (Complaint complaint : complaints) {
System.out.println(complaint);
}
break;
case 2:
System.out.print("Enter Complaint ID: ");
int searchId = input.nextInt();
boolean found = false;
for (Complaint complaint : complaints) {
if (complaint.getComplaintId() == searchId) {
System.out.println(complaint);
found = true;
}
}
if (!found) {
System.out.println("Complaint Not Found");
}
break;
case 3:
System.out.print("Enter Complaint ID: ");
int closeId = input.nextInt();
boolean closed = false;
for (Complaint complaint : complaints) {
if (complaint.getComplaintId() == closeId) {
if (complaint.getStatus().equals("CLOSED")) {
System.out.println("Already Closed");
} else {
complaint.setStatus("CLOSED");
System.out.println("Complaint Closed");
}
closed = true;
}
}
if (!closed) {
System.out.println("Complaint Not Found");
}
break;
case 4:
return;
case 5:
System.out.println("Good Bye");
System.exit(0);
default:
System.out.println("Invalid Choice");
}
}
}

public static void assignComplaint(Scanner input, ArrayList<Complaint> complaints) {
System.out.print("Enter Complaint ID: ");
int id = input.nextInt();
input.nextLine();
boolean found = false;
for (Complaint complaint : complaints) {
if (complaint.getComplaintId() == id) {
if (complaint.getStatus().equals("CLOSED")) {
System.out.println("Closed Complaint Cannot Be Assigned");
return;
}
System.out.print("Enter Staff Name: ");
String staffName = input.nextLine();
complaint.setAssignedStaff(staffName);
System.out.println("Assignment Successful");
found = true;
break;
}
}
if (!found) {
System.out.println("Complaint Not Found");
}
}
}
35 changes: 29 additions & 6 deletions src/main/java/org/example/fromrima/CliErp.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,39 @@
package org.example.fromrima;

import java.util.ArrayList;
import java.util.Scanner;

public class CliErp {
public static void main(String[] args) {
Scanner inputBuffObj = new Scanner(System.in);
Scanner input = new Scanner(System.in);
ArrayList<Complaint> complaints = new ArrayList<>();
while (true) {
System.out.println("-------- Main Menu --------");
System.out.println(" 1. Customer\n 2. Admin\n 3. Support Staff\n 4. Exit");
int userInput = inputBuffObj.nextInt();

System.out.println("\n-------- Main Menu --------");
System.out.println("1. Customer");
System.out.println("2. Admin");
System.out.println("3. Support Staff");
System.out.println("4. Assign Complaint");
System.out.println("5. Exit");
int choice = input.nextInt();
switch (choice) {
case 1:
CustomerModule.customerMenu(input, complaints);
break;
case 2:
AdminModule.adminMenu(input, complaints);
break;
case 3:
StaffModule.staffMenu(input, complaints);
break;
case 4:
AdminModule.assignComplaint(input, complaints);
break;
case 5:
System.out.println("Good Bye");
System.exit(0);
default:
System.out.println("Invalid Choice");
}
}

}
}
62 changes: 62 additions & 0 deletions src/main/java/org/example/fromrima/Complaint.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package org.example.fromrima;

import java.util.ArrayList;

public class Complaint {
private int complaintId;
private String description;
private String priority;
private String status;
private String assignedStaff;
private ArrayList<String> comments;

public Complaint(int complaintId, String description, String priority) {
this.complaintId = complaintId;
this.description = description;
this.priority = priority;
this.status = "OPEN";
this.assignedStaff = "";
this.comments = new ArrayList<>();
}

public int getComplaintId() {
return complaintId;
}

public String getDescription() {
return description;
}

public String getPriority() {
return priority;
}

public String getStatus() {
return status;
}

public String getAssignedStaff() {
return assignedStaff;
}

public ArrayList<String> getComments() {
return comments;
}

public void setStatus(String status) {
this.status = status;
}

public void setAssignedStaff(String assignedStaff) {
this.assignedStaff = assignedStaff;
}

public void addComment(String comment) {
comments.add(comment);
}

@Override
public String toString() {
return "\nComplaint ID: " + complaintId + "\nDescription: " + description + "\nPriority: " + priority + "\nStatus: " + status + "\nAssigned Staff: " + assignedStaff + "\nComments: " + comments;
}
}
78 changes: 29 additions & 49 deletions src/main/java/org/example/fromrima/CustomerModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,37 @@
import java.util.Scanner;

public class CustomerModule {
public static void main(String[] args) {
Scanner inputBuffObj = new Scanner(System.in);
ArrayList<String> customerArray = new ArrayList<>();
public static void customerMenu(Scanner input, ArrayList<Complaint> complaints) {
while (true) {
System.out.println("-------- Main Menu --------");
System.out.println(" 1. Customer\n 2. Admin\n 3. Support Staff\n 4. Exit");

String userInput = inputBuffObj.nextLine();
int choice;
try {
choice = Integer.parseInt(userInput);
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter a number.");
continue;
}

if (choice == 1) {

System.out.print("Enter Complaint ID: ");
int complaintID = inputBuffObj.nextInt();
inputBuffObj.nextLine();
System.out.print("Enter Complaint Description: ");
String complaintDescription = inputBuffObj.nextLine();

System.out.print("Select Priority [ LOW / MEDIUM (default) / HIGH ] : ");
String complaintPriority = inputBuffObj.nextLine().toUpperCase();
if (complaintPriority.isEmpty() || (!complaintPriority.equals("LOW") && !complaintPriority.equals("HIGH"))) {
complaintPriority = "MEDIUM";
}


customerArray.add(complaintID + complaintDescription + complaintPriority);
System.out.println("confirmation");

}

if (choice == 2) {
System.out.print("Enter Admin PIN: ");
int adminPIN = inputBuffObj.nextInt();
if (adminPIN == 1234) {
System.out.println(" 1.View all complaints.\n 2.Search complaint by ID.\n 3.Close a complaint.");
if (choice == 1) {
System.out.println(customerArray);
} else if (choice == 2) {

System.out.println("\n--- Customer Menu ---");
System.out.println("1. Create Complaint");
System.out.println("2. Back");
System.out.println("3. Exit");
int choice = input.nextInt();
input.nextLine();
switch (choice) {
case 1:
System.out.print("Enter Complaint ID: ");
int id = input.nextInt();
input.nextLine();
System.out.print("Enter Description: ");
String description = input.nextLine();
System.out.print("Priority (LOW/HIGH) or press Enter for MEDIUM: ");
String priority = input.nextLine().toUpperCase();
if (!priority.equals("LOW") &&
!priority.equals("HIGH")) {
priority = "MEDIUM";
}
} else {
System.out.println("InCorrect PIN");
}


complaints.add(new Complaint(id, description, priority));
System.out.println("Complaint Created Successfully");
break;
case 2:
return;
case 3:
System.out.println("Good Bye");
System.exit(0);
default:
System.out.println("Invalid Choice");
}
}
}
Expand Down
Loading
Loading