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; } }
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'); }