diff --git a/src/main/java/com/gcc_manpower/config/WebConfig.java b/src/main/java/com/gcc_manpower/config/WebConfig.java
index d587d49..97a75ee 100644
--- a/src/main/java/com/gcc_manpower/config/WebConfig.java
+++ b/src/main/java/com/gcc_manpower/config/WebConfig.java
@@ -21,7 +21,7 @@ public class WebConfig implements WebMvcConfigurer {
@Value("${toner.upload.path:gcctonermanagementfiles}")
private String tonerUploadPathConfig;
- @Value("${adjustment.upload.path:gccadjustmentmanagementfiles}")
+ @Value("${adjustment.upload.path:uploads/file-data}")
private String adjustmentUploadPathConfig;
@Override
@@ -63,5 +63,11 @@ public class WebConfig implements WebMvcConfigurer {
String rootUploadPath = Paths.get("uploads").toAbsolutePath().toUri().toString();
registry.addResourceHandler("/uploads/**")
.addResourceLocations(rootUploadPath);
+
+ // Map URL path /file-data/** to the physical uploads/file-data folder in the
+ // project root
+ String fileDataPath = Paths.get("uploads/file-data").toAbsolutePath().toUri().toString();
+ registry.addResourceHandler("/file-data/**")
+ .addResourceLocations(fileDataPath);
}
}
diff --git a/src/main/java/com/gcc_manpower/gccadjustmentmanagement/controller/AdjustmentController.java b/src/main/java/com/gcc_manpower/gccadjustmentmanagement/controller/AdjustmentController.java
index 694341f..8f65f7c 100644
--- a/src/main/java/com/gcc_manpower/gccadjustmentmanagement/controller/AdjustmentController.java
+++ b/src/main/java/com/gcc_manpower/gccadjustmentmanagement/controller/AdjustmentController.java
@@ -43,7 +43,7 @@ public class AdjustmentController {
@Autowired
private AuthenticationManager authenticationManager;
- @Value("${adjustment.upload.path:gccadjustmentmanagementfiles}")
+ @Value("${adjustment.upload.path:uploads/file-data}")
private String adjustmentUploadPathConfig;
@GetMapping({ "", "/", "/dashboard" })
diff --git a/src/main/resources/templates/gccadjustmentmanagement/dashboard.html b/src/main/resources/templates/gccadjustmentmanagement/dashboard.html
index 0c3c203..af5ed9a 100644
--- a/src/main/resources/templates/gccadjustmentmanagement/dashboard.html
+++ b/src/main/resources/templates/gccadjustmentmanagement/dashboard.html
@@ -2680,7 +2680,8 @@
function filterDashboardByReason(catId, reason) {
const fy = document.getElementById('filter-fin-year').value;
const url = `${contextPath}gccadjustmentmanagement/details?status=${activeStatusFilter}&catId=${catId}&reason=${reason}&fy=${fy}`;
- window.open(url, '_blank');
+ //window.open(url, '_blank');
+ window.location.href = url;
}
function goToListViewWithFilter(vendor) {
@@ -3274,15 +3275,15 @@
document.getElementById('form-rtgs-date').value = r.rtgs_date || '';
document.getElementById('form-dc-completed-date').value = r.dc_completed_date || '';
- // Hide financial year input in edit mode (keep enabled but hidden so its value gets submitted)
- document.getElementById('form-fin-year-container').style.display = 'none';
+ // Show financial year input in edit mode
+ document.getElementById('form-fin-year-container').style.display = 'block';
document.getElementById('form-fin-year').removeAttribute('disabled');
- document.getElementById('form-fin-year').required = false;
+ document.getElementById('form-fin-year').required = true;
// Run visibility check after populating fields
toggleVendorNameVisibility();
- // Reset indicators
+ // Reset indicators
document.querySelectorAll('.file-selected-indicator').forEach(ind => {
ind.style.display = 'none';
ind.querySelector('span').textContent = '';
diff --git a/src/main/resources/templates/gccadjustmentmanagement/details.html b/src/main/resources/templates/gccadjustmentmanagement/details.html
index 1d97cb7..57dd84b 100644
--- a/src/main/resources/templates/gccadjustmentmanagement/details.html
+++ b/src/main/resources/templates/gccadjustmentmanagement/details.html
@@ -270,7 +270,11 @@
class="btn btn-sm btn-outline-light rounded-pill px-3">
Back to Dashboard
-->
-
+
+
Back to Dashboard
@@ -1209,10 +1213,10 @@
document.getElementById('form-rtgs-date').value = r.rtgs_date || '';
document.getElementById('form-dc-completed-date').value = r.dc_completed_date || '';
- // Hide financial year input in edit mode (keep enabled but hidden so its value gets submitted)
- document.getElementById('form-fin-year-container').style.display = 'none';
+ // Show financial year input in edit mode
+ document.getElementById('form-fin-year-container').style.display = 'block';
document.getElementById('form-fin-year').removeAttribute('disabled');
- document.getElementById('form-fin-year').required = false;
+ document.getElementById('form-fin-year').required = true;
// Run visibility check after populating fields
toggleVendorNameVisibility();
@@ -1675,7 +1679,11 @@
return;
}
- const fileUrl = contextPath + 'gccadjustmentmanagementfiles/' + filePath;
+ let cleanPath = String(filePath).trim();
+ if (cleanPath.startsWith('/')) {
+ cleanPath = cleanPath.substring(1);
+ }
+ const fileUrl = contextPath + cleanPath;
const titleEl = document.getElementById('docViewerModalLabel');
if (titleEl) {
@@ -1790,20 +1798,64 @@
return;
}
+ const formatDateForExcel = dateStr => {
+ if (!dateStr || dateStr === '-' || dateStr === 'null') return '';
+ try {
+ const date = new Date(dateStr);
+ if (isNaN(date.getTime())) {
+ return dateStr;
+ }
+ const pad = num => String(num).padStart(2, '0');
+ const dd = pad(date.getDate());
+ const mm = pad(date.getMonth() + 1);
+ const yyyy = date.getFullYear();
+ return `${dd}/${mm}/${yyyy}`;
+ } catch (e) {
+ return dateStr;
+ }
+ };
+
const data = filteredRecords.map((r, index) => ({
'S.No': index + 1,
- 'Fin Year': r.fin_year || '',
- 'File Num': r.file_num || '',
+ 'File Number': r.file_data_num || '',
+ 'Financial Year': r.fin_year || '',
+ 'Subject': r.subject || '',
+ 'Vendor Name': r.vend_name || '',
'Advance Type': r.adv_type || '',
- // 'File Available': r.file_available_status || '',
+ 'Fund Type': r.fund_type || '',
+ 'A/C Head Code': r.ac_code || '',
+ 'File Available Status': r.file_available_status || '',
+ 'File Status (Category)': r.file_status || '',
'Bal Amount': r.bal_amt || 0,
+ 'AS Signed Date': formatDateForExcel(r.as_file_gen_date),
'PO Amount': r.po_amt || 0,
+ 'PO Completed Date': formatDateForExcel(r.po_file_gen_date),
'PI Amount': r.pi_amt || 0,
+ 'PI Completed Date': formatDateForExcel(r.pi_file_gen_date),
+ 'RTGS Date': formatDateForExcel(r.rtgs_date),
'FI Amount': r.fi_amt || 0,
+ 'FI Completed Date': formatDateForExcel(r.fi_file_gen_date),
+ 'DC Completed Date': formatDateForExcel(r.dc_completed_date),
'EJV Num': r.ejv_num || '',
+ 'EJV Date': formatDateForExcel(r.ejv_num_file_gen_date),
+ 'AS Final Date': formatDateForExcel(r.as_final_file_gen_date),
+ 'TC Date': formatDateForExcel(r.tc_file_gen_date),
'Status': isAdjusted(r) ? 'Adjusted' : 'Pending',
- 'Remarks': r.remarks || '',
- 'Created Date': r.cdate || ''
+ 'Remarks': r.file_remark || '',
+ 'Created Date': formatDateForExcel(r.cdate),
+ 'Updated Date': formatDateForExcel(r.updated_date),
+ 'AS File Path': r.as_file_path || '',
+ 'PI File Path': r.pi_file_path || '',
+ 'RTGS File Path': r.rtgs_file_path || '',
+ 'PO File Path': r.po_file_path || '',
+ 'DC File Path': r.dc_file_path || '',
+ 'SR File Path': r.sr_filepath || '',
+ 'IR File Path': r.ir_file_path || '',
+ 'FI File Path': r.fi_file_path || '',
+ 'AS Final File Path': r.as_final_file_path || '',
+ 'TC File Path': r.tc_file_path || '',
+ 'EJV File Path': r.ejv_num_file_path || '',
+ 'Main File Path': r.file_path || ''
}));
const ws = XLSX.utils.json_to_sheet(data);
diff --git a/src/main/resources/templates/gccservicepaymenttracker/dashboard.html b/src/main/resources/templates/gccservicepaymenttracker/dashboard.html
index 10733fa..d4be027 100644
--- a/src/main/resources/templates/gccservicepaymenttracker/dashboard.html
+++ b/src/main/resources/templates/gccservicepaymenttracker/dashboard.html
@@ -1048,8 +1048,8 @@
style="border: 1px solid #e2e8f0; font-size: 0.88rem; color: #475569; font-weight: 600;">
Completed View Mode:
-