diff --git a/README.md b/README.md
index 1913f7d..706e70b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Apartment Maintenance Request Tracker
+##333#### Apartment Maintenance Request Tracker
### Keep the Building Running.
diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java
index 435139b..c242453 100644
--- a/src/main/java/org/codedifferently/Main.java
+++ b/src/main/java/org/codedifferently/Main.java
@@ -1,17 +1,35 @@
package org.codedifferently;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
-//TIP To Run code, press or
-// click the icon in the gutter.
public class Main {
public static void main(String[] args) {
- //TIP Press with your caret at the highlighted text
- // to see how IntelliJ IDEA suggests fixing it.
- System.out.printf("Hello and welcome!");
+ List requests = new ArrayList<>();
+ Scanner scanner = new Scanner(System.in);
- for (int i = 1; i <= 5; i++) {
- //TIP Press to start debugging your code. We have set one breakpoint
- // for you, but you can always add more by pressing .
- System.out.println("i = " + i);
+ // Intake requests from the user
+ while (true) {
+ System.out.print("Enter issue type (or 'done' to finish): ");
+ String issueType = scanner.nextLine();
+ if (issueType.equalsIgnoreCase("done")) {
+ break;
+ }
+ System.out.print("Enter severity level (1-5): ");
+ int severity = Integer.parseInt(scanner.nextLine());
+
+ MaintenanceRequest request = new MaintenanceRequest(issueType, severity);
+ requests.add(request);
+ System.out.println("Request logged: " + request);
+ if (severity >= 4) {
+ System.out.println("HIGH PRIORITY");
+ }
+ }
+
+ // Print all requests
+ System.out.println("\nAll logged requests:");
+ for (MaintenanceRequest req : requests) {
+ System.out.println(req);
}
}
}
\ No newline at end of file
diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java
new file mode 100644
index 0000000..6388b87
--- /dev/null
+++ b/src/main/java/org/codedifferently/MaintenanceRequest.java
@@ -0,0 +1,46 @@
+package org.codedifferently;
+
+public class MaintenanceRequest {
+ private String issueType;
+ private int severity;
+ private String status;
+
+ // Default constructor
+ public MaintenanceRequest() {
+ this.status = "NEW";
+ }
+
+ // Parameterized constructor
+ public MaintenanceRequest(String issueType, int severity) {
+ this.issueType = issueType;
+ this.severity = severity;
+ this.status = "NEW";
+ }
+
+ // Getters and Setters
+ public String getIssueType() {
+ return issueType;
+ }
+
+ public void setIssueType(String issueType) {
+ this.issueType = issueType;
+ }
+
+ public int getSeverity() {
+ return severity;
+ }
+
+ public void setSeverity(int severity) {
+ this.severity = severity;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ // toString method
+ @Override
+ public String toString() {
+ return "Issue: " + issueType + ", Severity: " + severity + ", Status: " + status;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/codedifferently/MaintenceOffice.java b/src/main/java/org/codedifferently/MaintenceOffice.java
new file mode 100644
index 0000000..ae470f3
--- /dev/null
+++ b/src/main/java/org/codedifferently/MaintenceOffice.java
@@ -0,0 +1,94 @@
+package org.codedifferently;
+
+import java.util.ArrayList;
+
+public class MaintenanceOffice {
+
+ private ArrayList requests;
+
+ public MaintenanceOffice() {
+ this.requests = new ArrayList<>();
+ }
+
+ public void addRequest(MaintenanceRequest request) {
+ requests.add(request);
+ }
+
+ // LEVEL 3 — Assign Tech Based on Severity
+ public void assignTechnician(MaintenanceRequest request) {
+
+ if (request.getSeverity().equalsIgnoreCase("HIGH")) {
+ request.setTechnician("Senior Tech");
+ } else if (request.getSeverity().equalsIgnoreCase("MEDIUM")) {
+ request.setTechnician("Regular Tech");
+ } else {
+ request.setTechnician("Junior Tech");
+ }
+
+ request.setStatus("IN_PROGRESS");
+ }
+
+ // Update Status (only allowed values)
+ public void updateStatus(MaintenanceRequest request, String newStatus) {
+
+ if (newStatus.equals("NEW") ||
+ newStatus.equals("IN_PROGRESS") ||
+ newStatus.equals("DONE")) {
+
+ request.setStatus(newStatus);
+ } else {
+ System.out.println("Invalid status update.");
+ }
+ }
+
+ // Close request ONLY if DONE
+ public void closeRequest(MaintenanceRequest request) {
+
+ if (request.getStatus().equals("DONE")) {
+ System.out.println("Request closed.");
+ } else {
+ System.out.println("Cannot close request unless status is DONE.");
+ }
+ }
+
+ // LEVEL 4 — Daily Report
+ public void printDailyReport() {
+
+ int total = requests.size();
+ int open = 0;
+ int closed = 0;
+
+ int low = 0;
+ int medium = 0;
+ int high = 0;
+
+ for (MaintenanceRequest r : requests) {
+
+ if (!r.getStatus().equals("DONE")) {
+ open++;
+ } else {
+ closed++;
+ }
+
+ if (r.getSeverity().equalsIgnoreCase("LOW")) {
+ low++;
+ } else if (r.getSeverity().equalsIgnoreCase("MEDIUM")) {
+ medium++;
+ } else if (r.getSeverity().equalsIgnoreCase("HIGH")) {
+ high++;
+ }
+ }
+
+ System.out.println("===== DAILY REPORT =====");
+ System.out.println("Total Requests: " + total);
+ System.out.println("Open: " + open);
+ System.out.println("Closed: " + closed);
+ System.out.println("Low Severity: " + low);
+ System.out.println("Medium Severity: " + medium);
+ System.out.println("High Severity: " + high);
+
+ if (high > 3) {
+ System.out.println("⚠ OVERLOAD WARNING: Too many high priority requests!");
+ }
+ }
+}
\ No newline at end of file