Пример #1
0
 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);
     }
 }