backoffice/application/views/gestion_wallet.php

612 lines
22 KiB
PHP
Raw Normal View History

2020-04-17 15:28:27 +00:00
<link rel="stylesheet" href="<?php echo base_url('bower_components/jvectormap/jquery-jvectormap.css') ?>">
<link rel="stylesheet"
href="<?php echo base_url('bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css') ?>">
<link rel="stylesheet" href="<?php echo base_url('bower_components/bootstrap-daterangepicker/daterangepicker.css') ?>">
<link rel="stylesheet" href="<?php echo base_url('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css') ?>">
<link rel="stylesheet"
href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
<link rel="stylesheet" href="<?php echo base_url('bower_components/toastr/toastr.css') ?>">
<?php
function convertDate($date)
{
$month = null;
switch ($date) {
case "Jan":
$month = 1;
break;
case "Feb":
$month = 2;
break;
case "Mar":
$month = 3;
break;
case "Apr":
$month = 4;
break;
case "May":
$month = 5;
break;
case "Jun":
$month = 6;
break;
case "Jul":
$month = 7;
break;
case "Aug":
$month = 8;
break;
case "Sep":
$month = 9;
break;
case "Oct":
$month = 10;
break;
case "Nov":
$month = 11;
break;
case "Dec":
$month = 12;
break;
}
return $month;
}
$month = time();
$months[] = convertDate(date("M"));
$label_months [] = date("M") . " " . date("Y");
$years[] = date("Y");
for ($i = 1; $i <= 11; $i++) {
$month = strtotime('last month', $month);
$months [] = convertDate(date("M", $month));
$years[] = date("Y", $month);
$label_months [] = date("M", $month) . " " . date("Y", $month);
}
/**
** Retraits
**/
$date = date("Y");
$retraits_data[] = '';
$retraits_data = array();
for ($i = 1; $i <= 12; $i++) {
$retraits_query_mounth = $this->db->query("SELECT id FROM infos_transaction
WHERE network_id='" . $network_id . "'
AND MONTH(date_created) = '" . $months[$i - 1] . "'
AND YEAR(date_created) = '" . $years[$i - 1] . "'
AND type_transac='debit'");
$retraits_data[] = $retraits_query_mounth->num_rows();
}
$startDate = (new DateTime('01-' . $months[11] . '-' . $years[11]))->format('Y-m-d H:i:s');
$endDate = date_create_from_format('m/Y', $months[0] . '/' . $years[0])->format('Y-m-d H:i:s');
$retraits = $this->db->query("SELECT * FROM infos_transaction
WHERE network_id='" . $network_id . "'
AND date_created BETWEEN '" . $startDate . "' AND '" . $endDate . "'
AND type_transac='debit'");
/**
** Dépots
**/
$date = date("Y");
$depots_data[] = '';
$depots_data = array();
for ($i = 1; $i <= 12; $i++) {
$depots_query_mounth = $this->db->query("SELECT id FROM infos_transaction
WHERE network_id='" . $network_id . "'
AND MONTH(date_created) = '" . $months[$i - 1] . "'
AND YEAR(date_created) = '" . $years[$i - 1] . "'
AND type_transac='credit'");
$depots_data[] = $depots_query_mounth->num_rows();
}
$depots = $this->db->query("SELECT * FROM infos_transaction
WHERE network_id='" . $network_id . "'
AND date_created BETWEEN '" . $startDate . "' AND '" . $endDate . "'
AND type_transac='credit'");
if ($transactions != false) {
$transac = $transactions->num_rows();
$array_transac = array();
$num = 0;
if ($transac > 0) {
foreach ($transactions->result() as $row) {
$num++;
$array_transac[] = $row->type_transac;
}
$vals_transac = array_count_values($array_transac);
$pieChart = array();
foreach (array_keys($vals_transac) as $paramName) {
$color = dechex(rand(0x000000, 0xFFFFFF));
$trash = array("value" => $vals_transac[$paramName],
"color" => "#" . $color,
"highlight" => "#" . $color,
"label" => $paramName);
$pieChart[] = $trash;
}
}
} else {
$pieChart = array();
}
?>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Gestion des wallets <?php echo $network .' - '.$country; ?>
2020-04-17 15:28:27 +00:00
</h1>
<?php
$site_url = base_url();
if ($alert == "ok") {
if (!$success == "ok") {
?>
<div class='alert alert-danger alert-dismissible col-xs-6'>
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
<h4><i class='icon fa fa-ban'></i> Erreur!</h4>
<?php echo $message; ?>
</div>
<?php
} else {
?>
<div class="alert alert-success alert-dismissible col-xs-6">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
<?php echo $message; ?>
</div>
<?php
}
}
?>
</section>
<section class="content">
<div class="row">
<div class="margin">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-update"
style="width: 100%"><?php echo $this->lang->line('Modifier la configuration') ?></button>
</div>
</div>
<div class="row centered">
<div class="col-lg-2 col-lg-offset-2 col-xs-6">
<div class="small-box bg-red-active">
<div class="inner">
<h3><?php echo $taux_client_r; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission client sur retrait') ?></p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_client_r" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-aqua-active">
<div class="inner">
<h3><?php echo $taux_ag_r; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission agent géolocalisé sur retrait') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_ag_r" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-aqua-active">
<div class="inner">
<h3><?php echo $taux_sup_r; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission superviseur sur retrait') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_sup_r" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-aqua-active">
<div class="inner">
<h3><?php echo $taux_bq_r; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Part de la banque sur le retrait') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-up"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_bq_r" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
</div>
<div class="row">
<div class="col-lg-2 col-lg-offset-1 col-xs-6">
<div class="small-box bg-green-active">
<div class="inner">
<h3><?php echo $taux_client_d; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission client sur dépot') ?></p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-down"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_client_d" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-green-active">
<div class="inner">
<h3><?php echo $frais_d; ?><sup style="font-size: 20px">FCFA</sup></h3>
<p><?php echo $this->lang->line('Frais minimun de la banque sur le dépot') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-down"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="frais_d" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-yellow-active">
<div class="inner">
<h3><?php echo $taux_ag_d; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission agent géolocalisé sur dépot') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-down"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_ag_d" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-yellow-active">
<div class="inner">
<h3><?php echo $taux_sup_d; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Taux de commission superviseur sur dépot') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-down"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_sup_d" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
<div class="col-lg-2 col-xs-6">
<div class="small-box bg-yellow-active">
<div class="inner">
<h3><?php echo $taux_bq_d; ?><sup style="font-size: 20px">%</sup></h3>
<p><?php echo $this->lang->line('Part de la banque sur le dépot') ?> </p>
</div>
<div class="icon">
<i class="ion ion-android-arrow-down"></i>
</div>
<!-- <a href="#" data-toggle="modal" data-target="#modal-update" data-type="taux_bq_d" class="small-box-footer openModal">Modifier <i class="fa fa-arrow-circle-right"></i></a>-->
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Retraits et dépots des 12 derniers
mois<?php //echo $this->lang->line('Souscription des 12 derniers mois'); ?></h3>
2020-04-19 08:51:28 +00:00
<div class="box-tools">
<a class="btn btn-primary" href="<?php echo current_url().($network_id ? '?id='.$network_id . '&history=true' : '')?>"> Historique </a>
2020-04-19 08:51:28 +00:00
</div>
2020-04-17 15:28:27 +00:00
</div>
<div class="box-body">
<div class="chart" id="chart">
<canvas id="barChart" style="height:230px"></canvas>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="box box-danger">
<div class="box-header with-border">
<h3 class="box-title">Parts dépots &
retraits<?php //echo $this->lang->line("Utilisateurs géolocalisés par ville"); ?></h3>
</div>
<div class="box-body" id="chart2">
<canvas id="pieChart" style="height:250px"></canvas>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="box">
<div class="box-header">
<h3 class="box-title"><?php echo $this->lang->line('Commissions Hyperviseur') ?></h3>
</div>
<div class="box-body">
<table id="example1" class="table table-bordered table-hover">
<thead>
<tr>
<th>Nom</th>
<th>Solde Princ.</th>
<th>Solde Com.</th>
2020-04-19 08:51:28 +00:00
<th>Com. Banque</th>
2020-04-17 15:28:27 +00:00
<th>Dépots</th>
<th>Retraits</th>
</tr>
</thead>
<tbody>
<?php
if ($walletHyper) {
2020-04-25 11:57:19 +00:00
$fmt = new NumberFormatter( 'fr_FR', NumberFormatter::DECIMAL );
2020-04-17 15:28:27 +00:00
echo "<tr>
<td>" . $walletHyper->first_row()->lastname . "</td>
2020-04-25 11:57:19 +00:00
<td>" . $fmt->format($walletHyper->first_row()->balance_princ) . "</td>
<td>" . $fmt->format($walletHyper->first_row()->balance_com) . "</td>
<td>" . $fmt->format($totalCommissionBanque) . "</td>";
2020-04-17 15:28:27 +00:00
echo "<td>" . $depots->num_rows() . "</td>
<td>" . $retraits->num_rows() . "</td>
</tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
<div class="modal fade" id="modal-update">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h3 class="modal-title"><?php echo $this->lang->line('Configuration du wallet'); ?></h3>
</div>
<div class="modal-body">
<form id="walletForm">
<div class="form-group">
<label for="nom"
class="col-form-label"><?php echo $this->lang->line('Taux de commission client sur retrait') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
id="taux_client_r" name="taux_client_r" value="<?= $taux_client_r ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Taux de commission agent géolocalisé sur retrait') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
name="taux_ag_r" id="taux_ag_r" value="<?= $taux_ag_r ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Taux de commission superviseur sur retrait') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
name="taux_sup_r" id="taux_sup_r" value="<?= $taux_sup_r ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Part de la banque sur le retrait') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control" id="taux_bq_r"
name="taux_bq_r" value="<?= $taux_bq_r ?>">
</div>
<div class="form-group">
<label for="adresse"
class="col-form-label"><?php echo $this->lang->line('Taux de commission client sur dépot') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
id="taux_client_d" name="taux_client_d" value="<?= $taux_client_d ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Frais minimun de la banque sur le dépot') . ' (FCFA)'; ?></label>
<input type="number" min="0" required class="form-control" id="frais_d"
name="frais_d" value="<?= $frais_d ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Taux de commission agent géolocalisé sur dépot') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control" id="taux_ag_d"
name="taux_ag_d" value="<?= $taux_ag_d ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Taux de commission superviseur sur dépot') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
id="taux_sup_d" name="taux_sup_d" value="<?= $taux_sup_d ?>">
</div>
<div class="form-group">
<label for="email"
class="col-form-label"><?php echo $this->lang->line('Part de la banque sur le dépot') . ' (%)'; ?></label>
<input type="number" min="0" step=".01" required class="form-control"
name="taux_bq_d" id="taux_bq_d" value="<?= $taux_bq_d ?>">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left"
data-dismiss="modal"><?php echo $this->lang->line('Fermer'); ?></button>
<button type="button" id="updateWallet" data-network-id="<?= $network_id ?>"
class="btn btn-primary"><?php echo $this->lang->line('Continuer'); ?></button>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<!-- jQuery 3 -->
<script src="<?php echo base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
<!-- Bootstrap 3.3.7 -->
<script src="<?php echo base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
<!-- DataTables -->
<script src="<?php echo base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
<script src="<?php echo base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
<!-- Slimscroll -->
<script src="<?php echo base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
<!-- FastClick -->
<script src="<?php echo base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
<!-- AdminLTE App -->
<script src="<?php echo base_url('dist/js/adminlte.min.js') ?>"></script>
<!-- AdminLTE for demo purposes -->
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>
<script src="<?php echo base_url('bower_components/moment/min/moment.min.js') ?>"></script>
<script src="<?php echo base_url('bower_components/bootstrap-daterangepicker/daterangepicker.js') ?>"></script>
<script
src="<?php echo base_url('bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js') ?>"></script>
<scriptf
src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></scriptf>
<!-- ChartJS -->
<script src="<?php echo base_url('bower_components/chart.js/Chart.js') ?>"></script>
<script src="<?php echo base_url('bower_components/toastr/toastr.js') ?>"></script>
<script src="<?php echo base_url('dist/js/sweetalert2.js') ?>"></script>
<script>
$(function () {
$('#example1').DataTable();
// $('#example1').DataTable({
// "aLengthMenu": [[5, 10, 15, -1], [5, 10, 5, "All"]],
// "iDisplayLength": 5
// });
// $('#example2').DataTable({
// 'paging' : true,
// 'lengthChange': false,
// 'searching' : false,
// 'ordering' : true,
// 'info' : true,
// 'autoWidth' : false
// })
})
</script>
<script>
var areaChartData = {
labels: <?php echo json_encode($label_months) ?>,
datasets: [
{
label: 'Electronics',
fillColor: 'rgba(255, 162, 0, 1)',
strokeColor: 'rgba(255, 162, 0, 1)',
pointColor: 'rgba(255, 162, 0, 1)',
pointStrokeColor: '#ffa200',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(220,220,220,1)',
data: <?php echo json_encode($depots_data) ?>
},
{
label: 'Digital Goods',
fillColor: 'rgba(0, 187, 255, 1)',
strokeColor: 'rgba(0, 187, 255, 1)',
pointColor: '#00bbff',
pointStrokeColor: 'rgba(0, 187, 255, 1)',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(0, 187, 255, 1)',
data: <?php echo json_encode($retraits_data) ?>
}
]
};
var Pie = '<?php echo json_encode($pieChart) ?>';
if (Pie === '[]') {
var select = document.getElementById('chart2');
$(select.children).hide();
$(select).append("<p>Aucune transaction</p>");
} else {
Pie = JSON.parse(Pie);
}
</script>
<script>
toastr.options.closeButton = true;
toastr.options.closeMethod = 'fadeOut';
toastr.options.closeDuration = 5000;
toastr.options.closeEasing = 'swing';
$('#updateWallet').click(function () {
var network_id = $(this).data('network-id');
if ($('#walletForm')[0].checkValidity()) {
var taux_client_r = parseFloat($('#taux_client_r').val());
var taux_client_d = parseFloat($('#taux_client_d').val());
var taux_ag_r = parseFloat($('#taux_ag_r').val());
var taux_ag_d = parseFloat($('#taux_ag_d').val());
var taux_sup_r = parseFloat($('#taux_sup_r').val());
var taux_sup_d = parseFloat($('#taux_sup_d').val());
var taux_bq_d = parseFloat($('#taux_bq_d').val());
var taux_bq_r = parseFloat($('#taux_bq_r').val());
var frais_d = $('#frais_d').val();
var sommeRetrait = taux_ag_r + taux_sup_r + taux_bq_r;
var sommeDepot = taux_ag_d + taux_sup_d + taux_bq_d;
if((taux_ag_r + taux_sup_r) > 100){
toastr.error("La somme des % des retraits de l'agent et du superviseur doit être inférieur à 100.", 'Règle de gestion');
}else if((taux_ag_d + taux_sup_d) > 100){
toastr.error("La somme des % des dépots de l'agent et du superviseur doit être inférieur à 100.", 'Règle de gestion');
}else if(sommeRetrait >= taux_client_r){
toastr.error('La somme des % des retraits doit être inférieur au taux client de retrait.', 'Règle de gestion')
}else if(sommeDepot >= 100){
toastr.error("La somme des % des dépots doit être inférieur à 100.", 'Règle de gestion');
}else{
$.ajax({
url: '<?php echo base_url('index.php/Gestion/config_wallet/update')?>',
type: 'POST',
dataType: 'json',
data: {
"network_id": network_id,
"taux_client_r": taux_client_r,
"taux_client_d": taux_client_d,
"taux_ag_r": taux_ag_r,
"taux_ag_d": taux_ag_d,
"taux_sup_r": taux_sup_r,
"taux_sup_d": taux_sup_d,
"taux_bq_r": taux_bq_r,
"taux_bq_d": taux_bq_d,
"frais_d": frais_d
},
success: function (data) {
if(data=='200'){
Swal.fire({
icon: 'success',
title: 'Mise à jour du wallet',
text:'Les informations ont été mises à jour',
timer: 3000
}).then(()=>{
location.reload();
});
// alert("Les informations ont été mises à jour.") ? "" :
}else{
toastr.error("Une erreur s'est produite." , 'Erreur requete');
}
},
error: function (resultat, statut, error) {
console.log(resultat + " " + error);
}
});
}
} else {
$('#walletForm')[0].reportValidity();
}
});
</script>
<!-- Page script -->
<script src="<?php echo base_url('dist/js/custom.js') ?>"></script>