minor bugs in igr : ps

This commit is contained in:
VE10-Sanjeev 2025-01-30 06:51:14 +00:00
parent c3ed0fbbbc
commit 381ca7e975
4 changed files with 77 additions and 89 deletions

View File

@ -146,6 +146,7 @@ class Inwardgateregister extends BaseController
$result = $this->inwardgateregister_model->getpurchaseorder();
$result1 = $this->inwardgateregister_model->transporter();
$data['driverlist'] = $this->inwardgateregister_model->getdriverlist();
$data['transporter'] = array_filter($result1 , function($item) {
return ($item->isactive == 1);
});
@ -158,7 +159,7 @@ class Inwardgateregister extends BaseController
});
$data['emp_data'] = [];
// $data['emp_data'] = $this->inwardgateregister_model->getAdditionalIGRFile();
// dd($data['PO_NO']);die;
// dd($data['driverlist']);die;
$this->loadViews("inwardgateregister", $this->global, $data, NULL);
}

View File

@ -193,7 +193,7 @@ class Inwardgateregister_model extends Model
function viewpurchaseorder($PO)
{
$subQuery = 'SELECT distinct POM.PONO, POL.MaterialCode, POL.Quantity, POL.ReceivedQuantity, (POL.Quantity - POL.ReceivedQuantity) as PendingQty, QuantityRejected, POL.PONO, MM.MaterialName, MM.UOM
$subQuery = 'SELECT distinct POM.PONO, POL.MaterialCode, POL.Quantity, POL.ReceivedQuantity, (POL.Quantity - POL.ReceivedQuantity) as PendingQty, QuantityRejected, POL.PONO, MM.MaterialName, MM.UOM,POL.Rate
FROM t_purchaseorder_master POM
LEFT JOIN t_purchaseorder_lineitem POL ON POL.PONO = POM.PONO
LEFT JOIN t_igr_master IGM ON IGM.PONO = POL.PONO
@ -1196,6 +1196,16 @@ class Inwardgateregister_model extends Model
];
}
public function getdriverlist()
{
$query = $this->db->query('SELECT DriverName,DriverMobileNumber
FROM t_igr_master
WHERE DriverName != ""
GROUP BY DriverName,DriverMobileNumber');
$result = $query->getResultArray();
return $result;
}
}

View File

