-
-
-
-
-
-
-
-
-
-
-
-
-
"
- class="form-control mt-2" data-provide="datepicker"
- data-date-format="M-yyyy" data-date-min-view-mode="1">
+
+
"
+ class="form-control mt-2" data-provide="datepicker"
+ data-date-format="M-yyyy" data-date-min-view-mode="1">
@@ -524,7 +529,7 @@ foreach ($period as $day) {
-
+
@@ -671,126 +676,122 @@ foreach ($period as $day) {
-
-
+
+
- |
- Total
- |
+
+ Total
+ |
-
+
- = $each['opening'] ?> |
- = $each['receipt'] ?> |
- = $each['used'] ?> |
- = $each['balanceStock'] ?> |
+ = $each['opening'] ?> |
+ = $each['receipt'] ?> |
+ = $each['used'] ?> |
+ = $each['balanceStock'] ?> |
-
-
-
-
-
-
-
-
-
-
- $dateInMonth) { ?>
- format('d-m-Y');
- if ($dateInMonthDmYFormat === $currentDate) {
- echo 'style="background: #cef0ad ;"';
- }
- ?>>
- $resinMaterial) { ?>
-
-
-
- format('d-m-Y');
- ?>
- |
- = $startDate ?>
- |
-
-
-
- = $dateInMonth ?>
- |
-
-
- = $resinMaterial['MaterialCode'] ?>
- |
-
-
- = $resinMaterial['customers'] ?>
- |
-
-
-
- oninput="openingStockChange(this)"
- contenteditable="true"
-
- >
-
- $previousMonthResinStockDetail)
- {
- if($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']){
- echo $previousMonthResinStockDetail['balanceStock'] ;
- break;
- }
-
- }
- ?>
-
- |
-
- = ' ' ?> |
-
- = ' ' ?> |
-
-
-
- $previousMonthResinStockDetail)
- {
- if($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']){
- echo $previousMonthResinStockDetail['balanceStock'] ;
- break;
- }
-
- }
- ?>
-
- |
-
-
-
+
+
+
-
+
+
+
+
+ $dateInMonth) { ?>
+
format('d-m-Y');
+ if ($dateInMonthDmYFormat === $currentDate) {
+ echo 'style="background: #cef0ad ;"';
+ }
+ ?>>
+ $resinMaterial) { ?>
+
+
+
+ format('d-m-Y');
+ ?>
+ |
+ = $startDate ?>
+ |
+
+
+
+ = $dateInMonth ?>
+ |
+
+
+ = $resinMaterial['MaterialCode'] ?>
+ |
+
+
+ = $resinMaterial['customers'] ?>
+ |
+
+
+
+ oninput="openingStockChange(this)"
+ contenteditable="true"
+
+ >
+
+ $previousMonthResinStockDetail) {
+ if ($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']) {
+ echo $previousMonthResinStockDetail['balanceStock'];
+ break;
+ }
+ }
+ ?>
+
+ |
+
+ = ' ' ?> |
+
+ = ' ' ?> |
+
+
+
+ $previousMonthResinStockDetail) {
+ if ($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']) {
+ echo $previousMonthResinStockDetail['balanceStock'];
+ break;
+ }
+ }
+ ?>
+
+ |
+
+
+
+
+
+
+
@@ -812,7 +813,7 @@ foreach ($period as $day) {
@@ -867,9 +868,9 @@ foreach ($period as $day) {
targetColumnIndex = targetColumnIndex * 7;
targetRow.cells[targetColumnIndex].scrollIntoView({
- behavior: 'smooth',
- inline: 'center',
- block: 'center'
+ behavior: 'smooth',
+ inline: 'center',
+ block: 'center'
});
const highlightDuration = 10000;
@@ -1099,24 +1100,24 @@ foreach ($period as $day) {
$(document).ready(function() {
function exportTableToExcel(tableID, filename = '') {
- let table = document.getElementById(tableID);
-
+ let table = document.getElementById(tableID);
+
let cloneTable = table.cloneNode(true); // Clone the table to modify
-
+
// Remove hidden rows
- $(cloneTable).find('tr').filter(function () {
+ $(cloneTable).find('tr').filter(function() {
return $(this).css('display') === 'none';
}).remove();
-
+
// Remove hidden columns
- $(cloneTable).find('th, td').each(function () {
+ $(cloneTable).find('th, td').each(function() {
if ($(this).css('display') === 'none') {
$(this).remove();
}
});
$(cloneTable).find('tbody tr').each(function() {
let firstTd = $(this).find('td').eq(0); // Get the first column (Date)
-
+
// Convert Date Format (Assuming it's in YYYY-MM-DD format)
let originalDate = firstTd.text().trim(); // Get the text value
let parts = originalDate.split('-'); // Split into [YYYY, MM, DD]
@@ -1189,72 +1190,77 @@ foreach ($period as $day) {
-
+
\ No newline at end of file
diff --git a/app/Views/stock/trpProductionStockDetails.php b/app/Views/stock/trpProductionStockDetails.php
index f6e7ceac..2e3892e3 100644
--- a/app/Views/stock/trpProductionStockDetails.php
+++ b/app/Views/stock/trpProductionStockDetails.php
@@ -405,10 +405,7 @@ $timeOtions[] = "12:00 AM";
"
- class="form-control "
- data-provide="datepicker"
- data-date-format="M-yyyy"
- data-date-min-view-mode="1" readonly
+ class="form-control " readonly
style="max-width: 175px;">
@@ -419,13 +416,13 @@ $timeOtions[] = "12:00 AM";
@@ -433,20 +430,20 @@ $timeOtions[] = "12:00 AM";
@@ -1504,16 +1501,18 @@ $timeOtions[] = "12:00 AM";
@@ -1709,36 +1708,36 @@ $timeOtions[] = "12:00 AM";
'absRunningHrs' => "",
'absPerHour' => "",
'absOpeningStock' => '',
- 'absReceipt' => $totalWcsReceived,
- 'absTotal' => $totalWcsReceived,
- 'absConsumption' => $summary['edProduction'],
- 'absClosingStock' => ($totalWcsReceived) - $summary['edProduction'],
+ 'absReceipt' => $totalWcsReceived == 0 ? " " : $totalWcsReceived,
+ 'absTotal' => $totalWcsReceived == 0 ? " " : $totalWcsReceived,
+ 'absConsumption' => $summary['edProduction'] == 0 ? " " : $summary['edProduction'] ,
+ 'absClosingStock' => ($totalWcsReceived) - $summary['edProduction'] == 0 ? " " : $totalWcsReceived - $summary['edProduction'],
'absPhysicalStock' => '',
'absRemarks' => '',
],
[
'absParticulars' => "ED Details",
- 'absRunningHrs' => $summary['edRunningHours'],
- 'absPerHour' => number_format($summary['edProduction'] / ($summary['edRunningHours'] == 0 ? 1 : $summary['edRunningHours']), 2),
+ 'absRunningHrs' => $summary['edRunningHours'] == 0 ? " " : $summary['edRunningHours'],
+ 'absPerHour' => number_format($summary['edProduction'] / ($summary['edRunningHours'] == 0 ? 1 : $summary['edRunningHours']), 2) == 0 ? " " : number_format($summary['edProduction'] / ($summary['edRunningHours'] == 0 ? 1 : $summary['edRunningHours']), 2),
'absOpeningStock' => '',
- 'absReceipt' => $summary['edProduction'],
- 'absTotal' => $summary['edProduction'],
- 'absConsumption' => $summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250),
- 'absClosingStock' => $summary['edProduction'] - $summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250),
+ 'absReceipt' => $summary['edProduction'] == 0 ? " " : $summary['edProduction'],
+ 'absTotal' => $summary['edProduction'] == 0 ? " " : $summary['edProduction'],
+ 'absConsumption' => $summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250) == 0 ? " " : $summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250),
+ 'absClosingStock' => $summary['edProduction'] - $summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250) == 0 ? " " : $summary['edProduction'] - ($summary['edUsage'] + ($summary['coolerBags'] * 1250) + ($summary['cycloneWaste'] * 1250) + ($summary['edWaste'] * 1250)),
'absPhysicalStock' => '',
'absRemarks' => '',
],
[
'absParticulars' => "TRP Total Sand",
- 'absRunningHrs' => $summary['sandFeedingHours'],
- 'absPerHour' => $summary['trpProductionPerHour'],
+ 'absRunningHrs' => $summary['sandFeedingHours'] == 0 ? " " : $summary['sandFeedingHours'],
+ 'absPerHour' => $summary['trpProductionPerHour'] == 0 ? " " : $summary['trpProductionPerHour'],
'absOpeningStock' => '',
- 'absReceipt' => $summary['trpProduction'],
- 'absTotal' => $summary['trpProduction'],
- 'absConsumption' => $totalCrsReceived,
- 'absClosingStock' => $summary['trpProduction'] - $totalCrsReceived,
+ 'absReceipt' => $summary['trpProduction'] == 0 ? " " : $summary['trpProduction'],
+ 'absTotal' => $summary['trpProduction'] == 0 ? " " : $summary['trpProduction'],
+ 'absConsumption' => $totalCrsReceived == 0 ? " " : $totalCrsReceived,
+ 'absClosingStock' => $summary['trpProduction'] - $totalCrsReceived == 0 ? " " : $summary['trpProduction'] - $totalCrsReceived,
'absPhysicalStock' => '',
'absRemarks' => '',
],
@@ -1746,12 +1745,12 @@ $timeOtions[] = "12:00 AM";
'absParticulars' => "Trp Physical Gas Consumption",
'absRunningHrs' => "",
- 'absPerHour' => number_format(($summary['trpPlusDrierGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2, '.', ''),
+ 'absPerHour' => number_format(($summary['trpPlusDrierGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2, '.', '') == 0 ? " " : number_format(($summary['trpPlusDrierGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2, '.', ''),
'absOpeningStock' => '',
- 'absReceipt' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
- 'absTotal' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
- 'absConsumption' => $summary['physicalGasConsumption'],
- 'absClosingStock' => ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['physicalGasConsumption'],
+ 'absReceipt' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'] == 0 ? " " : $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
+ 'absTotal' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'] == 0 ? " " : $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
+ 'absConsumption' => $summary['physicalGasConsumption'] == 0 ? " " : $summary['physicalGasConsumption'],
+ 'absClosingStock' => ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['physicalGasConsumption'] == 0 ? " " : ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['physicalGasConsumption'],
'absPhysicalStock' => '',
'absRemarks' => '',
],
@@ -1759,12 +1758,12 @@ $timeOtions[] = "12:00 AM";
'absParticulars' => "Trp Panel Gas Consumption",
'absRunningHrs' => "",
- 'absPerHour' => number_format(($summary['panelGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2),
+ 'absPerHour' => number_format(($summary['panelGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2) == 0 ? " " : number_format(($summary['panelGasConsumption']) / (($summary['trpProduction'] == 0 ? 1000 : $summary['trpProduction']) / 1000), 2),
'absOpeningStock' => '',
- 'absReceipt' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
- 'absTotal' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
- 'absConsumption' => $summary['panelGasConsumption'],
- 'absClosingStock' => ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['panelGasConsumption'],
+ 'absReceipt' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'] == 0 ? " " : $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
+ 'absTotal' => $summary['gasReceiptBg'] + $summary['gasReceiptPg'] == 0 ? " " : $summary['gasReceiptBg'] + $summary['gasReceiptPg'],
+ 'absConsumption' => $summary['panelGasConsumption'] == 0 ? " " : $summary['panelGasConsumption'] ,
+ 'absClosingStock' => ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['panelGasConsumption'] == 0 ? " " : ($summary['gasReceiptBg'] + $summary['gasReceiptPg']) - $summary['panelGasConsumption'],
'absPhysicalStock' => '',
'absRemarks' => '',
],
@@ -1774,9 +1773,9 @@ $timeOtions[] = "12:00 AM";
'absRunningHrs' => "",
'absPerHour' => "",
'absOpeningStock' => '',
- 'absReceipt' => $summary['waterReceipt'],
- 'absTotal' => $summary['waterReceipt'],
- 'absConsumption' => $summary['waterReceipt'] - $summary['waterConsumption'],
+ 'absReceipt' => $summary['waterReceipt'] == 0 ? " " : $summary['waterReceipt'],
+ 'absTotal' => $summary['waterReceipt'] == 0 ? " " : $summary['waterReceipt'],
+ 'absConsumption' => $summary['waterReceipt'] - $summary['waterConsumption'] == 0 ? " " : $summary['waterReceipt'] - $summary['waterConsumption'],
'absClosingStock' => '',
'absPhysicalStock' => '',
'absRemarks' => '',
@@ -1784,12 +1783,12 @@ $timeOtions[] = "12:00 AM";
[
'absParticulars' => "Power Consumption",
- 'absRunningHrs' => $summary['ebReadingPerUnitTon'],
+ 'absRunningHrs' => $summary['ebReadingPerUnitTon'] == 0 ? " " : $summary['ebReadingPerUnitTon'],
'absPerHour' => "",
'absOpeningStock' => '',
'absReceipt' => '',
'absTotal' => '',
- 'absConsumption' => $summary['ebReading'],
+ 'absConsumption' => $summary['ebReading'] == 0 ? " " : $summary['ebReading'],
'absClosingStock' => '',
'absPhysicalStock' => '',
'absRemarks' => '',
@@ -2331,8 +2330,8 @@ $timeOtions[] = "12:00 AM";
// Convert to numbers for calculations
let openingStock = validateInput(openingStockTd) || 0;
- let receipt = validateInput(receiptTd) || 0;
- let consumption = validateInput(consumptionTd) || 0;
+ let receipt = validateInput(receiptTd) || 0;
+ let consumption = validateInput(consumptionTd) || 0;
// Calculate values
let totalStock = parseFloat(openingStock) + parseFloat(receipt);
@@ -2534,8 +2533,6 @@ $timeOtions[] = "12:00 AM";
})
-
-
\ No newline at end of file
diff --git a/app/Views/monthlypayinputs.php b/app/Views/monthlypayinputs.php
index f3dca305..66a885c1 100755
--- a/app/Views/monthlypayinputs.php
+++ b/app/Views/monthlypayinputs.php
@@ -128,22 +128,7 @@
-
-
-
Date: Mon, 7 Apr 2025 12:40:53 +0530
Subject: [PATCH 5/7] Monthly pay info NAN issue : GWM
---
app/Views/monthlypayinputs.php | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/Views/monthlypayinputs.php b/app/Views/monthlypayinputs.php
index f948cca8..1cb5f9e8 100755
--- a/app/Views/monthlypayinputs.php
+++ b/app/Views/monthlypayinputs.php
@@ -1017,7 +1017,7 @@ $(document).ready(function () {
var lopDay = parseFloat(document.getElementById('lopDay' + sno).textContent);
var paidLeave = parseFloat(document.getElementById('paidLeave' + sno).textContent);
var otHrsWork = parseFloat(document.getElementById('otHrsWork' + sno).textContent);
- var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent);
+ var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent) || 0;
var duedate = document.getElementById('duedate' + sno).value;
duedate = new Date(duedate);
var paydate = document.getElementById('paydate').value;
@@ -1029,9 +1029,9 @@ $(document).ready(function () {
var pday = new Date(pyearonly, pmonthonly, 0).getDate();
var finalpaydate = pyearonly + '-' + pmonthonly + '-' + pday;
finalpaydate = new Date(finalpaydate);
- var otherDet = parseFloat(document.getElementById('otherDet' + sno).textContent);
+ var otherDet = parseFloat(document.getElementById('otherDet' + sno).textContent) || 0;
totalotherDet[sno] = otherDet;
- var Festival = parseFloat(document.getElementById('Festival' + sno).textContent);
+ var Festival = parseFloat(document.getElementById('Festival' + sno).textContent) || 0;
totalfestival[sno] = Festival;
var empsal = parseFloat(document.getElementById('empsal' + sno).textContent);
var bpay = parseFloat(document.getElementById('bPay' + sno).value);
@@ -1192,7 +1192,7 @@ $(document).ready(function () {
var basicsalary = parseFloat(document.getElementById('bassalary' + sno).textContent);
var hrasalary = parseFloat(document.getElementById('hrasalary' + sno).textContent);
- var Festivals = parseFloat(document.getElementById('Festival' + sno).textContent);
+ var Festivals = parseFloat(document.getElementById('Festival' + sno).textContent) || 0;
totalfestival[sno] = Festivals;
var ESI = parseFloat(document.getElementById('esiAmt' + sno).textContent);
@@ -1203,7 +1203,7 @@ $(document).ready(function () {
var loanamt = parseFloat(element.value);
var paidamt = parseFloat(document.getElementById('paidamt' + sno).value);
- var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent);
+ var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent) || 0;
var duedate = document.getElementById('duedate' + sno).value;
duedate = new Date(duedate);
From 7291373b39e1dbda6e6f6fb7d9f95ae33c305540 Mon Sep 17 00:00:00 2001
From: Gowtham M
Date: Mon, 7 Apr 2025 15:27:28 +0530
Subject: [PATCH 6/7] GWM : code merge
---
app/Views/attendance.php | 108 ++++++++++++++++++---------------------
1 file changed, 50 insertions(+), 58 deletions(-)
diff --git a/app/Views/attendance.php b/app/Views/attendance.php
index 21326805..8d32e346 100755
--- a/app/Views/attendance.php
+++ b/app/Views/attendance.php
@@ -237,7 +237,7 @@ $currentday = date('d');
-
+
'atten');
echo form_open('attendance', $attributes); ?>
@@ -257,6 +257,8 @@ $currentday = date('d');
+
+
@@ -267,15 +269,6 @@ $currentday = date('d');
-
-
-
@@ -561,11 +554,7 @@ $currentday = date('d');
-
+
@@ -583,7 +572,7 @@ $currentday = date('d');
-
+
@@ -711,10 +701,7 @@ $(document).ready(function () {
$(document).ready(function() {
- // $("#attendance").CongelarFilaColumna({
- // lboHoverTr: true
- // });
- $('html').bind('keypress', function(e) {
+ $('table').bind('keypress', function(e) {
if (((e.which || e.keyCode) == 8) || ((e.which || e.keyCode) == 9) || ((e.which || e.keyCode) ==
@@ -1102,6 +1089,11 @@ function showMessage(msg) {
msgBox.style.display = "none";
}, 3000);
}
+$(document).ready(function() {
+ document.getElementById("searchInput").addEventListener("input", function () {
+ this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, ''); // Allows letters, numbers, and spaces
+ });
+});
$("#searchInput").on("keyup", function () {
let value = $(this).val().toLowerCase(); // Convert input to lowercase for case-insensitive search
From ba328c5fe7627970b495fd694225495670e0f3cf Mon Sep 17 00:00:00 2001
From: vadivelJ96
Date: Mon, 7 Apr 2025 15:48:21 +0530
Subject: [PATCH 7/7] stock changes 07-04-2025
---
app/Controllers/Rawmaterialdetails.php | 8 ++-
app/Views/editRawmaterial.php | 6 ++-
app/Views/rawmaterialListing.php | 49 +++++++++++++++++++
app/Views/stock/incomingSilicaSandDetails.php | 2 +-
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/app/Controllers/Rawmaterialdetails.php b/app/Controllers/Rawmaterialdetails.php
index 0d3ebff8..990f37ef 100755
--- a/app/Controllers/Rawmaterialdetails.php
+++ b/app/Controllers/Rawmaterialdetails.php
@@ -289,6 +289,7 @@ class Rawmaterialdetails extends BaseController
$data['assetcode'] = $this->rawmaterialdetails_model->getAssetcode();
$data['avg_price'] = $this->rawmaterialdetails_model->getMaterialAvg($RawMaterialID);
$data['materialRateHistory'] = $this->rawmaterialdetails_model->getMaterialRateHistory($RawMaterialID);
+ $data['materialListPage'] = $_GET['page'];
//print_r($data['avg_price']);die();
$this->global['pageTitle'] = 'Edit Material Master';
@@ -317,6 +318,7 @@ class Rawmaterialdetails extends BaseController
$stock = $this->request->getPost('openstock');
$reorder = $this->request->getPost('reorder');
$stockdate = $this->request->getPost('Date');
+ $materialListPage = $this->request->getPost('materialListPage');
$stockdate = (empty($stockdate)) ? NULL : get_date_time_dynamical_format('d-m-Y','Y-m-d',"$stockdate");
$chked = $this->request->getPost('isactive');
@@ -329,11 +331,15 @@ class Rawmaterialdetails extends BaseController
$result = $this->rawmaterialdetails_model->editRawmaterial($RawMaterial, $MaterialCode);
- if ($result == true) {
+ if ($result == true) {
$this->session->setFlashdata('success', 'RawMaterial Updated successfully!');
+ $this->session->setFlashdata('materialListPage', "$materialListPage");
+
} else {
echo "";
$this->session->setFlashdata('error', 'RawMaterial Record Not updated!');
+ $this->session->setFlashdata('materialListPage', "$materialListPage");
+
}
return redirect()->route('rawmaterialListing');
diff --git a/app/Views/editRawmaterial.php b/app/Views/editRawmaterial.php
index e29874fd..e142d4b3 100755
--- a/app/Views/editRawmaterial.php
+++ b/app/Views/editRawmaterial.php
@@ -113,7 +113,7 @@ if ($total <= $reorder) {
Edit Material - Details
-
@@ -361,10 +361,12 @@ if ($total <= $reorder) {
diff --git a/app/Views/rawmaterialListing.php b/app/Views/rawmaterialListing.php
index 4ea7e148..565072ef 100755
--- a/app/Views/rawmaterialListing.php
+++ b/app/Views/rawmaterialListing.php
@@ -76,6 +76,9 @@
$type = "success";
echo show_alert($type, $success);
}
+
+ $materialListPage = session()->getFlashdata('materialListPage') ?? $_GET['materialListPage'] ?? 1;
+
?>