From 1ee986e7a1630aa4519780dae8a2f1d63c334ad5 Mon Sep 17 00:00:00 2001 From: atrunz Date: Mon, 2 Mar 2026 03:11:58 -0500 Subject: [PATCH 1/6] initial commit --- src/main/java/org/codedifferently/Main.java | 84 +++++++++++++++++-- .../codedifferently/MaintenanceOffice.java | 4 + .../codedifferently/MaintenanceRequest.java | 71 ++++++++++++++++ 3 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 src/main/java/org/codedifferently/MaintenanceOffice.java create mode 100644 src/main/java/org/codedifferently/MaintenanceRequest.java diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 435139b..97abc61 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,17 +1,85 @@ package org.codedifferently; +import java.util.ArrayList; +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!"); - - 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); + + MaintenanceRequest request1 = new MaintenanceRequest("Bob", "A1", "Water Leak", 4); + MaintenanceRequest request2 = new MaintenanceRequest("Sam", "B1", "Broken Spring", 1, "Old"); + MaintenanceRequest request3 = new MaintenanceRequest("Larry", "C1", "Window Repair", 2); + + ArrayList requests = new ArrayList(); + + requests.add(request1); + requests.add(request2); + requests.add(request3); + + for (MaintenanceRequest request : requests) { + System.out.println(request.toString()); + if (request.getSeverity() >= 4) { + System.out.println("HIGH PRIORITY"); + + } + } + + + Scanner scanner = new Scanner(System.in); + + boolean exitCondition = false; + + while (!exitCondition) { + + System.out.print("Enter tenant name (or type 'done' to exit): "); + String name = scanner.nextLine(); + + if (name.equalsIgnoreCase("done")) { + break; + } + + System.out.print("Enter apartment number: "); + String aptnum = scanner.nextLine(); + if (aptnum.equalsIgnoreCase("done")) { + break; + } + + System.out.print("Enter issue type: "); + String issue = scanner.nextLine(); + if (issue.equalsIgnoreCase("done")) { + break; + } + + int severity = 0; + + while (true) { + System.out.print("Enter severity (1-5): "); + String severityInput = scanner.nextLine(); + + if (severityInput.equalsIgnoreCase("done")) { + return; // exits entire method + } + + try { + severity = Integer.parseInt(severityInput); + + if (severity >= 1 && severity <= 5) { + break; + } else { + System.out.println("Severity must be between 1 and 5."); + } + + } catch (NumberFormatException e) { + System.out.println("Invalid input. Please enter a number or 'done'."); + } + } + + System.out.println("Request Received"); + MaintenanceRequest request = new MaintenanceRequest(name, aptnum, issue, severity); + requests.add(request); + } } } \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java new file mode 100644 index 0000000..b78e1b0 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -0,0 +1,4 @@ +package org.codedifferently; + +public class MaintenanceOffice { +} diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java new file mode 100644 index 0000000..27de729 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -0,0 +1,71 @@ +package org.codedifferently; + +public class MaintenanceRequest { + private String tenantName; + private String apartmentNumber; + private String issueType; + private int severity; + private String status; + + public MaintenanceRequest(String tenantName, String apartmentNumber, String issueType, int severity) { + this.tenantName = tenantName; + this.apartmentNumber = apartmentNumber; + this.issueType = issueType; + this.severity = severity; + this.status= "NEW"; + } + + public MaintenanceRequest(String tenantName, String apartmentNumber, String issueType, int severity, String status) { + this.tenantName = tenantName; + this.apartmentNumber = apartmentNumber; + this.issueType = issueType; + this.severity = severity; + this.status= status; + } + + public String getTenantName() { + return tenantName; + } + + public String getApartmentNumber() { + return apartmentNumber; + } + + public String getIssueType() { + return issueType; + } + + public String getStatus() { + return status; + } + + public int getSeverity() { + return severity; + } + + public void setTenantName(String tenantName) { + this.tenantName = tenantName; + } + + public void setApartmentNumber(String apartmentNumber) { + this.apartmentNumber = apartmentNumber; + } + + public void setIssueType(String issueType) { + this.issueType = issueType; + } + + public void setSeverity(int severity) { + this.severity = severity; + } + + public void setStatus(String status) { + this.status = status; + } + + @Override + public String toString() { + if() + return getTenantName() + " " + getApartmentNumber() + " " + getIssueType() + " " + getSeverity() + " " + getStatus(); + } +} From 7fca4023d8b7da8e6a78984c1cde0a95122432ff Mon Sep 17 00:00:00 2001 From: atrunz Date: Mon, 2 Mar 2026 03:13:00 -0500 Subject: [PATCH 2/6] initial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1913f7d..b328134 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ Submit: * Screenshot or copy of sample console output * Clean, formatted code ---- +---- # Creative Extension (Optional) From abb72530e248a8cb6f7a81d23ffc65e802caeb04 Mon Sep 17 00:00:00 2001 From: atrunz Date: Tue, 3 Mar 2026 02:26:00 -0500 Subject: [PATCH 3/6] working on maintenance office --- src/main/java/org/codedifferently/Main.java | 19 +++++++ .../codedifferently/MaintenanceOffice.java | 53 ++++++++++++++++++- .../codedifferently/MaintenanceRequest.java | 1 - 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 97abc61..014f11f 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -26,6 +26,18 @@ public static void main(String[] args) { } } + MaintenanceOffice office = new MaintenanceOffice(); + + System.out.println("Assigned tech for r1: " + office.assignTech(request1)); + System.out.println("Assigned tech for r2: " + office.assignTech(request2)); + + office.updateStatus(request1, "IN_PROGRESS"); + office.updateStatus(request2, "DONE"); + + // Won't close unless DONE: + office.closeRequest(request1); // prints warning + office.closeRequest(request2); // closes + Scanner scanner = new Scanner(System.in); @@ -66,6 +78,13 @@ public static void main(String[] args) { severity = Integer.parseInt(severityInput); if (severity >= 1 && severity <= 5) { + + if(severity == 5){ + System.out.println("DISPATCH"); + } + else if (severity >= 4 && issue.equals("Electrical")){ + System.out.println("Warning"); + } break; } else { System.out.println("Severity must be between 1 and 5."); diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index b78e1b0..089b46d 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -1,4 +1,55 @@ package org.codedifferently; public class MaintenanceOffice { -} + + /** + * Assign a technician name based on severity. + * You can change the names / logic as needed. + */ + public String assignTech(MaintenanceRequest request) { + int s = request.getSeverity(); + + if (s >= 5) return "Tech A (Emergency)"; + if (s >= 4) return "Tech B (Priority)"; + if (s >= 2) return "Tech C (Standard)"; + return "Tech D (Low)"; + } + + /** + * Updates the request status ONLY if it's one of: + * NEW, IN_PROGRESS, DONE + */ + public boolean updateStatus(MaintenanceRequest request, String newStatus) { + if (newStatus == null) return false; + + String format = newStatus.trim().toUpperCase(); + + if (!format.equals("NEW") && !format.equals("IN_PROGRESS") && !format.equals("DONE")) { + System.out.println("Invalid status. Allowed: NEW, IN_PROGRESS, DONE"); + return false; + } + + request.setStatus(format); + return true; + } + + /** + * Closes a request only if status is DONE. + */ + public boolean closeRequest(MaintenanceRequest request) { + if (request == null) return false; + + if (!"DONE".equals(request.getStatus())) { + System.out.println("Cannot close request unless status is DONE."); + return false; + } + + // If your model treats DONE as "closed", then closing is essentially confirming it. + // If you want a separate CLOSED status, you *can't* add it because rules forbid it. + System.out.println("Request closed: " + request.getTenantName() + + " (Apt " + request.getApartmentNumber() + ")"); + return true; + } + + +} \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java index 27de729..1c17c16 100644 --- a/src/main/java/org/codedifferently/MaintenanceRequest.java +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -65,7 +65,6 @@ public void setStatus(String status) { @Override public String toString() { - if() return getTenantName() + " " + getApartmentNumber() + " " + getIssueType() + " " + getSeverity() + " " + getStatus(); } } From 0b7d932c7df005751640dee9db2a5f36db1d7c1d Mon Sep 17 00:00:00 2001 From: atrunz Date: Tue, 3 Mar 2026 10:52:23 -0500 Subject: [PATCH 4/6] adjusted comments --- src/main/java/org/codedifferently/Main.java | 7 +++---- .../org/codedifferently/MaintenanceOffice.java | 17 ++++------------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 014f11f..8c6bc3c 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -34,9 +34,8 @@ public static void main(String[] args) { office.updateStatus(request1, "IN_PROGRESS"); office.updateStatus(request2, "DONE"); - // Won't close unless DONE: - office.closeRequest(request1); // prints warning - office.closeRequest(request2); // closes + office.closeRequest(request1); + office.closeRequest(request2); Scanner scanner = new Scanner(System.in); @@ -71,7 +70,7 @@ public static void main(String[] args) { String severityInput = scanner.nextLine(); if (severityInput.equalsIgnoreCase("done")) { - return; // exits entire method + return; } try { diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index 089b46d..459a2a3 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -2,10 +2,7 @@ public class MaintenanceOffice { - /** - * Assign a technician name based on severity. - * You can change the names / logic as needed. - */ + public String assignTech(MaintenanceRequest request) { int s = request.getSeverity(); @@ -15,10 +12,7 @@ public String assignTech(MaintenanceRequest request) { return "Tech D (Low)"; } - /** - * Updates the request status ONLY if it's one of: - * NEW, IN_PROGRESS, DONE - */ + public boolean updateStatus(MaintenanceRequest request, String newStatus) { if (newStatus == null) return false; @@ -33,9 +27,7 @@ public boolean updateStatus(MaintenanceRequest request, String newStatus) { return true; } - /** - * Closes a request only if status is DONE. - */ + public boolean closeRequest(MaintenanceRequest request) { if (request == null) return false; @@ -44,8 +36,7 @@ public boolean closeRequest(MaintenanceRequest request) { return false; } - // If your model treats DONE as "closed", then closing is essentially confirming it. - // If you want a separate CLOSED status, you *can't* add it because rules forbid it. + System.out.println("Request closed: " + request.getTenantName() + " (Apt " + request.getApartmentNumber() + ")"); return true; From 93e4875af60b10a6d8e705dc9522fdad365abe14 Mon Sep 17 00:00:00 2001 From: atrunz Date: Tue, 3 Mar 2026 11:54:46 -0500 Subject: [PATCH 5/6] cleaned main and built better program loop --- README.md | 1 + src/main/java/org/codedifferently/Main.java | 183 +++++++++++------- .../codedifferently/MaintenanceOffice.java | 106 +++++++++- .../codedifferently/MaintenanceRequest.java | 59 ++---- 4 files changed, 236 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index b328134..22690e6 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ In `Main`: * Create at least **3 requests** * Use a loop to print them * Print `"HIGH PRIORITY"` if severity ≥ 4 +* --- diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 8c6bc3c..96b4f75 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -3,101 +3,148 @@ import java.util.ArrayList; 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) { + // Starter requests MaintenanceRequest request1 = new MaintenanceRequest("Bob", "A1", "Water Leak", 4); - MaintenanceRequest request2 = new MaintenanceRequest("Sam", "B1", "Broken Spring", 1, "Old"); + MaintenanceRequest request2 = new MaintenanceRequest("Sam", "B1", "Broken Spring", 1, "NEW"); MaintenanceRequest request3 = new MaintenanceRequest("Larry", "C1", "Window Repair", 2); - ArrayList requests = new ArrayList(); - - requests.add(request1); - requests.add(request2); - requests.add(request3); - - for (MaintenanceRequest request : requests) { - System.out.println(request.toString()); - if (request.getSeverity() >= 4) { - System.out.println("HIGH PRIORITY"); - - } - } - MaintenanceOffice office = new MaintenanceOffice(); - - System.out.println("Assigned tech for r1: " + office.assignTech(request1)); - System.out.println("Assigned tech for r2: " + office.assignTech(request2)); - - office.updateStatus(request1, "IN_PROGRESS"); - office.updateStatus(request2, "DONE"); - - office.closeRequest(request1); - office.closeRequest(request2); - + office.addRequest(request1); + office.addRequest(request2); + office.addRequest(request3); Scanner scanner = new Scanner(System.in); + boolean running = true; + + while (running) { + System.out.println("\n--- MAINTENANCE MENU ---"); + System.out.println("1) Create a request"); + System.out.println("2) Assign a tech to an existing request"); + System.out.println("3) Update request status (NEW / IN_PROGRESS / DONE)"); + System.out.println("4) Daily report"); + System.out.println("5) Exit"); + System.out.print("Choose: "); + + String choice = scanner.nextLine().trim(); + + switch (choice) { + case "1": { + // CREATE REQUEST + System.out.print("Enter tenant name (or type 'done' to cancel): "); + String name = scanner.nextLine().trim(); + if (name.equalsIgnoreCase("done")) break; + + System.out.print("Enter apartment number (or type 'done' to cancel): "); + String apt = scanner.nextLine().trim(); + if (apt.equalsIgnoreCase("done")) break; + + System.out.print("Enter issue type (or type 'done' to cancel): "); + String issue = scanner.nextLine().trim(); + if (issue.equalsIgnoreCase("done")) break; + + int severity; + while (true) { + System.out.print("Enter severity (1-5) (or type 'done' to cancel): "); + String sevInput = scanner.nextLine().trim(); + if (sevInput.equalsIgnoreCase("done")) { + severity = -1; + break; + } + try { + severity = Integer.parseInt(sevInput); + if (severity >= 1 && severity <= 5) break; + System.out.println("Severity must be 1-5."); + } catch (NumberFormatException e) { + System.out.println("Invalid number."); + } + } + if (severity == -1) break; - boolean exitCondition = false; + MaintenanceRequest newReq = new MaintenanceRequest(name, apt, issue, severity); + office.addRequest(newReq); - while (!exitCondition) { + // Special actions + assign tech + office.handleSpecialCases(newReq); + String tech = office.assignTech(newReq); + System.out.println("Request received and saved."); + System.out.println("Assigned tech: " + tech); + break; + } - System.out.print("Enter tenant name (or type 'done' to exit): "); - String name = scanner.nextLine(); + case "2": { + // ASSIGN TECH TO EXISTING + System.out.print("Enter tenant name (or type 'done' to cancel): "); + String name = scanner.nextLine().trim(); + if (name.equalsIgnoreCase("done")) break; - if (name.equalsIgnoreCase("done")) { - break; - } + System.out.print("Enter apartment number (or type 'done' to cancel): "); + String apt = scanner.nextLine().trim(); + if (apt.equalsIgnoreCase("done")) break; - System.out.print("Enter apartment number: "); - String aptnum = scanner.nextLine(); - if (aptnum.equalsIgnoreCase("done")) { - break; - } + MaintenanceRequest found = office.findActiveRequest(name, apt); + if (found == null) { + System.out.println("No ACTIVE request found for " + name + " (Apt " + apt + ")."); + } else { + System.out.println("Found: " + found); + System.out.println("Assigned tech: " + office.assignTech(found)); + } + break; + } - System.out.print("Enter issue type: "); - String issue = scanner.nextLine(); - if (issue.equalsIgnoreCase("done")) { - break; - } + case "3": { + // UPDATE STATUS + System.out.print("Enter tenant name (or type 'done' to cancel): "); + String name = scanner.nextLine().trim(); + if (name.equalsIgnoreCase("done")) break; - int severity = 0; + System.out.print("Enter apartment number (or type 'done' to cancel): "); + String apt = scanner.nextLine().trim(); + if (apt.equalsIgnoreCase("done")) break; - while (true) { - System.out.print("Enter severity (1-5): "); - String severityInput = scanner.nextLine(); + MaintenanceRequest found = office.findActiveRequest(name, apt); + if (found == null) { + System.out.println("No ACTIVE request found for " + name + " (Apt " + apt + ")."); + break; + } - if (severityInput.equalsIgnoreCase("done")) { - return; - } + System.out.print("Enter new status (NEW / IN_PROGRESS / DONE): "); + String newStatus = scanner.nextLine().trim(); - try { - severity = Integer.parseInt(severityInput); + boolean updated = office.updateStatus(found, newStatus); + if (!updated) break; - if (severity >= 1 && severity <= 5) { + System.out.println("Updated: " + found); - if(severity == 5){ - System.out.println("DISPATCH"); - } - else if (severity >= 4 && issue.equals("Electrical")){ - System.out.println("Warning"); + // If DONE -> close and move to closed list + if ("DONE".equals(found.getStatus())) { + boolean closed = office.closeRequest(found); + if (closed) { + System.out.println("Request moved to CLOSED list."); } - break; - } else { - System.out.println("Severity must be between 1 and 5."); } + break; + } - } catch (NumberFormatException e) { - System.out.println("Invalid input. Please enter a number or 'done'."); + case "4": { + // DAILY REPORT + office.dailyReport(); + break; } - } - System.out.println("Request Received"); - MaintenanceRequest request = new MaintenanceRequest(name, aptnum, issue, severity); - requests.add(request); + case "5": { + running = false; + System.out.println("Goodbye."); + break; + } + default: + System.out.println("Invalid choice. Pick 1-5."); + } } + + scanner.close(); } } \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index 459a2a3..4423bb6 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -1,7 +1,29 @@ package org.codedifferently; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + public class MaintenanceOffice { + private final ArrayList activeRequests = new ArrayList<>(); + private final ArrayList closedRequests = new ArrayList<>(); + + public void addRequest(MaintenanceRequest request) { + if (request != null) activeRequests.add(request); + } + + public MaintenanceRequest findActiveRequest(String tenantName, String apartmentNumber) { + if (tenantName == null || apartmentNumber == null) return null; + + for (MaintenanceRequest r : activeRequests) { + if (r.getTenantName().equalsIgnoreCase(tenantName) + && r.getApartmentNumber().equalsIgnoreCase(apartmentNumber)) { + return r; + } + } + return null; + } public String assignTech(MaintenanceRequest request) { int s = request.getSeverity(); @@ -12,9 +34,24 @@ public String assignTech(MaintenanceRequest request) { return "Tech D (Low)"; } + // Special actions for case 1 + public void handleSpecialCases(MaintenanceRequest request) { + if (request == null) return; + + int severity = request.getSeverity(); + String issue = request.getIssueType(); + + if (severity == 5) { + System.out.println("DISPATCH IMMEDIATELY (Severity 5)"); + } + + if (severity >= 4 && issue != null && issue.equalsIgnoreCase("Electrical")) { + System.out.println("WARNING: High severity ELECTRICAL issue."); + } + } public boolean updateStatus(MaintenanceRequest request, String newStatus) { - if (newStatus == null) return false; + if (request == null || newStatus == null) return false; String format = newStatus.trim().toUpperCase(); @@ -27,7 +64,6 @@ public boolean updateStatus(MaintenanceRequest request, String newStatus) { return true; } - public boolean closeRequest(MaintenanceRequest request) { if (request == null) return false; @@ -36,11 +72,77 @@ public boolean closeRequest(MaintenanceRequest request) { return false; } + // Move from active -> closed + boolean removed = activeRequests.remove(request); + if (!removed) return false; + + request.setStatus("CLOSED"); + closedRequests.add(request); System.out.println("Request closed: " + request.getTenantName() + " (Apt " + request.getApartmentNumber() + ")"); return true; } + public void dailyReport() { + int total = activeRequests.size() + closedRequests.size(); + int open = activeRequests.size(); + int closed = closedRequests.size(); + + int low = 0; // 1-2 + int medium = 0; // 3 + int high = 0; // 4-5 + + Map issueCounts = new HashMap<>(); + + // Count everything (active + closed) + for (MaintenanceRequest r : activeRequests) { + int sev = r.getSeverity(); + if (sev <= 2) low++; + else if (sev == 3) medium++; + else high++; + + //ternary, issue set to either "UNKNOWN" or issue type + String issue = (r.getIssueType() == null) ? "UNKNOWN" : r.getIssueType().trim().toUpperCase(); + issueCounts.put(issue, issueCounts.getOrDefault(issue, 0) + 1); + } + + for (MaintenanceRequest r : closedRequests) { + int sev = r.getSeverity(); + if (sev <= 2) low++; + else if (sev == 3) medium++; + else high++; + //ternary, issue set to either "UNKNOWN" or issue type + String issue = (r.getIssueType() == null) ? "UNKNOWN" : r.getIssueType().trim().toUpperCase(); + issueCounts.put(issue, issueCounts.getOrDefault(issue, 0) + 1); + } + + String mostCommonIssue = "N/A"; + int bestCount = 0; + for (Map.Entry entry : issueCounts.entrySet()) { + if (entry.getValue() > bestCount) { + bestCount = entry.getValue(); + mostCommonIssue = entry.getKey(); + } + } + int highPriorityActive = 0; + for (MaintenanceRequest r : activeRequests) { + if (r.getSeverity() >= 4) highPriorityActive++; + } + + System.out.println("\n--- DAILY REPORT ---"); + System.out.println("Total requests (all time): " + total); + System.out.println("Open (active): " + open); + System.out.println("Closed: " + closed); + System.out.println("Severity counts:"); + System.out.println(" Low (1-2): " + low); + System.out.println(" Medium (3): " + medium); + System.out.println(" High (4-5): " + high); + System.out.println("Most common issue type: " + mostCommonIssue + " (" + bestCount + ")"); + + if (highPriorityActive > 3) { + System.out.println("OVERLOAD WARNING: High priority ACTIVE requests = " + highPriorityActive); + } + } } \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java index 1c17c16..d0e79de 100644 --- a/src/main/java/org/codedifferently/MaintenanceRequest.java +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -5,14 +5,14 @@ public class MaintenanceRequest { private String apartmentNumber; private String issueType; private int severity; - private String status; + private String status; // NEW, IN_PROGRESS, DONE, CLOSED public MaintenanceRequest(String tenantName, String apartmentNumber, String issueType, int severity) { this.tenantName = tenantName; this.apartmentNumber = apartmentNumber; this.issueType = issueType; this.severity = severity; - this.status= "NEW"; + this.status = "NEW"; } public MaintenanceRequest(String tenantName, String apartmentNumber, String issueType, int severity, String status) { @@ -20,51 +20,24 @@ public MaintenanceRequest(String tenantName, String apartmentNumber, String issu this.apartmentNumber = apartmentNumber; this.issueType = issueType; this.severity = severity; - this.status= status; + this.status = (status == null || status.trim().isEmpty()) ? "NEW" : status.trim().toUpperCase(); } - public String getTenantName() { - return tenantName; - } - - public String getApartmentNumber() { - return apartmentNumber; - } - - public String getIssueType() { - return issueType; - } - - public String getStatus() { - return status; - } - - public int getSeverity() { - return severity; - } - - public void setTenantName(String tenantName) { - this.tenantName = tenantName; - } - - public void setApartmentNumber(String apartmentNumber) { - this.apartmentNumber = apartmentNumber; - } + public String getTenantName() { return tenantName; } + public String getApartmentNumber() { return apartmentNumber; } + public String getIssueType() { return issueType; } + public int getSeverity() { return severity; } + public String getStatus() { return status; } - public void setIssueType(String issueType) { - this.issueType = issueType; - } - - public void setSeverity(int severity) { - this.severity = severity; - } - - public void setStatus(String status) { - this.status = status; - } + public void setTenantName(String tenantName) { this.tenantName = tenantName; } + public void setApartmentNumber(String apartmentNumber) { this.apartmentNumber = apartmentNumber; } + public void setIssueType(String issueType) { this.issueType = issueType; } + public void setSeverity(int severity) { this.severity = severity; } + public void setStatus(String status) { this.status = status; } @Override public String toString() { - return getTenantName() + " " + getApartmentNumber() + " " + getIssueType() + " " + getSeverity() + " " + getStatus(); + return tenantName + " | Apt " + apartmentNumber + " | " + issueType + + " | Sev " + severity + " | " + status; } -} +} \ No newline at end of file From 3db9775eafe4886fce2c687459e3fc2531e86f23 Mon Sep 17 00:00:00 2001 From: atrunz Date: Tue, 3 Mar 2026 14:24:22 -0500 Subject: [PATCH 6/6] updated prints --- src/main/java/org/codedifferently/MaintenanceOffice.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index 4423bb6..a2de7c4 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -132,10 +132,10 @@ public void dailyReport() { } System.out.println("\n--- DAILY REPORT ---"); - System.out.println("Total requests (all time): " + total); - System.out.println("Open (active): " + open); + System.out.println("All time Requests): " + total); + System.out.println("Active: " + open); System.out.println("Closed: " + closed); - System.out.println("Severity counts:"); + System.out.println("Severity frequency:"); System.out.println(" Low (1-2): " + low); System.out.println(" Medium (3): " + medium); System.out.println(" High (4-5): " + high);