BBnepal-Accounts/application/views/admin/annual_report.php
Sampanna Rimal 9cd05ef3cb commitall
2024-07-10 18:28:19 +05:45

541 lines
26 KiB
PHP

<style>
table.dataTable tfoot th {
font-weight: 600 !important;
}
.form-group .bootstrap-select>.dropdown-toggle {
padding: 9px 9px !important;
font-size: 12px !important;
border: 1px solid #c8c8c8 !important;
background: #fff !important;
}
.error {
color: red;
font-size: 12px;
}
.custom_tble th:nth-child(1),
.custom_tble th:nth-child(2),
.custom_tble td:nth-child(1),
.custom_tble td:nth-child(2) {
background: #fff;
z-index: 1;
}
.table_div {
width: 100%;
}
.dataTables_scrollHead,
.dataTables_scrollBody,
.dataTables_scrollFoot {
width: 100% !important;
}
th,
td {
white-space: nowrap;
}
</style>
<div class="wraper responsive-width">
<main class="long-tbl-main" id="main">
<!-- admin template section -->
<div class="admin_tempblock">
<div class="admin_tempsec">
<div class="admin_sec">
<div class="subsec_sec" style="display:block">
<div class="subject_lsec dashboard_graph report_sec_graph">
<div class="report_sec_cover">
<div class="report_sec_left">
<?php
$currency_symbol = $school_info['currency_symbol'];
$theExportHeader = '';
$today_date_time_array = explode(' ', $today_date);
// $today_date_array = $today_date_time_array[0];
$today_date_array = explode('-', $today_date_time_array[0]);
$current_year = $today_date_array[0];
if (isset($school_info) && !empty($school_info)) {
$theExportHeader = $school_info['school_name'] . '\n' . '\n Annual Report - ' . $current_year;
}
?>
</div>
<div class="subject_lhead">Report</div>
<?php
$SearchBatch = (isset($search_batch) && !empty($search_batch)) ? $search_batch : $school_info['batch_id'];
$SearchCourse = (isset($search_course_id) && !empty($search_course_id)) ? $search_course_id : '';
$SearchSection = (isset($search_section) && !empty($search_section)) ? $search_section : '';
$search_feetype = (isset($search_feetype) && !empty($search_feetype)) ? $search_feetype : array();
$search_start_paid_date = (isset($search_start_paid_date) && !empty($search_start_paid_date)) ? date('Y-m-d', strtotime($search_start_paid_date)) : '';
$search_end_paid_date = (isset($search_end_paid_date) && !empty($search_end_paid_date)) ? date('Y-m-d', strtotime($search_end_paid_date)) : '';
?>
<form id="searchFilters" action="<?= base_url(); ?>admin/getreport" method="POST">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-3">
<div class="subject-filter">
<label>Select Batch</label>
<select id="f_batch" name="f_batch" class=" form-control">
<option value="">Select Batch</option>
<?php if (isset($batches) || !empty($batches)) {
foreach ($batches as $row) {
$b_selected = ($row['id'] == $SearchBatch) ? 'selected' : '';
?>
<option value="<?php echo $row['id'] ?>" <?= $b_selected; ?>>
<?php echo $row['b_name']; ?></option>
<?php }
} ?>
</select>
<div class="text-danger cierr"><?php echo form_error('f_batch'); ?></div>
</div>
</div>
<div class="col-md-3">
<div class="subject-filter">
<label>Select Course</label>
<select id="f_course" name="f_course" class=" form-control">
<option value="">Select Course</option>
<?php if (isset($course) || !empty($course)) {
foreach ($course as $row) {
$cselected = ($row['id'] == $SearchCourse) ? 'selected' : '';
?>
<option value="<?php echo $row['id'] ?>" <?= $cselected; ?>>
<?php echo $row['course_name']; ?></option>
<?php }
} ?>
</select>
</div>
</div>
<div class="col-md-3">
<div class=" form-group subject-filter">
<label>Select Section</label>
<?php
$SearchSection = (!empty($SearchSection)) ? $SearchSection : array();
if (!empty($SearchSection) && (isset($sections) && !empty($sections))) { ?>
<select id="f_section" id="f_section" name="f_section[]" class=" form-control selectpicker" multiple>
<option value="" disabled>Select Section</option>
<?php
foreach ($sections as $fs_value) {
// $seselected=($fs_value['section_id'] == $SearchSection) ? 'selected' :'';
?>
<option value="<?= $fs_value['section_id']; ?>" <?php echo (in_array($fs_value['section_id'], $SearchSection)) ? "selected" : ""; ?>><?= $fs_value['section_name'] ?></option>
<?php
} ?>
</select>
<?php } else { ?>
<select id="f_section" id="f_section" name="f_section[]" class="form-control selectpicker" multiple>
<option value="">Select Section</option>
</select>
<?php } ?>
</div>
</div>
<div class="col-md-3">
<div class="form-group subject-filter">
<label>Select FeeType</label>
<select id="f_feetype" name="f_feetype[]" class=" form-control selectpicker" multiple>
<option value="" disabled>Select FeeType</option>
<?php
$fees_types = (isset($fees_types) && !empty($fees_types)) ? $fees_types : array();
if ($fees_types != '') {
foreach ($fees_types as $f_value) {
// $f_selected = ($f_value['feetype_name'] == $search_feetype) ? 'selected' : '';
?>
<option value="<?php echo $f_value['id'] ?>" <?php echo (in_array($f_value['id'], $search_feetype)) ? 'selected' : ''; ?>><?php echo $f_value['feetype_name'] ?> </option>
<?php }
} ?>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="date-filter">
<div class="date-fil-row">
<label>Select Start Date</label>
<input type="text" name="f_start_paid_date" class="form-control w-100 nepal-date" value="<?php echo $search_start_paid_date; ?>" placeholder='dd-mm-yyyy'>
</div>
</div>
</div>
<div class="col-md-3">
<div class="date-filter">
<div class="date-fil-row">
<label>Select End Date</label>
<input type="text" name="f_end_paid_date" class="form-control w-100 nepal-date" value="<?php echo $search_end_paid_date; ?>" placeholder='dd-mm-yyyy'>
</div>
</div>
</div>
<div class="col-md-3">
<div class="date-filter pt-4"> <input type="submit" name="filtersubmit" id="filter_reset1" class="btn btn-success w-100" value="Filter"></div>
</div>
<div class="col-md-3">
<div class="date-filter pt-4"><a href="<?php echo base_url() ?>admin/getreport">
<div class="date-filter"> <button type="button" name="reset_filter" id="reset_filter" value="reset_filter" class="subject_addbtn subject_addbtn_nobg"><i class="fas fa-redo"></i>Reset</button>
</a></div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- new divs added -->
<div class="table_div">
<!-- new divs added -->
<!-- changed ID -->
<table id="tbl1" class="custom_tble">
<thead>
<tr>
<th>S.No</th>
<th>Roll No</th>
<th>Student Name</th>
<th>Section</th>
<?php
if (isset($selected_fee_types) && !empty($selected_fee_types)) {
foreach ($selected_fee_types as $sftypes) {
?>
<th><?php echo $sftypes['feetype_name']; ?></th>
<?php
}
}
?>
<th>Diduction </th>
<th>Fine </th>
<th>Total Assigned</th>
<th>Paid </th>
<th>Due </th>
</tr>
</thead>
<tbody>
<?php
$tdCnt = 1;
if (isset($studentlist) && !empty($studentlist)) {
// dd($studentlist);
// echo '<pre>';
// print_r($studentlist);
$sno = 1;
foreach ($studentlist as $student) {
// echo '<pre>';
// var_dump($student);
$tdCnt = 9;
?>
<tr>
<td><?php echo $sno; ?></td>
<td><?php echo $student['roll_no'] ?></td>
<td><?php echo $student['name'] ?></td>
<td><?php echo $student['section_name'] ?></td>
<?php
// dd($selected_fee_types);
if (isset($selected_fee_types) && !empty($selected_fee_types)) {
$rowtotalAmt = 0;
$rowpaidAmt = 0;
$rowdidAmt = 0;
$rowdueAmt = 0;
$rowFineAmt = 0;
foreach ($selected_fee_types as $sftypes) {
//echo '<pre>'; print_r($sftypes) ;
$rowtotalAmt = ($rowtotalAmt + $student[$sftypes['feetype_name']]['total_amt']);
$rowpaidAmt = ($rowpaidAmt + $student[$sftypes['feetype_name']]['paid_amt']);
$rowdidAmt = ($rowdidAmt + $student[$sftypes['feetype_name']]['diduction_amt']);
$rowdueAmt = ($rowdueAmt + $student[$sftypes['feetype_name']]['pending_amt']);
$rowFineAmt = ($rowFineAmt + $student[$sftypes['feetype_name']]['fine_amt']);
?>
<td><?php echo $student[$sftypes['feetype_name']]['paid_amt']; ?></td>
<?php
$tdCnt++;
}
//exit;
}
?>
<td><?php echo $rowdidAmt; ?></td>
<td><?php echo $rowFineAmt; ?></td>
<td><?php echo $rowtotalAmt; ?></td>
<td><?php echo $rowpaidAmt; ?></td>
<td><?php echo $rowdueAmt; ?></td>
</tr>
<?php $sno++;
}
} ?>
<tfoot>
<tr>
<th></th>
<th></th>
<th></th>
<th>In <?php echo $currency_symbol; ?></th>
<?php
// print_r(count($colTotalFeeAmt));
if (isset($selected_fee_types) && !empty($selected_fee_types)) {
foreach ($selected_fee_types as $sft_key => $sft_value) {
// $t_fee_amount = 0;
// foreach ($colTotalFeeAmt as $ctfa_key => $ctfa_value) {
// if ($ctfa_key == $sfl_key) {
// $t_fee_amount =
// $t_fee_amount + $ctfa_value[$ctfa_key];
// echo '<pre>';
// print_r($ctfa_value[$ctfa_key]);
// } else {
// $t_fee_amount = 0;
// }
?>
<th style='font-size: 13px; text-align: center;'> </th>
<?php
}
}
?>
<th class="text-center"></th>
<th class="text-center"></th>
<th class="text-center"></th>
<th class="text-center"></th>
<th class="text-center"></th>
</tr>
</tfoot>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- admin template section end -->
</main>
<!--End right-top side-->
</div>
<script defer src="<?php echo base_url(); ?>assets_admin/js/bootstrap-select.min.js"></script>
<script>
$(document).ready(function() {
$("#searchFilters").validate({
rules: {
f_batch: 'required',
f_course: 'required'
},
submitHandler: function(form, e) {
e.preventDefault();
form.submit();
}
});
});
$('#f_course').change(function() {
var course = $('#f_course option:selected').val();
// alert(course);
var divData = '';
if (course != '' && course != 0) {
$.ajax({
url: "<?php echo base_url(); ?>Admin/get_section_by_course",
method: "POST",
data: {
course_id: course
},
dataType: "json",
success: function(response) {
// console.log(response);
// section options code and start from here
divData += "<option value='' disabled> Select Section </option>";
if (response.sections != '') {
$.each(response.sections, function(i, sectiondata) {
divData += "<option value='" + sectiondata.section_id + "'>" + sectiondata.section_name + "</option>";
});
}
// $('#course_error_msg').text();
else {
divData += "<option value=''> -- No Section's Found --</option>";
}
$('#f_section').empty().append(divData).selectpicker("refresh");
// section options code here End from here
}
});
} else {
divData = "<option value=''> -- Select Section -- </option>";
$('#f_section').empty().append(divData);
}
});
$(document).ready(function() {
var jsTheExportHeader = '<?php echo $theExportHeader; ?>';
var currency_symbol = "<?php echo $currency_symbol; ?>";
var theTdCnt = '<?php echo $tdCnt; ?>';
var theTdStr = new Array();
for (let n = 0; n < theTdCnt; n++) {
theTdStr.push(n);
}
$('.user-drpdown').click(function() {
$('.drpdown-items').toggle();
});
console.log(theTdStr);
//table js
$('#tbl1').DataTable({
scrollY: screen.availHeight * 0.65,
scrollX: true,
scrollCollapse: true,
paging: false,
fixedColumns: {
left: 4,
right: 3
},
"lengthMenu": [
[100, -1],
[100, "All"]
],
"dom": 'lBfrtip',
"buttons": [{
extend: 'pdfHtml5',
// orientation: 'landscape',
exportOptions: {
columns: theTdStr,
},
orientation: 'landscape',
pageSize: 'A4'
// messageTop: 'The information in this table is copyright to Sirius Cybernetics Corp.'
},
{
extend: 'csvHtml5',
exportOptions: {
columns: theTdStr
},
messageTop: 'The information in this table is copyright to Sirius Cybernetics Corp.'
},
{
extend: 'excelHtml5',
header: true,
footer: true,
title: jsTheExportHeader,
exportOptions: {
columns: "thead th:not(.noExport)",
rows: function(indx, rowData, domElement) {
return $(domElement).css("display") != "none";
}
},
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
$('row c[r^="C"]', sheet).attr('s', '2');
}
}
],
"footerCallback": function(row, data, start, end, display) {
//var theDynTdCnt = (theTdCnt - 7);
for (let fi = 4; fi < theTdCnt; fi++) {
var api = this.api(),
data;
// Remove the formatting to get integer data for summation
var intVal = function(i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '') * 1 :
typeof i === 'number' ?
i : 0;
};
// Total over all pages
total = api
.column(fi)
.data()
.reduce(function(a, b) {
return intVal(a) + intVal(b);
}, 0);
// Total over this page
pageTotal = api
.column(fi, {
page: 'current'
})
.data()
.reduce(function(a, b) {
return intVal(a) + intVal(b);
}, 0);
$(api.column(fi).footer()).html(
//currency_symbol + ' ' + pageTotal + ' ( ' + currency_symbol + ' ' + total + ' total )'
pageTotal
);
}
}
});
//table js end
//multiple select js start
$('#f_section').selectpicker();
$('#f_feetype').selectpicker();
//multiple select js end
});
$(document).ready(function() {
var table = $('#example').DataTable({
scrollY: "300px",
scrollX: true,
scrollCollapse: true,
paging: false,
fixedColumns: {
left: 1,
right: 1
}
});
});
</script>
</body>
</html>