recon/application/views/corporate/gstr2a_recon.php
2025-04-02 15:39:08 +05:30

1648 lines
68 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>GSTR2A Recon</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" />
<meta content="Coderthemes" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<!-- <link rel="shortcut icon" href="<?php echo base_url(); ?>assets/images/favicon.ico">-->
<link rel='shortcut icon' href=assets/images/tsplogo2.png>
<!-- third party css -->
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<!-- third party css end -->
<!-- Plugins css -->
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/clockpicker/bootstrap-clockpicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
<!-- App favicon -->
<link rel="shortcut icon" href="<?php echo base_url(); ?>assets/images/favicon.ico">
<!-- App css -->
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" />
<!-- icons -->
<link href="<?php echo base_url(); ?>assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<!-- Include jQuery library -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Include the StickyTableHeaders plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/StickyTableHeaders/0.1.1/jquery.stickytableheaders.min.js"></script>
<style>
.text-end{
text-align: right;
}
.dataTable tbody td {
padding-right: 11px;
}
#anchorTag{
padding-right: 10px !important;
}
label {
display: inline-block;
margin-bottom: 2.5rem;
}
.bootstrap-select>.dropdown-toggle {
width: 90% !important;
}
#columnModalClose {
margin-top: -1px !important;
}
#applyColumn {
margin-top: -1px !important;
}
/* Change display property (breaks table layout) */
/* Target the cell containing the form */
/* tr:has(td form .filecls) td {
padding: 0 !important;
line-height: 1.5 !important;
} */
/* Make the form itself compact */
tr:has(td form .filecls) form {
margin: 0 !important;
padding: 1px !important;
height: 1px !important;
}
.invFileElements {
padding : 0px !important;
width: 0%;
height: 0%;
}
/* #fileUploadForm {
padding-left: 31px !important;
padding-top: 0px;
border: none;
} */
.mb25 {
margin-bottom: 25px;
}
.required {
color: red;
}
#bs-select-1 {
max-height: 150px !important;
overflow-y: auto !important;
}
.left {}
th::before {
margin-top: -16px !important;
top: 6px !important;
margin-right: -3px !important;
}
th::after {
/* display: inline-block; */
/* text-align: center; */
top: -2px !important;
margin-right: -3px !important;
}
/* .form-group {
font-size: 11px;
padding: 5px;
} */
.body {
font-size: 12px;
}
.table {
font-size: 12px;
border-spacing: 0px;
width: 100%;
}
label {
display: inline-block;
margin-bottom: 2.5rem;
}
.table tr,
table td {
padding: 5px;
/* line-height: 1.2; */
/* Adjust the line-height as needed for tighter cell spacing */
}
.table tbody {
position: relative;
overflow: auto;
/* max-height: 350px; */
/* width: 100%; */
/* font-weight: bold; */
}
.table thead th {
vertical-align: middle;
}
/* .dataTables_scrollBody {
max-height: 390px;
width: 1129px;
} */
.footer {
padding-top: 19px;
padding-right: 17px;
padding-bottom: 2px;
padding-left: 17px;
}
.form-group {
margin-bottom: -2rem;
}
.table td,
.table th {
padding: 0.10rem;
}
/* Style the container for the table with a fixed header */
/* Style the container for the table with a fixed header */
/* .btn-group>.btn {
position: absolute;
flex: 1 1 auto;
}
.btn{
margin-left: 60px;
margin-top: -94px;
} */
/* .dataTables_length{
margin-top: -16px;
padding: -6px;
}
.dataTables_filter{
margin-top:-114px;
margin-right: 839px;
} */
.page-title {
margin-top: -18px;
}
.mb-3,
.my-3 {
/* margin-top: -23px; */
margin-bottom: -27px !important;
}
.dropdown,
.bootstrap-select,
.show-tick .form-control {
margin-top: 4px;
}
/* .btn ,.dropdown-toggle,.btn-light
{
margin-left:8px;
}
*/
.dropdown-toggle {
margin-left: 8px;
}
.modal-body {
padding: 0rem;
}
/* Style the container for the table with a fixed header */
/* Style the container for the table with a fixed header */
</style>
</head>
<body class="loading" data-layout-mode="horizontal" data-layout='{"mode": "light", "width": "fluid", "menuPosition": "fixed", "topbar": {"color": "dark"}, "showRightSidebarOnPageLoad": true}'>
<!-- Begin page -->
<div id="wrapper">
<?php include('includes/top_nav.php'); ?>
<!-- ============================================================== -->
<!-- Start Page Content here -->
<!-- ============================================================== -->
<!-- <div class="content-page"> -->
<!-- <div class="content"> -->
<!-- Start Content-->
<!-- start page title -->
<!-- <div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">GSTR2A</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">GSTR2A</li>
</ol>
</div>
</div>
</div>
</div> -->
<!-- end page title -->
<!-- <div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row" style="margin-bottom:30px;">
<form class="col-md-12" id="formid">
<div class="row">
<div class="col-12"style="margin-bottom:30px;">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">GSTR2A</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">GSTR2A</li>
</ol>
</div>
</div>
</div>
</div> -->
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">Gstr2a</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">Gstr2a</li>
</ol>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div style="margin-bottom: 2.5rem" class="row">
<form class="col-md-12" id="formid">
<div class="form-row">
<div class="form-group col-md-6">
<h4 class="page-title">TMC RECON</h4>
</div>
<div class="form-group col-md-6 d-flex justify-content-end align-items-center">
<div class="col-md-5"></div>
<div class="col-md-5 d-flex justify-content-end">
<input class="form-control input-daterange-datepicker" type="text" name="date" value="<?php echo $selected_data; ?>" />
</div>
<div class="col-md-2 d-flex justify-content-start">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
<div class="modal fade" id="columnModal" tabindex="-1" role="dialog" aria-labelledby="columnModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="columnModalLabel">Select Column to Display</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" style="margin-top: 10px;">
<label for="selectColumn" style="margin-bottom:3.5rem ;padding-left: 19px;">Select Column:</label>
<select name="column_name" id="column_name" class="form-control selectpicker" multiple>
<p>GSTR@A</p>
<option value="1">CORPORATE NAME</option>
<option value="2">CORPORATE GSTIN</option>
<option value="3">TRADE/LEGAL NAME OF THE SUPPLIER</option>
<option value="4">SUPPLIER TYPE</option>
<option selected="selected" value="5">INVOICE NUMBER</option>
<!-- <option selected="selected" value="5">MANUAL TICKET NO.</option>
<option selected="selected" value="6">TICKET NO.</option> -->
<option value="8">DOCUMENT TYPE</option>
<option selected="selected" value="9">INVOICE DATE</option>
<option selected="selected" value="10">INVOICE AMT (&#8377;)</option>
<option selected="selected" value="11">TICKET AMT</option>
<option selected="selected" value="14">VARIANCE</option>
<option selected="selected" value="21">RATE (%)</option>
<!-- <option selected="selected" value="14">TAXABLE AMT (&#8377;)</option> -->
<!-- <option selected="selected" value="15">CENTRAL TAX (&#8377;)</option> -->
<!-- <option selected="selected" value="16">STATE/UT TAX (&#8377;)</option> -->
<option selected="selected" value="16">GSTR2A REMARK</option>
<option selected="selected" value="23">INVOICE REMARKS</option>
<option selected="selected" value="12">TICKET NUMBER </option>
<option selected="selected" value="13">TICKET AMT</option>
<option selected="selected" value="17">INVOICE FILE</option>
<option selected="selected" value="24">DELETE</option>
<!-- <option selected="selected" value="0">Icon for Select Option</option> -->
</select>
</div>
<div class="modal-footer" style="margin-top:39px;">
<button id="columnModalClose" type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="applyColumn">Apply Column</button>
</div>
</div>
</div>
</div>
</div>
<div class="table-container">
<table id="scroll-horizontal-datatable" class="table table-striped nowrap w-100">
<thead>
<tr>
<th>
<th>CORPORATE NAME</th>
<th>CORPORATE GSTIN</th>
<th>TRADE/LEGAL NAME OF THE SUPPLIER</th>
<th>SUPPLIER TYPE</th>
<th>DOC NUMBER</th>
<th>MANUAL TKT NO.</th>
<th>TKT NO.</th>
<th>DOC TYPE</th>
<th>DOC DATE</th>
<th>DOC AMT</th>
<th>TKT AMT</th>
<th>TKT NO</th>
<th>TKT AMT</th>
<th>VARIANCE</th>
<th>Inv Remarks</th>
<th>GSTR2A REMARK</th>
<th>INV FILE</th>
<th>TAX AMT</th>
<th>IGST(&#8377;)</th>
<th>CGST(&#8377;)</th>
<th>SGST(&#8377;)</th>
<th>RATE (%)</th>
<th>TKT AMT</th>
<th>INV</th>
<th>(%)</th>
<!-- <th>ACTION</th> -->
<!-- <th>TICKET NO</th> -->
<!--
19
-->
</tr>
</thead>
<tbody>
<!-- <td></td> -->
</tbody>
</table>
</div>
<!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
<!-- end row-->
<!-- </div> container -->
<!-- </div> content -->
<?php include('includes/footer.php'); ?>
</div>
<button id="view_modal_btn" style="display:none" type="button" data-toggle='modal' data-target="#view_modal"><i class="fa fa-upload"></i>&nbsp;&nbsp;View modal</button>
<div id="view_modal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Associated TMC Tickets</h4>
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<form id="usrforma" enctype="multipart/form-data" class="form-horizontal editform" style="padding:10px;">
<div class="modal-body">
<div class="form-body">
<div class="form-group">
<!-- <div class="row"> -->
<div class="form-group" id="modal_content">
No data found
</div>
<!-- </div> -->
</div>
<!--
<div class="modal-footer">
<button class="btn btn-primary" type="button" id="loading1" style="display:none">
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Loading...
</button>
<button type="button" id="addclose" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
-->
</div>
</div>
</form>
<!--
<div class="modal-header">
<h4 class="modal-title">Associated Airline Invoices</h4>
</div>
<div class="modal-body">
<div class="form-body">
<div class="form-group">
<div class="form-group" id="modal_content_airline">
No data found
</div>
</div>
<div class="modal-footer">
<button type="button" id="addclose" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
-->
</div>
</div>
</div>
<!-- ============================================================== -->
<!-- End Page content -->
<!-- ============================================================== -->
<!-- Vendor js -->
<script src="<?php echo base_url(); ?>assets/js/vendor.min.js"></script>
<!-- third party js -->
<script src="<?php echo base_url(); ?>assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/pdfmake.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/vfs_fonts.js"></script>
<!-- Plugins js-->
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/clockpicker/bootstrap-clockpicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/moment/min/moment.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- Init js-->
<!-- <script src="<?php echo base_url(); ?>assets/js/pages/datatables.init.js"></script> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
<!-- App js -->
<script src="<?php echo base_url(); ?>assets/js/app.min.js"></script>
<script>
//******************************************************** ***************************/
// ************************** Date Picker*********************************************
//******************************************************** ***************************/
// ! function(n) {
// "use strict";
// function t() {}
// t.prototype.init = function() {
// n("#basic-colorpicker").colorpicker(), n("#hexa-colorpicker").colorpicker({
// format: "auto"
// }), n("#component-colorpicker").colorpicker({
// format: null
// }), n("#horizontal-colorpicker").colorpicker({
// horizontal: !0
// }), n("#inline-colorpicker").colorpicker({
// color: "#DD0F20",
// inline: !0,
// container: !0
// }), n(".clockpicker").clockpicker({
// donetext: "Done"
// }), n("#single-input").clockpicker({
// placement: "bottom",
// align: "left",
// autoclose: !0,
// default: "now"
// }), n("#check-minutes").click(function(t) {
// t.stopPropagation(), n("#single-input").clockpicker("show").clockpicker("toggleView", "minutes")
// }), n(".input-daterange-datepicker").daterangepicker({
// buttonClasses: ["btn", "btn-sm"],
// applyClass: "btn-secondary",
// cancelClass: "btn-primary"
// }), n(".input-daterange-timepicker").daterangepicker({
// timePicker: !0,
// format: "MM/DD/YYYY h:mm A",
// timePickerIncrement: 30,
// timePicker12Hour: !0,
// timePickerSeconds: !1,
// buttonClasses: ["btn", "btn-sm"],
// applyClass: "btn-secondary",
// cancelClass: "btn-primary"
// }), n(".input-limit-datepicker").daterangepicker({
// format: "MM/DD/YYYY",
// minDate: "06/01/2020",
// maxDate: "06/30/2020",
// buttonClasses: ["btn", "btn-sm"],
// applyClass: "btn-secondary",
// cancelClass: "btn-primary",
// dateLimit: {
// days: 6
// }
// }),
// n("#reportrange span").html(moment().subtract(29, "days").format("MMMM D, YYYY") + " - " + moment().format("MMMM D, YYYY")), n("#reportrange").daterangepicker({
// format: "MM/DD/YYYY",
// startDate: moment().subtract(29, "days"),
// endDate: moment(),
// minDate: "01/01/2020",
// maxDate: `12/31/ ${ new Date().getFullYear() }`,
// // dateLimit: {
// // days: 60
// // },
// showDropdowns: !0,
// showWeekNumbers: !0,
// timePicker: !1,
// timePickerIncrement: 1,
// timePicker12Hour: !0,
// ranges: {
// Today: [moment(), moment()],
// Yesterday: [moment().subtract(1, "days"), moment().subtract(1, "days")],
// "Last 7 Days": [moment().subtract(6, "days"), moment()],
// "Last 30 Days": [moment().subtract(29, "days"), moment()],
// "This Month": [moment().startOf("month"), moment().endOf("month")],
// "Last Month": [moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month")]
// },
// opens: "left",
// drops: "down",
// buttonClasses: ["btn", "btn-sm"],
// applyClass: "btn-success",
// cancelClass: "btn-secondary",
// separator: " to ",
// locale: {
// applyLabel: "Submit",
// cancelLabel: "Cancel",
// fromLabel: "From",
// toLabel: "To",
// customRangeLabel: "Custom",
// daysOfWeek: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
// monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
// firstDay: 1
// }
// }, function(t, e, o) {
// console.log(t._d);
// $('#fromdate').val(t._d)
// // $('#from').val('01/01/2023');
// console.log('demo.......');
// console.log(e._d);
// $('#todate').val(e._d)
// console.log(t.toISOString(), e.toISOString(), o), n("#reportrange span").html(t.format("MMMM D, YYYY") + " - " + e.format("MMMM D, YYYY"))
// })
// }, n.FormPickers = new t, n.FormPickers.Constructor = t
// }(window.jQuery),
// function() {
// "use strict";
// window.jQuery.FormPickers.init()
// }();
</script>
<script>
function tmc_del(tdid, gdid) {
$.ajax({
url: '<?php echo base_url('corporate/tmc_del') ?>',
type: 'POST',
data: {
tdid: tdid
},
success: function(data) {
if (data == 1) {
// $('#tktinfo_'+tdid).hide();
$('#refval').val(gdid);
alert('Record deleted successfully.');
viewfn(gdid, 1);
$('.td_' + gdid).trigger('click');
} else
alert('Invalid request');
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
})
}
function bind_tkt(td_tkt, gdid) {
if (td_tkt != '') {
$.ajax({
url: '<?php echo base_url('corporate/upd_tkt_bind'); ?>',
data: {
td_tkt: td_tkt,
gdid: gdid
},
type: 'POST',
success: function(data) {
$('#td_' + gdid).trigger('click');
// var pdata = JSON.parse(data);
// var d = pdata;
// oTable
// .row( this )
// .data( d )
// .draw();
},
error: function() {
alert('Request failed. Kindly try after sometime');
}
})
}
}
function convert(str) {
var date = new Date(str),
mnth = ("0" + (date.getMonth() + 1)).slice(-2),
day = ("0" + date.getDate()).slice(-2);
return [date.getFullYear(), mnth, day].join("-");
}
$('#formid').submit(function(e) {
e.preventDefault();
console.log($("#from").val());
console.log($('#formid').serialize());
$.ajax({
url: '<?php echo base_url('corporate/gen_gstr2a_recon'); ?>',
type: 'POST',
data: $('#formid').serialize(),
success: function(data) {
oTable.clear();
var jsonData = JSON.parse(data);
console.log(jsonData);
var jd = jsonData.data;
var htmlData = '';
var i = 0;
var rowNode = oTable
.rows.add(jsonData.data)
.draw();
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
})
})
$(document).on('change', '.filecls', function() {
var formid = $(this).closest('form');
var tr = $(this).closest('tr');
// var formid = formid1[0];
var formData = new FormData(formid[0]);
// var formData = new FormData($("#usrforma")[0]);
$.ajax({
url: '<?php echo base_url('corporate/upload_tmc_inv') ?>',
type: 'POST',
data: formData,
processData: false,
contentType: false,
cache: false,
async: false,
success: function(data) {
var pdata = JSON.parse(data);
// var d = pdata;
// d.counter++;
// oTable.row(tr).data(d);
$(".btn-primary").click();
},
error: function() {
alert('Request failed. Kindly try after sometime');
}
})
})
function viewfn(gdid, ref) {
$.ajax({
url: '<?php echo base_url('corporate/get_td_gst_tkts'); ?>',
type: 'POST',
data: {
gdid: gdid
},
success: function(data) {
var htmlData = '';
var htmlDataa = '';
var netttl = 0;
var pdata1 = JSON.parse(data);
if (pdata1.drec == 1) {
var pdata = pdata1.data;
$.each(pdata, function(i) {
netttl += parseInt(pdata[i].td_net);
htmlData += '<div class="row" id="tktinfo_' + pdata[i].td_id + '">' +
'<div class="col-md-6 mb25">' +
'<label>' + pdata[i].td_gst_inv + '</label>' +
'</div>' +
'<div class="col-md-4 mb25">' +
'<div class="row">' +
'<div class="col-md-4">' + pdata[i].td_net + '</div>' +
'<div class="col-md-6"><a onclick="if(confirm(\'Are you sure?\')) tmc_del(' + pdata[i].td_id + ',' + gdid + ');" style="color:red" href="javascript:void(0)"><i class="fa fa-trash"></i></a>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
})
htmlData += '<div class="row">' +
'<div class="col-md-6 mb25"><b>Total</b>' +
'</div>' +
'<div class="col-md-4 mb25">' +
'<div class="row">' +
'<div class="col-md-4"><b>' + netttl + '</b></div>' +
'</div>' +
'</div>' +
'</div>';
$('#modal_content').html(htmlData);
}
// if(pdata1.frec == 1){
// var pdata = pdata1.fdata;
// $.each(pdata,function(i){
// var fname = pdata[i].ti_file_name.split('___');
// htmlDataa += '<div class="row">'+
// '<div class="col-md-6 mb25">'+
// '<label>'+fname[1]+'</label>'+
// '</div>'+
// '<div class="col-md-6 mb25">'+
// '<a href="<?php echo base_url('corporate/download_airline_invoice/') ?>'+pdata[i].ti_file_name+'" target="_blank"><i class="fa fa-download"></i></a>'+
// '</div>'+
// '</div>';
// })
// $('#modal_content_airline').html(htmlDataa);
// }
if (ref == 0)
$('#view_modal_btn').click();
else
alert('No data available');
},
error: function() {
alert('Request failed. Kindly try after sometime');
}
})
}
$(document).ready(function() {
// $('#from').val('01-01-2023');
oTable = $("#scroll-horizontal-datatable").DataTable({
lengthChange: true,
"paging": true,
"lengthMenu": [10, 25, 50, 100],
"pageLength": 50,
"dom": '<"row mb-3"<"col-md-4 d-flex justify-content-start align-items-center"l><"col-md-4 d-flex justify-content-end align-items-center"f><"col-md-4 d-flex justify-content-end align-self-start"B>>rtip',
buttons: [{
extend: "csvHtml5",
exportOptions: {
columns: [1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 25]
}
},
{
text: "Columns",
action: function(e, dt, node, config) {
$('#columnModal').modal('show');
}
}
// 'copyHtml5',
// 'excelHtml5',
// 'csvHtml5'
// 'pdfHtml5'
],
// buttons: [{
// extend: "excelHtml5",
// className: "btn-light"
// }
//// , {
//// extend: "print",
//// className: "btn-light"
//// }, {
//// extend: "pdf",
//// className: "btn-light"
//// }
// ],
scrollX: !0,
language: {
paginate: {
previous: "<i class='mdi mdi-chevron-left'>",
next: "<i class='mdi mdi-chevron-right'>"
}
},
drawCallback: function() {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded")
},
columns: [{
data: null,
defaultContent: '',
orderable: false
},
{
data: "corpname"
},
{
data: "corpgstin"
},
{
data: "gd_supplier_name"
},
{
data: "gd_supplier_code"
},
{
data: "gd_inv_no"
},
{
data: "gd_tkt_no"
},
{
data: "tkt_like"
},
{
data: "gd_doc_type"
},
{
data: "gd_inv_date",
defaultContent: '',
render: function(data, type, row) {
if (data) {
// Parse the date using moment and format it as 'd-m-Y'
let formattedDate = moment(data).format('DD-MM-YYYY');
// Check if the date is valid
if (moment(data).isValid()) {
return formattedDate;
} else {
return ''; // Return an empty string if the date is invalid
}
}
return '';
}
},
// { data : "gd_inv_date"},
{
data: "gd_inv_value",
className: "text-end"
},
{
data: "gd_inv_value",
className: "text-right"
},
{
data: "td_tkt"
},
{
data: "td_tkt_fare",
class: "text-end",
},
{
data: "variance",
defaultContent: '',
class: "text-end",
},{ data:"gd_remarks", "targets": [15],
"visible": false
},
{
data: "gd_remarks",
"render": function(data, type, full, meta) {
console.log("data", full['gd_remarks']);
var tmc_remark = full['gd_remarks'];
// return ` ${tmc_remark.length > 12 ? tmc_remark.substring(0, 11) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${tmc_remark}"></i>` : tmc_remark}`
return ` ${tmc_remark.length > 12 ?
`<span title="${tmc_remark}">${tmc_remark.substring(0, 11)}...</span>` :
tmc_remark}`;
}
},
{
data: "ti_file_name"
},
{
data: "gd_taxable_value",
className: "text-end"
},
{
data: "gd_integrated_tax",
className: "text-end"
},
{
data: "gd_central_tax",
className: "text-end"
},
{
data: "gd_state_tax",
className: "text-end"
},
{
data: "gd_rate_perc",
className: "text-end"
},
{
data: "gd_rate_perc"
},
{
data: "gd_state_tax"
},
{
data: "gd_rate_perc"
}
// { data : "c_name"},
// { data : "td_tkt"},
// { data : "td_gst_inv_1"},
// { data : "td_gst_inv_2"},
// { data : "td_gst_inv_3"},
// { data : "td_gst_inv_4"},
],
"columnDefs": [{
"targets": [0, 1, 2, 3, 4, 6, 7, 11,15, 23, 24, 22],
"visible": false
},
{
"targets": 4,
// "width": "12%",
"render": function(data, type, full, meta) {
if (data == '')
return '';
else {
var dary = data.split('^');
if (dary.length == 1)
dary[1] = '';
return '<img width="30" title="' + dary[0] + '" src="<?php echo base_url(); ?>assets/images/airlines/' + dary[1] + '.png" alt="' + dary[0] + '">';
}
}
},
// {
// "targets": 20,
// "width": "12%",
// "render": function ( data, type, full, meta ) {
// if(full['inv'] != " "){
// // return ''full['tkt'] != " " ? full['tkt']:full['tpnr']''
// // return ''+full['tkt']+''
// return full['tkt'] != "---" ? full['tkt'] : full['tpnr']
// }else
// return '<input type="text" class="form-control search" style="display:inline" id="thisval_'+full['gd_id']+'" value="'+data+'" /><a style="margin-left:5px;margin-right:5px;" class="edit_btn" href="javascript:void(0)" onclick="onblurfn('+full['gd_id']+')"><i class="fa fa-search"></i></a>';
// }
// },
{
"targets": 7,
// "width": "12%",
"render": function(data, type, full, meta) {
console.log
if (data == '')
data = '';
return data;
}
},
// {
// "targets": 21,
// "width": "12%",
// "render": function ( data, type, full, meta ) {
// if(full['inv'] != " "){
// return ''+full['amt']+'';
// }else
// return '<input type="text" class="form-control" style="display:inline" id="thisvalm_'+full['gd_id']+'" value="'+data+'" /><a style="margin-left:5px;margin-right:5px;" class="edit_btn" href="javascript:void(0)" onclick="onblurfn_amt('+full['gd_id']+')"><i class="fa fa-arrow-right"></i></a>';
// }
// },
// {
// "targets": 18,
// "width": 300,
// "render": function ( data, type, full, meta ) {
// if(data == '')
// data = '';
// return '<span class="form-control" data-refid="'+full['gd_id']+'">'+data+'</span>'
// }
// },
// {
// "targets": 19,
// "width": 300,
// "render": function ( data, type, full, meta ) {
// if(full['inv'] != " "){
// return 'Invoice Received';
// // return('.search').hide();
// } else if (full['ti_recieved'] ==="0") {
// return 'Invoice Received (Manual)';
// }
// else{
// return 'Invoice Not Received';
// }
// }
// },
// {
// "targets": 15,
// "render": function(data, type, full, meta) {
// console.log("data", full['gd_remarks']);
// var tmc_remark = full['gd_remarks'];
// // return ` ${tmc_remark.length > 12 ? tmc_remark.substring(0, 11) + ` <i class="fe-alert-circle"
// // style="color: #000;"
// // aria-hidden="true"
// // data-toggle="tooltip"
// // data-placement="top"
// // title="${tmc_remark}"></i>` : tmc_remark}`
// return ` ${tmc_remark.length > 12 ?
// `<span title="${tmc_remark}">${tmc_remark.substring(0, 11)}...</span>` :
// tmc_remark}`;
// }
// },
{
"targets": 17,
// "width": 300,
"render": function(data, type, full, meta) {
if (full['inv'] != " ") {
return '<button class = "invFileElements" type="text" style="border:none;" class="form-control" id="' + full['gd_id'] + '" data-refid="' + full['gd_inv_no'] + '" value="' + full['gd_inv_no'] + '" onclick="viewinvfn(' + full['gd_id'] + ')"><i class="fa fa-eye"></i></button>';
} else if (data == '') {
return '<form id = "fileUploadForm" class = "d-flex justify-content-start"><label for="fileUpload"><input id="fileUpload" class="filecls" type="file" name="gd_gst_inv" style="display:none;" onchange="uploadFile(event)"/><i class="fa fa-upload" title="Upload File" style="cursor:pointer;"></i><input type="hidden" value="' + full['gd_id'] + '" name="gdid" /></label></form>';
} else {
return '<a style="display: flex; justify-content: start;" title="Invoice Download" onclick="openModal(\'' + data + '\')"><i class="fa fa-eye"></i></a>';
}
}
},
// {
// "targets": 20,
// "width": 300,
// "render": function ( data, type, full, meta ) {
// if(full['inv'] != " "){
// return ''
// }else
// return '<button type="text" class="form-control" data-refid="'+full['gd_id']+'" value="'+data+'" onclick="viewfn('+full['gd_id']+',0)" >View</button>';
// }
// },
// {
{
"targets": 25,
"render": function(data, type, full, meta) {
return `
<div class="d-flex justify-content-between align-items-center">
<span>${data}</span>
<a id="anchorTag" onclick="deletegst2rarecon(${full['gd_id']})" style="font-size:16px; margin-left:10px;">
<i class="fa fa-trash" title="Delete"></i>
</a>
</div>
`;
}
},
// {
// "targets": 22,
// "width": 300,
// "render": function ( data, type, full, meta ) {
// console.log(full['gd_id']);
// return '<button type="text" style="border:none;" class="form-control" id="'+full['gd_id']+'" data-refid="'+full['gd_inv_no']+'" value="'+full['gd_inv_no']+'" onclick="viewinvfn('+full['gd_id']+')" >'+full['inv']+'</button>';
// }
// },
]
});
oTable.buttons().container().appendTo("#scroll-horizontal-datatable_wrapper .col-md-6:eq(0)"), $("#alternative-page-datatable").DataTable({
pagingType: "full_numbers",
drawCallback: function() {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded")
}
});
});
$('#column_name').selectpicker();
$('#column_name').change(function() {
// alert(${""})
var all_column = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "23"];
var remove_column = $('#column_name').val();
// remove_column.forEach((r_column) =>{
// if (r_column >)
// })
console.log("remove Column : ",remove_column);
var remaining_column = all_column.filter(obj => !remove_column.includes(obj));
console.log("remaining_column : ",remaining_column);
oTable.columns(remove_column).visible(true);
oTable.columns(remaining_column).visible(false);
});
function deletegst2rarecon(full) {
// console.log("data");
// console.log(data);
// return false;
var r = confirm("Are you sure you want to delete this");
if (r == true) {
//User Pressed okay. Delete
$.ajax({
url: '<?php echo base_url('Tmc/delete_gst2ra_recon') ?>',
type: 'POST',
data: {
id: full
},
success: function(full) {
if (full == 1) {
alert("Deleted")
// location.reload();
$("#formid").submit()
} else {
alert("Request failed. Kindly try after sometime")
}
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
});
} else {
//user pressed cancel. Do nothing
console.log("done");
}
}
// $(document).ready(function() {
// // DataTable initialization and configuration
// var oTable = $("#scroll-horizontal-datatable").DataTable({
// // Your DataTable configuration here
// });
// // Attach a click event handler to the eye button to open the modal
// $('#toggle-column-modal-button').click(function () {
// $('#columnModal').modal('show');
// });
// // Handle the click event of the "Apply Columns" button in the modal
// $('#applyColumns').click(function() {
// // Loop through all checkboxes and show/hide columns accordingly
// for (var i = 0; i < totalColumns; i++) {
// var isChecked = $('#column' + i).is(':checked');
// oTable.column(i).visible(isChecked);
// }
// // Close the modal
// $('#columnModal').modal('hide');
// });
// });
// $('#scroll-horizontal-datatable tbody').on('click', 'tr', function () {
// });
// $('#scroll-horizontal-datatable tbody').on('click', 'tr td button', function () {
//
//// var data_row = oTable.row($(this).closest('tr')).data();
//
//// alert('clicked');
// $(oTable.row($(this).closest('tr'))).addClass('selected');
//// }
// } );
// $('#scroll-horizontal-datatable tbody').on('click', 'tr td a', function () {
//// alert('searched');
//
// $(oTable.row($(this).closest('tr'))).addClass('selected');
//
// } );
function capitalize(s) {
str1 = s.replace(/\_/g, " ");
str1 = str1[0].toUpperCase() + str1.slice(1);
str1 = str1.replace(/\Pnr/g, "PNR ");
str1 = str1.replace(/\Hsn/g, "HSN ");
str1 = str1.replace(/\Cgst/g, "CGST ");
str1 = str1.replace(/\Igst/g, "IGST ");
str1 = str1.replace(/\Sgst/g, "SGST ");
str1 = str1.replace(/\gst/g, "GST ");
return str1;
}
function openModal(data) {
let url = '<?php echo base_url(); ?>/uploads/1/airline_invoice/' + data;
if (url.endsWith('.pdf')) {
window.open(url, '_blank');
// } else if (url.match(/\.(jpeg|jpg|png|gif)$/i)) {
// // If the URL ends with .jpeg, .jpg, .png, or .gif, show the image
// var img = new Image();
// img.src = url;
// var win = window.open('', '_blank');
// win.document.write('<img src="' + img.src + '" alt="Image">');
} else {
alert('The selected file is not a PDF ');
// }
}
}
function viewinvfn(inv_no) {
$.ajax({
url: '<?php echo base_url('corporate/get_inv_gst1/') ?>',
data: {
inv_no: $('#' + inv_no + '').val()
},
type: 'POST',
success: function(data) {
var Pdata = JSON.parse(data);
console.log(Pdata);
var modal_data = '';
modal_data = '<div class="row"><div class="col-md-4 col-lg-4"><b>Invoive Date</b><div style="float:right;">:</div></div><div class="col-md-8 col-lg-8">' + Pdata[0]['invoice_dt'] + '</div></div>';
delete Pdata[0].sl;
delete Pdata[0].invoice_dt;
delete Pdata[0].sno;
delete Pdata[0].invdt;
delete Pdata[0].batch_id;
Object.keys(Pdata[0]).forEach((element, index) => {
console.log(element);
modal_data += '<div class="row"><div class="col-md-4 col-lg-4"><b>' + capitalize(element) + '</b><div style="float:right;">:</div></div><div class="col-md-8 col-lg-8">' + Pdata[0][element] + '</div></div>'
});
$('#scrollableModalTitle').html(Pdata[0].invoice_no)
$('#inv_getdata').html(modal_data);
$('#scrollable-modal').modal('show');
},
error: function() {
}
})
};
$('#scroll-horizontal-datatable').on('click', 'tbody .tktdelredraw', function() {
var rowref = $(this).closest('tr');
var refid = $('#refval').val();
var refgsttkt = $('#refval_gst_tkt').val();
$.ajax({
url: '<?php echo base_url('corporate/gen_gstr2a_recon/') ?>' + refid,
// data:{refgsttkt:refgsttkt},
type: 'POST',
success: function(data) {
var pdata = JSON.parse(data);
var d = pdata;
d.counter++;
oTable.row(rowref).data(d);
},
error: function() {
}
})
})
$('#scroll-horizontal-datatable').on('click', 'tbody .edit_btn', function() {
var rowref = $(this).closest('tr');
// alert($('#refval_gettkts').val());
if ($('#refval_gettkts').val() == 'yes') {
// var data_row = oTable.row(rowref).data();
var refid = $('#refval').val();
var refgsttkt = $('#refval_gst_tkt').val();
$.ajax({
url: '<?php echo base_url('corporate/get_alike_tkts/') ?>' + refid,
// url:'<?php echo base_url('corporate/gen_gstr2a_recon/') ?>'+refid,
data: {
refgsttkt: refgsttkt
},
type: 'POST',
success: function(data) {
var pdata = JSON.parse(data);
var d = pdata;
d.counter++;
// console.log(d);
// oTable.row('.selected').remove().draw( false );
// $('#td_'+refid).click();
oTable.row(rowref).data(d);
// oTable
// .row(this)
// .data( d )
// .draw();
},
error: function() {
}
})
}
})
function get_alike() {
var refid = $('#refval').val();
var refgsttkt = $('#refval_gst_tkt').val();
}
// $('#refval').on('change',function(){
// alert($('#refval').val());
// })
function onblurfn_amt(refid) {
$('#refval_gettkts').val('no');
var values = $('#thisvalm_' + refid).val();
$('#refval').val(refid);
$.ajax({
url: '<?php echo base_url('corporate/upd_gst_amt') ?>',
data: {
refid: refid,
gd_inv_amt: values
},
type: 'POST',
success: function(data) {
$('#td_' + refid).trigger('click');
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
})
}
function onblurfn(refid) {
$('#refval_gettkts').val('yes');
var values = $('#thisval_' + refid).val();
$('#refval').val(refid);
$('#refval_gst_tkt').val(values);
$.ajax({
url: '<?php echo base_url('corporate/upd_gst_tkt_no') ?>',
data: {
refid: refid,
gd_tkt_no: values
},
type: 'POST',
success: function(data) {
$('#refval').val(refid);
$('#refval_gst_tkt').val(values);
get_alike();
// $('#td_'+refid).click();
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
})
}
/*
function onblurrfn(refid,values){
$.ajax({
url:'<?php echo base_url('corporate/upd_gst_remarks') ?>',
data:{refid:refid,gd_remarks:values},
type:'POST',
success:function(data){
$('#refval').val(refid);
$('#td_'+refid).click();
},
error:function(){
alert('Request failed. Kindly try after sometime.');
}
})
}
*/
</script>
<script>
// Adjust the width of the table cells to match the header cells
function adjustTableCellWidths() {
const headerCells = document.querySelectorAll('.table-container thead th');
const dataCells = document.querySelectorAll('.table-container tbody tr:first-child td');
for (let i = 0; i < headerCells.length; i++) {
if (dataCells[i]) { // Ensure dataCells[i] exists before applying style
dataCells[i].style.width = headerCells[i].offsetWidth + 'px';
}
}
}
// Call the adjustTableCellWidths function when the page loads and when the window is resized
window.addEventListener('load', adjustTableCellWidths);
window.addEventListener('resize', adjustTableCellWidths);
</script>
<!-- <script>
// Set the default value to today
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
var yyyy = today.getFullYear();
var todayFormatted = yyyy + '-' + mm + '-' + dd;
document.getElementById('TO').value = todayFormatted;
</script> -->
<script>
$(document).ready(function() {
var $select_data = '<?php echo $selected_data; ?>';
var dateRangeFilter = $('input.input-daterange-datepicker')
.daterangepicker({
locale: {
format: 'DD/MM/YYYY',
cancelLabel: 'Clear'
},
startDate: $select_data ? moment($select_data.split(' - ')[0], 'DD/MM/YYYY') : moment(),
endDate: $select_data ? moment($select_data.split(' - ')[1], 'DD/MM/YYYY') : moment(),
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'This Month': [moment().startOf('month'), moment().endOf('month')]
}
})
.on('apply.daterangepicker', function(ev, picker) {
var formattedStartDate = picker.startDate.format('DD/MM/YYYY');
var formattedEndDate = picker.endDate.format('DD/MM/YYYY');
var selectedDateRange = formattedStartDate + ' - ' + formattedEndDate;
$(this).val(selectedDateRange);
})
.on('cancel.daterangepicker', function() {
$(this).val('');
});
$('.today-btn').on('click', function() {
var today = moment();
dateRangeFilter.data('daterangepicker').setStartDate(today);
dateRangeFilter.data('daterangepicker').setEndDate(today);
dateRangeFilter.val(today.format('DD/MM/YYYY') + ' - ' + today.format('DD/MM/YYYY'));
dateRangeFilter.trigger('apply.daterangepicker');
});
// Trigger "Today" button click to set it as default if $select_data is empty
if ($select_data === '') {
$('.today-btn').trigger('click');
}
});
</script>
<script>
// var oTable;
// $(document).ready(function() {
// // oTable = $("#scroll-horizontal-datatable").DataTable({
// // Your DataTable configuration here
// });
// $('#toggle-column-modal-button').click(function() {
// $('#columnModal').modal('show');
// });
$('#applyColumn').click(function() {
var selectedColumns = $('#column_name').val();
if (selectedColumns && selectedColumns.length > 0) {
// Array of all column indices
var allColumns = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "23"];
// Convert selected column indices to integers
selectedColumns = selectedColumns.map(Number);
// Calculate the remaining columns to hide
var remainingColumns = allColumns.filter(function(column) {
return selectedColumns.indexOf(parseInt(column)) === -1;
});
// Show selected columns and hide remaining columns
oTable.columns(selectedColumns).visible(true);
oTable.columns(remainingColumns).visible(false);
// Close the modal
$('#columnModal').modal('hide');
}
});
</script>
</div>
<div class="modal-body" id="inv_getdata">
</div>
<div class="modal-footer">
<!-- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> -->
<!-- <button type="button" class="btn btn-primary">Save changes</button> -->
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>