10 changed files with 387 additions and 23 deletions
-
11.env
-
2src/main/java/com/adjustment_file_management_system/springboot/AdjustmentFileManagementSystemApplication.java
-
8src/main/java/com/adjustment_file_management_system/springboot/controller/FileDataController.java
-
9src/main/java/com/adjustment_file_management_system/springboot/controller/HomeController.java
-
15src/main/java/com/adjustment_file_management_system/springboot/service/FileDataService.java
-
9src/main/resources/static/js/view-file-detail-script.js
-
46src/main/resources/static/js/view-file-script.js
-
181src/main/resources/templates/file/reports.html
-
6src/main/resources/templates/file/view-file-detail.html
-
121src/main/resources/templates/home/home.html
@ -1,4 +1,9 @@ |
|||
DB_URL=jdbc:oracle:thin:@10.1.0.14:1521:chncorp |
|||
DB_USERNAME=fileadjust |
|||
DB_PASSWORD=fileadjust |
|||
# DB_URL=jdbc:oracle:thin:@10.1.0.14:1521:chncorp |
|||
# DB_USERNAME=fileadjust |
|||
# DB_PASSWORD=fileadjust |
|||
# FORCE_HTTPS=false |
|||
|
|||
DB_URL=jdbc:oracle:thin:@//localhost:1522/XEPDB1 |
|||
DB_USERNAME=system |
|||
DB_PASSWORD=root |
|||
FORCE_HTTPS=false |
|||
@ -0,0 +1,181 @@ |
|||
<!DOCTYPE html> |
|||
<html xmlns:th="http://www.thymeleaf.org" lang="en"> |
|||
|
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Adjustment File Management System</title> |
|||
|
|||
<!-- Include CSS --> |
|||
<link rel="stylesheet" type="text/css" th:href="@{/css/body-form-styles.css}"> |
|||
<link rel="stylesheet" type="text/css" th:href="@{/css/datatable-styles.css}"> |
|||
<link rel="stylesheet" type="text/css" th:href="@{/css/home-styles.css}"> |
|||
<link rel="stylesheet" type="text/css" th:href="@{/css/view-file-styles.css}"> |
|||
<link rel="stylesheet" type="text/css" th:href="@{/css/btn-secondary-styles.css}"> |
|||
|
|||
<!-- CSRF Tokens --> |
|||
<meta name="_csrf" th:content="${_csrf.token}" /> |
|||
<meta name="_csrf_header" th:content="${_csrf.headerName}" /> |
|||
|
|||
<!-- Header Fragment --> |
|||
<th:block th:replace="~{fragments/header :: header}"></th:block> |
|||
|
|||
</head> |
|||
|
|||
<body> |
|||
<!-- Navigation --> |
|||
<th:block th:replace="~{fragments/navbar :: navbar(${curPage})}"></th:block> |
|||
|
|||
<div class="container"> |
|||
<div class="form-container"> |
|||
<div class="header-row"> |
|||
<button class="back-button" onclick="goBack()">← Back</button> |
|||
</div> |
|||
<h2 class="form-title">Reports</h2> |
|||
<!-- Button and Filter Bar --> |
|||
<div class="row mb-3"> |
|||
<!-- Adds spacing and a responsive layout --> |
|||
<div class="col-12 col-md-8 mb-2 mb-md-0"> |
|||
<!-- Buttons on the left --> |
|||
<!-- <div class="btn-group" role="group" aria-label="Options"> |
|||
<button type="button" th:onclick="|window.location.href='@{/file/upd-file}'|" |
|||
class="btn btn-secondary"> |
|||
<i class="fa-solid fa-file-pen"></i> Update File |
|||
</button> |
|||
<button type="button" th:onclick="|window.location.href='@{/file/upd-ejv-num}'|" |
|||
class="btn btn-secondary"> |
|||
<i class="fas fa-light fa-pen"></i> Update EJV Number |
|||
</button> |
|||
</div> --> |
|||
</div> |
|||
<div class="col-12 col-md-8 mb-2 mb-md-0" style="padding-top:5px"> |
|||
<div class="btn-group" role="group" aria-label="Options"> |
|||
<button class="btn btn-secondary" id="export-excel" name="export-excel"> |
|||
<i class="fas fa-file-excel"></i> Export Excel |
|||
</button> |
|||
<button class="btn btn-secondary" id="export-pdf" name="export-pdf"> |
|||
<i class="fas fa-file-pdf"></i> Export PDF |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="row mb-3"> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-adv-type" id="filter-adv-type-lbl">Filter By Advance Type : </label> |
|||
<input list="adv-type-list" class="form-control" id="filter-adv-type" name="filter-adv-type" |
|||
autocomplete="off" placeholder="Select Advance Type"> |
|||
<datalist id="adv-type-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-fund-type" id="filter-fund-type-lbl">Filter By Fund Type : </label> |
|||
<input list="fund-list" class="form-control" id="filter-fund-type" name="filter-fund-type" |
|||
autocomplete="off" placeholder="Select Fund Type"> |
|||
<datalist id="fund-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-fin-year" id="filter-fin-year-lbl">Filter By Financial Year : </label> |
|||
<input list="fin-year-list" class="form-control" id="filter-fin-year" name="filter-fin-year" |
|||
autocomplete="off" placeholder="Select Financial Year"> |
|||
<datalist id="fin-year-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
</div> |
|||
<div class="row mb-3"> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-file-stat" id="filter-file-stat-lbl">Filter By File Status : </label> |
|||
<input list="file-stat-list" class="form-control" id="filter-file-stat" name="filter-file-stat" |
|||
autocomplete="off" placeholder="Select File Status"> |
|||
<datalist id="file-stat-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-file-num" id="filter-file-num-lbl">Filter By File Number : </label> |
|||
<input list="file-num-list" class="form-control" id="filter-file-num" name="filter-file-num" |
|||
autocomplete="off" placeholder="Select File Number"> |
|||
<datalist id="file-num-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
<div class="col-md-4 form-group"> |
|||
<label for="filter-vend-name" id="filter-vend-name-lbl">Filter By Vendor Name : </label> |
|||
<input list="vend-name-list" class="form-control" id="filter-vend-name" name="filter-vend-name" |
|||
autocomplete="off" placeholder="Select Vendor Name"> |
|||
<datalist id="vend-name-list"> |
|||
<!-- Options will be filled by JavaScript --> |
|||
</datalist> |
|||
</div> |
|||
</div> |
|||
<div class="row mb-3"> |
|||
<div class="col-md-4" id="custom-length"></div> |
|||
</div> |
|||
<div class="table-responsive"> |
|||
<table class="det-table" id="file-det-tbl"> |
|||
<thead> |
|||
<tr class="table-header"> |
|||
<th>S.No</th> |
|||
<th class="text-center">File Number</th> |
|||
<th>Financial Year</th> |
|||
<th>Advance Type</th> |
|||
<th>Fund Type</th> |
|||
<th>Vendor Name</th> |
|||
<th>File Status</th> |
|||
<th>Days Past</th> |
|||
<th>File Remarks</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr th:each="fileData : ${fileDatum}" |
|||
th:attr="onclick=|window.location.href='/file/view-file-det?file-num=${fileData.fileDataNum}'|" |
|||
style="cursor: pointer;"> |
|||
<td></td> |
|||
<!-- File Number --> |
|||
<td class="text-center" th:text="${fileData.fileDataNum}"></td> |
|||
<!-- Financial Year --> |
|||
<td th:text="${fileData.finYear != null ? fileData.finYear : '-'}"></td> |
|||
<!-- Advance Type --> |
|||
<td th:text="${fileData.advTypeResDTO.advType}"></td> |
|||
<!-- Fund Type --> |
|||
<td th:text="${fileData.fundTypeResDTO.fundType}"></td> |
|||
<!-- Vendor Name --> |
|||
<td |
|||
th:text="${fileData.vendName != null and fileData.vendName != '-' ? fileData.vendName : 'None'}"> |
|||
</td> |
|||
<!-- File Status --> |
|||
<td class="status-cell"> |
|||
<span th:with="ejvNum=${fileData.ejvNum}, ejvNumFile=${fileData.ejvNumFilePath}" |
|||
th:text="${ejvNum != '-' and ejvNumFile != '-' ? 'Adjusted' : 'Not Adjusted'}" |
|||
th:classappend="${ejvNum != '-' and ejvNumFile != '-' ? 'status-active' : 'status-expired'}"> |
|||
</span> |
|||
</td> |
|||
<td th:text="${fileData.daysPass}"></td> |
|||
<!-- File Remarks --> |
|||
<td th:text="${fileData.fileRmrk != null ? fileData.fileRmrk : '-'}"></td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<br /> |
|||
<div class="row mb-3"> |
|||
<div class="col-md-4 text-center" id="custom-info"></div> |
|||
<div class="col-md-8" id="custom-pagination"></div> |
|||
</div> |
|||
<th:block th:replace="~{fragments/export-pdf :: export-pdf}"></th:block> |
|||
</div> |
|||
</div> |
|||
|
|||
<th:block th:replace="~{modal/pdf-modal :: pdf-modal}"></th:block> |
|||
|
|||
<!-- Footer Fragment --> |
|||
<th:block th:replace="~{fragments/footer :: footer}"></th:block> |
|||
|
|||
<!-- Custom JS --> |
|||
<script th:src="@{/js/view-file-script.js}" type="text/javascript"></script> |
|||
</body> |
|||
|
|||
</html> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue