riainvoice/application/modules/payments/views/form.php
2023-05-27 19:26:12 +05:30

840 lines
21 KiB
PHP

<?php
$invoice_paid=0;
$customer='';
$paymethod='';
$note='';
$inv_id='';
$inv_no= '';
$item= '' ;
$qty='';
$amount='';
$tax='';
$totalamount='';
$balancetopay='';
$client='';
$invdt='';
$idt='';
$pdt='';
$paydt='';
$note='';
$paymentmethod='';
$pid='';
$totalpaid=0;
///print_r($lastpayid);f
if(!empty($lastpayid))
{
foreach($lastpayid as $pd)
{
$pid=$pd->pidmax;
}
}
//echo $pid;
//print_r($viewpayment);
if(!empty($viewpayment))
{
foreach($viewpayment as $view)
{
$inv_id= $view->invoice_id;
$client = $view->client_name;
$idt=new DateTime($view->invoice_date_created,new DateTimeZone('Asia/Kolkata'));
$invdt=$idt->format('d-m-Y');
$pdt=new DateTime($view->payment_date,new DateTimeZone('Asia/Kolkata'));
$paydt=$pdt->format('d-m-Y');
$note= $view->payment_note;
$paymentmethod = $view->payment_method_name;
}
}
//echo $client;
$invoiceid='';
$invoiceno='';
$invqty='';
$qtydescription='';
$invsubtotal='';
$invtax='';
$invtotal='';
$invbalance='';
$invpaid='';
//print_r($PaymentLineDetails);
if(!empty($PaymentLineDetails))
{
foreach($PaymentLineDetails as $Pay)
{
$invoiceid= $Pay->invoice_id;
$invoiceno= $Pay->invoice_number;
$invqty= $Pay->item_quantity;
$qtydescription= $Pay->item_description;
$invsubtotal= $Pay->invoice_item_subtotal;
$invtax= $Pay->invoice_item_tax_total;
$invtotal= $Pay->invoice_total;
$invbalance= $Pay->invoice_balance;
$invpaid=$invtotal-$invbalance;
}
}
//echo $paymentmethod;
?>
<script>
$(function () {
var $invoice_id = $('#invoice_id');
$invoice_id.focus();
amounts = JSON.parse('<?php echo $amounts; ?>');
invoice_payment_methods = JSON.parse('<?php echo $invoice_payment_methods; ?>');
$invoice_id.change(function () {
var invoice_identifier = "invoice" + $('#invoice_id').val();
//$('#payment_amount').val(amounts[invoice_identifier].replace("&nbsp;", " "));
//$('#payment_method_id').find('option[value="' + invoice_payment_methods[invoice_identifier] + '"]').prop('selected', true);
// if (invoice_payment_methods[invoice_identifier] != 0) {
// $('.payment-method-wrapper').append("<input type='hidden' name='payment_method_id' id='payment-method-id-hidden' class='hidden' value='" + invoice_payment_methods[invoice_identifier] + "'>");
// $('#payment_method_id').prop('disabled', true);
// } else {
// $('#payment-method-id-hidden').remove();
// $('#payment_method_id').prop('disabled', false);
// }
});
});
</script>
<form method="post" class="form-horizontal">
<input type="hidden" name="_ip_csrf" value="<?= $this->security->get_csrf_hash() ?>">
<?php if ($payment_id) { ?>
<input type="hidden" name="payment_id" value="<?php echo $payment_id; ?>">
<?php } ?>
<div id="headerbar">
<h1 class="headerbar-title"><?php _trans('payment_form'); ?></h1>
<!-- <?php $this->layout->load_view('layout/header_buttons'); ?> -->
</div>
<div id="content">
<?php $this->layout->load_view('layout/alerts'); ?>
<div class="form-group">
<?php
$attributes = array('class' => 'form-label-left Payment ','name' => 'Payment','id' => 'Payment');
echo form_open($this->config->base_url().'/index.php/Payments/Invoice_Clearence/',$attributes);
?>
<div class="col-xs-12 col-sm-2 text-right text-left-xs">
<label for="invoice_id" class="control-label"><?php _trans('Customer'); ?></label>
</div>
<div class="col-xs-12 col-sm-6">
<select name="invoice_id" id="invoice_id" class="form-control simple-select">
<?php if (!$payment_id){?>
<?php foreach ($client_name as $invoice) { ?>
<option value="<?php echo $invoice->client_id; ?>"
<?php check_select($this->mdl_payments->form_value('invoice_id'), $invoice->client_id); ?>>
<?php echo format_client($invoice) ; ?>
</option>
<?php } ?>
<?php } else { ?>
<option value="<?php echo $client_name->client_id; ?>">
<?php echo $client_name->client_name ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group has-feedback">
<div class="col-md-2 col-md-offset-2">
<label for="from_date">
<?php _trans('from_date'); ?>
</label>
<div class="input-group">
<input name="from_date" id="from_date" class="form-control datepicker">
<span class="input-group-addon">
<i class="fa fa-calendar fa-fw"></i>
</span>
</div>
</div>
<div class="col-md-2">
<label for="to_date">
<?php _trans('to_date'); ?>
</label>
<div class="input-group">
<input name="to_date" id="to_date" class="form-control datepicker">
<span class="input-group-addon">
<i class="fa fa-calendar fa-fw"></i>
</span>
</div>
</div>
<div class="col-md-2">
<label for="payment_method_id" class="control-label">
<?php _trans('payment_method'); ?>
</label>
<?php
// Add a hidden input field if a payment method was set to pass the disabled attribute
if ($this->mdl_payments->form_value('payment_method_id')) { ?>
<input type="hidden" name="payment_method_id" class="hidden"
value="<?php echo $this->mdl_payments->form_value('payment_method_id'); ?>">
<?php } ?>
<select id="payment_method_id" name="payment_method_id" class="form-control simple-select"
<?php echo($this->mdl_payments->form_value('payment_method_id') ? 'disabled="disabled"' : ''); ?>>
<?php foreach ($payment_methods as $payment_method) { ?>
<option value="<?php echo $payment_method->payment_method_id; ?>"
<?php if ($this->mdl_payments->form_value('payment_method_id') == $payment_method->payment_method_id) { ?>selected="selected"<?php } ?>>
<?php echo $payment_method->payment_method_name; ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-12 col-sm-2 text-right text-left-xs">
<label for="payment_note" class="control-label"><?php _trans('note'); ?></label>
</div>
<div class="col-xs-12 col-sm-6">
<textarea name="payment_note" id="payment_note"
class="form-control"><?php echo $this->mdl_payments->form_value('payment_note', true); ?></textarea>
</div>
</div>
<table class="table table-striped table-condensed no-margin" id="tab">
<thead>
<tr>
<th class="amount"><?php echo trans('Select'); ?></th>
<!-- <th class="amount"><?php echo trans('Invoice Id'); ?></th> -->
<th class="amount"><?php echo trans('Invoice No'); ?></th>
<th class="amount"><?php echo trans('Item Description'); ?></th>
<th class="amount"><?php echo trans('Qty'); ?></th>
<th class="amount"><?php echo trans('sales'); ?></th>
<th class="amount"><?php echo trans('Total Tax'); ?></th>
<th class="amount"><?php echo trans('sales_with_tax'); ?></th>
<th class="amount"><?php echo trans('Balance To Pay'); ?></th>
<th style="text-align: center" ><?php echo trans('Amount Paid'); ?></th>
</tr>
</thead>
<tbody id="table_value">
<!-- <tr><td class="amount">0100</td><td class="amount">10000</td><td class="amount">50000</td><td class="amount">2500</td><td class="amount">52500</td><td class="amount" contenteditable="true"></td></tr>
<tr><td class="amount">0102</td><td class="amount">20000</td><td class="amount">35000</td><td class="amount">300</td><td class="amount">56500</td><td class="amount" contenteditable="true"></td></tr>
<tr><td class="amount">0125</td><td class="amount">15000</td><td class="amount">58000</td><td class="amount">3500</td><td class="amount">562500</td><td class="amount" contenteditable="true"></td></tr> -->
<tr><td class="amount"></td><td class="amount"></td><td class="amount"></td><td class="amount"></td><td class="amount"></td><td class="amount" contenteditable="true"></td></tr>
</tbody>
<tfoot width="100%">
<tr>
<td style="text-align:right;" colspan="8"><strong>Total</strong></td>
<td class="amount"><strong>
<!-- 4545 -->
<input type="text" id="invoicetotal" name="invoicetotal">
</strong>
</td>
<!-- <td class="amount"><strong>
454545
</strong>
</td> -->
<!-- <td class="amount">
<strong>
445654
</strong>
</td> -->
</tr>
</tfoot>
</table>
<a style="float:right;" class="btn btn-success ajax-loader" ID="Save" onclick="Save()" >&nbsp;&nbsp;<span class="bold">Save</span></a>
<!-- <a style="float:right;" class="btn btn-success Save" ID="Save" onclick="Save1()" >&nbsp;&nbsp;<span class="bold">Save1</span></a> -->
<div class="col-md-12" id="inv_id"></div>
<div class="col-md-12" id="inv_amount"></div>
<div class="col-md-12" id="inv_balance"></div>
<div class="col-md-12" id="inv_total"></div>
<input type="hidden" name="Row" id="Row" value="">
<input type="hidden" name="Recid" id="Recid" value="">
<!-- <a data-toggle="modal" class="btn btn-primary" data-dismiss="modal" onclick="GetPayment();" >Save </a> -->
<?php
$cv = $this->controller->view_data["custom_values"];
foreach ($custom_fields as $custom_field) {
print_field($this->mdl_payments, $custom_field, $cv, "col-xs-12 col-sm-2 text-right text-left-xs", "col-xs-12 col-sm-6");
} ?>
</div>
</form>
<script type="text/javascript">
var index=1;
var note=<?php echo json_encode($note, JSON_PRETTY_PRINT) ?>;
$('#payment_noteview').text(note);
var pid=<?php echo json_encode($pid, JSON_PRETTY_PRINT) ?>;
var pidmax= parseFloat(pid)+1;
//alert(pidmax)
$('#to_date').change(function()
{
GetSupplier()
});
$('#from_date').change(function()
{
GetSupplier()
});
$('#invoice_id').change(function ()
{
var id= $('#invoice_id').val();
GetSupplier()
});
function GetSupplier()
{
var from_date=$('#from_date').val();
var to_date=$('#to_date').val();
var id= $('#invoice_id').val();
if(from_date !='' && id!= '' && to_date != '')
{
$.ajax(
{
data:{id:id,from_date:from_date,to_date:to_date},
dataType:'json',
type:"POST",
url:"<?php echo base_url();?>index.php/payments/Get_Invoice",
success:function(data)
{
var tble='';
$.each(data,function (i,item)
{
//alert(data);
//alert(item.invoice_item_subtotal);
i=i+1;
tble += '<tr class="amount">'+
'<td data-name="sell"><input type="checkbox" onchange="GetPayment('+i+')"id="checkboxcheckbox'+ i +'" name="checkbox'+ i +'";"></td>'+
'</td>'+
'<td id="invid'+i+'" STYLE=display:NONE>'+item.invoice_id+
'</td><td id="invno'+i+'">'+item.invoice_number+
'</td><td style="text-align: center">'+item.item_description+
'</td><td>'+item.item_quantity+
'</td><td>'+item.invoice_item_subtotal+
'</td><td>'+item.invoice_item_tax_total+
'</td><td id="totalPay'+i+'">'+item.invoice_total+
'</td><td id="balance'+i+'">'+item.invoice_balance+
// '</td><td contenteditable=true onchange="GetPayment('+i+')>'+item.invoice_total+
'<td data-name="sel"><input type="text" onkeypress="return isNumberKey(event)"; onchange="GetAmount('+i+')"id="invoicepaymet'+ i +'" name="invoicepaymet'+ i +'";"></td>'+
'</td></tr>';
});
$("#table_value").html(tble);
}
});
}
}
var tot=0;
var tot1=0;
var intex=1;
var row=0;
var j=1;
var tott=0;
function GetPayment(id)
{
var x = document.getElementById('checkboxcheckbox'+id).checked;
var amount= parseFloat( $('#invoicepaymet'+id).val() == '' ? '0.00' : $('#invoicepaymet'+id).val())
var negative=0;
if(amount<0)
{
negative=1;
alert("Invalid Amount")
$('#invoicepaymet'+id).val('');
}
//alert(x);
temp=intex;
//alert(id);
if(x==true)
{
row= parseInt(row)+1;
$('#Row').val(intex);
var Inid= parseFloat( $('#invid'+id).text() == '' ? '0.00' : $('#invid'+id).text());
var Invno = parseFloat( $('#invno'+id).text() == '' ? '0.00' : $('#invno'+id).text());
var TotPay= parseFloat( $('#totalPay'+id).text() == '' ? '0.00' : $('#totalPay'+id).text());
var Balance= parseFloat( $('#balance'+id).text() == '' ? '0.00' : $('#balance'+id).text());
var paymentmethod= $('#payment_method_id').val();
var paynote= $('#payment_note').val();
$('#invoicepaymet'+id).val(Balance);
var Payment= parseFloat( $('#invoicepaymet'+id).val() == '' ? '0.00' : $('#invoicepaymet'+id).val());
tot=parseFloat(tot)+parseFloat(Payment);
//$('#invoicetotal').val(tot);
var theForm = $(".Payment");
var amount = $("#invoicepaymet"+id).val();
var RowCount= $('#Row').val();
//alert(id)
//alert(j)
$('<input>').attr({
type:'hidden',
name:'inv_id'+j,
id:'inv_id'+j,
value:Inid
}).appendTo('#inv_id');
$('<input>').attr({
type:'hidden',
name:'inv_amount'+j,
id:'inv_amount'+j,
value:Payment
}).appendTo('#inv_amount');
$('<input>').attr({
type:'hidden',
name:'inv_balance'+j,
id:'inv_balance'+j,
value:Balance
}).appendTo('#inv_balance');
$('<input>').attr({
type:'hidden',
name:'inv_total'+j,
id:'inv_total'+j,
value:TotPay
}).appendTo('#inv_total');
if(negative==1)
{
alert()
for(o=1;o<j;o++)
{
$('#inv_amount'+o).val('')
}
}
intex = parseInt(intex)+1;
j=parseInt(j)+1;
var to=0;
for(t=1;t<j;t++)
{
//var tt= $('#inv_amount'+t).val();
var tt=parseFloat( $('#inv_amount'+t).val() == '' ? '0.00' : $('#inv_amount'+t).val());
//alert(tt)
to = parseFloat(to) + parseFloat (tt);
$('#invoicetotal').val(parseFloat(to).toFixed(2));
}
}
else
{
var row= parseInt(row)-1;
var delamount=0;
$('#Row').val(intex-2);
var Payment= parseFloat( $('#invoicepaymet'+id).val() == '' ? '0.00' : $('#invoicepaymet'+id).val());
var Inid= parseFloat( $('#invid'+id).text() == '' ? '0.00' : $('#invid'+id).text());
for(s=1;s<=j;s++)
{
var ch= $('#inv_id'+s).val();
if(Inid==ch)
{
var w=s;
delamount= $('#inv_amount'+w).val();
break;
}
}
//alert(w);
var tote= $('#invoicetotal').val();
var afterdeltot= parseFloat(tote)- parseFloat(delamount);
tot=parseFloat(tot)-parseFloat(Payment);
$('#invoicepaymet'+id).val('');
$('#invoicetotal').val(parseFloat(afterdeltot).toFixed(2));
$('#inv_balance'+w).val('');
$('#inv_amount'+w).val('');
$('#inv_id'+w).val('');
$('#inv_total'+w).val('');
//$('#invoicetotal').val('');
intex = parseInt(intex)-1;
}
}
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
// Added to allow decimal, period, or delete
if (charCode == 110 || charCode == 190 || charCode == 46)
return true;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
function GetAmount(id)
{
var amount= parseFloat( $('#invoicepaymet'+id).val() == '' ? '0.00' : $('#invoicepaymet'+id).val())
var negative=0;
if(amount<0)
{
negative=1;
alert("Invalid Amount")
$('#invoicepaymet'+id).val('');
}
var x = document.getElementById('checkboxcheckbox'+id).checked;
if(x==true && negative == 0)
{
// var aa= $('#invoicetotal').val();
// alert(aa);
var Inid= parseFloat( $('#invid'+id).text() == '' ? '0.00' : $('#invid'+id).text());
var Payment= parseFloat( $('#invoicepaymet'+id).val() == '' ? '0.00' : $('#invoicepaymet'+id).val());
var TotPay= parseFloat( $('#totalPay'+id).text() == '' ? '0.00' : $('#totalPay'+id).text());
var Balance= parseFloat( $('#balance'+id).text() == '' ? '0.00' : $('#balance'+id).text());
var balancePay = parseFloat(Balance)-parseFloat(Payment);
//tot1=parseFloat(tot1)+parseFloat(Payment);
for(k=1;k<=j;k++)
{
//alert(j)
var idcheck=$('#inv_id'+k).val();
//alert(idcheck)
if(Inid==idcheck)
{
var cid=k;
break;
}
}
if(Payment<=Balance)
{
//$('#invoicetotal').val(tot1);
$('#inv_balance'+cid).val(balancePay);
$('#inv_amount'+cid).val(Payment);
$('#inv_id'+cid).val(Inid);
$('#inv_total'+cid).val(TotPay);
}
else
{
alert('You are exceeding the payment!!');
$('#invoicepaymet'+id).val(Balance)
}
var tot11=0
for(l=1;l<j;l++)
{
//var Payingamount= $('#inv_amount'+l).val();
var Payingamount=parseFloat( $('#inv_amount'+l).val() == '' ? '0.00' : $('#inv_amount'+l).val());
//alert(Payingamount)
tot11= parseFloat(tot11)+parseFloat(Payingamount)
//alert(tot11)
$('#invoicetotal').val(parseFloat(tot11).toFixed(2));
}
}
}
// function Save1()
// {
// var Inid = $('#inv_id'+'1').val();
// var RowCount= $('#Row').val();
// $.ajax(
// {
// data:{RowCount:RowCount},
// type:"POST",
// url:"<?php echo base_url() ?>index.php/payments/test_email",
// success:function(data)
// {
// if(data)
// {
// alert(data);
// //location.reload();
// //ajax-loader.hide()
// }
// else
// {
// // alert("Error");
// }
// }
// });
// }
function Save()
{
//var inv_amount = [];
var totalamt=$('#invoicetotal').val();
var RowCount= $('#Row').val();
var al=0;
//var pid= pidmax;
var pid=$('#Recid').val()
// alert(pid)
// die()
//var pid='100';
// alert(RowCount)
var paynote = $('#payment_note').val();
var paymentmethod =$('#payment_method_id').val();
for(i=1;i<=j;i++)
{
al= parseInt(al)+1;
//alert("j is"+j);
//alert("al is"+al);
var inv_amount = $('#inv_amount'+i).val();
var Balance = $('#inv_balance'+i).val();
var Inid = $('#inv_id'+i).val();
var TotPay = $('#inv_total'+i).val();
if(Inid== null)
{
// alert("null value")
continue;
}
//alert(inv_amount);
//alert(Inid);
//alert(inv_amount);
$.ajax(
{
data:{RowCount:RowCount,paynote:paynote,paymentmethod:paymentmethod,inv_amount:inv_amount,Balance:Balance,Inid:Inid,TotPay:TotPay,al:al,j:j-1,pid:pid,totalamt:totalamt},
type:"POST",
url:"<?php echo base_url() ?>index.php/payments/Invoice_Clearence",
success:function(data)
{
if(data)
{
//alert(data);
location.reload();
}
else
{
// alert("Error");
}
}
});
}
}
function addHidden(theForm, key, value)
{
// Create a hidden input element, and append it to the form:
var input = document.createElement('input');
input.type = 'hidden';
input.name = key;'name-as-seen-at-the-server';
input.id = key;'name-as-seen-at-the-server';
input.value = value;
theForm.append(input);
}
</script>
<script type="text/javascript">
$(document).ready(function(){
var rr=0;
$.ajax({
dataType:"json",
type:"get",
url:"<?php echo base_url() ?>index.php/payments/GetReceiptno",
success:function(data){
var rec_id = data;
var next_id = '';
$.each(rec_id,function(i,obj){
//alert(obj.lrid);
next_id += parseInt(obj.lrid)+1;
//alert(next_id)
$('#Recid').val(next_id);
});
//alert(next_id);
rr=next_id;
},
error:function(){
alert('Error');
}
});
});
</script>