|
|
@ -234,7 +234,7 @@ public class TonerController { |
|
|
public Map<String, Object> uploadRequest( |
|
|
public Map<String, Object> uploadRequest( |
|
|
@RequestParam("itcellRefNo") String itcellRefNo, |
|
|
@RequestParam("itcellRefNo") String itcellRefNo, |
|
|
@RequestParam("deptId") String deptId, |
|
|
@RequestParam("deptId") String deptId, |
|
|
@RequestParam("zoneId") String zoneId, |
|
|
|
|
|
|
|
|
@RequestParam(value = "zoneId", required = false) String zoneId, |
|
|
@RequestParam("itemsJson") String itemsJson, |
|
|
@RequestParam("itemsJson") String itemsJson, |
|
|
@RequestParam(value = "userRequestFile", required = false) MultipartFile userRequestFile, |
|
|
@RequestParam(value = "userRequestFile", required = false) MultipartFile userRequestFile, |
|
|
HttpSession session) { |
|
|
HttpSession session) { |
|
|
@ -282,8 +282,9 @@ public class TonerController { |
|
|
|
|
|
|
|
|
String urPath = saveUploadedFile(userRequestFile, "user_request", uploadDir); |
|
|
String urPath = saveUploadedFile(userRequestFile, "user_request", uploadDir); |
|
|
|
|
|
|
|
|
|
|
|
String safeZoneId = (zoneId != null && !zoneId.trim().isEmpty()) ? zoneId.trim() : null; |
|
|
boolean saved = tonerService.saveUserRequest( |
|
|
boolean saved = tonerService.saveUserRequest( |
|
|
itcellRefNo.trim(), deptId.trim(), zoneId.trim(), items, urPath, updatedBy); |
|
|
|
|
|
|
|
|
itcellRefNo.trim(), deptId.trim(), safeZoneId, items, urPath, updatedBy); |
|
|
|
|
|
|
|
|
if (saved) { |
|
|
if (saved) { |
|
|
response.put("success", true); |
|
|
response.put("success", true); |
|
|
@ -301,12 +302,96 @@ public class TonerController { |
|
|
return response; |
|
|
return response; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/api/request/update") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public Map<String, Object> updateRequest( |
|
|
|
|
|
@RequestParam("id") int id, |
|
|
|
|
|
@RequestParam("itcellRefNo") String itcellRefNo, |
|
|
|
|
|
@RequestParam("deptId") String deptId, |
|
|
|
|
|
@RequestParam(value = "zoneId", required = false) String zoneId, |
|
|
|
|
|
@RequestParam("pid") int pid, |
|
|
|
|
|
@RequestParam("tid") int tid, |
|
|
|
|
|
@RequestParam("qtyRequested") int qtyRequested, |
|
|
|
|
|
@RequestParam(value = "userRequestFile", required = false) MultipartFile userRequestFile, |
|
|
|
|
|
HttpSession session) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
String username = (String) session.getAttribute("toner_usrName"); |
|
|
|
|
|
if (username == null) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Unauthorized access. Please log in."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String updatedBy = appUserService.getUserIdByName(username); |
|
|
|
|
|
if (updatedBy == null) |
|
|
|
|
|
updatedBy = username; |
|
|
|
|
|
|
|
|
|
|
|
if (itcellRefNo == null || itcellRefNo.trim().isEmpty()) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "IT Cell Reference No. is required."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (deptId == null || deptId.trim().isEmpty()) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Department is required."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (qtyRequested <= 0) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Quantity requested must be greater than 0."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (userRequestFile != null && !userRequestFile.isEmpty() && !isPdfFile(userRequestFile)) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "User Request file must be a PDF."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
File uploadDir = new File(tonerUploadPathConfig).getAbsoluteFile(); |
|
|
|
|
|
if (!uploadDir.exists()) { |
|
|
|
|
|
uploadDir.mkdirs(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String urPath = null; |
|
|
|
|
|
if (userRequestFile != null && !userRequestFile.isEmpty()) { |
|
|
|
|
|
urPath = saveUploadedFile(userRequestFile, "user_request", uploadDir); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String safeZoneId = (zoneId != null && !zoneId.trim().isEmpty()) ? zoneId.trim() : null; |
|
|
|
|
|
boolean updated = tonerService.updateUserRequest( |
|
|
|
|
|
id, itcellRefNo.trim(), deptId.trim(), safeZoneId, pid, tid, qtyRequested, urPath, updatedBy); |
|
|
|
|
|
|
|
|
|
|
|
if (updated) { |
|
|
|
|
|
response.put("success", true); |
|
|
|
|
|
response.put("message", "User request details updated successfully."); |
|
|
|
|
|
} else { |
|
|
|
|
|
if (urPath != null) { |
|
|
|
|
|
deleteFileIfExists(urPath, uploadDir); |
|
|
|
|
|
} |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Failed to update user request details in database."); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "An error occurred: " + e.getMessage()); |
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
} |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/api/outward") |
|
|
@PostMapping("/api/outward") |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public Map<String, Object> uploadOutward( |
|
|
public Map<String, Object> uploadOutward( |
|
|
@RequestParam("id") int id, |
|
|
@RequestParam("id") int id, |
|
|
@RequestParam("qtyIssued") String qtyIssued, |
|
|
@RequestParam("qtyIssued") String qtyIssued, |
|
|
@RequestParam(value = "finalDeliveredFile", required = false) MultipartFile finalDeliveredFile, |
|
|
@RequestParam(value = "finalDeliveredFile", required = false) MultipartFile finalDeliveredFile, |
|
|
|
|
|
@RequestParam(value = "userPhotoFile", required = false) MultipartFile userPhotoFile, |
|
|
|
|
|
@RequestParam(value = "userPhotoBase64", required = false) String userPhotoBase64, |
|
|
HttpSession session) { |
|
|
HttpSession session) { |
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
@ -321,12 +406,97 @@ public class TonerController { |
|
|
if (updatedBy == null) |
|
|
if (updatedBy == null) |
|
|
updatedBy = username; |
|
|
updatedBy = username; |
|
|
|
|
|
|
|
|
if (finalDeliveredFile != null && !finalDeliveredFile.isEmpty() && !isPdfFile(finalDeliveredFile)) { |
|
|
|
|
|
|
|
|
if (finalDeliveredFile != null && !finalDeliveredFile.isEmpty()) { |
|
|
|
|
|
if (!isPdfFile(finalDeliveredFile)) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Final Delivered file must be a PDF."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
boolean hasPhoto = (userPhotoFile != null && !userPhotoFile.isEmpty()) |
|
|
|
|
|
|| (userPhotoBase64 != null && !userPhotoBase64.trim().isEmpty()); |
|
|
|
|
|
if (!hasPhoto) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Receiver / User photo is mandatory."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (userPhotoFile != null && !userPhotoFile.isEmpty() && !isImageFile(userPhotoFile)) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "User photo must be a valid image file (JPG, PNG, WEBP)."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> req = tonerService.getUserRequestById(id); |
|
|
|
|
|
if (req == null) { |
|
|
response.put("success", false); |
|
|
response.put("success", false); |
|
|
response.put("error", "Final Delivered file must be a PDF."); |
|
|
|
|
|
|
|
|
response.put("error", "Invalid or non-existent request ID: " + id); |
|
|
return response; |
|
|
return response; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
boolean isInitialDelivery = (finalDeliveredFile == null || finalDeliveredFile.isEmpty()) && |
|
|
|
|
|
(userPhotoFile == null || userPhotoFile.isEmpty()) && |
|
|
|
|
|
(userPhotoBase64 == null || userPhotoBase64.trim().isEmpty()); |
|
|
|
|
|
|
|
|
|
|
|
if (isInitialDelivery) { |
|
|
|
|
|
int issueQty = 0; |
|
|
|
|
|
try { |
|
|
|
|
|
issueQty = Integer.parseInt(qtyIssued.trim()); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Invalid quantity issued value."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (issueQty <= 0) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Quantity issued must be greater than zero."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String pid = String.valueOf(req.get("pid")); |
|
|
|
|
|
String tid = String.valueOf(req.get("tid")); |
|
|
|
|
|
String modelName = req.get("model_name") != null ? String.valueOf(req.get("model_name")) : "Toner"; |
|
|
|
|
|
String printerName = req.get("printer_name") != null ? String.valueOf(req.get("printer_name")) : "Printer"; |
|
|
|
|
|
|
|
|
|
|
|
int availableStock = tonerService.getAvailableStockForModel(pid, tid); |
|
|
|
|
|
|
|
|
|
|
|
if (availableStock <= 0) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Cannot issue: No inward stock available for " + printerName + " - " + modelName |
|
|
|
|
|
+ ". Please register inward stock before issuing outward delivery."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (issueQty > availableStock) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", |
|
|
|
|
|
"Cannot issue: Quantity to issue (" + issueQty + ") exceeds available inward stock (" |
|
|
|
|
|
+ availableStock + ") for " + printerName + " - " + modelName + "."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int requestedQty = 0; |
|
|
|
|
|
int alreadyDelivered = 0; |
|
|
|
|
|
try { |
|
|
|
|
|
if (req.get("qty_requested") != null) { |
|
|
|
|
|
requestedQty = Integer.parseInt(String.valueOf(req.get("qty_requested"))); |
|
|
|
|
|
} |
|
|
|
|
|
if (req.get("qty_delivered") != null) { |
|
|
|
|
|
alreadyDelivered = Integer.parseInt(String.valueOf(req.get("qty_delivered"))); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception ignored) { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int remainingReq = Math.max(0, requestedQty - alreadyDelivered); |
|
|
|
|
|
if (issueQty > remainingReq) { |
|
|
|
|
|
response.put("success", false); |
|
|
|
|
|
response.put("error", "Cannot issue: Quantity to issue (" + issueQty |
|
|
|
|
|
+ ") exceeds remaining requested quantity (" + remainingReq + ")."); |
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
File uploadDir = new File(tonerUploadPathConfig).getAbsoluteFile(); |
|
|
File uploadDir = new File(tonerUploadPathConfig).getAbsoluteFile(); |
|
|
if (!uploadDir.exists()) { |
|
|
if (!uploadDir.exists()) { |
|
|
@ -334,15 +504,22 @@ public class TonerController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
String fdPath = saveUploadedFile(finalDeliveredFile, "final_delivered", uploadDir); |
|
|
String fdPath = saveUploadedFile(finalDeliveredFile, "final_delivered", uploadDir); |
|
|
|
|
|
String photoPath = null; |
|
|
|
|
|
if (userPhotoFile != null && !userPhotoFile.isEmpty()) { |
|
|
|
|
|
photoPath = saveUploadedFile(userPhotoFile, "receiver_photo", uploadDir); |
|
|
|
|
|
} else if (userPhotoBase64 != null && !userPhotoBase64.trim().isEmpty()) { |
|
|
|
|
|
photoPath = saveBase64Image(userPhotoBase64, "receiver_photo", uploadDir); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
boolean saved = tonerService.saveOutwardRegister( |
|
|
boolean saved = tonerService.saveOutwardRegister( |
|
|
id, qtyIssued.trim(), fdPath, updatedBy); |
|
|
|
|
|
|
|
|
id, qtyIssued.trim(), fdPath, photoPath, updatedBy); |
|
|
|
|
|
|
|
|
if (saved) { |
|
|
if (saved) { |
|
|
response.put("success", true); |
|
|
response.put("success", true); |
|
|
response.put("message", "Outward delivery recorded successfully."); |
|
|
response.put("message", "Outward delivery recorded successfully."); |
|
|
} else { |
|
|
} else { |
|
|
deleteFileIfExists(fdPath, uploadDir); |
|
|
deleteFileIfExists(fdPath, uploadDir); |
|
|
|
|
|
deleteFileIfExists(photoPath, uploadDir); |
|
|
response.put("success", false); |
|
|
response.put("success", false); |
|
|
response.put("error", "Failed to update outward details in the database."); |
|
|
response.put("error", "Failed to update outward details in the database."); |
|
|
} |
|
|
} |
|
|
@ -493,12 +670,24 @@ public class TonerController { |
|
|
return originalFilename.toLowerCase().endsWith(".pdf"); |
|
|
return originalFilename.toLowerCase().endsWith(".pdf"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean isImageFile(MultipartFile file) { |
|
|
|
|
|
String originalFilename = file.getOriginalFilename(); |
|
|
|
|
|
if (originalFilename == null) |
|
|
|
|
|
return false; |
|
|
|
|
|
String lower = originalFilename.toLowerCase(); |
|
|
|
|
|
return lower.endsWith(".jpg") || lower.endsWith(".jpeg") || lower.endsWith(".png") || lower.endsWith(".webp") |
|
|
|
|
|
|| lower.endsWith(".gif"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private String saveUploadedFile(MultipartFile file, String prefix, File uploadDir) throws Exception { |
|
|
private String saveUploadedFile(MultipartFile file, String prefix, File uploadDir) throws Exception { |
|
|
if (file == null || file.isEmpty()) { |
|
|
if (file == null || file.isEmpty()) { |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
String originalFilename = file.getOriginalFilename(); |
|
|
String originalFilename = file.getOriginalFilename(); |
|
|
String ext = ".pdf"; // Since we only allow PDFs |
|
|
|
|
|
|
|
|
String ext = ".pdf"; |
|
|
|
|
|
if (originalFilename != null && originalFilename.lastIndexOf('.') > 0) { |
|
|
|
|
|
ext = originalFilename.substring(originalFilename.lastIndexOf('.')).toLowerCase(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// Clean filename, make it unique |
|
|
// Clean filename, make it unique |
|
|
String savedFilename = prefix + "_" + System.currentTimeMillis() + ext; |
|
|
String savedFilename = prefix + "_" + System.currentTimeMillis() + ext; |
|
|
@ -508,6 +697,34 @@ public class TonerController { |
|
|
return "gcctonermanagementfiles/" + savedFilename; |
|
|
return "gcctonermanagementfiles/" + savedFilename; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String saveBase64Image(String base64Data, String prefix, File uploadDir) throws Exception { |
|
|
|
|
|
if (base64Data == null || base64Data.trim().isEmpty()) { |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
String cleanData = base64Data.trim(); |
|
|
|
|
|
String ext = ".jpg"; |
|
|
|
|
|
if (cleanData.contains("data:image/png;base64,")) { |
|
|
|
|
|
ext = ".png"; |
|
|
|
|
|
cleanData = cleanData.replace("data:image/png;base64,", ""); |
|
|
|
|
|
} else if (cleanData.contains("data:image/jpeg;base64,")) { |
|
|
|
|
|
ext = ".jpg"; |
|
|
|
|
|
cleanData = cleanData.replace("data:image/jpeg;base64,", ""); |
|
|
|
|
|
} else if (cleanData.contains("data:image/webp;base64,")) { |
|
|
|
|
|
ext = ".webp"; |
|
|
|
|
|
cleanData = cleanData.replace("data:image/webp;base64,", ""); |
|
|
|
|
|
} else if (cleanData.startsWith("data:") && cleanData.contains(";base64,")) { |
|
|
|
|
|
cleanData = cleanData.substring(cleanData.indexOf(";base64,") + 8); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
byte[] decodedBytes = java.util.Base64.getDecoder().decode(cleanData); |
|
|
|
|
|
String savedFilename = prefix + "_" + System.currentTimeMillis() + ext; |
|
|
|
|
|
File destFile = new File(uploadDir, savedFilename).getAbsoluteFile(); |
|
|
|
|
|
try (java.io.FileOutputStream fos = new java.io.FileOutputStream(destFile)) { |
|
|
|
|
|
fos.write(decodedBytes); |
|
|
|
|
|
} |
|
|
|
|
|
return "gcctonermanagementfiles/" + savedFilename; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private void deleteFileIfExists(String webPath, File uploadDir) { |
|
|
private void deleteFileIfExists(String webPath, File uploadDir) { |
|
|
if (webPath == null || webPath.isEmpty()) |
|
|
if (webPath == null || webPath.isEmpty()) |
|
|
return; |
|
|
return; |
|
|
@ -531,6 +748,26 @@ public class TonerController { |
|
|
return tonerService.getActiveWorkorderRefNos(); |
|
|
return tonerService.getActiveWorkorderRefNos(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/api/workorders/items") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public List<Map<String, Object>> getWorkorderRegisteredItems( |
|
|
|
|
|
@RequestParam("refNo") String refNo, |
|
|
|
|
|
HttpSession session) { |
|
|
|
|
|
if (session.getAttribute("toner_usrName") == null) { |
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
} |
|
|
|
|
|
return tonerService.getWorkorderRegisteredItems(refNo); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/api/workorder/history") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public List<Map<String, Object>> getWorkorderRegisterHistory(HttpSession session) { |
|
|
|
|
|
if (session.getAttribute("toner_usrName") == null) { |
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
} |
|
|
|
|
|
return tonerService.getWorkorderRegisterHistory(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/api/workorder-request") |
|
|
@PostMapping("/api/workorder-request") |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public Map<String, Object> uploadWorkorderModelRequest( |
|
|
public Map<String, Object> uploadWorkorderModelRequest( |
|
|
@ -582,18 +819,21 @@ public class TonerController { |
|
|
uploadDir.mkdirs(); |
|
|
uploadDir.mkdirs(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
String ecPath = saveUploadedFile(emailCopyFile, "workorder_request_email", uploadDir); |
|
|
|
|
|
|
|
|
String ecPath = saveUploadedFile(emailCopyFile, "workorder_request_email", |
|
|
|
|
|
uploadDir); |
|
|
|
|
|
|
|
|
boolean saved = tonerService.saveWorkorderModelRequest( |
|
|
boolean saved = tonerService.saveWorkorderModelRequest( |
|
|
refNo.trim(), companyName.trim(), pid.trim(), items, ecPath, updatedBy); |
|
|
refNo.trim(), companyName.trim(), pid.trim(), items, ecPath, updatedBy); |
|
|
|
|
|
|
|
|
if (saved) { |
|
|
if (saved) { |
|
|
response.put("success", true); |
|
|
response.put("success", true); |
|
|
response.put("message", "Workorder model request details saved successfully."); |
|
|
|
|
|
|
|
|
response.put("message", |
|
|
|
|
|
"Workorder model request details saved successfully."); |
|
|
} else { |
|
|
} else { |
|
|
deleteFileIfExists(ecPath, uploadDir); |
|
|
deleteFileIfExists(ecPath, uploadDir); |
|
|
response.put("success", false); |
|
|
response.put("success", false); |
|
|
response.put("error", "Failed to save workorder request details in the database."); |
|
|
|
|
|
|
|
|
response.put("error", |
|
|
|
|
|
"Failed to save workorder request details in the database."); |
|
|
} |
|
|
} |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
response.put("success", false); |
|
|
response.put("success", false); |
|
|
@ -603,17 +843,6 @@ public class TonerController { |
|
|
return response; |
|
|
return response; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@GetMapping("/api/workorders/items") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public List<Map<String, Object>> getWorkorderRegisteredItems( |
|
|
|
|
|
@RequestParam("refNo") String refNo, |
|
|
|
|
|
HttpSession session) { |
|
|
|
|
|
if (session.getAttribute("toner_usrName") == null) { |
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
} |
|
|
|
|
|
return tonerService.getWorkorderRegisteredItems(refNo); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/api/workorders/active-requests") |
|
|
@GetMapping("/api/workorders/active-requests") |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public List<String> getActiveWorkorderRequestRefNos(HttpSession session) { |
|
|
public List<String> getActiveWorkorderRequestRefNos(HttpSession session) { |
|
|
@ -634,15 +863,6 @@ public class TonerController { |
|
|
return tonerService.getWorkorderRequests(refNo); |
|
|
return tonerService.getWorkorderRequests(refNo); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@GetMapping("/api/workorder/history") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public List<Map<String, Object>> getWorkorderRegisterHistory(HttpSession session) { |
|
|
|
|
|
if (session.getAttribute("toner_usrName") == null) { |
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
} |
|
|
|
|
|
return tonerService.getWorkorderRegisterHistory(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/api/workorder-request/history") |
|
|
@GetMapping("/api/workorder-request/history") |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public List<Map<String, Object>> getWorkorderModelRequestHistory(HttpSession session) { |
|
|
public List<Map<String, Object>> getWorkorderModelRequestHistory(HttpSession session) { |
|
|
|