stock module-1 vadivel J 23-12-2024
This commit is contained in:
parent
ac631aa7e5
commit
45c0abcfd0
@ -415,7 +415,7 @@ class StockController extends BaseController
|
||||
'_300' => $postData['300Mm'],
|
||||
'pan' => $postData['pan'],
|
||||
'total' => $postData['total'],
|
||||
'plus20loss' => $postData['plus20Loss'],
|
||||
'plus20Loss' => $postData['plus20Loss'],
|
||||
'plus30Loss' => $postData['plus30Loss'],
|
||||
'moistureSpec' => $postData['moistureSpec'],
|
||||
'moistureActual' => $postData['moistureActual'],
|
||||
@ -753,8 +753,6 @@ class StockController extends BaseController
|
||||
->findAll();
|
||||
|
||||
|
||||
|
||||
|
||||
$startDate = "$month-01";
|
||||
$endDate = date("Y-m-t", strtotime($startDate));
|
||||
$data['resinStockDetails'] = $this->resinStockDetails_model
|
||||
@ -789,7 +787,7 @@ class StockController extends BaseController
|
||||
|
||||
|
||||
|
||||
if (!empty($data['groupedBagStockDetails'])) {
|
||||
if (!empty($data['groupedResinStockDetails'])) {
|
||||
|
||||
$result = $this->resinStockDetails_model
|
||||
->select('materialCode') // Specify the column you want to select
|
||||
@ -802,9 +800,10 @@ class StockController extends BaseController
|
||||
}
|
||||
$resinMaterials = $this->rawmaterialdetails_model->getSelectedResinMaterialCode($distinctMaterialCodes);
|
||||
} else {
|
||||
|
||||
$resinMaterials = $this->rawmaterialdetails_model->getAllResinMaterialCode();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach ($resinMaterials as $key => $resinMaterial) {
|
||||
$materialCode = $resinMaterial['MaterialCode'];
|
||||
@ -819,7 +818,7 @@ class StockController extends BaseController
|
||||
$resinMaterialCount = count($resinMaterials);
|
||||
|
||||
$data['resinMaterialCount'] = $resinMaterialCount;
|
||||
$data['resinMaterials'] = $resinMaterials;
|
||||
$data['resinMaterials'] = $resinMaterials;
|
||||
|
||||
$date = DateTime::createFromFormat('Y-m', $month);
|
||||
|
||||
|
||||
@ -15,6 +15,10 @@
|
||||
padding:0 8px;
|
||||
}
|
||||
|
||||
.table td{
|
||||
vertical-align: 0;
|
||||
}
|
||||
|
||||
.fht-table td {
|
||||
text-align: center;
|
||||
}
|
||||
@ -272,6 +276,7 @@
|
||||
<th class="celda_encabezado_general" style="display:none">___300___</th>
|
||||
<th class="celda_encabezado_general" style="display:none">PAN</th>
|
||||
<th class="celda_encabezado_general" style="display:none">Total</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Lab Report</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">AFS Spec</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">AFS Actual</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Plus 20 loss%</th>
|
||||
@ -284,9 +289,8 @@
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Salable Qty</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Remark</th>
|
||||
<th class="celda_encabezado_general" style="display:none;">MaterialCode</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Update Lab Report</th>
|
||||
<th class="celda_encabezado_general" style="display:none">id</th>
|
||||
<th class="celda_encabezado_general" style="padding: 10px;">Download Report</th>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -367,7 +371,6 @@
|
||||
<?php echo $record['VehicleNo']??''; ?>
|
||||
</td>
|
||||
|
||||
<!-- calculateRow() for every td change below -->
|
||||
|
||||
<!-- 'td:eq(9)' -->
|
||||
<td class="celda_normal" >
|
||||
@ -434,62 +437,67 @@
|
||||
<?php echo $record['total']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
|
||||
<!-- 'td:eq(22)' -->
|
||||
<td class="celda_normal" style="color:#02d0eb; background:white;">
|
||||
<i
|
||||
class="fas fa-edit download-lab-report" style="cursor:pointer;"></i>
|
||||
</td>
|
||||
|
||||
|
||||
<!-- 'td:eq(23)' -->
|
||||
<td class="celda_normal" contenteditable="true">
|
||||
<?php echo $record['afsSpec']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(23)' -->
|
||||
<!-- 'td:eq(24)' -->
|
||||
<td class="celda_normal" contenteditable="true">
|
||||
<?php echo $record['afsActual']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(24)' -->
|
||||
<!-- 'td:eq(25)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['plus20Loss']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(25)' -->
|
||||
<!-- 'td:eq(26)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['plus30Loss']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(26)' -->
|
||||
<td class="celda_normal" contenteditable="true"
|
||||
onkeyup="calculateRow(this.parentNode.id);"
|
||||
>
|
||||
<!-- 'td:eq(27)' -->
|
||||
<td class="celda_normal" >
|
||||
<?php echo $record['moistureSpec']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(27)' -->
|
||||
<td class="celda_normal" contenteditable="true" id="moistureActualId"
|
||||
onkeyup="calculateRow(this.parentNode.id);">
|
||||
<?php echo $record['moistureActual']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(28)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['moistureLoss']??'0.00'; ?>
|
||||
<td class="celda_normal" id="moistureActualId">
|
||||
<?php echo $record['moistureActual']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(29)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['moistureLossQty']??'0.00'; ?>
|
||||
<?php echo $record['moistureLoss']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(30)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['sieveLossQty']??'0.00'; ?>
|
||||
<?php echo $record['moistureLossQty']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(31)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['sieveLossQty']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(32)' -->
|
||||
<td class="celda_normal">
|
||||
<?php echo $record['salableQty']??'0.00'; ?>
|
||||
</td>
|
||||
|
||||
<!-- need to check the status and select values before hand -->
|
||||
|
||||
<!-- 'td:eq(32)' -->
|
||||
<!-- 'td:eq(33)' -->
|
||||
<td class="celda_normal" style="color:#02d0eb; background:white;" contenteditable="true">
|
||||
<select class="status sand-status" style="width:210px;">
|
||||
<option value="noRemark">Select</option>
|
||||
@ -506,28 +514,17 @@
|
||||
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(33)' -->
|
||||
<!-- 'td:eq(34)' -->
|
||||
<td style="display: none;">
|
||||
<?php echo $record['MaterialCode'] ?? ''; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(34)' -->
|
||||
<td class="celda_normal" style="color:#02d0eb; background:white;">
|
||||
<i
|
||||
class="fas fa-edit edit-lab-report" style="cursor:pointer;"></i>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(35)' -->
|
||||
<td style="display: none;">
|
||||
<?php echo $record['id'] ?? ''; ?>
|
||||
</td>
|
||||
|
||||
<!-- 'td:eq(36)' -->
|
||||
<td class="celda_normal" style="color:#02d0eb; background:white;">
|
||||
<i
|
||||
class="fas fa-download download-lab-report" style="cursor:pointer;"></i>
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
<!-- 'td:eq(35)' -->
|
||||
<td style="display: none;">
|
||||
<?php echo $record['id'] ?? ''; ?>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@ -566,38 +563,7 @@
|
||||
|
||||
|
||||
|
||||
<!-- modal section -->
|
||||
|
||||
|
||||
<div class="modal fade" id="labReportModel" tabindex="-1" role="dialog" aria-labelledby="labReportModelLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="labReportModelLabel">Sand Lab Report</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="<?php echo base_url('/updateLabReport')?>" method="POST">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="submit" class="btn btn-primary">Save changes</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- download report modal section -->
|
||||
<div class="modal fade" id="downloadLabReportModel" tabindex="-1" role="dialog" aria-labelledby="downloadLabReportModelLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
@ -682,13 +648,13 @@
|
||||
id="dwnldClayId">20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left !important; width:25%;"><b>Moisture %</b></td>
|
||||
<td contenteditable="true" oninput="calculateRow()"
|
||||
<td style="text-align: left !important; width:25%;"><b>Moisture Actual %</b></td>
|
||||
<td contenteditable="true" oninput="calculateRow(value='moistureValue')"
|
||||
id="dwnldMoistureActualId">10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left !important; width:25%;"><b>Moisture Spec %</b></td>
|
||||
<td contenteditable="true" oninput="calculateRow()"
|
||||
<td contenteditable="true" oninput="calculateRow(value='moistureValue')"
|
||||
id="dwnldMoistureSpecId">10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -835,7 +801,7 @@
|
||||
<tbody >
|
||||
<tr>
|
||||
<td style="text-align: left !important; width:25%;"><b>Accepted</b></td>
|
||||
<td id="dwnldAcceptedId">OK</td>
|
||||
<td id="dwnldAcceptedId"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: left !important;"><b>Accepted Under Deviation</b></td>
|
||||
@ -903,7 +869,7 @@
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Save</button>
|
||||
<button type="submit" class="btn btn-success" >Save</button>
|
||||
<button type="button" id="pdfGenerateId" class="btn btn-primary">Download</button>
|
||||
</div>
|
||||
</form>
|
||||
@ -912,112 +878,10 @@
|
||||
</div>
|
||||
|
||||
|
||||
<!-- download pdf punction -->
|
||||
|
||||
<script>
|
||||
|
||||
document.getElementById('pdfGenerateId').addEventListener('click', function () {
|
||||
// Get the content
|
||||
const content = document.getElementById("content").innerHTML;
|
||||
|
||||
// Sanitize with DOMPurify
|
||||
const cleanContent = DOMPurify.sanitize(content);
|
||||
|
||||
// Convert to PDF
|
||||
const element = document.createElement('div');
|
||||
element.innerHTML = cleanContent;
|
||||
|
||||
const opt = {
|
||||
margin: 1,
|
||||
filename: 'report.pdf',
|
||||
image: { type: 'jpeg', quality: 0.98 },
|
||||
html2canvas: { scale: 2 },
|
||||
jsPDF: { unit: 'in', format: 'A4', orientation: 'portrait' }
|
||||
};
|
||||
|
||||
html2pdf().from(element).set(opt).save();
|
||||
|
||||
$('#downloadLabReportModel').modal('hide');
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#incomingSilicaSandDetailsTable tbody').on('click', '.edit-lab-report', function () {
|
||||
|
||||
var row = $(this).closest('tr');
|
||||
|
||||
// Get values from the row
|
||||
|
||||
let igrNo = row.find('td:eq(1)').text().trim();
|
||||
let qty = row.find('td:eq(9)').text().trim();
|
||||
let _10Mm = row.find('td:eq(10)').text().trim();
|
||||
let _20Mm = row.find('td:eq(11)').text().trim();
|
||||
let _30Mm = row.find('td:eq(12)').text().trim();
|
||||
let _40Mm = row.find('td:eq(13)').text().trim();
|
||||
let _50Mm = row.find('td:eq(14)').text().trim();
|
||||
let _70Mm = row.find('td:eq(15)').text().trim();
|
||||
let _100Mm = row.find('td:eq(16)').text().trim();
|
||||
let _140Mm = row.find('td:eq(17)').text().trim();
|
||||
let _200Mm = row.find('td:eq(18)').text().trim();
|
||||
let _300Mm = row.find('td:eq(19)').text().trim();
|
||||
let pan = row.find('td:eq(20)').text().trim();
|
||||
let total = row.find('td:eq(21)').text().trim();
|
||||
let plus20loss = row.find('td:eq(24)').text().trim();
|
||||
let plus30Loss = row.find('td:eq(25)').text().trim();
|
||||
let moistureSpec = row.find('td:eq(26)').text().trim();
|
||||
let moistureActual = row.find('td:eq(27)').text().trim();
|
||||
let moistureLoss = row.find('td:eq(28)').text().trim();
|
||||
let moistureLossQty = row.find('td:eq(29)').text().trim();
|
||||
let sieveLossQty = row.find('td:eq(30)').text().trim();
|
||||
let salableQty = row.find('td:eq(31)').text().trim();
|
||||
let id = row.find('td:eq(35)').text().trim();
|
||||
|
||||
let materialCode = row.find('td:eq(33)').text().trim();
|
||||
|
||||
|
||||
|
||||
|
||||
// Fill the modal fields with the values
|
||||
|
||||
$('#igrNo').val(igrNo);
|
||||
$('#qty').val(qty);
|
||||
$('#10Mm').val(_10Mm);
|
||||
$('#20Mm').val(_20Mm);
|
||||
$('#30Mm').val(_30Mm);
|
||||
$('#40Mm').val(_40Mm);
|
||||
$('#50Mm').val(_50Mm);
|
||||
$('#70Mm').val(_70Mm);
|
||||
$('#100Mm').val(_100Mm);
|
||||
$('#140Mm').val(_140Mm);
|
||||
$('#200Mm').val(_200Mm);
|
||||
$('#300Mm').val(_300Mm);
|
||||
$('#pan') .val(pan);
|
||||
$('#total').val(total);
|
||||
$('#plus20loss').val(plus20loss);
|
||||
$('#plus30Loss').val(plus30Loss);
|
||||
$('#moistureSpec').val(moistureSpec);
|
||||
$('#moistureActual').val(moistureActual);
|
||||
$('#moistureLoss').val(moistureLoss);
|
||||
$('#moistureLossQty').val(moistureLossQty);
|
||||
$('#sieveLossQty').val(sieveLossQty);
|
||||
$('#salableQty').val(salableQty);
|
||||
|
||||
|
||||
$('#issdId').val(id);
|
||||
$('#materialCode').val(materialCode);
|
||||
|
||||
// Show the modal
|
||||
$('#labReportModel').modal('show');
|
||||
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!-- Populate Data in download lab report modal -->
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#incomingSilicaSandDetailsTable tbody').on('click', '.download-lab-report', function () {
|
||||
@ -1026,33 +890,42 @@
|
||||
|
||||
// Get values from the row
|
||||
|
||||
let igrNo = row.find('td:eq(1)').text().trim();
|
||||
let invoiceNo = row.find('td:eq(2)').text().trim();
|
||||
let invoiceDate = row.find('td:eq(3)').text().trim();
|
||||
let igrDate = row.find('td:eq(4)').text().trim();
|
||||
let supplierName = row.find('td:eq(5)').text().trim();
|
||||
let vehicleNo = row.find('td:eq(8)').text().trim();
|
||||
let qty = row.find('td:eq(9)').text().trim();
|
||||
let _10Mm = row.find('td:eq(10)').text().trim();
|
||||
let _20Mm = row.find('td:eq(11)').text().trim();
|
||||
let _30Mm = row.find('td:eq(12)').text().trim();
|
||||
let _40Mm = row.find('td:eq(13)').text().trim();
|
||||
let _50Mm = row.find('td:eq(14)').text().trim();
|
||||
let _70Mm = row.find('td:eq(15)').text().trim();
|
||||
let _100Mm = row.find('td:eq(16)').text().trim();
|
||||
let _140Mm = row.find('td:eq(17)').text().trim();
|
||||
let _200Mm = row.find('td:eq(18)').text().trim();
|
||||
let _300Mm = row.find('td:eq(19)').text().trim();
|
||||
let pan = row.find('td:eq(20)').text().trim();
|
||||
let total = row.find('td:eq(21)').text().trim();
|
||||
|
||||
let moistureSpec = row.find('td:eq(26)').text().trim();
|
||||
let moistureActual = row.find('td:eq(27)').text().trim();
|
||||
let moistureLoss = row.find('td:eq(28)').text().trim();
|
||||
|
||||
|
||||
let igrNo = row.find('td:eq(1)').text().trim();
|
||||
let invoiceNo = row.find('td:eq(2)').text().trim();
|
||||
let invoiceDate = row.find('td:eq(3)').text().trim();
|
||||
let igrDate = row.find('td:eq(4)').text().trim();
|
||||
let supplierName = row.find('td:eq(5)').text().trim();
|
||||
let vehicleNo = row.find('td:eq(8)').text().trim();
|
||||
let qty = row.find('td:eq(9)').text().trim();
|
||||
let _10Mm = row.find('td:eq(10)').text().trim();
|
||||
let _20Mm = row.find('td:eq(11)').text().trim();
|
||||
let _30Mm = row.find('td:eq(12)').text().trim();
|
||||
let _40Mm = row.find('td:eq(13)').text().trim();
|
||||
let _50Mm = row.find('td:eq(14)').text().trim();
|
||||
let _70Mm = row.find('td:eq(15)').text().trim();
|
||||
let _100Mm = row.find('td:eq(16)').text().trim();
|
||||
let _140Mm = row.find('td:eq(17)').text().trim();
|
||||
let _200Mm = row.find('td:eq(18)').text().trim();
|
||||
let _300Mm = row.find('td:eq(19)').text().trim();
|
||||
let pan = row.find('td:eq(20)').text().trim();
|
||||
let total = row.find('td:eq(21)').text().trim();
|
||||
|
||||
let afsSpec = row.find('td:eq(23)').text().trim();
|
||||
let afsActual = row.find('td:eq(24)').text().trim();
|
||||
|
||||
let plus20Loss = row.find('td:eq(25)').text().trim();
|
||||
let plus30Loss = row.find('td:eq(26)').text().trim();
|
||||
let moistureSpec = row.find('td:eq(27)').text().trim();
|
||||
let moistureActual = row.find('td:eq(28)').text().trim();
|
||||
let moistureLoss = row.find('td:eq(29)').text().trim();
|
||||
let moistureLossQty = row.find('td:eq(30)').text().trim();
|
||||
let sieveLossQty = row.find('td:eq(31)').text().trim();
|
||||
let salableQty = row.find('td:eq(32)').text().trim();
|
||||
let remark = row.find('.sand-status').val();
|
||||
|
||||
let materialCode = row.find('td:eq(33)').text().trim();
|
||||
|
||||
let materialCode = row.find('td:eq(34)').text().trim();
|
||||
let id = row.find('td:eq(35)').text().trim();
|
||||
|
||||
|
||||
// Fill the modal fields with the values
|
||||
@ -1113,14 +986,14 @@
|
||||
(parseFloat(dwnld10MmFId)+
|
||||
parseFloat(dwnld20MmFId)+
|
||||
parseFloat(dwnld30MmFId)+
|
||||
parseFloat(dwnld40MmFId) +
|
||||
parseFloat(dwnld50MmFId) +
|
||||
parseFloat(dwnld70MmFId) +
|
||||
parseFloat(dwnld100MmFId) +
|
||||
parseFloat(dwnld140MmFId) +
|
||||
parseFloat(dwnld200MmFId) +
|
||||
parseFloat(dwnld40MmFId)+
|
||||
parseFloat(dwnld50MmFId)+
|
||||
parseFloat(dwnld70MmFId)+
|
||||
parseFloat(dwnld100MmFId)+
|
||||
parseFloat(dwnld140MmFId)+
|
||||
parseFloat(dwnld200MmFId)+
|
||||
parseFloat(dwnld300MmFId)+
|
||||
parseFloat(dwnldPanFId) ).toFixed(2);
|
||||
parseFloat(dwnldPanFId)).toFixed(2);
|
||||
|
||||
let dwnldAfsId;
|
||||
|
||||
@ -1128,7 +1001,7 @@
|
||||
dwnldAfsId = "0.00";
|
||||
}else{
|
||||
dwnldAfsId = parseFloat(fTotal/total).toFixed(2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$('#dwnldWeighOfSand').text(total);
|
||||
@ -1140,6 +1013,8 @@
|
||||
$('#dwnldFtotalId').text(fTotal);
|
||||
$('#dwnldAfsId').text(dwnldAfsId);
|
||||
|
||||
|
||||
|
||||
if(remark == "accepted"){
|
||||
$('#dwnldAcceptedId').text("Ok");
|
||||
}else if(remark == "conditionallyAccepted"){
|
||||
@ -1148,85 +1023,71 @@
|
||||
$('#dwnldRejectedId').text("Ok");
|
||||
}
|
||||
|
||||
|
||||
$('#issdId').val(id);
|
||||
$('#igrNo').val(igrNo);
|
||||
$('#materialCode').val(materialCode);
|
||||
$('#10Mm').val(_10Mm);
|
||||
$('#20Mm').val(_20Mm);
|
||||
$('#30Mm').val(_30Mm);
|
||||
$('#40Mm').val(_40Mm);
|
||||
$('#50Mm').val(_50Mm);
|
||||
$('#70Mm').val(_70Mm);
|
||||
$('#100Mm').val(_100Mm);
|
||||
$('#140Mm').val(_140Mm);
|
||||
$('#200Mm').val(_200Mm);
|
||||
$('#300Mm').val(_300Mm);
|
||||
$('#pan') .val( pan );
|
||||
$('#total').val(total);
|
||||
$('#plus20Loss').val(plus20Loss);
|
||||
$('#plus30Loss').val(plus30Loss);
|
||||
$('#moistureSpec').val(moistureSpec);
|
||||
$('#moistureActual').val(moistureActual);
|
||||
$('#moistureLoss').val(moistureLoss);
|
||||
$('#moistureLossQty').val(moistureLossQty);
|
||||
$('#sieveLossQty').val(sieveLossQty);
|
||||
$('#salableQty').val(salableQty);
|
||||
|
||||
// Show the modal
|
||||
$('#downloadLabReportModel').modal('show');
|
||||
|
||||
let someValue = $("#meshTableId").tableToJSON();
|
||||
|
||||
console.log(someValue);
|
||||
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!-- download pdf punction -->
|
||||
<script>
|
||||
document.getElementById('pdfGenerateId').addEventListener('click', function () {
|
||||
// Get the content
|
||||
const content = document.getElementById("content").innerHTML;
|
||||
|
||||
// Sanitize with DOMPurify
|
||||
const cleanContent = DOMPurify.sanitize(content);
|
||||
|
||||
// Convert to PDF
|
||||
const element = document.createElement('div');
|
||||
element.innerHTML = cleanContent;
|
||||
|
||||
const opt = {
|
||||
margin: 1,
|
||||
filename: 'report.pdf',
|
||||
image: { type: 'jpeg', quality: 0.98 },
|
||||
html2canvas: { scale: 2 },
|
||||
jsPDF: { unit: 'in', format: 'A4', orientation: 'portrait' }
|
||||
};
|
||||
|
||||
html2pdf().from(element).set(opt).save();
|
||||
|
||||
|
||||
$('#downloadLabReportModel').modal('hide');
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#10Mm , #20Mm, #30Mm, #40Mm, #50Mm, #70Mm, #100Mm, #1400Mm, #200Mm, #300Mm , #pan , #moistureSpec ,#moistureActual').change(function(){
|
||||
|
||||
let qty = parseFloat( $('#qty').val().trim());
|
||||
let _10Mm = parseFloat( $('#10Mm').val().trim());
|
||||
let _20Mm = parseFloat($('#20Mm').val().trim());
|
||||
let _30Mm = parseFloat($('#30Mm').val().trim());
|
||||
let _40Mm = parseFloat($('#40Mm').val().trim());
|
||||
let _50Mm = parseFloat($('#50Mm').val().trim());
|
||||
let _70Mm = parseFloat($('#70Mm').val().trim());
|
||||
let _100Mm = parseFloat($('#100Mm').val().trim());
|
||||
let _140Mm = parseFloat($('#140Mm').val().trim());
|
||||
let _200Mm = parseFloat($('#200Mm').val().trim());
|
||||
let _300Mm = parseFloat($('#300Mm').val().trim());
|
||||
let pan = parseFloat($('#pan').val().trim());
|
||||
let total = parseFloat($('#total').val().trim());
|
||||
let plus20Loss = parseFloat($('#plus20Loss').val().trim());
|
||||
let plus30Loss = parseFloat($('#plus30Loss').val().trim());
|
||||
let moistureSpec = parseFloat($('#moistureSpec').val().trim());
|
||||
let moistureActual = parseFloat($('#moistureActual').val().trim());
|
||||
let moistureLoss = parseFloat($('#moistureLoss').val().trim());
|
||||
let moistureLossQty = parseFloat($('#moistureLossQty').val().trim());
|
||||
let sieveLossQty = parseFloat($('#sieveLossQty').val().trim());
|
||||
let salableQty = parseFloat($('#salableQty').val().trim());
|
||||
|
||||
let newTotal = (_10Mm + _20Mm + _30Mm + _40Mm + _50Mm + _70Mm + _100Mm + _140Mm + _200Mm + _300Mm + pan).toFixed(2);
|
||||
|
||||
let newPlus20Loss = (_10Mm + _20Mm).toFixed(2) ;
|
||||
|
||||
|
||||
let newPlus30Loss =( _10Mm + _20Mm + _30Mm).toFixed(2) ;
|
||||
|
||||
|
||||
|
||||
let newSieveLossQty = ((qty * newPlus30Loss) / 100).toFixed(2);
|
||||
|
||||
|
||||
let newMoistureLoss = (moistureActual - moistureSpec).toFixed(2);
|
||||
|
||||
|
||||
let newMoistureLossQty = ((qty * newMoistureLoss) / 100 ).toFixed(2);
|
||||
|
||||
|
||||
let newSalableQty = (qty - newMoistureLossQty - newSieveLossQty).toFixed(2);
|
||||
|
||||
|
||||
|
||||
|
||||
$('#total').val(newTotal);
|
||||
$('#plus20loss').val(newPlus20Loss);
|
||||
$('#plus30Loss').val(newPlus30Loss);
|
||||
$('#moistureSpec').val(moistureSpec);
|
||||
$('#moistureActual').val(moistureActual);
|
||||
$('#moistureLoss').val(newMoistureLoss);
|
||||
$('#moistureLossQty').val(newMoistureLossQty);
|
||||
$('#sieveLossQty').val(newSieveLossQty);
|
||||
$('#salableQty').val(newSalableQty);
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@ -1234,8 +1095,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Save All Data in Incoming Silica Sand Details -->
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
@ -1303,109 +1163,103 @@
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!-- Calculate Row -->
|
||||
<script>
|
||||
|
||||
function calculateRow(value){
|
||||
function calculateRow(value){
|
||||
|
||||
var table = $('#meshTableId');
|
||||
|
||||
var tr = $(value).closest('tr');
|
||||
var weighOfSand = tr.find('td:eq(3)').text();
|
||||
var factor = tr.find('td:eq(4)').text();
|
||||
tr.find('td:eq(5)').text(parseFloat((weighOfSand * factor).toFixed(2)));
|
||||
|
||||
var table = $('#meshTableId');
|
||||
|
||||
let result = table.tableToJSON();
|
||||
|
||||
let qty = parseFloat($('#dwnldQtyId').text());
|
||||
let moistureSpec = $('#dwnldMoistureSpecId').text();
|
||||
let moistureActual = $('#dwnldMoistureActualId').text();
|
||||
let totalWeighOfSand = 0;
|
||||
let totalFactoredValue = 0;
|
||||
let afs = 0 ;
|
||||
let newPlus20Loss = 0 ;
|
||||
let newPlus30Loss = 0 ;
|
||||
let newSieveLossQty = 0 ;
|
||||
|
||||
for(let i=0; i< result.length-2; i++){ // -2 because last two rows cannot be converted to proper table to json
|
||||
|
||||
if(i == 0 || i == 1){
|
||||
newPlus20Loss += Number(result[i]['WEIGH OF SAND']) ;
|
||||
if( value != "moistureValue" ){
|
||||
var tr = $(value).closest('tr');
|
||||
var weighOfSand = tr.find('td:eq(3)').text();
|
||||
var factor = tr.find('td:eq(4)').text();
|
||||
tr.find('td:eq(5)').text(parseFloat((weighOfSand * factor).toFixed(2)));
|
||||
}
|
||||
|
||||
if(i == 0 || i == 1 || i== 2){
|
||||
let result = table.tableToJSON();
|
||||
|
||||
newPlus30Loss += Number(result[i]['WEIGH OF SAND']) ;
|
||||
let qty = parseFloat($('#dwnldQtyId').text());
|
||||
let moistureSpec = $('#dwnldMoistureSpecId').text();
|
||||
let moistureActual = $('#dwnldMoistureActualId').text();
|
||||
let totalWeighOfSand = 0 ;
|
||||
let totalFactoredValue = 0 ;
|
||||
let afs = 0 ;
|
||||
let newPlus20Loss = 0 ;
|
||||
let newPlus30Loss = 0 ;
|
||||
let newSieveLossQty = 0 ;
|
||||
|
||||
for(let i=0; i< result.length-2; i++){
|
||||
|
||||
if(i === 0 || i === 1){
|
||||
newPlus20Loss += Number(result[i]['WEIGH OF SAND']) ;
|
||||
}
|
||||
|
||||
if(i === 0 || i === 1 || i === 2){
|
||||
newPlus30Loss += Number(result[i]['WEIGH OF SAND']) ;
|
||||
newSieveLossQty = (parseFloat(qty) * newPlus30Loss) / 100 ;
|
||||
}
|
||||
|
||||
totalWeighOfSand += Number(result[i]['WEIGH OF SAND']) ;
|
||||
totalFactoredValue += Number(result[i]['TOTAL']) ;
|
||||
afs = (Number(totalFactoredValue) / Number(totalWeighOfSand)).toFixed(2) ;
|
||||
|
||||
|
||||
$('#dwnldWeighOfSand').text((totalWeighOfSand.toFixed(2)));
|
||||
$('#dwnldFtotalId').text((totalFactoredValue).toFixed(2));
|
||||
$('#dwnldAfsId').text(afs);
|
||||
|
||||
newSieveLossQty = (parseFloat(qty) * newPlus30Loss) / 100 ;
|
||||
|
||||
}
|
||||
|
||||
totalWeighOfSand += Number(result[i]['WEIGH OF SAND']) ;
|
||||
totalFactoredValue += Number(result[i]['TOTAL']) ;
|
||||
afs = (Number(totalFactoredValue) / Number(totalWeighOfSand)).toFixed(2) ;
|
||||
|
||||
|
||||
let newMoistureLoss = parseFloat(moistureActual) - parseFloat(moistureSpec) ;
|
||||
|
||||
$('#dwnldWeighOfSand').text((totalWeighOfSand.toFixed(2)));
|
||||
$('#dwnldFtotalId').text((totalFactoredValue).toFixed(2));
|
||||
$('#dwnldAfsId').text(afs);
|
||||
|
||||
}
|
||||
let newMoistureLossQty = ((parseFloat(qty) * newMoistureLoss) / 100 ).toFixed(2) ;
|
||||
|
||||
let newSalableQty = (parseFloat(qty) - newMoistureLossQty - newSieveLossQty).toFixed(2) ;
|
||||
|
||||
newSieveLossQty = (newSieveLossQty).toFixed(2);newPlus20Loss
|
||||
|
||||
newPlus20Loss = (newPlus20Loss).toFixed(2);
|
||||
|
||||
newPlus30Loss = (newPlus30Loss).toFixed(2);
|
||||
|
||||
totalWeighOfSand = (totalWeighOfSand).toFixed(2);
|
||||
|
||||
|
||||
let newMoistureLoss = parseFloat(moistureActual) - parseFloat(moistureSpec) ;
|
||||
|
||||
let newMoistureLossQty = ((parseFloat(qty) * newMoistureLoss) / 100 ).toFixed(2) ;
|
||||
|
||||
let newSalableQty = (parseFloat(qty) - newMoistureLossQty - newSieveLossQty).toFixed(2) ;
|
||||
|
||||
newSieveLossQty = (newSieveLossQty).toFixed(2);
|
||||
|
||||
console.log(totalWeighOfSand); //total
|
||||
console.log(totalFactoredValue);
|
||||
console.log(afs);
|
||||
console.log(newMoistureLoss);
|
||||
console.log("qty");
|
||||
console.log(qty);
|
||||
console.log(newMoistureLossQty);
|
||||
console.log(newSieveLossQty);
|
||||
console.log(newSalableQty);
|
||||
|
||||
$('#10Mm').val(result[0]['WEIGH OF SAND']);
|
||||
$('#20Mm').val(result[1]['WEIGH OF SAND']);
|
||||
$('#30Mm').val(result[2]['WEIGH OF SAND']);
|
||||
$('#40Mm').val(result[3]['WEIGH OF SAND']);
|
||||
$('#50Mm').val(result[4]['WEIGH OF SAND']);
|
||||
$('#70Mm').val(result[5]['WEIGH OF SAND']);
|
||||
$('#100Mm').val(result[6]['WEIGH OF SAND']);
|
||||
$('#140Mm').val(result[7]['WEIGH OF SAND']);
|
||||
$('#200Mm').val(result[8]['WEIGH OF SAND']);
|
||||
$('#300Mm').val(result[9]['WEIGH OF SAND']);
|
||||
$('#pan') .val(result[10]['WEIGH OF SAND']);
|
||||
$('#total').val(totalWeighOfSand);
|
||||
$('#plus20Loss').val(newPlus20Loss);
|
||||
$('#plus30Loss').val(newPlus30Loss);
|
||||
$('#moistureSpec').val(moistureSpec);
|
||||
$('#moistureActual').val(moistureActual);
|
||||
$('#moistureLoss').val(newMoistureLoss);
|
||||
$('#moistureLossQty').val(newMoistureLossQty);
|
||||
$('#sieveLossQty').val(newSieveLossQty);
|
||||
$('#salableQty').val(newSalableQty);
|
||||
$('#10Mm').val(result[0]['WEIGH OF SAND']);
|
||||
$('#20Mm').val(result[1]['WEIGH OF SAND']);
|
||||
$('#30Mm').val(result[2]['WEIGH OF SAND']);
|
||||
$('#40Mm').val(result[3]['WEIGH OF SAND']);
|
||||
$('#50Mm').val(result[4]['WEIGH OF SAND']);
|
||||
$('#70Mm').val(result[5]['WEIGH OF SAND']);
|
||||
$('#100Mm').val(result[6]['WEIGH OF SAND']);
|
||||
$('#140Mm').val(result[7]['WEIGH OF SAND']);
|
||||
$('#200Mm').val(result[8]['WEIGH OF SAND']);
|
||||
$('#300Mm').val(result[9]['WEIGH OF SAND']);
|
||||
$('#pan') .val(result[10]['WEIGH OF SAND']);
|
||||
$('#total').val(totalWeighOfSand);
|
||||
$('#plus20Loss').val(newPlus20Loss);
|
||||
$('#plus30Loss').val(newPlus30Loss);
|
||||
$('#moistureSpec').val(moistureSpec);
|
||||
$('#moistureActual').val(moistureActual);
|
||||
$('#moistureLoss').val(newMoistureLoss);
|
||||
$('#moistureLossQty').val(newMoistureLossQty);
|
||||
$('#sieveLossQty').val(newSieveLossQty);
|
||||
$('#salableQty').val(newSalableQty);
|
||||
|
||||
|
||||
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!-- adding select 2 -->
|
||||
<script>
|
||||
|
||||
$('.status').select2({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user