/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { $transferencia = new Transferencia(); $transferencia->codigo = $request['codigo']; $transferencia->fecha = $request['fecha']; if ($request['tip_destino'] == 3) { //tipo 3 agente $transferencia->agente_id = $request['seleccion_id']; } if ($request['tip_destino'] == 2) { // tipo 2 dependencia $transferencia->dependencia_id = $request['seleccion_id']; } if ($request['tip_destino'] == 1) { // tipo 2 deposito $transferencia->deposito_id = $request['seleccion_id']; } $transferencia->save(); foreach ($request['id'] as $id) { $producto = Producto::findOrFail($id); $producto->tip_destino = $request['tip_destino']; $producto->cod_destino = $request['seleccion_id']; $producto->save(); $transferencia->producto()->attach($id); } return redirect('transferencia'); }
/** * Agrega una trasferencia * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function transferencia(Request $request) { try { $anno = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', 'Periodo')->where('tUsuario_idUsuario', Auth::user()->id)->first(); if ($request->partidaDe == null || $request->partidaA == null) { return back()->withErrors(['errors' => 'Debe selecionar una partida de transferencia y una a la cual transferir']); } $presupuesto_partidaDe = Presupuesto_Partida::find($request->partidaDe); $presupuesto_partidaA = Presupuesto_Partida::find($request->partidaA); $usuario = Auth::user(); // return dd($presupuesto_partidaDe); if ($presupuesto_partidaDe->tPresupuesto_idPresupuesto == $presupuesto_partidaA->tPresupuesto_idPresupuesto && $presupuesto_partidaDe->tPartida_idPartida == $presupuesto_partidaA->tPartida_idPartida) { return Redirect::back()->withErrors(['errors' => 'No se puede realizar una transferencia a la misma partida']); } if ($presupuesto_partidaDe != null && $presupuesto_partidaA != null) { if ($request->iMontoTransferencia <= $presupuesto_partidaDe->iSaldo && $request->iMontoTransferencia) { $transferencia = new Transferencia(); $transferencia->tPresupuestoPartidaDe = $presupuesto_partidaDe->id; $transferencia->tPresupuestoPartidaA = $presupuesto_partidaA->id; $transferencia->vDocumento = $request->vDocumento; $transferencia->tUsuario_idUsuario = $usuario->id; $transferencia->iMontoTransferencia = $request->iMontoTransferencia; $transferencia->save(); //return $transferencia->idTransferencia; $partidaDe = Partida::find($presupuesto_partidaDe->tPartida_idPartida); $presupuestoDe = Presupuesto::find($presupuesto_partidaDe->tPresupuesto_idPresupuesto); $coordinacionDe = Coordinacion::find($presupuestoDe->tCoordinacion_idCoordinacion); $partidaA = Partida::find($presupuesto_partidaA->tPartida_idPartida); $presupuestoA = Presupuesto::find($presupuesto_partidaA->tPresupuesto_idPresupuesto); $coordinacionA = Coordinacion::find($presupuestoA->tCoordinacion_idCoordinacion); $presupuesto_partidaDe->presupuestoModificado(); $presupuesto_partidaDe->calcularGasto(); $presupuesto_partidaDe->calcularSaldo(); $presupuesto_partidaDe->save(); $presupuesto_partidaA->presupuestoModificado(); $presupuesto_partidaA->calcularReserva(); $presupuesto_partidaA->calcularGasto(); $presupuesto_partidaA->calcularSaldo(); $presupuesto_partidaA->save(); return redirect('/transferencia/' . $transferencia->idTransferencia); } else { return Redirect::back()->with(['anno' => $anno])->withErrors(['errors' => 'Verifique que el monto de transferencia sea menor o igual al saldo de la partida de la cual esta realizando la transferencia']); } } else { return Redirect::back()->with(['anno' => $anno])->withErrors(['errors' => 'Verifique que el monto de transferencia sea menor o igual al saldo de la partida de la cual esta realizando la transferencia']); } } catch (\Illuminate\Database\QueryException $e) { return Redirect::back()->withErrors(['errors' => 'El presupuesto tiene partidas asignadas']); } }