<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use DB;
class PremioCliente extends Model
{
//
protected $table = 'premio_cliente';
public $incrementing = false;
public function totalCajas($id,$year,$month){
$sql = "SELECT c.id, c.registro, c.nombre, c.patrocinador, c.ape_p, c.ape_m, nivel, v.fecha_venta, p.descripcion, MONTH(v.fecha_venta) month, YEAR(v.fecha_venta) year, v.total , SUM(IF(v.total >=2000,1,0)) total_cajas
FROM(
SELECT id, registro, nombre, patrocinador, ape_p, ape_m, 'primer' nivel
FROM cliente c
WHERE patrocinador in ('$id')
UNION ALL
SELECT id, registro, nombre, patrocinador, ape_p, ape_m, 'segunrdo' nivel
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador = '$id'
)
UNION ALL
SELECT id, registro, nombre, patrocinador, ape_p, ape_m, 'tercer' nivel
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador = '$id'
)
)
UNION ALL
SELECT id, registro, nombre, patrocinador, ape_p, ape_m, 'cuarto' nivel
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador in (
SELECT id
FROM cliente WHERE patrocinador = '$id'
)
)
)
)as c
JOIN venta v ON v.cliente_id = c.id AND v.status_id = 1 AND MONTH(v.fecha_venta) = $month AND YEAR(v.fecha_venta) = $year
JOIN producto p ON p.id = v.producto_id AND p.status_id = 1
GROUP BY month";
$query = DB::select(DB::raw($sql));
if(count($query) != null){
return $query;
}
}
public function verifyAward($premio){
$sql = "SELECT *
FROM premio_cliente
WHERE cliente_id = '$premio->cliente_id'
AND status_id = 1 AND completado = 0";
$query = DB::select(DB::raw($sql));
return $this->verifyInsert($query);
}
public function verifyInsert($query){
if (count($query)) {
if($query[0]->mes_1 == null) {
return ['','mes_1','cajas_1'];
} else if($query[0]->mes_2 == null) {
return [$query[0]->id,'mes_2','cajas_2'];
} else if($query[0]->mes_3 == null) {
return [$query[0]->id,'mes_3','cajas_3'];
} else {
return [$query[0]->id,'complete',''];
}
} else {
return ['','mes_1','cajas_1'];
}
}
public function verifyMonthYear($premios, $month, $year, $mes){
$mes = "";
switch($month){
case 'mes_1':
$mes = 'mes_1';
break;
case 'mes_2':
$mes = 'mes_1';
break;
case 'mes_3':
$mes = 'mes_2';
break;
}
$sql = "SELECT *
FROM premio_cliente
WHERE cliente_id = '$premios->cliente_id'
AND status_id = 1 AND completado = 0 AND year = $year AND $mes = $mes ";
$query = DB::select(DB::raw($sql));
return count($query);
}
public function clientePremios(){
$sql = "SELECT pc.id, c.id, concat(c.nombre, ' ', c.ape_p) nombre, p.categoria, pc.mes_1, pc.mes_2, pc.mes_3, pc.cajas_1, pc.cajas_2, pc.cajas_3, pc.year, pc.completado
FROM premio_cliente pc
JOIN cliente c ON c.id = pc.cliente_id AND c.status_id = 1
JOIN premio p ON p.id = pc.premio_id
WHERE pc.status_id = 1
ORDER by pc.year ASC, pc.mes_1 DESC";
$query = DB::select(DB::raw($sql));
if(count($query) != null){
return $query;
}
}
}