public static function ingresoCtaCte($ctacte_id) { DB::begintransaction(); try { $CC = Ctacte::findOrFail($ctacte_id); $data = array("caja_id" => $CC->caja_id, "importe" => 0, "ingreso_egreso" => "I", "fecha" => date("Y-m-d"), "hora" => date("H:i:s"), "user_id" => Auth::user()->id, "tipo_mov_caja_id" => 2, "medios_pago_caja_id" => NULL, "ctacte_id" => $CC->id); $lineas_rec = $CC->lineas_recibo()->get(); //dd($lineas_rec->toArray()); foreach ($lineas_rec as $pago) { $MC = new MovimientoCaja(); $data_pago = $data; $data_pago["importe"] = $pago->importe; $query = MedioPagoCaja::where('tipo', '=', $pago->tipo); if ($pago->tipo_cambio > 0) { $query->where('moneda', '=', 'DOL'); } else { $query->where('moneda', '=', 'ARS'); } $MP = $query->first(); $data_pago["medios_pago_caja_id"] = $MP->id; $MC->fill($data_pago); if (!$MC->save()) { DB::rollback(); return false; } } DB::commit(); return true; } catch (Exception $e) { DB::rollback(); return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200); } }
public function ultimo($caja_id) { try { $salida = array(); $listado = array(); $medios_pagos = MedioPagoCaja::all(); foreach ($medios_pagos as $mp) { $salida[$mp->id] = array("medios_pago_caja_id" => $mp->id, "medio_pago" => $mp->medio_pago_moneda, "importe" => 0); } $ultimo_cierre = CierreCaja::where('caja_id', '=', $caja_id)->orderBy('fecha', 'desc')->orderBy('hora', 'desc')->take(1)->first(); if (count($ultimo_cierre)) { $uc = $ultimo_cierre->toArray(); $cierre_items = $ultimo_cierre->items()->get(); foreach ($cierre_items as $it) { $uc[$salida[$it->medios_pago_caja_id]["medio_pago"]] = $it->importe; } $listado[] = $uc; } return Response::json(array('error' => false, 'listado' => $listado), 200); } catch (\Exception $e) { return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200); } }