havinraw
This commit is contained in:
@@ -286,13 +286,28 @@ class MenuController extends Controller
|
|||||||
if((int)$pantalla_servicio_completa >= (int)$cantidad_solicitada ){
|
if((int)$pantalla_servicio_completa >= (int)$cantidad_solicitada ){
|
||||||
$suma = $pantalla_servicio-$cantidad_solicitada;
|
$suma = $pantalla_servicio-$cantidad_solicitada;
|
||||||
|
|
||||||
$cuenta = Cuentas::where('servicio_id',$servicio_id)->whereDate('inicio','>=',$fecha)->Orderby('created_at', 'ASC')->withCount('historiales')->where('estado','activo')->having('historiales_count', '<=', $suma)->first();
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
|
->whereDate('inicio', '>=', $fecha)
|
||||||
|
->orderBy('created_at', 'ASC')
|
||||||
|
->withCount('historiales')
|
||||||
|
->where('estado', 'activo')
|
||||||
|
->havingRaw('COUNT(historiales.id) <= ?', [$suma]) // ✅ Corrección
|
||||||
|
->first();
|
||||||
|
|
||||||
}elseif((int)$pantalla_servicio_completa == (int)$cantidad_solicitada){
|
}elseif((int)$pantalla_servicio_completa == (int)$cantidad_solicitada){
|
||||||
$this->fecha_final_1 = $today = Carbon::now()->addDays($pantallas->dias-15);
|
$this->fecha_final_1 = $today = Carbon::now()->addDays($pantallas->dias-15);
|
||||||
$this->fecha_final_2 = $today = Carbon::now()->addDays($pantallas->dias+15);
|
$this->fecha_final_2 = $today = Carbon::now()->addDays($pantallas->dias+15);
|
||||||
//completas
|
//completas
|
||||||
$cuenta = Cuentas::where('servicio_id',$this->servicio_id)->whereDate('inicio','>=',$this->fecha)->whereDate('vencimiento','>=',$this->fecha_final_1)->whereDate('vencimiento','<=',$this->fecha_final_2)->Orderby('created_at', 'ASC')->withCount('historiales')->where('estado','pendiente')->having('historiales_count', '==', 0)->first();
|
$cuenta = Cuentas::where('servicio_id', $this->servicio_id)
|
||||||
}else{
|
->whereDate('inicio', '>=', $this->fecha)
|
||||||
|
->whereDate('vencimiento', '>=', $this->fecha_final_1)
|
||||||
|
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
||||||
|
->orderBy('created_at', 'ASC')
|
||||||
|
->withCount('historiales')
|
||||||
|
->where('estado', 'pendiente')
|
||||||
|
->havingRaw('COUNT(historiales.id) = 0') // ✅ Corrección
|
||||||
|
->first();
|
||||||
|
|
||||||
$cuenta=null;
|
$cuenta=null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,7 +347,14 @@ class MenuController extends Controller
|
|||||||
|
|
||||||
for ($h=0; $h < (int)$cantidad_tarjetaPlan ; $h++) {
|
for ($h=0; $h < (int)$cantidad_tarjetaPlan ; $h++) {
|
||||||
//dd($n);
|
//dd($n);
|
||||||
$cuenta = Cuentas::where('servicio_id',$servicio_id)->whereDate('inicio','>=',$fecha)->Orderby('created_at', 'ASC')->with('historiales')->withCount('historiales')->where('estado','activo')->having('historiales_count', '<=', (int)$suma2)->first();
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
|
->whereDate('inicio', '>=', $fecha)
|
||||||
|
->orderBy('created_at', 'ASC')
|
||||||
|
->with('historiales')
|
||||||
|
->withCount('historiales')
|
||||||
|
->where('estado', 'activo')
|
||||||
|
->havingRaw('historiales_count <= ?', [(int) $suma2]) // ✅ SQL nativo
|
||||||
|
->first();
|
||||||
//dd($cuenta);
|
//dd($cuenta);
|
||||||
if (!empty($cuenta)) {
|
if (!empty($cuenta)) {
|
||||||
$perfil = $cuenta->historiales_count;
|
$perfil = $cuenta->historiales_count;
|
||||||
@@ -381,9 +403,25 @@ class MenuController extends Controller
|
|||||||
if ($pantalla_servicio_completa == $pantallas_tarifa) {
|
if ($pantalla_servicio_completa == $pantallas_tarifa) {
|
||||||
$this->fecha_final_1 = $today = Carbon::now()->addDays($tarifa->dias-15);
|
$this->fecha_final_1 = $today = Carbon::now()->addDays($tarifa->dias-15);
|
||||||
$this->fecha_final_2 = $today = Carbon::now()->addDays($tarifa->dias+15);
|
$this->fecha_final_2 = $today = Carbon::now()->addDays($tarifa->dias+15);
|
||||||
$cuenta = Cuentas::where('servicio_id',$servicio_id)->whereDate('inicio','>=',$fecha)->whereDate('vencimiento','>=',$this->fecha_final_1)->whereDate('vencimiento','<=',$this->fecha_final_2)->Orderby('created_at', 'ASC')->with('historiales')->withCount('historiales')->where('estado','pendiente')->having('historiales_count', '==', 0)->first();
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
|
->whereDate('inicio', '>=', $fecha)
|
||||||
|
->whereDate('vencimiento', '>=', $this->fecha_final_1)
|
||||||
|
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
||||||
|
->orderBy('created_at', 'ASC')
|
||||||
|
->with('historiales')
|
||||||
|
->withCount('historiales')
|
||||||
|
->where('estado', 'pendiente')
|
||||||
|
->havingRaw('historiales_count = ?', [0]) // ✅ SQL nativo
|
||||||
|
->first();
|
||||||
}else{
|
}else{
|
||||||
$cuenta = Cuentas::where('servicio_id', $servicio_id)->whereDate('inicio','>=',$fecha)->Orderby('created_at', 'ASC')->with('historiales')->withCount('historiales')->where('estado', 'activo')->having('historiales_count', '<=', (int)$faltante)->first();
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
|
->whereDate('inicio', '>=', $fecha)
|
||||||
|
->orderBy('created_at', 'ASC')
|
||||||
|
->with('historiales')
|
||||||
|
->withCount('historiales')
|
||||||
|
->where('estado', 'activo')
|
||||||
|
->havingRaw('historiales_count <= ?', [(int) $faltante]) // ✅ SQL nativo
|
||||||
|
->first();
|
||||||
}
|
}
|
||||||
//dd($tarifa);
|
//dd($tarifa);
|
||||||
|
|
||||||
|
|||||||
@@ -275,29 +275,31 @@ class ShowPromociones extends Component
|
|||||||
//dd($tarifa);
|
//dd($tarifa);
|
||||||
if ($pantalla_servicio_completa == $pantallas_tarifa) {
|
if ($pantalla_servicio_completa == $pantallas_tarifa) {
|
||||||
|
|
||||||
$this->fecha_final_1 = $today = Carbon::now()->addDays($tarifa->dias - 20);
|
$this->fecha_final_1 = Carbon::now()->addDays($tarifa->dias - 20);
|
||||||
$this->fecha_final_2 = $today = Carbon::now()->addDays($tarifa->dias + 20);
|
$this->fecha_final_2 = Carbon::now()->addDays($tarifa->dias + 20);
|
||||||
|
|
||||||
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
->whereDate('inicio', '>=', $this->fecha)
|
->whereDate('inicio', '>=', $this->fecha)
|
||||||
->whereDate('vencimiento', '>=', $this->fecha_final_1)
|
->whereDate('vencimiento', '>=', $this->fecha_final_1)
|
||||||
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
||||||
->Orderby('inicio', 'ASC')->with('historiales')
|
->orderBy('inicio', 'ASC')
|
||||||
|
->with('historiales')
|
||||||
->withCount('historiales')
|
->withCount('historiales')
|
||||||
|
->havingRaw('COUNT(historiales.id) = 0') // ✅ Corrección
|
||||||
->where('estado', 'pendiente')
|
->where('estado', 'pendiente')
|
||||||
->having('historiales_count', '==', 0)
|
|
||||||
->first();
|
->first();
|
||||||
} else {
|
} else {
|
||||||
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
$cuenta = Cuentas::where('servicio_id', $servicio_id)
|
||||||
->whereDate('inicio', '>=', $this->fecha)
|
->whereDate('inicio', '>=', $this->fecha)
|
||||||
->Orderby('inicio', 'ASC')
|
->orderBy('inicio', 'ASC')
|
||||||
->with('historiales')
|
->with('historiales')
|
||||||
->withCount('historiales')
|
->withCount('historiales')
|
||||||
|
->havingRaw('COUNT(historiales.id) <= ?', [(int) $faltante]) // ✅ Corrección
|
||||||
->where('estado', 'activo')
|
->where('estado', 'activo')
|
||||||
->having('historiales_count', '<=', (int) $faltante)
|
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!is_null($cuenta)) {
|
if (!is_null($cuenta)) {
|
||||||
$perfil = $cuenta->historiales_count;
|
$perfil = $cuenta->historiales_count;
|
||||||
for ($y = 0; $y < (int) $pantallas_tarifa; $y++) {
|
for ($y = 0; $y < (int) $pantallas_tarifa; $y++) {
|
||||||
|
|||||||
@@ -183,16 +183,10 @@ class ShowServicios extends Component
|
|||||||
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
->whereDate('vencimiento', '<=', $this->fecha_final_2)
|
||||||
->where('servicio_id', $servicio_tarifa->id)
|
->where('servicio_id', $servicio_tarifa->id)
|
||||||
->where('estado', 'activo')
|
->where('estado', 'activo')
|
||||||
//->with('perfil')
|
|
||||||
//->whereDoesntHave('perfil', function ($query) use ($cantidad_restante) {
|
|
||||||
// $query->select('cuenta_id')
|
|
||||||
// ->groupBy('cuenta_id')
|
|
||||||
// ->havingRaw("COUNT(*) >= $cantidad_restante");
|
|
||||||
//})
|
|
||||||
->withCount('historiales')
|
->withCount('historiales')
|
||||||
->where('estado', 'activo')
|
->havingRaw("(SELECT COUNT(*) FROM historiales WHERE historiales.cuenta_id = cuentas.id) <= ?", [$cantidad_restante])
|
||||||
->having('historiales_count', '<=', $cantidad_restante)
|
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
//dd($cuentas_pantallas); // con count da un numero entero
|
//dd($cuentas_pantallas); // con count da un numero entero
|
||||||
|
|
||||||
$cuentas_pantallas_tomadas = Historial_cuenta::whereIn('cuenta_id', $cuentas_pantallas
|
$cuentas_pantallas_tomadas = Historial_cuenta::whereIn('cuenta_id', $cuentas_pantallas
|
||||||
|
|||||||
Reference in New Issue
Block a user