400 lines
14 KiB
PHP
Executable File
400 lines
14 KiB
PHP
Executable File
<link rel="stylesheet"
|
||
href="<?= base_url('bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css') ?>">
|
||
<link rel="stylesheet" href="<?= base_url('bower_components/bootstrap-daterangepicker/daterangepicker.css') ?>">
|
||
<link rel="stylesheet"
|
||
href="<?= base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
||
|
||
<?php
|
||
$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) {
|
||
$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>
|
||
<?= $this->lang->line('Gestion des wallets'). ' '. $network .' - '.$country; ?>
|
||
</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>
|
||
<?= $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">×</button>
|
||
<h4><i class="icon fa fa-check"></i> Success!</h4>
|
||
<?= $message; ?>
|
||
</div>
|
||
|
||
<?php
|
||
}
|
||
}
|
||
?>
|
||
|
||
</section>
|
||
|
||
<section class="content">
|
||
<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><?= $taux_client_r; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_ag_r; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_sup_r; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_bq_r; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_client_d; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $frais_d; ?><sup style="font-size: 20px">FCFA</sup></h3>
|
||
<p><?= $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><?= $taux_ag_d; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_sup_d; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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><?= $taux_bq_d; ?><sup style="font-size: 20px">%</sup></h3>
|
||
<p><?= $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">
|
||
<?= $this->lang->line('Historique des 12 derniers mois'); ?></h3>
|
||
<div class="box-tools">
|
||
<a class="btn btn-primary" href="<?= current_url().($network_id ? '?id='.$network_id . '&history=transaction' : '')?>">
|
||
<?= $this->lang->line('transactions_historic'); ?>
|
||
</a>
|
||
<a class="btn btn-info" href="<?= current_url().($network_id ? '?id='.$network_id . '&history=recharge' : '')?>">
|
||
<?= $this->lang->line('recharge_historic'); ?>
|
||
</a>
|
||
</div>
|
||
</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">
|
||
<?= $this->lang->line("Parts dépots & retraits"); ?></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"><?= $this->lang->line('Commission Hyperviseur') ?></h3>
|
||
</div>
|
||
<div class="box-body" style="overflow-x:auto;">
|
||
<table id="example1" class="table table-bordered table-hover">
|
||
<thead>
|
||
<tr>
|
||
<?php
|
||
echo "<th>".$this->lang->line('Nom')."</th>
|
||
<th>".$this->lang->line('Solde Principal')."</th>
|
||
<th>".$this->lang->line('Solde Commission')."</th>
|
||
<th>".$this->lang->line('Commission banque')."</th>
|
||
<th>".$this->lang->line('DEPOT'). 's'."</th>
|
||
<th>".$this->lang->line('RETRAIT').'s'."</th>";
|
||
?>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<?php
|
||
if ($walletHyper) {
|
||
$fmt = new NumberFormatter( 'fr_FR', NumberFormatter::DECIMAL );
|
||
echo "<tr>
|
||
<td>" . $walletHyper->first_row()->lastname . "</td>
|
||
<td>" . $fmt->format($walletHyper->first_row()->balance_princ) . "</td>
|
||
<td>" . $fmt->format($walletHyper->first_row()->balance_com) . "</td>
|
||
<td>" . $fmt->format($totalCommissionBanque) . "</td>";
|
||
|
||
echo "<td>" . $depots->num_rows() . "</td>
|
||
<td>" . $retraits->num_rows() . "</td>
|
||
</tr>";
|
||
|
||
}
|
||
?>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</section>
|
||
</div>
|
||
<!-- jQuery 3 -->
|
||
<script src="<?= base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
|
||
<!-- Bootstrap 3.3.7 -->
|
||
<script src="<?= base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
|
||
<!-- DataTables -->
|
||
<script src="<?= base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
|
||
<script src="<?= base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
|
||
<!-- Slimscroll -->
|
||
<script src="<?= base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
|
||
<!-- FastClick -->
|
||
<script src="<?= base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
|
||
<!-- AdminLTE App -->
|
||
<script src="<?= base_url('dist/js/adminlte.min.js') ?>"></script>
|
||
<!-- AdminLTE for demo purposes -->
|
||
<script src="<?= base_url('dist/js/demo.js') ?>"></script>
|
||
|
||
<script src="<?= base_url('bower_components/moment/min/moment.min.js') ?>"></script>
|
||
<script src="<?= base_url('bower_components/bootstrap-daterangepicker/daterangepicker.js') ?>"></script>
|
||
<script
|
||
src="<?= 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="<?= base_url('bower_components/chart.js/Chart.js') ?>"></script>
|
||
|
||
|
||
|
||
|
||
<script>
|
||
$(function () {
|
||
$('#example1').DataTable();
|
||
|
||
})
|
||
</script>
|
||
|
||
<script>
|
||
var areaChartData = {
|
||
labels: <?= 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: <?= 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: <?= json_encode($retraits_data) ?>
|
||
}
|
||
]
|
||
};
|
||
|
||
|
||
var Pie = '<?= 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>
|
||
<!-- Page script -->
|
||
<script src="<?= base_url('dist/js/custom.js') ?>"></script>
|