예제 #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 transferencia()
 {
     DB::beginTransaction();
     try {
         $data = Input::all();
         unset($data['apikey']);
         unset($data['session_key']);
         $data = array_map(function ($n) {
             return $n == 'NULL' ? NULL : $n;
         }, $data);
         $MC_salida = new MovimientoCaja();
         $MC_entrada = new MovimientoCaja();
         $salida = $data;
         //$salida["fecha"] = date("Y-m-d");
         //$salida["hora"] = date("H:i:s");
         //$salida["user_id"] = Auth::user()->id;
         $entrada = $salida;
         $entrada["caja_ref_id"] = $data["caja_id"];
         $entrada["caja_id"] = $data["caja_ref_id"];
         $entrada["ingreso_egreso"] = "I";
         $MC_salida->fill($salida);
         $MC_entrada->fill($entrada);
         if ($MC_salida->save() && $MC_entrada->save()) {
             $this->eventoAuditar($MC_salida);
             $this->eventoAuditar($MC_entrada);
             DB::commit();
             return Response::json(array('error' => false, 'listado' => array($this->modelo->find($MC_salida->id)->toArray(), $this->modelo->find($MC_entrada->id)->toArray())), 200);
         } else {
             DB::rollback();
             $mensaje = array();
             if ($MC_entrada->validator != NULL) {
                 $mensaje[] = HerramientasController::getErrores($MC_entrada->validator);
             }
             if ($MC_salida->validator != NULL) {
                 $mensaje[] = HerramientasController::getErrores($MC_salida->validator);
             }
             return Response::json(array('error' => true, 'mensaje' => $mensaje, 'listado' => $data), 200);
         }
     } catch (Exception $e) {
         DB::rollback();
         //dd($e);
         return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200);
     }
 }