/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(CreateFacturaRequest $request, Requests\CreateDetalle_FacturaRequest $request2) { $fac = new Factura($request->input()); if ($fac->numero_factura > 0) { $voucher2 = Factura::whereIn('numero_factura', [$fac->numero_factura])->get(); $voucher = Factura::where('numero_factura', $fac->numero_factura)->where('id_proveedor', $fac->id_proveedor)->first(); if ($voucher2->count() > 0) { if ($fac->id_proveedor == isset($voucher->id_proveedor)) { $message = 'No se pudo ingresar la Factura' . $fac->numero_factura . ' del Proveedor ' . $fac->proveedor->nombre . ' Ya se encuentra registrada'; Session::flash('message', $message); return redirect()->route('admin.factura.index'); } else { $factura = Factura::create($request->all()); $facturas = Factura::orderBy('created_at', 'desc')->first(); $total = count($request->input('id_insumo')); for ($i = 0; $i < $total; $i++) { DB::table('detalle__compras')->insert(['id_factura' => $facturas->id, 'numero_factura' => $request->input('numero_factura'), 'id_insumo' => $request->input('id_insumo')[$i], 'cantidad' => $request->input('cantidad')[$i], 'precio' => $request->input('precio')[$i]]); $id_insumo = $request->input('id_insumo')[$i]; $stock = Insumo::where('id', $id_insumo)->first(); DB::table('insumos')->where('id', $id_insumo)->update(['stock' => $stock->stock + $request->input('cantidad')[$i], 'precio_unitario' => $request->input('precio')[$i]]); } $message = 'La factura ' . $factura->numero_factura . ' fue ingresada en el sistema'; Session::flash('message', $message); if (Auth::user()->type == 'admin') { return redirect()->route('admin.factura.index'); } if (Auth::user()->type == 'secretaria') { return redirect()->route('secretaria.factura.index'); } } } else { $factura = Factura::create($request->all()); $facturas = Factura::orderBy('created_at', 'desc')->first(); $total = count($request->input('id_insumo')); for ($i = 0; $i < $total; $i++) { DB::table('detalle__compras')->insert(['id_factura' => $facturas->id, 'numero_factura' => $request->input('numero_factura'), 'id_insumo' => $request->input('id_insumo')[$i], 'cantidad' => $request->input('cantidad')[$i], 'precio' => $request->input('precio')[$i]]); $id_insumo = $request->input('id_insumo')[$i]; $stock = Insumo::where('id', $id_insumo)->first(); DB::table('insumos')->where('id', $id_insumo)->update(['stock' => $stock->stock + $request->input('cantidad')[$i], 'precio_unitario' => $request->input('precio')[$i]]); } $message = 'La factura ' . $factura->numero_factura . ' fue ingresada en el sistema'; Session::flash('message', $message); if (Auth::user()->type == 'admin') { return redirect()->route('admin.factura.index'); } if (Auth::user()->type == 'secretaria') { return redirect()->route('secretaria.factura.index'); } } } else { $message = 'El número de la fátura debe ser mayor a 0'; Session::flash('message', $message); if (Auth::user()->type == 'admin') { return redirect()->route('admin.factura.index'); } if (Auth::user()->type == 'secretaria') { return redirect()->route('secretaria.factura.index'); } } }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(CreateFacturaRequest $request, Requests\CreateDetalle_FacturaRequest $request2) { $fac = new Factura($request->all()); $this->cantidad = count($this->detalleFactura); //dd($insumos->attributesToArray()); if ($fac->numero_factura > 0) { $factura = Factura::create($request->all()); $message = 'La factura ' . $factura->numero_factura . ' fue ingresada en el sistema'; Session::flash('message', $message); return redirect()->route('admin.factura.index'); } else { $message = 'El número de la fátura debe ser mayor a 0'; Session::flash('message', $message); return redirect()->route('admin.factura.index'); } }