Merge branch 'new_theme' of bitbucket.org:venbainformationtechnology/ria into new_theme

This commit is contained in:
Gowtham M 2025-01-31 08:52:11 +05:30
commit 2ce6b38042
9 changed files with 1735 additions and 1064 deletions

View File

@ -95,7 +95,7 @@ class Inwardgateregister extends BaseController
$data['transporter'] = $this->inwardgateregister_model->transporter();
$data['fromDate'] = date('d-m-Y', strtotime($fromDate));
$data['toDate'] = date('d-m-Y', strtotime($toDate));
$data['driverlist'] = $this->inwardgateregister_model->getdriverlist();
$this->loadViews("viewinwardgateregister", $this->global, $data, NULL);
}
@ -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

@ -1445,10 +1445,16 @@ class StockController extends BaseController
public function updateTrpProductionDetails($inserts, $freshEntry = false)
public function updateTrpProductionDetails($inserts = null, $freshEntry = false)
{
$postData = $this->request->getPost();
$postData = json_decode($this->request->getPost('updateTrpProductionDetails'));
//converting std class object to associative array..
$postData['updateTrpProductionDetails'] = json_decode(json_encode($postData), true);
if (empty($postData['updateTrpProductionDetails'])) {
if (empty($inserts)) {
return $this->response->setJSON(['error' => 'No data found to update']);

View File

@ -159,6 +159,7 @@ class Supplier extends BaseController
$file1 = $this->request->getFile('Cert_MSME');
$file2 = $this->request->getFile('Cert_GST');
$file3 = $this->request->getFile('Cert_BANK');
$file4 = $this->request->getFile('Cert_PAN');
$path = ROOTPATH.'public/uploads/images/';
if ($file2 && $file2->isValid() && !$file2->hasMoved()) {
@ -190,6 +191,17 @@ class Supplier extends BaseController
else{
$supplier['Cert_BANK'] = NULL;
}
if ($file4 && $file4->isValid() && !$file4->hasMoved()) {
if(!is_dir($path)) { mkdir($path, 0777, true); }
$PAN_DOC = $file4->getName();
$file4->move($path,$PAN_DOC);
$supplier['Cert_PAN'] = $PAN_DOC;
}
else{
$supplier['Cert_PAN'] = NULL;
}
$result = $this->supplier_model->addNewsupplier($supplier);
if ($result > 0) {

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
@ -519,12 +519,30 @@ class Inwardgateregister_model extends Model
$builder = $this->db->table('t_igr_master igr')
->distinct()
->select('igr.IGRNO,igr.*,igrd.*,MM.MaterialName,MM.UOM,sup.Address,sup.SupplierName,POM.ServiceDescription,POL.Quantity,POL.Rate,POM.POType,POM.IsOpenOrder')
->select("igr.IGRNO,igr.*,igrd.*,MM.MaterialName,MM.UOM,sup.Address,sup.SupplierName,POM.ServiceDescription,POL.Quantity,POL.Rate,POM.POType,POM.IsOpenOrder,
SUM(
CASE
WHEN POM.POType = 'IMPORT'
THEN COALESCE(it.IGST, 0)
WHEN POM.POType = 'CAPITAL' AND POM.CapitalRange = 0
THEN COALESCE(it.IGST, 0)
WHEN POM.POType = 'CAPITAL' AND POM.CapitalRange = 1
THEN COALESCE(st.CGST, 0) + COALESCE(st.SGST, 0) + COALESCE(st.IGST, 0)
WHEN POM.POType = 'REVENUE'
THEN COALESCE(rt.CGST, 0) + COALESCE(rt.SGST, 0) + COALESCE(rt.IGST, 0)
WHEN POM.POType = 'SERVICE'
THEN COALESCE(st.CGST, 0) + COALESCE(st.SGST, 0) + COALESCE(st.IGST, 0)
ELSE 0
END
) AS TaxInPercentage", false)
->join('t_igr_details igrd', 'igrd.IGRNO = igr.IGRNO')
->join('t_purchaseorder_master POM', 'igr.PONO = POM.PONO')
->join('t_purchaseorder_lineitem POL', 'igr.PONO = POL.PONO and POL.MaterialCode=igrd.MaterialCode ')
->join('t_supplierdetailsn sup', 'sup.SupplierID = POM.SupplierID')
->join('t_materialmaster MM', 'MM.MaterialCode = igrd.MaterialCode')
->join('t_service_tax st', 'st.LineItemNo = POL.LineItemNo' , 'left')
->join('t_revenue_tax rt', 'rt.LineItemNo = POL.LineItemNo' , 'left')
->join('t_import_tax it', 'it.LineItemNo = POL.LineItemNo' , 'left')
->where('igr.IGRNO', $IGRNO);
$query = $builder->get();
@ -1204,6 +1222,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

@ -109,23 +109,28 @@
<legend style="margin-left:-10px;color: #4f7c97;">Tax Related Data</legend>
<!-- Text input-->
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="form-row" style="margin-bottom: 20px;">
<div class="form-row">
<div class=" col-md-4">
<label class="col-form-label" for="GSTNo">GST Number</label>
<input type="text" id="GSTNo" name="GSTNo" class="form-control" maxlength="15" onchange="validateGST();" style="text-transform:uppercase;" pattern="([0-9]){2}([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}([0-9]){1}([Zz]){1}([A-Za-z0-9]){1}" title="Please Enter 2 Digit Number and 5 Character and 4 Digit Numbers and 1 Character and 1 Number and 'Z' and 1 Number or Character" onkeypress="return alphaNumberic(event)">
</div>
<div class=" col-md-4">
<label class="col-form-label" for="PAN">PAN</label>
<input type="text" id="panno" maxlength="10" pattern="([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}" name="panno" style="text-transform:uppercase;" onchange="validatePAN();" class="form-control" title="Please Enter 5 Character and 4 digit numbers and 1 Character format (Character should be in caps)" onkeypress="return alphaNumberic(event)">
</div>
<div class=" col-md-4">
<label class="col-form-label" for="Cert_GST">Select GST Document<small> (only .pdf, .doc, .png, .jpg)</small></label>
<input style="margin-top: 5px;" type="file" size="20" accept=".docx,.pdf,.doc,.jpg,.png" id="Cert_GST" name="Cert_GST" />
</div>
</div>
<div class="form-row">
<div class=" col-md-8">
<div class=" col-md-4">
<label class="col-form-label" for="PAN">PAN</label>
<input type="text" id="panno" maxlength="10" pattern="([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}" name="panno" style="text-transform:uppercase;" onchange="validatePAN();" class="form-control" title="Please Enter 5 Character and 4 digit numbers and 1 Character format (Character should be in caps)" onkeypress="return alphaNumberic(event)">
</div>
<div class=" col-md-4">
<label class="col-form-label" for="Cert_MSME">Select PAN Document<small> (only .pdf, .doc, .png, .jpg)</small></label>
<input style="margin-top: 5px;" type="file" size="20" accept=".docx,.pdf,.doc,.jpg,.png" id="Cert_PAN" name="Cert_PAN" />
</div>
</div>
<div class="form-row">
<div class=" col-md-4">
<label class="col-form-label" for="MSME">MSME</label>
<input type="text" id="MSMENo" name="MSME" class="form-control" maxlength="30">
</div>

View File

@ -113,6 +113,7 @@
<thead>
<tr>
<th align="left" style="width: 10%;">Created Date</th>
<th align="left" style="width: 6%;">Created By</th>
<th align="left" style="width: 10%;">Non-IGRNO</th>
<th align="left" style="width: 20%;">Supplier Name</th>
<th align="left" style="width: 25%;">Item Description</th>
@ -124,7 +125,6 @@
<th align="left" style="width: 2%;">IGST</th>
<th align="left" style="width: 7%;">Total</th>
<th align="left" style="width: 7%;">Status</th>
<th align="left" style="width: 6%;">Created By</th>
<th align="left" style="width: 8%;">Action</th>
</tr>
</thead>
@ -152,6 +152,7 @@
}
?>
<td><?php echo $cdate; ?></td>
<td><?php echo $record['created_name']; ?></td>
<td><?php echo $record['serial_number']; ?></td>
<td class="expandable-td">
<div class="text-container" style="max-height: 20px; overflow: hidden;">
@ -178,7 +179,6 @@
<td><?php echo $record['igst']; ?></td>
<td><?php echo $record['total']; ?></td>
<td><?php echo $record['status']; ?></td>
<td><?php echo $record['created_name']; ?></td>
<td>
<?php if ($fileExists == 1) { ?>
<button title="Download FIle" class="download_button" onclick="downloadFile('<?php echo $record['id']; ?>', '<?php echo $record['transporter_file']; ?>')" style="border: none;background-color: white;color: #02a8b5;">

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', 'autocomplete' => 'off', '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>
@ -358,6 +333,10 @@
</div><!-- /.modal weight-calc-modal -->
<script>
$(document).ready(function() {
$("#DriverMobileNumber").on('input', function(e) {
this.value = this.value.replace(/\D/g, '');
});
$(".searchabledropdown").select2();
$('#IGRLink').on('click', function() {
@ -520,6 +499,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 +915,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 +931,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 +1062,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>

File diff suppressed because it is too large Load Diff

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>
@ -461,15 +432,21 @@
<div class="col-md-3">
<div class="form-group">
<label class="col-form-label">Driver Name </label>
<?php $data = array('name' => 'DriverName', 'value' => set_value('DriverName'), 'id' => 'Driver_Name', 'class' => 'form-control');
<?php $data = array('name' => 'DriverName', 'value' => set_value('DriverName'), 'id' => 'Driver_Name', '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>
<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', 'maxlength' => '10');
echo form_input($data);
?>
</div>
@ -484,11 +461,15 @@
<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;">Tax (%)</th>
<th style="width: 50px;">UOM</th>
<th style="width: 100px;">Ordered Qty</th>
<th style="width: 100px;">Received Qty</th>
<th id="pendingQuantityHeader" style="display:none; width: 100px;">Pending Qty</th>
<th style="width: 50px;">Taxable Amt</th>
<th style="width: 50px;">Total Amt</th>
<th style="width: 150px;">Remarks</th>
<th style="width: 50px;"></th>
</tr>
@ -695,6 +676,10 @@
<script>
$(document).ready(function() {
$("#DriverMobileNumber").on('input', function(e) {
this.value = this.value.replace(/\D/g, '');
});
$(document).on('click', '#save_remark', function(e) {
$('#loader').show();
e.preventDefault();
@ -945,21 +930,28 @@
console.log(item.MaterialRcvdDate)
var gross_rcv_date = (item.GrossWeightDate == 'null') ? ' ' : formatDateTime(item.GrossWeightDate, 2);
$("#ser").val(item.ServiceDescription);
var amount = item.Rate*item.QuantityAsPerInvoice;
var tax_percentage = item.TaxInPercentage;
var taxable_amount = (amount * tax_percentage) / 100;
var total_with_tax = amount + taxable_amount;
i = i + 1;
// userrole is system admin also know as admin (if)
if (userRole == 1) {
$("#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="tax">' + tax_percentage + '</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;" name="amount">' + amount + '</td>' +
'<td style="width: 50px;" name="tax_amount">' + total_with_tax + '</td>' +
'<td style="width: 100px;"><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>' +
'<input type="hidden" id="IGRNO' + i + '" name="IGRNO' + i + '" value="' + item.IGRNO + '">' +
'<input type="hidden" id="MaterialCode' + i + '" name="MaterialCode' + i + '" value="' + item.MaterialCode + '">' +
@ -983,18 +975,26 @@
}
// userrole is security based on status we show and here (else if)
else if (userRole !== 1) {
var amount = item.Rate*item.QuantityAsPerInvoice;
var tax_percentage = item.TaxInPercentage;
var taxable_amount = (amount * tax_percentage) / 100;
var total_with_tax = amount + taxable_amount;
if (igrstatus === "ST074") {
$("#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="tax">' + tax_percentage + '</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;" name="amount">' + amount + '</td>' +
'<td style="width: 50px;" name="tax_amount">' + total_with_tax + '</td>' +
'<td style="width: 100px;"><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>' +
'<input type="hidden" id="IGRNO' + i + '" name="IGRNO' + i + '" value="' + item.IGRNO + '">' +
'<input type="hidden" id="MaterialCode' + i + '" name="MaterialCode' + i + '" value="' + item.MaterialCode + '">' +
@ -1014,17 +1014,26 @@
if ((item.Quantity - item.QuantityAsPerInvoice) == 0.00) {
$('#QuantityAsPerInvoice' + i).attr('readonly', 'true');
}
} else {
var amount = item.Rate*item.QuantityAsPerInvoice;
var tax_percentage = item.TaxInPercentage;
var taxable_amount = (amount * tax_percentage) / 100;
var total_with_tax = amount + taxable_amount;
$("#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="tax">' + tax_percentage + '</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: 150px;">' + item.Remarks + '</td>' +
'<td style="width: 100px;" name="Quantity">' + item.Quantity + '</td>' +
'<td style="width: 100px;" data-name="sel" >' + item.QuantityAsPerInvoice + '</td>' +
'<td style="width: 50px;" name="tax_amount">' + total_with_tax + '</td>' +
'<td style="width: 50px;" name="amount">' + amount + '</td>' +
'<td style="width: 50px;" name="tax_amount">' + total_with_tax + '</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 + '">' +
'<input type="hidden" id="MaterialCode' + i + '" name="MaterialCode' + i + '" value="' + item.MaterialCode + '">' +
@ -1967,5 +1976,16 @@
}
});
});
function fetchMobileNumber(selectedValue) {
let parts = selectedValue.split(" - ");
console.log(parts);
console.log(parts[0]);
if (parts.length === 2) {
document.getElementById("Driver_Name").value = parts[0];
document.getElementById("DriverMobileNumber").value = parts[1];
}else{
document.getElementById("Driver_Name").value = parts[0];
}
}
</script>