Ejemplo n.º 1
0
 public function calcularComision($total, $id)
 {
     $comision = Comision::where('cantidad_inicial', '<', $total)->get();
     $distribuidor = Distribuidor::find($id);
     if ($distribuidor->estatus == 1) {
         return 0;
     } else {
         return $comision[count($comision) - 1]->porcentaje;
     }
 }
Ejemplo n.º 2
0
 public function actualizarComision(Request $request, $id)
 {
     $comisionEditada = Comision::find($id);
     $comisionMovimiento = (string) $comisionEditada;
     $comisionEditada->cantidad_inicial = $request->input('cantidad_inicial');
     $comisionEditada->cantidad_final = $request->input('cantidad_final');
     $comisionEditada->porcentaje = $request->input('porcentaje');
     $comisiones = Comision::all();
     for ($i = 0; $i < count($comisiones); $i++) {
         if ($comisionEditada->id_comision != $comisiones[$i]->id_comision) {
             $NuevasComisiones[$i] = $comisiones[$i];
         }
     }
     //return $NuevasComisiones;
     foreach ($NuevasComisiones as $NuevaComision) {
         if ($comisionEditada->cantidad_inicial >= $NuevaComision->cantidad_inicial && $comisionEditada->cantidad_inicial <= $NuevaComision->cantidad_final || $comisionEditada->cantidad_final >= $NuevaComision->cantidad_inicial && $comisionEditada->cantidad_final <= $NuevaComision->cantidad_final) {
             $comision_repetida = $NuevaComision;
             $Repetida = true;
             break;
         } else {
             $Repetida = false;
         }
     }
     if ($comisionEditada->porcentaje >= 50) {
         Session::flash('message', 'El porcentaje de comisión no puede ser mayor al 50%');
         Session::flash('class', 'danger');
     } else {
         if ($comisionEditada->cantidad_inicial < 0 || $comisionEditada->cantidad_final < 0) {
             Session::flash('message', 'Las cantidades no pueden ser menores a cero');
             Session::flash('class', 'danger');
         } else {
             if ($comisionEditada->cantidad_final <= $comisionEditada->cantidad_inicial) {
                 Session::flash('message', 'La cantidad final no puede ser menor o igual a la cantidad inicial');
                 Session::flash('class', 'danger');
             } else {
                 if ($Repetida) {
                     Session::flash('message', 'Las cantidades ingresadas ya se encuentran en el rango de una comisión que va de ' . $comision_repetida->cantidad_inicial . ' a ' . $comision_repetida->cantidad_final);
                     Session::flash('class', 'danger');
                 } else {
                     if ($comisionEditada->save()) {
                         $movimiento = new Movimiento();
                         $movimiento->id_cuenta = Session::get('id');
                         $movimiento->fecha = Carbon::today();
                         $movimiento->estado_anterior = $comisionMovimiento;
                         $movimiento->estado_actual = (string) Comision::find($id);
                         $movimiento->tipo = 5;
                         // 1:vales 2:cuentas 3:pagos 4:distribuidores 5:comisiones
                         $movimiento->save();
                         Session::flash('message', 'Guardado Correctamente');
                         Session::flash('class', 'success');
                     } else {
                         Session::flash('message', 'Ha ocurrido un error');
                         Session::flash('class', 'danger');
                     }
                 }
             }
         }
     }
     return redirect('consultarComisiones');
 }