stock changes 07-04-2025
This commit is contained in:
parent
0289595c86
commit
cb73af8897
@ -1203,9 +1203,13 @@ class Inwardgateregister_model extends Model
|
||||
|
||||
public function findIgrDetailsForIncomingSilicaSand($materialCodes, $month, $remark)
|
||||
{
|
||||
|
||||
$month = new \DateTime($month . "-01"); // Create DateTime for the first day of the month
|
||||
|
||||
|
||||
$builder = $this->db->table('t_igr_details');
|
||||
|
||||
// 1. Select the necessary columns
|
||||
|
||||
$builder->select(
|
||||
't_igr_details.IGRNO,
|
||||
t_igr_details.MaterialCode,
|
||||
@ -1218,14 +1222,17 @@ class Inwardgateregister_model extends Model
|
||||
t_igr_details.QuantityAsPerInvoice as Qty,
|
||||
issd.*'
|
||||
);
|
||||
|
||||
|
||||
// 2. Apply the most selective WHERE clause(s) first - in this case, the date range
|
||||
$nowIST = new \DateTime('now', new \DateTimeZone('Asia/Kolkata'));
|
||||
$builder->join('t_igr_master igrMast', 'igrMast.IGRNO = t_igr_details.IGRNO');
|
||||
$builder->join('t_incomingsilicasanddetails issd', 'issd.igrNo_fk = t_igr_details.IGRNO AND issd.materialCode = t_igr_details.MaterialCode', 'left');
|
||||
$builder->join('t_materialmaster materialMaster', 'materialMaster.MaterialCode = t_igr_details.MaterialCode');
|
||||
$builder->join('t_configdetails cd', 'cd.key = materialMaster.Category', 'left');
|
||||
$builder->join('t_purchaseorder_master poMaster', 'poMaster.PONO = igrMast.PONO', 'left');
|
||||
$builder->join('t_supplierdetailsn supplierDetails', 'supplierDetails.SupplierID = poMaster.SupplierID', 'left');
|
||||
|
||||
$builder->where('Date(t_igr_details.CreatedDate) >=', $nowIST->format('Y-m-01 00:00:00'));
|
||||
$builder->where('Date(t_igr_details.CreatedDate) <=', $nowIST->format('Y-m-t 23:59:59'));
|
||||
|
||||
// 3. Apply other WHERE clause conditions
|
||||
$builder->where('Date(t_igr_details.CreatedDate) >=', $month->format('Y-m-01 00:00:00'));
|
||||
$builder->where('Date(t_igr_details.CreatedDate) <=', $month->format('Y-m-t 23:59:59'));
|
||||
$builder->whereIn('t_igr_details.MaterialCode', $materialCodes);
|
||||
$builder->where('t_igr_details.QuantityAsPerInvoice <>', 0);
|
||||
|
||||
@ -1234,25 +1241,15 @@ class Inwardgateregister_model extends Model
|
||||
$builder->where('issd.remark', $remark);
|
||||
}
|
||||
|
||||
// 4. Apply JOIN clauses
|
||||
$builder->join('t_igr_master igrMast', 'igrMast.IGRNO = t_igr_details.IGRNO');
|
||||
$builder->join('t_incomingsilicasanddetails issd', 'issd.igrNo_fk = t_igr_details.IGRNO AND issd.materialCode = t_igr_details.MaterialCode', 'left');
|
||||
$builder->join('t_materialmaster materialMaster', 'materialMaster.MaterialCode = t_igr_details.MaterialCode');
|
||||
$builder->join('t_configdetails cd', 'cd.key = materialMaster.Category', 'left');
|
||||
$builder->join('t_purchaseorder_master poMaster', 'poMaster.PONO = igrMast.PONO', 'left');
|
||||
$builder->join('t_supplierdetailsn supplierDetails', 'supplierDetails.SupplierID = poMaster.SupplierID', 'left');
|
||||
|
||||
// 5. Apply GROUP BY clause
|
||||
|
||||
$builder->groupBy('t_igr_details.IGRNO, t_igr_details.MaterialCode');
|
||||
|
||||
// 6. Apply ORDER BY clause
|
||||
|
||||
$builder->orderBy('t_igr_details.CreatedDate', 'asc ');
|
||||
|
||||
// 7. Get the query results
|
||||
|
||||
$query = $builder->get();
|
||||
|
||||
|
||||
return $query->getResultArray();
|
||||
|
||||
}
|
||||
|
||||
public function getHistoryDetailsforEmail($igr)
|
||||
|
||||
@ -373,13 +373,13 @@
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -387,13 +387,13 @@
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="coatingMachineDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
@ -402,7 +402,7 @@
|
||||
title="Add Entry"
|
||||
data-target="#coatingMachineDetailModal"
|
||||
data-toggle="modal"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)" >
|
||||
</i>
|
||||
|
||||
|
||||
@ -438,11 +438,19 @@
|
||||
|
||||
<div class="form-row">
|
||||
|
||||
<?php $calendarStartDate = DateTime::createFromFormat('M-Y', $month)->modify('first day of this month')->format('Y-m-d'); ?>
|
||||
<?php $calendarEndDate = DateTime::createFromFormat('M-Y', $month)->modify('last day of this month')->format('Y-m-d'); ?>
|
||||
<?php $calendarCurrentDate = DateTime::createFromFormat('M-Y', $month)->format('Y-m-d'); ?>
|
||||
|
||||
<!-- date -->
|
||||
<div class="form-group col-md-3">
|
||||
<label for="dateId">Date</label>
|
||||
<span class="badge mandatory">*</span>
|
||||
<input type="date" class="form-control" id="dateId" name="date" value="" required>
|
||||
<input type="date" class="form-control" id="dateId" name="date"
|
||||
value="<?=$calendarCurrentDate?>"
|
||||
min="<?= $calendarStartDate ?>"
|
||||
max="<?= $calendarEndDate ?>"
|
||||
required>
|
||||
</div>
|
||||
|
||||
<!-- shift -->
|
||||
|
||||
@ -349,7 +349,7 @@ foreach ($period as $day) {
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
style=" padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
@ -358,7 +358,7 @@ foreach ($period as $day) {
|
||||
if ($month == date('M-Y')) {
|
||||
?>
|
||||
<i class="fa fa-cog btn-lg mt-2"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
title="Customize"
|
||||
data-target="#customizeModalId"
|
||||
data-toggle="modal">
|
||||
@ -373,25 +373,25 @@ foreach ($period as $day) {
|
||||
title="Navigation"
|
||||
data-toggle="modal"
|
||||
data-target="#bs-example-modal-lg"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
style="font-size: x-large; cursor:pointer; color: #bd0906">
|
||||
</i>
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="bagStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
|
||||
@ -337,8 +337,8 @@ foreach ($period as $day) {
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
style=" padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<?php
|
||||
@ -346,7 +346,7 @@ foreach ($period as $day) {
|
||||
if ($month == date('M-Y')) {
|
||||
?>
|
||||
<i class="fa fa-cog btn-lg mt-2"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
title="Customize"
|
||||
data-target="#customizeModalId"
|
||||
data-toggle="modal">
|
||||
@ -361,25 +361,26 @@ foreach ($period as $day) {
|
||||
title="Navigation"
|
||||
data-toggle="modal"
|
||||
data-target="#bs-example-modal-lg"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
style="font-size: x-large; cursor:pointer; color: #bd0906">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
id="dieselMachineStockDetailsExport ">
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="bagStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
|
||||
@ -339,13 +339,13 @@ $datefordropdown = format_date($datefordropdown, 0, 'M-Y');
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px; ">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -353,13 +353,13 @@ $datefordropdown = format_date($datefordropdown, 0, 'M-Y');
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="drierMachineDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
@ -368,7 +368,7 @@ $datefordropdown = format_date($datefordropdown, 0, 'M-Y');
|
||||
title="Add Entry"
|
||||
data-target="#additionalEntriesModalId"
|
||||
data-toggle="modal"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)">
|
||||
</i>
|
||||
|
||||
|
||||
@ -466,10 +466,12 @@ $datefordropdown = format_date($datefordropdown, 0, 'M-Y');
|
||||
<!--first row -->
|
||||
<?php $calendarStartDate = DateTime::createFromFormat('M-Y', $datefordropdown)->modify('first day of this month')->format('Y-m-d'); ?>
|
||||
<?php $calendarEndDate = DateTime::createFromFormat('M-Y', $datefordropdown)->modify('last day of this month')->format('Y-m-d'); ?>
|
||||
<?php $calendarCurrentDate = DateTime::createFromFormat('M-Y', $datefordropdown)->format('Y-m-d'); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label class="form" for="additionalEntryDateId">Date</label>
|
||||
<input type="date" class="form-control" id="additionalEntryDateId" name="date" value="<?= $calendarStartDate ?>"
|
||||
<input type="date" class="form-control" id="additionalEntryDateId" name="date" value="<?= $calendarCurrentDate ?>"
|
||||
min="<?= $calendarStartDate ?>" max="<?= $calendarEndDate ?>" required>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
|
||||
@ -359,13 +359,13 @@
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -373,20 +373,20 @@
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="dustAndRoughStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fa fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
|
||||
@ -335,13 +335,13 @@
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px; border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105);"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -349,20 +349,20 @@
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba;"
|
||||
id="gasStockDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fa fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
|
||||
@ -340,27 +340,27 @@
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px; border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="incomingSilicaSandDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
@ -1577,11 +1577,16 @@
|
||||
|
||||
if (i === 0 || i === 1) {
|
||||
newPlus20Loss += Number(result[i]['WEIGH OF SAND']);
|
||||
|
||||
|
||||
newSieveLossQty = (parseFloat(qty) * newPlus20Loss) / 100;
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (i === 0 || i === 1 || i === 2) {
|
||||
newPlus30Loss += Number(result[i]['WEIGH OF SAND']);
|
||||
newSieveLossQty = (parseFloat(qty) * newPlus20Loss) / 100;
|
||||
|
||||
}
|
||||
|
||||
totalWeighOfSand += Number(result[i]['WEIGH OF SAND']);
|
||||
|
||||
@ -213,7 +213,7 @@
|
||||
background-color: #50bbd9;
|
||||
/* Green background */
|
||||
color: #ffffff;
|
||||
border: 2px solid ;
|
||||
border: 2px solid;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
@ -262,10 +262,10 @@
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#powerStockDetailsTableId { /* Replace with your table's actual ID or selector */
|
||||
border-collapse: collapse;
|
||||
#powerStockDetailsTableId {
|
||||
/* Replace with your table's actual ID or selector */
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
@ -344,8 +344,8 @@ foreach ($period as $day) {
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
style=" padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<?php
|
||||
@ -353,7 +353,7 @@ foreach ($period as $day) {
|
||||
if ($month == date('M-Y')) {
|
||||
?>
|
||||
<i class="fa fa-cog btn-lg mt-2"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
title="Customize"
|
||||
data-target="#customizeModalId"
|
||||
data-toggle="modal">
|
||||
@ -368,25 +368,25 @@ foreach ($period as $day) {
|
||||
title="Navigation"
|
||||
data-toggle="modal"
|
||||
data-target="#bs-example-modal-lg"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
style="font-size: x-large; cursor:pointer; color: #bd0906">
|
||||
</i>
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
id="powerConsumptionExport ">
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="bagStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
@ -405,7 +405,7 @@ foreach ($period as $day) {
|
||||
2)choose which material/machines you want
|
||||
------------------------------------------------------------>
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<div class="modal fade" id="customizeModalId" tabindex="-1" role="dialog" aria-labelledby="customizeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md">
|
||||
@ -1622,14 +1622,14 @@ foreach ($period as $day) {
|
||||
tableResponsive.style.overflowY = "auto"; // Allow scrolling if needed
|
||||
}
|
||||
}).catch(err => console.log("Error enabling fullscreen:", err));
|
||||
} else {
|
||||
} else {
|
||||
document.exitFullscreen().then(() => {
|
||||
div.style.width = "100%";
|
||||
div.style.height = "100%";
|
||||
|
||||
// Reset .table-responsive height when exiting fullscreen
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
tableResponsive.style.maxHeight = "450px";
|
||||
tableResponsive.style.overflowY = "auto"; // Allow scrolling if needed
|
||||
}
|
||||
@ -1648,54 +1648,48 @@ foreach ($period as $day) {
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $('#fullscreenDiv')
|
||||
});
|
||||
|
||||
// Initialize Select2 when the modal is shown inside full screen
|
||||
$('#bs-example-modal-lg').on('shown.bs.modal', function () {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$('#customizeModalId').on('shown.bs.modal', function () {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $('#fullscreenDiv')
|
||||
});
|
||||
|
||||
// Initialize Select2 when the modal is shown inside full screen
|
||||
$('#bs-example-modal-lg').on('shown.bs.modal', function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$('#customizeModalId').on('shown.bs.modal', function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
//getting modal backdrop inside full screen
|
||||
|
||||
$(document).ready(function() {
|
||||
function moveModalBackdropToFullscreen() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').appendTo('#fullscreenDiv'); // Move backdrop inside fullscreen
|
||||
}, 10); // Small delay ensures backdrop is created first
|
||||
}
|
||||
function moveModalBackdropToFullscreen() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').appendTo('#fullscreenDiv'); // Move backdrop inside fullscreen
|
||||
}, 10); // Small delay ensures backdrop is created first
|
||||
}
|
||||
|
||||
// Move the modal backdrop when a modal opens
|
||||
$('#bs-example-modal-lg, #customizeModalId').on('show.bs.modal', function () {
|
||||
moveModalBackdropToFullscreen();
|
||||
});
|
||||
|
||||
// Ensure modals work properly in fullscreen mode
|
||||
document.addEventListener("fullscreenchange", function() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').remove(); // Remove any existing backdrops
|
||||
// Move the modal backdrop when a modal opens
|
||||
$('#bs-example-modal-lg, #customizeModalId').on('show.bs.modal', function() {
|
||||
moveModalBackdropToFullscreen();
|
||||
}, 200);
|
||||
});
|
||||
|
||||
// Ensure modals work properly in fullscreen mode
|
||||
document.addEventListener("fullscreenchange", function() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').remove(); // Remove any existing backdrops
|
||||
moveModalBackdropToFullscreen();
|
||||
}, 200);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</script>
|
||||
@ -18,23 +18,27 @@
|
||||
}
|
||||
|
||||
.fht-table td:hover {
|
||||
background-color: rgb(170, 222, 167);
|
||||
color:rgb(2, 2, 2);
|
||||
transform: scale(1.25); /* Increases size by 25% */
|
||||
transition: transform 0.5s ease-in-out; /* Smooth scaling effect */
|
||||
background-color: rgb(170, 222, 167);
|
||||
color: rgb(2, 2, 2);
|
||||
transform: scale(1.25);
|
||||
/* Increases size by 25% */
|
||||
transition: transform 0.5s ease-in-out;
|
||||
/* Smooth scaling effect */
|
||||
}
|
||||
|
||||
.fht-table tr:hover {
|
||||
background-color: rgb(170, 222, 167);
|
||||
color:rgb(2, 2, 2);
|
||||
background-color: rgb(170, 222, 167);
|
||||
color: rgb(2, 2, 2);
|
||||
}
|
||||
|
||||
.grab {
|
||||
cursor: grab; /* Default open-hand cursor */
|
||||
cursor: grab;
|
||||
/* Default open-hand cursor */
|
||||
}
|
||||
|
||||
.grab:active {
|
||||
cursor: grabbing; /* Closed-hand cursor when dragging */
|
||||
cursor: grabbing;
|
||||
/* Closed-hand cursor when dragging */
|
||||
}
|
||||
|
||||
/*
|
||||
@ -213,7 +217,7 @@
|
||||
background-color: #50bbd9;
|
||||
/* Green background */
|
||||
color: #ffffff;
|
||||
border: 2px solid ;
|
||||
border: 2px solid;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
@ -245,21 +249,22 @@
|
||||
}
|
||||
|
||||
tfoot tr {
|
||||
background-color:rgb(235, 236, 203);
|
||||
background-color: rgb(235, 236, 203);
|
||||
}
|
||||
|
||||
|
||||
body[data-layout-mode = horizontal] .container-fluid{
|
||||
body[data-layout-mode=horizontal] .container-fluid {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.card-body{
|
||||
padding-top : 0;
|
||||
padding-bottom : 0;
|
||||
.card-body {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.card{ margin-bottom: 5px;}
|
||||
|
||||
.card {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@ -321,160 +326,160 @@ foreach ($period as $day) {
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<form id="changeMonthForm" action="<?= base_url('resinStockDetails'); ?>" method="post">
|
||||
<form id="changeMonthForm" action="<?= base_url('resinStockDetails'); ?>" method="post">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-2">
|
||||
<input type="text" name="month" id="month" value="<?php echo "$month" ?>"
|
||||
class="form-control mt-2"
|
||||
style="z-index:30;" readonly>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input type="text" name="month" id="month" value="<?php echo "$month" ?>"
|
||||
class="form-control mt-2"
|
||||
style="z-index:30;" readonly>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-10 text-right d-flex" style="justify-content: end;" >
|
||||
<div class="col-10 text-right d-flex" style="justify-content: end;">
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 250px;border: 1px solid #ccc;
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style=" padding: 8px;margin-bottom: 10px;width: 250px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
if($month == date('M-Y') ){
|
||||
?>
|
||||
<i class="fa fa-cog btn-lg mt-2"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
title = "Customize"
|
||||
data-target="#customizeModalId"
|
||||
data-toggle="modal">
|
||||
|
||||
</i>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<i class="fa fa-rocket btn-lg mt-2"
|
||||
title="Navigation"
|
||||
data-toggle="modal"
|
||||
data-target="#bs-example-modal-lg"
|
||||
style="font-size: x-large; cursor:pointer;">
|
||||
</i>
|
||||
<?php
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
id="resinStockExport">
|
||||
</i>
|
||||
if ($month == date('M-Y')) {
|
||||
?>
|
||||
<i class="fa fa-cog btn-lg mt-2"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
title="Customize"
|
||||
data-target="#customizeModalId"
|
||||
data-toggle="modal">
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
onclick="toggleDivFullscreen()" >
|
||||
</i>
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
id="saveId" >
|
||||
</i>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<i class="fa fa-rocket btn-lg mt-2"
|
||||
title="Navigation"
|
||||
data-toggle="modal"
|
||||
data-target="#bs-example-modal-lg"
|
||||
style="font-size: x-large; cursor:pointer; color: #bd0906">
|
||||
</i>
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="bagStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fas fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
<form action="<?= base_url('resinStockDetails'); ?>" method="post">
|
||||
|
||||
<!-- modal placed here for submission of form -->
|
||||
<!---------------------------------------
|
||||
<!-- modal placed here for submission of form -->
|
||||
<!---------------------------------------
|
||||
this modal is used to customize table header
|
||||
1)list table header order
|
||||
2)choose which material/machines you want
|
||||
------------------------------------------------------------>
|
||||
|
||||
<div>
|
||||
<div class="modal fade" id="customizeModalId" tabindex="-1" role="dialog" aria-labelledby="customizeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="customizeModalLabel">Customize</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<!-- Dropdown to add back removed items -->
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label for="customizeHeader"> Add For This Month </label>
|
||||
<select id="customizeHeader" class="form-control select2" onchange="addBackToList()">
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
foreach($activeResinMaterials as $index => $activeResinMaterial){ ?>
|
||||
<div>
|
||||
<div class="modal fade" id="customizeModalId" tabindex="-1" role="dialog" aria-labelledby="customizeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="customizeModalLabel">Customize</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<!-- Dropdown to add back removed items -->
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label for="customizeHeader"> Add For This Month </label>
|
||||
<select id="customizeHeader" class="form-control select2" onchange="addBackToList()">
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
foreach ($activeResinMaterials as $index => $activeResinMaterial) { ?>
|
||||
|
||||
<option value="<?=$activeResinMaterial['MaterialCode']?>">
|
||||
<?=$activeResinMaterial['MaterialCode']?> - <?=$activeResinMaterial['MaterialName']?>
|
||||
</option>
|
||||
<option value="<?= $activeResinMaterial['MaterialCode'] ?>">
|
||||
<?= $activeResinMaterial['MaterialCode'] ?> - <?= $activeResinMaterial['MaterialName'] ?>
|
||||
</option>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h5>List of Selected Items</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="selectedItemsContainer">
|
||||
<ul id="sortableList">
|
||||
<?php foreach ($resinMaterials as $resinMaterial): ?>
|
||||
|
||||
<div class="sortable-item" draggable="true" id="<?= $resinMaterial['MaterialCode'] ?>_container">
|
||||
<input type = "checkbox"
|
||||
id = "<?= $resinMaterial['MaterialCode'] ?>_checkboxId"
|
||||
name = "customisedMaterialCodes[]"
|
||||
value = "<?= $resinMaterial['MaterialCode'] ?>"
|
||||
onclick = "removeSelectedMaterial(this)"
|
||||
checked>
|
||||
<label class="grab" for="<?= $resinMaterial['MaterialCode'] ?>_checkboxId">
|
||||
<?= $resinMaterial['MaterialCode'] ?> - <?= $resinMaterial['MaterialName']; ?>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary float-right"> Apply </button>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h5>List of Selected Items</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="selectedItemsContainer">
|
||||
<ul id="sortableList">
|
||||
<?php foreach ($resinMaterials as $resinMaterial): ?>
|
||||
|
||||
<div class="sortable-item" draggable="true" id="<?= $resinMaterial['MaterialCode'] ?>_container">
|
||||
<input type="checkbox"
|
||||
id="<?= $resinMaterial['MaterialCode'] ?>_checkboxId"
|
||||
name="customisedMaterialCodes[]"
|
||||
value="<?= $resinMaterial['MaterialCode'] ?>"
|
||||
onclick="removeSelectedMaterial(this)"
|
||||
checked>
|
||||
<label class="grab" for="<?= $resinMaterial['MaterialCode'] ?>_checkboxId">
|
||||
<?= $resinMaterial['MaterialCode'] ?> - <?= $resinMaterial['MaterialName']; ?>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary float-right"> Apply </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- hidden fields -->
|
||||
<input type="hidden" name="month" value="<?php echo "$month" ?>"
|
||||
class="form-control mt-2" data-provide="datepicker"
|
||||
data-date-format="M-yyyy" data-date-min-view-mode="1">
|
||||
<!-- hidden fields -->
|
||||
<input type="hidden" name="month" value="<?php echo "$month" ?>"
|
||||
class="form-control mt-2" data-provide="datepicker"
|
||||
data-date-format="M-yyyy" data-date-min-view-mode="1">
|
||||
|
||||
</form>
|
||||
|
||||
@ -524,7 +529,7 @@ foreach ($period as $day) {
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -671,126 +676,122 @@ foreach ($period as $day) {
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<tfoot>
|
||||
<tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
|
||||
<td style="background-color:rgb(189, 9, 6); color:#ffff;">
|
||||
<b> Total </b>
|
||||
</td>
|
||||
<td style="background-color:rgb(189, 9, 6); color:#ffff;">
|
||||
<b> Total </b>
|
||||
</td>
|
||||
|
||||
<?php foreach ($summary as $each) { ?>
|
||||
<?php foreach ($summary as $each) { ?>
|
||||
|
||||
|
||||
<td class="celda_normal "><?= $each['opening'] ?></td>
|
||||
<td class="celda_normal "><?= $each['receipt'] ?></td>
|
||||
<td class="celda_normal "><?= $each['used'] ?></td>
|
||||
<td class="celda_normal "><?= $each['balanceStock'] ?></td>
|
||||
<td class="celda_normal "><?= $each['opening'] ?></td>
|
||||
<td class="celda_normal "><?= $each['receipt'] ?></td>
|
||||
<td class="celda_normal "><?= $each['used'] ?></td>
|
||||
<td class="celda_normal "><?= $each['balanceStock'] ?></td>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
|
||||
<!-- this else condition work if groupedBagStockDetails is empty and creating new records
|
||||
with initial values 0 for entire month -->
|
||||
<?php } else { ?>
|
||||
|
||||
|
||||
<?php foreach ($datesInMonth as $datesInMonthIndex => $dateInMonth) { ?>
|
||||
<tr
|
||||
|
||||
<?php
|
||||
|
||||
$currentDate = date('d-m-Y');
|
||||
$dateInMonthDmYFormat = DateTime::createFromFormat('Y-m-d', $dateInMonth)->format('d-m-Y');
|
||||
if ($dateInMonthDmYFormat === $currentDate) {
|
||||
echo 'style="background: #cef0ad ;"';
|
||||
}
|
||||
?>>
|
||||
<?php
|
||||
// dd($resinMaterials);
|
||||
foreach ($resinMaterials as $resinMaterialIndex => $resinMaterial) { ?>
|
||||
<!-- this will loop till materials present -->
|
||||
|
||||
<?php if ($resinMaterialIndex == 0): ?>
|
||||
<?php
|
||||
$startDate = DateTime::createFromFormat('Y-m-d', $dateInMonth)->format('d-m-Y');
|
||||
?>
|
||||
<td class="celda_normal">
|
||||
<?= $startDate ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
|
||||
<td class="celda_normal" style="display:none">
|
||||
<?= $dateInMonth ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal" style="display:none"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
<?= $resinMaterial['MaterialCode'] ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal customer" style="display:none"
|
||||
data-materialCode="<?= $resinMaterial['MaterialCode'] ?>"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
<?= $resinMaterial['customers'] ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal openingStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
<?php if ($datesInMonthIndex == 0) { ?>
|
||||
|
||||
oninput="openingStockChange(this)"
|
||||
contenteditable="true"
|
||||
|
||||
<?php } ?>>
|
||||
|
||||
<?php
|
||||
foreach($previousMonthResinStockDetails as $index => $previousMonthResinStockDetail)
|
||||
{
|
||||
if($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']){
|
||||
echo $previousMonthResinStockDetail['balanceStock'] ;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="celda_normal receiptStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
oninput="receiptStockChange(this)"
|
||||
contenteditable="true"> <?= ' ' ?> </td>
|
||||
|
||||
<td class="celda_normal usedStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
oninput="usedStockChange(this)"
|
||||
contenteditable="true"> <?= ' ' ?> </td>
|
||||
|
||||
<td class="celda_normal balanceStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
|
||||
<?php
|
||||
foreach($previousMonthResinStockDetails as $index => $previousMonthResinStockDetail)
|
||||
{
|
||||
if($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']){
|
||||
echo $previousMonthResinStockDetail['balanceStock'] ;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
|
||||
</tbody>
|
||||
<!-- this else condition work if groupedBagStockDetails is empty and creating new records
|
||||
with initial values 0 for entire month -->
|
||||
<?php } else { ?>
|
||||
|
||||
|
||||
<?php foreach ($datesInMonth as $datesInMonthIndex => $dateInMonth) { ?>
|
||||
<tr
|
||||
|
||||
<?php
|
||||
|
||||
$currentDate = date('d-m-Y');
|
||||
$dateInMonthDmYFormat = DateTime::createFromFormat('Y-m-d', $dateInMonth)->format('d-m-Y');
|
||||
if ($dateInMonthDmYFormat === $currentDate) {
|
||||
echo 'style="background: #cef0ad ;"';
|
||||
}
|
||||
?>>
|
||||
<?php
|
||||
// dd($resinMaterials);
|
||||
foreach ($resinMaterials as $resinMaterialIndex => $resinMaterial) { ?>
|
||||
<!-- this will loop till materials present -->
|
||||
|
||||
<?php if ($resinMaterialIndex == 0): ?>
|
||||
<?php
|
||||
$startDate = DateTime::createFromFormat('Y-m-d', $dateInMonth)->format('d-m-Y');
|
||||
?>
|
||||
<td class="celda_normal">
|
||||
<?= $startDate ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
|
||||
<td class="celda_normal" style="display:none">
|
||||
<?= $dateInMonth ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal" style="display:none"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
<?= $resinMaterial['MaterialCode'] ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal customer" style="display:none"
|
||||
data-materialCode="<?= $resinMaterial['MaterialCode'] ?>"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
<?= $resinMaterial['customers'] ?>
|
||||
</td>
|
||||
|
||||
<td class="celda_normal openingStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
<?php if ($datesInMonthIndex == 0) { ?>
|
||||
|
||||
oninput="openingStockChange(this)"
|
||||
contenteditable="true"
|
||||
|
||||
<?php } ?>>
|
||||
|
||||
<?php
|
||||
foreach ($previousMonthResinStockDetails as $index => $previousMonthResinStockDetail) {
|
||||
if ($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']) {
|
||||
echo $previousMonthResinStockDetail['balanceStock'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="celda_normal receiptStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
oninput="receiptStockChange(this)"
|
||||
contenteditable="true"> <?= ' ' ?> </td>
|
||||
|
||||
<td class="celda_normal usedStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>"
|
||||
oninput="usedStockChange(this)"
|
||||
contenteditable="true"> <?= ' ' ?> </td>
|
||||
|
||||
<td class="celda_normal balanceStock"
|
||||
data-id="<?= $dateInMonth ?> <?= $resinMaterial['MaterialCode'] ?>">
|
||||
|
||||
<?php
|
||||
foreach ($previousMonthResinStockDetails as $index => $previousMonthResinStockDetail) {
|
||||
if ($previousMonthResinStockDetail['materialCode'] == $resinMaterial['MaterialCode']) {
|
||||
echo $previousMonthResinStockDetail['balanceStock'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@ -812,7 +813,7 @@ foreach ($period as $day) {
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2();
|
||||
})
|
||||
</script>
|
||||
@ -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) {
|
||||
</script>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const list = document.getElementById("sortableList");
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const list = document.getElementById("sortableList");
|
||||
|
||||
let draggedItem = null;
|
||||
let draggedItem = null;
|
||||
|
||||
function attachDragEvents(item) {
|
||||
item.setAttribute("draggable", "true");
|
||||
function attachDragEvents(item) {
|
||||
item.setAttribute("draggable", "true");
|
||||
|
||||
item.addEventListener("dragstart", (event) => {
|
||||
draggedItem = event.target;
|
||||
event.target.classList.add("dragging");
|
||||
});
|
||||
item.addEventListener("dragstart", (event) => {
|
||||
draggedItem = event.target;
|
||||
event.target.classList.add("dragging");
|
||||
});
|
||||
|
||||
item.addEventListener("dragend", (event) => {
|
||||
event.target.classList.remove("dragging");
|
||||
});
|
||||
}
|
||||
|
||||
list.addEventListener("dragover", (event) => {
|
||||
event.preventDefault(); // Allow dropping
|
||||
const dragging = document.querySelector(".dragging");
|
||||
const closestItem = getClosestItem(list, event.clientY);
|
||||
|
||||
if (closestItem) {
|
||||
list.insertBefore(dragging, closestItem);
|
||||
} else {
|
||||
list.appendChild(dragging);
|
||||
item.addEventListener("dragend", (event) => {
|
||||
event.target.classList.remove("dragging");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function getClosestItem(container, y) {
|
||||
const items = [...container.querySelectorAll(".sortable-item:not(.dragging)")];
|
||||
list.addEventListener("dragover", (event) => {
|
||||
event.preventDefault(); // Allow dropping
|
||||
const dragging = document.querySelector(".dragging");
|
||||
const closestItem = getClosestItem(list, event.clientY);
|
||||
|
||||
return items.reduce((closest, child) => {
|
||||
const box = child.getBoundingClientRect();
|
||||
const offset = y - box.top - box.height / 2;
|
||||
if (closestItem) {
|
||||
list.insertBefore(dragging, closestItem);
|
||||
} else {
|
||||
list.appendChild(dragging);
|
||||
}
|
||||
});
|
||||
|
||||
return offset < 0 && offset > closest.offset
|
||||
? { offset, element: child }
|
||||
: closest;
|
||||
}, { offset: Number.NEGATIVE_INFINITY }).element;
|
||||
}
|
||||
function getClosestItem(container, y) {
|
||||
const items = [...container.querySelectorAll(".sortable-item:not(.dragging)")];
|
||||
|
||||
// Attach drag events to existing items
|
||||
document.querySelectorAll(".sortable-item").forEach(attachDragEvents);
|
||||
return items.reduce((closest, child) => {
|
||||
const box = child.getBoundingClientRect();
|
||||
const offset = y - box.top - box.height / 2;
|
||||
|
||||
window.removeSelectedMaterial = function (checkbox) {
|
||||
let container = checkbox.closest(".sortable-item");
|
||||
let materialCode = checkbox.value;
|
||||
let materialName = container.querySelector("label").innerText;
|
||||
return offset < 0 && offset > closest.offset ?
|
||||
{
|
||||
offset,
|
||||
element: child
|
||||
} :
|
||||
closest;
|
||||
}, {
|
||||
offset: Number.NEGATIVE_INFINITY
|
||||
}).element;
|
||||
}
|
||||
|
||||
container.remove();
|
||||
};
|
||||
// Attach drag events to existing items
|
||||
document.querySelectorAll(".sortable-item").forEach(attachDragEvents);
|
||||
|
||||
window.addBackToList = function () {
|
||||
let dropdown = document.getElementById("customizeHeader");
|
||||
let selectedOption = dropdown.options[dropdown.selectedIndex];
|
||||
window.removeSelectedMaterial = function(checkbox) {
|
||||
let container = checkbox.closest(".sortable-item");
|
||||
let materialCode = checkbox.value;
|
||||
let materialName = container.querySelector("label").innerText;
|
||||
|
||||
if (selectedOption.value !== "") {
|
||||
let materialCode = selectedOption.value;
|
||||
let materialName = selectedOption.text;
|
||||
container.remove();
|
||||
};
|
||||
|
||||
let container = document.createElement("div");
|
||||
container.classList.add("sortable-item");
|
||||
container.id = materialCode + "_container";
|
||||
container.innerHTML = `
|
||||
window.addBackToList = function() {
|
||||
let dropdown = document.getElementById("customizeHeader");
|
||||
let selectedOption = dropdown.options[dropdown.selectedIndex];
|
||||
|
||||
if (selectedOption.value !== "") {
|
||||
let materialCode = selectedOption.value;
|
||||
let materialName = selectedOption.text;
|
||||
|
||||
let container = document.createElement("div");
|
||||
container.classList.add("sortable-item");
|
||||
container.id = materialCode + "_container";
|
||||
container.innerHTML = `
|
||||
<input type="checkbox" id="${materialCode}_checkboxId"
|
||||
name="customisedMaterialCodes[]" value="${materialCode}"
|
||||
onclick="removeSelectedMaterial(this)" checked>
|
||||
@ -1262,26 +1268,24 @@ foreach ($period as $day) {
|
||||
<br>
|
||||
`;
|
||||
|
||||
attachDragEvents(container);
|
||||
|
||||
document.getElementById("sortableList").appendChild(container);
|
||||
}
|
||||
};
|
||||
});
|
||||
attachDragEvents(container);
|
||||
|
||||
document.getElementById("sortableList").appendChild(container);
|
||||
}
|
||||
};
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function() {
|
||||
$('#customizeHeader').select2();
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$('#month').change(function(){
|
||||
$('#changeMonthForm').submit();
|
||||
})
|
||||
$('#month').change(function() {
|
||||
$('#changeMonthForm').submit();
|
||||
})
|
||||
|
||||
$('#month').datepicker({
|
||||
format: 'M-yyyy',
|
||||
@ -1294,99 +1298,90 @@ foreach ($period as $day) {
|
||||
|
||||
<script>
|
||||
function toggleDivFullscreen() {
|
||||
let div = document.getElementById("fullscreenDiv");
|
||||
let tableResponsive = document.getElementById("table-responsive"); // Select the table container inside div
|
||||
let div = document.getElementById("fullscreenDiv");
|
||||
let tableResponsive = document.getElementById("table-responsive"); // Select the table container inside div
|
||||
|
||||
|
||||
|
||||
if (!document.fullscreenElement) {
|
||||
div.requestFullscreen().then(() => {
|
||||
div.style.width = "100vw"; // Full viewport width
|
||||
div.style.height = "100vh"; // Full viewport height
|
||||
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
tableResponsive.style.maxHeight = "90vh";
|
||||
tableResponsive.style.overflowY = "auto"; // Allow scrolling if needed
|
||||
}
|
||||
}).catch(err => console.log("Error enabling fullscreen:", err));
|
||||
} else {
|
||||
if (!document.fullscreenElement) {
|
||||
div.requestFullscreen().then(() => {
|
||||
div.style.width = "100vw"; // Full viewport width
|
||||
div.style.height = "100vh"; // Full viewport height
|
||||
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
tableResponsive.style.maxHeight = "90vh";
|
||||
tableResponsive.style.overflowY = "auto"; // Allow scrolling if needed
|
||||
}
|
||||
}).catch(err => console.log("Error enabling fullscreen:", err));
|
||||
} else {
|
||||
document.exitFullscreen().then(() => {
|
||||
div.style.width = "100%";
|
||||
div.style.height = "100%";
|
||||
|
||||
// Reset .table-responsive height when exiting fullscreen
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
// If .table-responsive exists, set its height to 90vh
|
||||
if (tableResponsive) {
|
||||
tableResponsive.style.maxHeight = "450px";
|
||||
tableResponsive.style.overflowY = "auto"; // Allow scrolling if needed
|
||||
}
|
||||
}).catch(err => console.log("Error exiting fullscreen:", err));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$("#searchInput").on("keyup", function () {
|
||||
let value = $(this).val().toLowerCase(); // Convert input to lowercase for case-insensitive search
|
||||
$("#searchInput").on("keyup", function() {
|
||||
let value = $(this).val().toLowerCase(); // Convert input to lowercase for case-insensitive search
|
||||
|
||||
$(".table-responsive tbody tr").filter(function () {
|
||||
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
|
||||
$(".table-responsive tbody tr").filter(function() {
|
||||
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $('#fullscreenDiv')
|
||||
});
|
||||
|
||||
// Initialize Select2 when the modal is shown inside full screen
|
||||
$('#bs-example-modal-lg').on('shown.bs.modal', function () {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$('#customizeModalId').on('shown.bs.modal', function () {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $('#fullscreenDiv')
|
||||
});
|
||||
|
||||
// Initialize Select2 when the modal is shown inside full screen
|
||||
$('#bs-example-modal-lg').on('shown.bs.modal', function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
$('#customizeModalId').on('shown.bs.modal', function() {
|
||||
$('.select2').select2({
|
||||
dropdownParent: $(this) // This ensures Select2 works in the modal
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
//getting modal backdrop inside full screen
|
||||
|
||||
$(document).ready(function() {
|
||||
function moveModalBackdropToFullscreen() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').appendTo('#fullscreenDiv'); // Move backdrop inside fullscreen
|
||||
}, 10); // Small delay ensures backdrop is created first
|
||||
}
|
||||
function moveModalBackdropToFullscreen() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').appendTo('#fullscreenDiv'); // Move backdrop inside fullscreen
|
||||
}, 10); // Small delay ensures backdrop is created first
|
||||
}
|
||||
|
||||
// Move the modal backdrop when a modal opens
|
||||
$('#bs-example-modal-lg, #customizeModalId').on('show.bs.modal', function () {
|
||||
moveModalBackdropToFullscreen();
|
||||
});
|
||||
|
||||
// Ensure modals work properly in fullscreen mode
|
||||
document.addEventListener("fullscreenchange", function() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').remove(); // Remove any existing backdrops
|
||||
// Move the modal backdrop when a modal opens
|
||||
$('#bs-example-modal-lg, #customizeModalId').on('show.bs.modal', function() {
|
||||
moveModalBackdropToFullscreen();
|
||||
}, 200);
|
||||
});
|
||||
|
||||
// Ensure modals work properly in fullscreen mode
|
||||
document.addEventListener("fullscreenchange", function() {
|
||||
setTimeout(() => {
|
||||
$('.modal-backdrop').remove(); // Remove any existing backdrops
|
||||
moveModalBackdropToFullscreen();
|
||||
}, 200);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</script>
|
||||
@ -405,10 +405,7 @@ $timeOtions[] = "12:00 AM";
|
||||
<div class="col-2 mt-2">
|
||||
|
||||
<input type="text" name="month" id="month" value="<?php echo "$month" ?>"
|
||||
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;">
|
||||
|
||||
</div>
|
||||
@ -419,13 +416,13 @@ $timeOtions[] = "12:00 AM";
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -433,20 +430,20 @@ $timeOtions[] = "12:00 AM";
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="trpProductionDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fa fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
@ -1504,16 +1501,18 @@ $timeOtions[] = "12:00 AM";
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<a href="#">
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
style="font-size: x-large;"
|
||||
id="trpAbstractDetailsExport">
|
||||
</i>
|
||||
</a>
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
style="font-size: x-large; color: #0b7cba"
|
||||
id="trpAbstractDetailsExport">
|
||||
</i>
|
||||
|
||||
<i class="fas fa-save btn-lg "
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="abstractSaveId">
|
||||
</i>
|
||||
|
||||
<input type="button" class="btn btn-success px-4 mb-3" id="abstractSaveId" value="Save">
|
||||
|
||||
</div>
|
||||
<div class="col-1">
|
||||
@ -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";
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$('#month').change(function() {
|
||||
$('#changeMonthForm').submit();
|
||||
|
||||
@ -345,13 +345,13 @@
|
||||
|
||||
<input type="text" id="searchInput" placeholder="Search..."
|
||||
class="mt-2"
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 1px solid #ccc;
|
||||
style="padding: 8px;margin-bottom: 10px;width: 150px;border: 2px solid rgb(123, 11, 214);
|
||||
border-radius: 5px;margin-right:15px;">
|
||||
|
||||
|
||||
<i class="fa fa-table btn-lg mt-2"
|
||||
title="Date Range Filter"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(95, 102, 105)"
|
||||
data-toggle="modal"
|
||||
data-target="#filterModalId">
|
||||
|
||||
@ -359,20 +359,20 @@
|
||||
|
||||
<i class="fa fa-download btn-lg mt-2"
|
||||
title="Excel Download"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color: #0b7cba"
|
||||
id="trpSandUseStockExport">
|
||||
</i>
|
||||
|
||||
<i class="fe-maximize noti-icon btn-lg mt-2"
|
||||
title="Full Screen"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(230, 184, 35)"
|
||||
onclick="toggleDivFullscreen()">
|
||||
</i>
|
||||
|
||||
|
||||
<i class="fa fa-save btn-lg mt-2"
|
||||
title="Save"
|
||||
style="font-size: x-large; cursor:pointer;"
|
||||
style="font-size: x-large; cursor:pointer; color:rgb(31, 132, 3)"
|
||||
id="saveId">
|
||||
</i>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user