IMMREX7
@extends('schools.school_layout')
@section('content')
<div role="tabpanel" class="tab-pane in active" id="details" aria-expanded="true">
<div class="card" id="details">
<div class="body">
<div class="row">
<div class="col-sm-6 col-sm-offset-1">
<address>
<strong> Student Name : </strong>{{$student->firstName}} {{$student->middleName}} {{$student->lastName}}<br>
<strong> Father Name : </strong>{{$student->father_fname}} {{$student->father_lname or ''}}<br>
<strong> Mobile : </strong>{{$student->father_mobile}}<br>
<strong> Class : </strong>{{$student->classM->className}}<br>
<strong> Section : </strong>{{$student->section->sectionName}}<br>
<strong> Ec No. : </strong>{{$student->ecNo}}<br>
</address>
</div>
</div>
<div class="mt-40"></div>
<div class="row">
<div class="col-md-7">
<div class="table-responsive">
{!! Form::open(['url' => 'school/busfees', 'class' => 'form-horizontal','id'=>'feesubmission']) !!}
<input type="hidden" name="idStudent" value="{{$student->idStudent}}">
<input type="hidden" name="idFinancialYear" value="{{$student->idFinancialYear}}">
<table class="table table-hover">
<thead>
<tr>
<th></th>
<th style="width:60px;">Due Date</th>
<th>Particular</th>
<th>Amount</th>
<th>Discount</th>
<th>Fine</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php $totalFine=0;?>
@foreach($feeheads as $fee)
<tr>
<?php
$feepaid = \App\BusTransactionDetail::where('idStudent','=',$student->idStudent)
->where('idBusFeehead','=',$fee->idBusFeehead)->first();
$stepFine=0;
$sdiscount = \App\BusFeeDiscount::where('idStudent','=',$student->idStudent)
->where('idBusFeehead','=',$fee->idBusFeehead)->where('isActive', 'Y')->get();
$todate = Carbon\Carbon::parse($fee->toDate);
$today_date = Carbon\Carbon::parse(today_date());
$days_afterduedate = $todate->diffInDays($today_date);
$curdate=strtotime(today_date());
$lastfeedate=strtotime($fee->toDate);
$headerObject=\App\BusFeeHead::where('idBusFeehead','=', $fee->idBusFeehead)->first()->toArray();
$date = Carbon\Carbon::parse($headerObject['toDate']);
$startDate = Carbon\Carbon::parse($headerObject['fromDate']);
$now = Carbon\Carbon::now();
$diff = $date->diffInDays($now,false);
$dueDiff= $startDate->diffInDays($now,false);
$std_trdet = \App\BusTransactionDetail::where('idStudent','=',$student->idStudent)
->where('idBusFeehead','=',$fee->idBusFeehead)
->select(DB::raw('amountPaid as amount'),DB::raw('discount as discount'),DB::raw('fine as fine'),'status')->latest()->first();
if($std_trdet != null){
if($diff > 0 && $std_trdet['amount'] == null && ($std_trdet['status'] == null || $std_trdet['status'] != 'Cleared')) {
if($headerObject['fine'] != null && $headerObject['fine'] !=0.00)
{
$stepFine=$headerObject['fine'] * $diff;
$totalFine= $totalFine+( $headerObject['fine'] * $diff);
}
else
if($headerObject['flatFine'] != null)
{
$stepFine=$stepFine+$headerObject['flatFine'];
$totalFine=$totalFine+$headerObject['flatFine'];
}
}
$ft = $std_trdet['amount'] + $std_trdet['fine'] - $std_trdet['discount'];
}
$stepDiscount=0;
if($sdiscount !=null){
foreach($sdiscount as $discounts)
{
$stepDiscount=$stepDiscount+$discounts->amount;
}
$tootalfeeamt = $fee->amount - $stepDiscount + $stepFine;
}else{
$tootalfeeamt = $fee->amount + $stepFine;
}
$fromDate = strtotime($fee->fromDate);
$todayDate = strtotime(today_date());
$lesser_fees = DB::table('bus_lesser_transaction')
->join('bus_lesser_transaction_details','bus_lesser_transaction_details.idBusLesserTransaction','=','bus_lesser_transaction.idBusLesserTransaction')
->where('bus_lesser_transaction.idStudent', '=', $student->idStudent)
->where('bus_lesser_transaction.idFinancialYear', '=', $student->idFinancialYear)
->where('idBusFeehead','=',$fee->idBusFeehead)
->where(function($query) {
$query->whereNull('bus_lesser_transaction.status');
$query->orWhere('bus_lesser_transaction.status', '=', 'Cleared');
$query->orWhere('bus_lesser_transaction.status', '=', 'In-Process');
$query->orWhere('bus_lesser_transaction.status', '=', 'Success');
})
->select(DB::raw('SUM(totalPaid) as totalPaid'))
->first();
?>
<td>
@if($std_trdet==null && ($lesser_fees->totalPaid == null || $lesser_fees->totalPaid <$tootalfeeamt))
<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="selectedHeaders[]" value="{{$fee->idBusFeehead}}" class="feeclass"></div>
@elseif( $std_trdet['status'] != null
&& $std_trdet['status'] != 'Cleared' && $std_trdet['status'] != 'In-Process' && $std_trdet['status'] != 'Success')
<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="selectedHeaders[]" value="{{$fee->idBusFeehead}}" class="feeclass"></div>
@endif
</td>
<td>{{ Carbon\Carbon::parse($fee->toDate)->format('d-m-Y') }}</td>
<td>
{{$fee->feeheadName}}
<br>
{{$fee->description}}
@if(isset($lesser_fees->totalPaid))
@if($lesser_fees->totalPaid < $tootalfeeamt)
<br>
<label id="lesser_note"><b> Amount Paid: </b>{{$lesser_fees->totalPaid}} </label>
@endif
@endif
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][idBusFeehead]' value="{{$fee->idBusFeehead}}">
</td>
<td class='amt'>
{{$fee->amount}}
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][famount]' value="{{$fee->amount}}">
</td>
<td class="discount">
@if(isset($std_trdet->discount))
<p>{{$std_trdet->discount}}</p>
@elseif(isset($sdiscount))
<span>
@if(isset($feepaid_date))
{{$stepDiscount}}{{$feepaid_date}}
@else
{{$stepDiscount}}
@endif
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][discount]' value="{{$stepDiscount}}">
</span>
@else
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][discount]' value="0.00">
@endif
</td>
<td class="fine">
@if(isset($stepFine))
<p>{{$stepFine}}</p>
@elseif(isset($std_trdet->fine))
<p>{{$std_trdet->fine}}</p>
@elseif($feepaid!=null)
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][fine]' value="{{$feepaid->fine}} ">
@elseif($curdate > $lastfeedate && $fee->fine > 0)
{{$fee->fine * $days_afterduedate}}
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][fine]' value="{{$fee->fine * $days_afterduedate}} ">
@elseif(($curdate > $lastfeedate && $fee->flatFine > 0))
{{$fee->flatFine}}
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][fine]' value="{{$fee->flatFine}}">
@else
<input type="hidden" name='feeheads[{{$fee->idBusFeehead}}][fine]' value="0.00">
@endif
</td>
<td>
@if($std_trdet != null)
@if($std_trdet['amount'] != null && ($std_trdet['status'] == null || $std_trdet['status'] == 'Cleared'))
<span class="badge badge-success">Paid </span>
@elseif( $std_trdet['status'] == 'In-Process')
<span class="badge badge-info">In-Process </span>
@elseif($dueDiff > 0)
<span class="badge badge-danger">DUE</span>
@else
<span class="badge badge-info">UPCOMING</span>
@endif
@else
@if($dueDiff > 0)
<span class="badge badge-danger">DUE</span>
@else
<span class="badge badge-info">UPCOMING</span>
@endif
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="col-sm-5">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Date</th>
<th>Amount</th>
<!--<th>Balance</th>-->
<th>Payment Mode</th>
<th>Print</th>
</tr>
</thead>
<tbody>
@foreach($paidfees as $var)
<tr>
<td>{{$var->paymentDate}}</td>
<td>{{$var->totalPaid}}</td>
<!--<td></td>-->
<td>{{$var->paymentMode}}</td>
@if($var->status == 'Cleared' || $var->status == null || $var->status == 'Success')
<td><a href="{{url('school/busfees/'.$var->idBusTransaction.'/print')}}" target="_blank" class="btn btn-sm btn-info">Print</a></td>
@endif
</tr>
@endforeach
</tbody>
</table>
</div>
<br>
<h5>Lesser Paid Receipt</h5>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Date</th>
<th>Amount</th>
<!--<th>Balance</th>-->
<th>Payment Mode</th>
<th>Print</th>
</tr>
</thead>
<tbody>
@foreach($lesserfees as $var)
<tr>
<td>{{$var->paymentDate}}</td>
<td>{{$var->totalPaid}}</td>
<!--<td></td>-->
<td>{{$var->paymentMode}}</td>
@if($var->status == 'Cleared' || $var->status == null || $var->status == 'Success')
<td><a href="{{url('school/busfees/lessamt/'.$var->idBusLesserTransaction.'/print')}}" target="_blank" class="btn btn-sm btn-info">Print</a></td>
@endif
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-md-5">
<div class="row clearfix">
<div class="col-sm-5 form-control-label">
<label for="classname">Payment Date</label>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="paymentDate" class="form-control datepicker" id="paydate">
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-5 form-control-label">
<label for="classname">Payable Amount</label>
</div>
<div class="col-sm-6">
<div class="form-group">
@if(isset($prevaccess_fee->excessAmount))
@if($prevaccess_fee->excessAmount > 0)
<label id="access_note"><b>Excess Amount Available: </b>{{$prevaccess_fee->excessAmount}} </label>
@endif
@endif
<input type="text" name="payable" class="form-control payableAmount" readonly="readonly" style="color: black;font-size: 1.2em;">
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-5 form-control-label">
<label for="classname">Pay Amount</label>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="totalPaid" class="form-control" onkeypress = 'return onlyNumbersandSpecialChar(event)'>
@if ($errors->has('totalPaid'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('totalPaid') }}</strong>
</label>
@endif
<span id='totalerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-5 form-control-label">
<label for="classname">Select Payment Mode</label>
</div>
<div class="col-sm-6">
<div class="form-group">
{!! Form::select('paymentMode',payMode(),null,['class' => 'form-control show-tick ms paymentMode','id'=>'paymode']) !!}
</div>
</div>
</div>
<div class="row clearfix cardpayment">
<div class="col-sm-5 form-control-label">
<label for="classname">CardNo./Trans ID</label>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="cardNo" class="form-control">
<span id='cardnoerror'></span>
</div>
</div>
</div>
</div>
<div class="col-md-6 text-right">
<p class="m-b-0"><b>Fee Total: </b><span id='total_fee'></span>
<input type="hidden" name="feeTotal" id="feetotal">
</p>
<p class="m-b-0">
<b>Discount: </b>
<span id='total_discount'></span>
<input type="hidden" name="discount" id="discounttotal">
</p>
<p class="m-b-0">
<b>Fine: </b>
<span id='total_fine'></span>
<input type="hidden" name="fine" id="finetotal">
</p>
<p class="m-b-0">
<b>Cheque Bounce Penalty: </b>
<span id="penaltyAmt"></span>
<?php $chqbounce = \App\BusTransaction::where('idStudent','=',$student->idStudent)
->where('idFinancialYear','=',$student->idFinancialYear)
->where('status','=','Bounced')
->get();
$chqPenaltyAmount=0;
$chqPenaltyPaid=0;
$chqPenaltyUnPaid=0;
if(isset($chqbounce)){
foreach($chqbounce as $chqFine)
{
if($chqFine->chqFineStatus == 1)
$chqPenaltyPaid=$chqPenaltyPaid+$chqFine->chequeBounceCharge;
else
$chqPenaltyUnPaid=$chqPenaltyUnPaid+$chqFine->chequeBounceCharge;
$chqPenaltyAmount=$chqPenaltyAmount+$chqFine->chequeBounceCharge;
}
}
?>
@if(isset($chqbounce))
{{$chqPenaltyAmount}}
@if($chqPenaltyAmount==0)
<span></span>
@elseif($chqPenaltyAmount > $chqPenaltyPaid)
<span style="color:red"> | {{$chqPenaltyUnPaid}}(Unpaid)</span>
@else
<span style="color:green">(Paid)</span>
@endif
@else
<span>0.00</span>
@endif
</p>
<p class="m-b-0"><b>Excess Amount : </b>
@if(isset($prevaccess_fee->excessAmount))
{{$prevaccess_fee->excessAmount}}
@else
<span>0.00</span>
@endif
</p>
<?php
$totalAmount=($feetotal + $totalFine + $chqPenaltyAmount-$paidfees_tot->discount);?>
<p class="m-b-0"><b>Total Amount : </b>
{{$totalAmount}}
</p>
<p class="m-b-0"><b>Total Paid: </b>
<span id='total_paid'>
@if($paidfees_tot && $lesser_transaction)
{{$paidfees_tot->totalPaid + $lesser_transaction->totalPaid }}
@elseif($paidfees_tot)
{{$paidfees_tot->totalPaid}}
@else
0.00
@endif
</span>
</p>
<p class="m-b-0"><b>Balance Amount: </b>
@if($paidfees_tot->totalPaid !=null && $lesser_transaction !=null)
<?php
$b = $totalAmount -($paidfees_tot->totalPaid + $lesser_transaction->totalPaid); ?>
<input type="hidden" name="totalBalance" id="totalBalance" value="{{$b}}">
{{$b}}
@elseif($paidfees_tot->totalPaid !=null)
<?php
$b = $totalAmount -($paidfees_tot->totalPaid); ?>
<input type="hidden" name="totalBalance" id="totalBalance" value="{{$b}}">
{{$b}}
@else
<input type="hidden" name="totalBalance" id="totalBalance" value="{{$totalAmount}}">
{{$totalAmount}}
@endif
</p>
</div>
</div>
<!--<hr>-->
<div class="row otherpaymode">
<div class="col-sm-12">
<hr>
<div class="row clearfix">
<div class="col-sm-3 form-control-label required">
<label for="classname">Bank</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::select('idBank',banks(),null,['class' => 'form-control show-tick ms select2']) !!}
<span id='bankerror'></span>
</div>
</div>
<div class="col-sm-3 form-control-label required">
<label for="classname">Cheque No. / DD No.</label>
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" name="chequeNo" class="form-control">
<span id='chequenoerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-3 form-control-label required">
<label for="classname">Cheque / DD Date</label>
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" name="chequeDate" class="form-control datepicker">
<span id='chequedateerror'></span>
</div>
</div>
<div class="col-sm-3 form-control-label required">
<label for="classname">Amount</label>
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" name="amount" class="form-control" onkeypress = 'return onlyNumbersandSpecialChar(event)'>
<span id='amounterror'></span>
</div>
</div>
</div>
<!-- <h5>Note</h5>
<p>Etsy doostang zoodles disqus groupon greplin oooj voxy zoodles, weebly ning heekya handango imeem plugg dopplr jibjab, movity jajah plickers sifteo edmodo ifttt zimbra.</p>-->
</div>
</div>
<hr>
<div class="hidden-print col-md-12 text-right">
<button class="btn btn-primary btn-round" id='submit-btn'>Submit</button>
</div>
</div>
</div>
</div>
@stop
@section('script')
<script>
// Saving form data
$('#feesubmission').on('submit',function(e){
var isCash="Cash";
$.each($(".paymentMode option:selected"), function(){
isCash=$(this).val();
if($(this).val()=='Cheque' || $(this).val() =='DD')
{
$('input[name="totalPaid"]').val(parseInt($('input[name="amount"]').val()));
if(parseInt($('input[name="totalPaid"]').val()) != parseInt($('input[name="amount"]').val()))
{
alert("Amount cannot be less or more than payable amount");
}
}
});
feeheaders = [];
$("input:checkbox[name='selectedHeaders[]']:checked").each(function () {
feeheaders.push($(this).val());
});
if(feeheaders.length>1 && parseInt($('input[name="totalPaid"]').val()) < parseInt($('input[type=text].payableAmount').val()) && isCash=="Cash")
{
alert("Amount cannot be less than payable amount");
}else{
$.ajaxSetup({
header:$('meta[name="_token"]').attr('content')
});
var formData = new FormData($('#feesubmission')[0]);
$("#submit-btn").prop('disabled', true);
$.ajax({
type:"POST",
url: "{{url('school/busfees') }}",
processData: false,
contentType: false,
data:formData,
dataType: 'json',
success:function(data){
if( data[Object.keys(data)[0]] === 'SUCCESS' ){
$("#submit-btn").prop('disabled', true);
window.location = "{{url('school/busfees/')}}" + '/'+ {{$stdtransport->idStdTransport}} +'/details';
}
else { //False Case: With error msg
$("#msg").html(data); //$msg is the id of empty msg
}
},
error: function(data){
if( data.status === 422 ) {
$("#submit-btn").prop('disabled', false);
var errors = data.responseJSON.errors;
var errorHtml = '<div class="alert alert-danger"><ul>';
$('#formerrors').html(errorHtml);
if(errors['totalPaid']=== undefined){
$( '#totalerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['totalPaid']+'</strong></span>';
$( '#totalerror' ).html( errorname );
}
if(errors['idBank']=== undefined){
$( '#bankerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['idBank']+'</strong></span>';
$( '#bankerror' ).html( errorname );
}
if(errors['chequeNo']=== undefined){
$( '#chequenoerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['chequeNo']+'</strong></span>';
$( '#chequenoerror' ).html( errorname );
}
if(errors['chequeDate']=== undefined){
$( '#chequedateerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['chequeDate']+'</strong></span>';
$( '#chequedateerror' ).html( errorname );
}
if(errors['chequeDate']=== undefined){
$( '#chequedateerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['chequeDate']+'</strong></span>';
$( '#chequedateerror' ).html( errorname );
}
if(errors['amount']=== undefined){
$( '#amounterror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['amount']+'</strong></span>';
$( '#amounterror' ).html( errorname );
}
if(errors['cardNo']=== undefined){
$( '#cardnoerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['cardNo']+'</strong></span>';
$( '#cardnoerror' ).html( errorname );
}
}
}
});
}
return false;
});
$(document).ready(function(){
$('.otherpaymode').hide();
$('.cardpayment').hide();
$('#paymode').change(function() {
var val = $(this).val();
if((val == 'Cheque')){
$('.cardpayment').hide();
$('.otherpaymode').show();
}else if(val == 'DD'){
$('.cardpayment').hide();
$('.otherpaymode').show();
}else if(val == 'Card'){
$('.cardpayment').show();
$('.otherpaymode').hide();
}else{
$('.otherpaymode').hide();
$('.cardpayment').hide();
}
});
});
var feeheaderIds = [];
$('.feeclass').change(function() {
feeheaderIds = [];
$("input:checkbox[name='selectedHeaders[]']:checked").each(function () {
feeheaderIds.push($(this).val());
});
if(feeheaderIds.length>0)
$.ajax({
url: "{{url('/school/busfeeheaders') }}"+'/' +feeheaderIds + "/students/"+{{$student->idStudent}}+"?paydate="+$('#paydate').val(),
type: "GET",
dataType: "json",
success:function(data) {
$('input[type=text].payableAmount').val(data);
}
});
else $('input[type=text].payableAmount').val(" ");
});
var sum = 0;
var discount = 0;
var fine = 0;
// iterate through each td based on class and add the values
$(".amt").each(function() {
var value = $(this).text();
// add only if the value is number
if(!isNaN(value) && value.length != 0) {
sum += parseFloat(value);
}
$('#total_fee').text(sum.toFixed(2));
});
$(".discount").each(function() {
var value = Number($(this).text());
// add only if the value is number
if(!isNaN(value) && value.length != 0) {
discount += parseFloat(value);
}
$('#total_discount').text(discount.toFixed(2));
});
$(".fine").each(function() {
var value = Number($(this).text());
// add only if the value is number
if(!isNaN(value) && value.length != 0) {
fine += parseFloat(value);
}
$('#total_fine').text(fine.toFixed(2));
});
var ftotal = parseFloat($('#total_fee').text());
var tdiscount = parseFloat($('#total_discount').text());
var tfine = parseFloat($('#total_fine').text());
var paidtot = parseFloat($('#total_paid').text());
var fbalance = parseFloat(ftotal+paidtot);
$('#total_balance').text(fbalance.toFixed(2));
var feetotal = parseFloat(ftotal);
$('#feetotal').val(feetotal.toFixed(2));
var distotal = parseFloat($('#total_discount').text());
$('#discounttotal').val(distotal.toFixed(2));
var tf = parseFloat($('#total_fine').text());
$('#finetotal').val(tf.toFixed(2));
var baltotal = parseFloat(ftotal+tfine-tdiscount);
$('#balance_total').text(baltotal.toFixed(2));
function calculatePenalty(){
var penaltyAmt = parseFloat($('#penalty').val());
console.log(penaltyAmt);
$('#penaltyAmt').text(penaltyAmt.toFixed(2));
var tb = parseFloat($('#balance_total').text());
var ptb = parseFloat(tb+penaltyAmt);
console.log(ptb);
$('#balance_total').text(ptb.toFixed(2));
}
</script>
@stop
Copyright © 2021 -