@ -17,37 +17,6 @@
<script>
$(document).ready(function() {
// $('#DriverName').autocomplete({
// onSearchStart: function(query) {
// //alert(query);
// $('#DriverName').autocomplete("option", "minLength", 0);
// },
// serviceUrl: "<?php echo base_url(); ?>drivernameautocomplete",
// onSelect: function(suggestion) {
// var data = suggestion.DriverName;
// }
// });
// $('#DriverMobileNumber').autocomplete({
// serviceUrl: "<?php echo base_url(); ?>drivermobileautocomplete",
// params: {
// driverName: function() {
// return $('#DriverName').val(); // Pass the value of the DriverName input field
// }
// },
// onSearchStart: function(query) {
// $('#DriverMobileNumber').autocomplete("option", "minLength", 0);
// },
// onSelect: function(suggestion) {
// var data = suggestion.DriverMobileNumber;
// }
// });
// $("#InvoiceDate").datepicker({
// maxDate: 'now',
// dateFormat: 'dd-mm-yy',
@ -208,14 +177,19 @@
<div class="form-group col-md-4">
<label class="col-form-label">Driver Name</label>
<?php
$data = array('name' => 'DriverName', 'value' => set_value('DriverName'), 'id' => 'DriverName', 'class' => 'form-control', 'maxlength' => '50', 'autocomplete' => 'off');
$data = array('name' => 'DriverName', 'value' => set_value('DriverName'), 'id' => 'DriverName', 'class' => 'form-control', 'maxlength' => '50', 'autocomplete' => 'off','list' => 'driverlist','onchange' => "fetchMobileNumber(this.value)");
echo form_input($data);
echo '<datalist id="driverlist">';
foreach ($driverlist as $driver) {
echo '<option value="' . $driver['DriverName'] . ( ( $driver['DriverMobileNumber'] ) ? ' - ' . $driver['DriverMobileNumber'] : '' ) . '" >';
}
echo '</datalist>';
?>
</div>
<div class="form-group col-md-4">
<label class="col-form-label">Driver Mobile Number</label>
<?php
$data = array('name' => 'DriverMobileNumber', 'value' => set_value('DriverMobileNumber'), 'id' => 'DriverMobileNumber', 'class' => 'form-control', 'maxlength' => '50', 'autocomplete' => 'off');
$data = array('name' => 'DriverMobileNumber', 'value' => set_value('DriverMobileNumber'), 'id' => 'DriverMobileNumber', 'class' => 'form-control', 'maxlength' => '50', 'autocomplete' => 'off','pattern'=>'(.){10,10}', 'maxlength'=>'10');
echo form_input($data);
?>
</div>
@ -228,6 +202,7 @@
<th>#</th>
<th>Item Code</th>
<th>Material</th>
<th>Rate</th>
<th>UOM</th>
<th>Ordered Quantity</th>
<th>Received Quantity</th>
@ -520,6 +495,7 @@
'<td align="right">' + j + '</td>' +
'<td name="MaterialName" id="MaterialCode" >' + item.MaterialCode + '</td>' +
'<td>' + item.MaterialName + '</td>' +
'<td>' + Number(item.Rate).toFixed(2) + '</td>' +
'<td name="UOM">' + item.UOM + '</td>' +
'<td name="Quantity1' + i + '" id="Quantity_1' + i + '">' + item.Quantity + '</td>' +
'<td name="ReceivedQuantity' + i + '" id="ReceivedQuantity' + i + '">' + item.ReceivedQuantity + '</td>' +
@ -935,7 +911,7 @@
type: "POST",
url: "<?php echo base_url() ?>GetIGRLineItemDetails",
success: function(data) {
// console.log(data);
console.log(data);
// $('#content').loader('hide');
// alert(data);
@ -951,6 +927,7 @@
'<td align="right">' + j + '</td>' +
'<td name="MaterialName" id="MaterialCode" >' + item.MaterialCode + '</td>' +
'<td>' + item.MaterialName + '</td>' +
'<td>' + Number(item.Rate).toFixed(2) + '</td>' +
'<td name="UOM">' + item.UOM + '</td>' +
'<td name="Quantity1' + i + '" id="Quantity_1' + i + '">' + item.Quantity + '</td>' +
'<td name="ReceivedQuantity' + i + '" id="ReceivedQuantity' + i + '">' + item.ReceivedQuantity + '</td>' +
@ -1081,4 +1058,29 @@
}
}
</script>
</script>
<script>
// Chat Gpt Code not working
// function fetchMobileNumber(driverName) {
// let options = document.querySelectorAll("#driverlist option");
// console.log('*',options);
// // Loop through options to find the selected driver
// options.forEach(option => {
// if (option.value === driverName) {
// let mobileNumber = option.getAttribute("data-mobile"); // Get the mobile number
// document.getElementById("DriverMobileNumber").value = mobileNumber; // Set the mobile field
// }
// });
// }
function fetchMobileNumber(selectedValue) {
let parts = selectedValue.split(" - ");
// console.log(parts);
// console.log(parts[0]);
if (parts.length === 2) {
document.getElementById("DriverName").value = parts[0];
document.getElementById("DriverMobileNumber").value = parts[1];
}else{
document.getElementById("DriverName").value = parts[0];
}
}
</script>

View File

@ -105,35 +105,6 @@
changeYear: true,
yearRange: '-100:+0'
});
$('#Driver_Name').autocomplete({
onSearchStart: function(query) {
//alert(query);
$('#Driver_Name').autocomplete("option", "minLength", 0);
},
serviceUrl: "<?php echo base_url(); ?>drivernameautocomplete",
onSelect: function(suggestion) {
var data = suggestion.DriverName;
}
});
$('#DriverMobileNumber').autocomplete({
serviceUrl: "<?php echo base_url(); ?>drivermobileautocomplete",
params: {
driverName: function() {
return $('#Driver_Name').val(); // Pass the value of the DriverName input field
}
},
onSearchStart: function(query) {
$('#DriverMobileNumber').autocomplete("option", "minLength", 0);
},
onSelect: function(suggestion) {
var data = suggestion.DriverMobileNumber;
}
});
});
</script>
<style>
@ -229,8 +200,8 @@
<table id="view_inward_gate_register" class="table table-bordered table-hover">
<thead>
<tr>
<th>Create Date</th>
<th>Create Time</th>
<th>IGR Date</th>
<th>IGR Time</th>
<th>IGR No</th>
<th>PO No</th>
<th>Supplier Name</th>
@ -400,7 +371,7 @@
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Invoice Number <span class="text-danger">*</span></label>
<?php $data = array('name' => 'InvoiceNO', 'value' => set_value('InvoiceNO'), 'id' => 'Invoice_No', 'class' => 'form-control', 'required=>"true"');
@ -408,7 +379,7 @@
?>
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Invoice Date <span class="text-danger">*</span></label>
<?php
@ -417,7 +388,7 @@
?>
</div>
</div>
<div class="col-md-4">
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Material Received Date <span class="text-danger">*</span></label>
<?php
@ -426,10 +397,6 @@
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Vehicle Number </label>
@ -438,6 +405,10 @@
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Transporter Name</label>
@ -469,7 +440,7 @@
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Driver Mobile Number </label>
<?php $data = array('name' => 'DriverMobileNumber', 'value' => set_value('DriverMobileNumber'), 'id' => 'DriverMobileNumber', 'class' => 'form-control');
<?php $data = array('name' => 'DriverMobileNumber', 'value' => set_value('DriverMobileNumber'), 'id' => 'DriverMobileNumber', 'class' => 'form-control' ,'pattern'=>'(.){10,10}', 'maxlength'=>'10');
echo form_input($data);
?>
</div>
@ -484,7 +455,8 @@
<tr>
<th style="width: 50px;">SNo</th>
<th style="width: 100px;">Item Code</th>
<th style="width: 200px; word-wrap: break-word; word-break: break-all; white-space: normal;">Item Description</th>
<th style="width: 150px; word-wrap: break-word; word-break: break-all; white-space: normal;">Item Description</th>
<th style="width: 50px;">Rate</th>
<th style="width: 50px;">UOM</th>
<th style="width: 100px;">Ordered Qty</th>
<th style="width: 100px;">Received Qty</th>
@ -952,12 +924,13 @@
$("#pendingQuantityHeader").css("display", "table-cell");
trIGRHTML += '<tr>' +
'<td style="width: 50px;" align="right">' + i + '</td>' +
'<td style="width: 50px;" >' + i + '</td>' +
'<td style="width: 100px;" name="MaterialName" onchange="test(' + i + ')">' + item.MaterialCode + '</td>' +
'<td style="width: 200px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 150px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 50px;" name="Rate" id="Rate" >' + Number(item.Rate).toFixed(2) + '</td>' +
'<td style="width: 50px;" name="UOM">' + item.UOM + '</td>' +
'<td style="width: 100px;" align="right" id="Quantity' + i + '" name="Quantity">' + parseInt(item.Quantity) + '</td>' +
'<td style="width: 100px;" align="right" data-name="sel" ><input type="text" onchange="validateReceivedQuantity(' + i + ',' + isOpenOrder + ')"id="QuantityAsPerInvoice' + i + '" name="QuantityAsPerInvoice' + i + '" value="' + parseInt(item.QuantityAsPerInvoice) + '" onkeypress="return isNumberKey(event);" style="width: 75px;"></td>' +
'<td style="width: 100px;" id="Quantity' + i + '" name="Quantity">' + parseInt(item.Quantity) + '</td>' +
'<td style="width: 100px;" data-name="sel" ><input type="text" onchange="validateReceivedQuantity(' + i + ',' + isOpenOrder + ')"id="QuantityAsPerInvoice' + i + '" name="QuantityAsPerInvoice' + i + '" value="' + parseInt(item.QuantityAsPerInvoice) + '" onkeypress="return isNumberKey(event);" style="width: 75px;"></td>' +
'<td style="width: 100px;" name="PendingQuantity' + i + '" id="PendingQuantity' + i + '">' + ((isOpenOrder) ? 0 : parseInt(item.Quantity - item.QuantityAsPerInvoice)) + '</td>' +
'<td style="width: 150px;"><input type="text" id="Remark' + i + '" name="Remark' + i + '" class="form" onchange="SetRemarks(' + i + ')" style="width: 75px;"> </td>' +
'<td style="width: 50px;"><a target="_blank" data-toggle="modal" data-target="#WeightCalculator" title="Weight Calculator" data-index="' + i + '" data-material="' + item.MaterialName + '" data-igrstatus = "' + igrstatus + '"><i class="fa fa-solid fa-truck" style="text-align: center;"></i></a> </td>' +
@ -987,12 +960,13 @@
$("#pendingQuantityHeader").css("display", "table-cell");
trIGRHTML += '<tr>' +
'<td style="width: 50px;" align="right">' + i + '</td>' +
'<td style="width: 50px;" >' + i + '</td>' +
'<td style="width: 100px;" name="MaterialName" onchange="test(' + i + ')">' + item.MaterialCode + '</td>' +
'<td style="width: 200px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 150px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 50px;" name="Rate" id="Rate" >' + Number(item.Rate).toFixed(2) + '</td>' +
'<td style="width: 50px;" name="UOM">' + item.UOM + '</td>' +
'<td style="width: 100px;" align="right" id="Quantity' + i + '" name="Quantity">' + parseInt(item.Quantity) + '</td>' +
'<td style="width: 100px;" align="right" data-name="sel" ><input type="text" onchange="validateReceivedQuantity(' + i + ',' + isOpenOrder + ')"id="QuantityAsPerInvoice' + i + '" name="QuantityAsPerInvoice' + i + '" value="' + parseInt(item.QuantityAsPerInvoice) + '" onkeypress="return isNumberKey(event);" style="width: 75px;"></td>' +
'<td style="width: 100px;" id="Quantity' + i + '" name="Quantity">' + parseInt(item.Quantity) + '</td>' +
'<td style="width: 100px;" data-name="sel" ><input type="text" onchange="validateReceivedQuantity(' + i + ',' + isOpenOrder + ')"id="QuantityAsPerInvoice' + i + '" name="QuantityAsPerInvoice' + i + '" value="' + parseInt(item.QuantityAsPerInvoice) + '" onkeypress="return isNumberKey(event);" style="width: 75px;"></td>' +
'<td style="width: 100px;" name="PendingQuantity' + i + '" id="PendingQuantity' + i + '">' + ((isOpenOrder) ? 0 : parseInt(item.Quantity - item.QuantityAsPerInvoice)) + '</td>' +
'<td style="width: 150px;"><input type="text" id="Remark' + i + '" name="Remark' + i + '" class="form" onchange="SetRemarks(' + i + ')" style="width: 75px;"> </td>' +
'<td style="width: 50px;"><a target="_blank" data-toggle="modal" data-target="#WeightCalculator" title="Weight Calculator" data-index="' + i + '" data-material="' + item.MaterialName + '" data-igrstatus = "' + igrstatus + '"><i class="fa fa-solid fa-truck" style="text-align: center;"></i></a> </td>' +
@ -1018,12 +992,13 @@
} else {
$("#pendingQuantityHeader").css("display", "none");
trIGRHTML += '<tr>' +
'<td style="width: 50px;" align="right">' + i + '</td>' +
'<td style="width: 50px;" >' + i + '</td>' +
'<td style="width: 100px;" name="MaterialName" id="MaterialCode" onchange="test(' + i + ')">' + item.MaterialCode + '</td>' +
'<td style="width: 200px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 150px; word-wrap: break-word; word-break: break-all; white-space: normal;">' + item.MaterialName + '</td>' +
'<td style="width: 50px;" name="Rate" id="Rate" >' + Number(item.Rate).toFixed(2) + '</td>' +
'<td style="width: 50px;" name="UOM">' + item.UOM + '</td>' +
'<td style="width: 100px;" align="right" name="Quantity">' + item.Quantity + '</td>' +
'<td style="width: 100px;" align="right" data-name="sel" >' + item.QuantityAsPerInvoice + '</td>' +
'<td style="width: 100px;" name="Quantity">' + item.Quantity + '</td>' +
'<td style="width: 100px;" data-name="sel" >' + item.QuantityAsPerInvoice + '</td>' +
'<td style="width: 150px;">' + item.Remarks + '</td>' +
'<td style="width: 50px;"><a target="_blank" data-toggle="modal" data-target="#WeightCalculator" title="Weight Calculator" data-index="' + i + '" data-material="' + item.MaterialName + '" data-igrstatus = "' + igrstatus + '"><i class="fa fa-solid fa-truck" style="text-align: center;"></i></a> </td>' +
'<input type="hidden" id="IGRNO' + i + '" name="IGRNO' + i + '" value="' + item.IGRNO + '">' +