public function index() { if (Auth::check()) { $user_id = Auth::user()->id; $colonia = Session::get("colonia"); //obtener el rol que desempeña en la colonia $rol_id = AssigmentRole::where('user_id', '=', $user_id)->where('colony_id', '=', $colonia)->pluck('role_id'); Session::put("rol_usuario", $rol_id); $permisos = array(); $permisos = DB::table('permission_role')->where("role_id", "=", $rol_id)->select("permission_role.id", "permission_role.state")->orderBy("permission_role.id")->get(); Session::put("dato", $permisos); $urbanism = Urbanism::where('colony_id', '=', $colonia)->first(); $urbanismo = $urbanism->id; $urb_name = $urbanism->Colony->name; $breadcrumbs = Neighbors::where('user_id', '=', $user_id)->first(); $breadcrumbs_data = $breadcrumbs->name . " " . $breadcrumbs->last_name . " [ " . $urb_name . " ]"; $Total = DB::table('neighbors_properties')->select(DB::raw('Count(neighbors_properties.id) as total'))->where('neighbors_properties.urbanism_id', '=', $urbanismo)->get(); $Total = $Total[0]->total; $PorAceptar = DB::table('invited_neighbors')->select(DB::raw('count(invited_neighbors.id) as porAceptar'))->where('invited_neighbors.confirmed', '=', 0)->where('invited_neighbors.urbanism_id', '=', $urbanismo)->get(); $PorAceptar = $PorAceptar[0]->porAceptar; $Aceptadas = DB::table('invited_neighbors')->select(DB::raw('count(invited_neighbors.id) as Aceptadas'))->where('invited_neighbors.confirmed', '=', 1)->where('invited_neighbors.urbanism_id', '=', $urbanismo)->get(); $Aceptadas = $Aceptadas[0]->Aceptadas; $ano = date("Y"); $monthly_all = MonthlyFee::where('monthly_fee.urbanism_id', '=', $urbanismo)->where(DB::raw('DATE_FORMAT(monthly_fee.since,\'%Y\')'), '=', $ano)->get(); $months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Decem"); $cuotas = array(); foreach ($monthly_all as $cuota_mensual) { $ini = (int) date("m", strtotime($cuota_mensual->since)); $fin = (int) date("m", strtotime($cuota_mensual->until)); if ($cuota_mensual->until == NULL) { $fin = (int) date("m"); } for ($i = $ini; $i <= $fin; $i++) { $cuotas[$months[$i - 1]] = $cuota_mensual->amount; } } $j = (int) date("m"); $monthly_fee = $cuotas[$months[$j - 1]]; $mes = date("M"); $pagoMensual = PaymentStates::join('neighbors_properties', 'payment_states.neighbor_property_id', '=', 'neighbors_properties.id')->where($mes, '>=', $monthly_fee)->where('neighbors_properties.urbanism_id', '=', $urbanismo)->select(DB::raw('count(neighbors_properties.id) as cant'))->get(); if ($pagoMensual) { $pagoMensual = $pagoMensual[0]->cant; } else { $pagoMensual = 0; } $Egresos = Expense::join('sub_accounts', 'expenses.sub_account_id', '=', 'sub_accounts.id')->where('expenses.urbanism_id', '=', $urbanismo)->select(DB::raw('sum(expenses.amount) as amount'), 'sub_accounts.description')->groupBy('sub_accounts.description')->get(); $Ingresos = Payment::join('sub_accounts', 'payments.sub_account_id', '=', 'sub_accounts.id')->join('neighbors_properties', 'payments.neighbor_property_id', '=', 'neighbors_properties.id')->where('neighbors_properties.urbanism_id', '=', $urbanismo)->select(DB::raw('sum(payments.amount) as amount'), 'sub_accounts.description')->groupBy('sub_accounts.description')->get(); $EgresosMensual = Expense::where('expenses.urbanism_id', '=', $urbanismo)->select(DB::raw('sum(expenses.amount) as amount'), DB::raw('DATE_FORMAT(expenses.created_at,\'%m\') as mes'))->groupBy(DB::raw('Month(expenses.created_at)'))->get(); $IngresosMensual = Payment::join('neighbors_properties', 'payments.neighbor_property_id', '=', 'neighbors_properties.id')->where('neighbors_properties.urbanism_id', '=', $urbanismo)->select(DB::raw('sum(payments.amount) as amount'), DB::raw('DATE_FORMAT(payments.created_at,\'%m\') as mes'))->groupBy(DB::raw('Month(payments.created_at)'))->get(); return View::make('dashboard.home', ['Total' => $Total, 'PorAceptar' => $PorAceptar, 'Aceptadas' => $Aceptadas, 'monthly_fee' => $monthly_fee, 'pagoMensual' => $pagoMensual, 'Egresos' => $Egresos, 'Ingresos' => $Ingresos, 'EgresosMensual' => $EgresosMensual, 'IngresosMensual' => $IngresosMensual, 'Nombre' => $breadcrumbs_data]); } else { return Redirect::action('UsersController@login'); } }
<!--<td bgcolor="#A7F8B3" width="20%">Dirección</td>--> <td bgcolor="#A7F8B3" width="15%">Vecino</td> <td bgcolor="#A7F8B3">Ene</td><td bgcolor="#A7F8B3">Feb</td> <td bgcolor="#A7F8B3">Mar</td><td bgcolor="#A7F8B3">Abr</td> <td bgcolor="#A7F8B3">May</td><td bgcolor="#A7F8B3">Jun</td> <td bgcolor="#A7F8B3">Jul</td><td bgcolor="#A7F8B3">Ago</td> <td bgcolor="#A7F8B3">Sep</td><td bgcolor="#A7F8B3">Oct</td> <td bgcolor="#A7F8B3">Nov</td><td bgcolor="#A7F8B3">Dic</td> </tr> </thead> <tbody> <?php foreach ($neighbors as $neighbor) { $neighbor_payments = PaymentStates::with('NeighborProperty')->where(DB::raw('year'), '=', date("Y"))->where('neighbor_property_id', '=', $neighbor->id)->first(); if ($neighbor_payments) { $debe = 0; //if($neighbor->Urbanism->UrbanismType->id == 3) //echo '<td style="font-size:95%;" ><div align="left">'.strtolower ($neighbor->Building->description).' - Apto. '.$neighbor->num_house_or_apartment.'</div></td>'; //else // echo '<td style="font-size:95%;" ><div align="left">'.strtolower ($neighbor->Street->name).' - Casa '.$neighbor->num_house_or_apartment.'</div></td>'; echo '<td><div align="left">' . ucfirst(strtolower($neighbor->Neighbors->name)) . ' ' . ucfirst(strtolower($neighbor->Neighbors->last_name)) . '</div></td>'; for ($j = 0; $j <= 11; $j++) { if ($j + 1 < $mes_ini) { echo '<td> </td>'; } else { if ($j + 1 <= date("m")) { if ($neighbor_payments->{$months}[$j] == Null && date("m") != $j + 1) { $debe = $debe + $cuotas[$months[$j]]; echo '<td dir="' . $neighbor_payments->NeighborProperty->id . '" class="modalInfo" style="color:#ED3333; cursor: pointer; font-size:100% ;text-align: center;"> <div><i class="fa fa-2x fa-times" ></i></div></td>';
public function modalEstadoCuenta() { $neighbor_property_id = Input::get('neighbor_property_id'); $user_id = Auth::user()->id; $colonia = Session::get("colonia"); $urbanism = Urbanism::where('colony_id', '=', $colonia)->first(); $urbanismo = $urbanism->id; $urb_name = $urbanism->name; $property_id = NeighborProperty::where('urbanism_id', '=', $urbanismo)->pluck('id'); $vigencia = date("Y-m"); $months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Decem"); $today = date("Y-m-d"); $ano = date("Y"); $selano = Payment::select(DB::raw('DATE_FORMAT(payments.created_at,\'%Y\') as y'))->groupBy(DB::raw('Year(payments.created_at)'))->orderBy(DB::raw('Year(payments.created_at)'))->get(); $monthly_all = MonthlyFee::where('monthly_fee.urbanism_id', '=', $urbanismo)->where(DB::raw('DATE_FORMAT(monthly_fee.since,\'%Y\')'), '=', $ano)->get(); $monthly_ini = MonthlyFee::where('monthly_fee.urbanism_id', '=', $urbanismo)->where(DB::raw('DATE_FORMAT(monthly_fee.since,\'%Y\')'), '=', $ano)->orderBy('monthly_fee.created_at', 'ASC')->pluck('since'); $mes_ini = (int) date("m", strtotime($monthly_ini)); $cuotas = array(); foreach ($monthly_all as $cuota_mensual) { $ini = (int) date("m", strtotime($cuota_mensual->since)); $fin = (int) date("m", strtotime($cuota_mensual->until)); if ($cuota_mensual->until == NULL) { $fin = (int) date("m"); } for ($i = $ini; $i <= $fin; $i++) { $cuotas[$months[$i - 1]] = $cuota_mensual->amount; } } for ($j = 0; $j <= 11; $j++) { if ($j + 1 < $mes_ini) { $saldoAnteriol[$j] = ""; $cuataMes[$j] = ""; $totalDebe[$j] = ""; $pagos[$j] = ""; $saldoTotal[$j] = ""; } elseif ($j + 1 <= date("m")) { $saldoAnteriol[$j] = $saldoTotal[$j - 1]; $cuataMes[$j] = -$cuotas[$months[$j]]; $totalDebe[$j] = $saldoAnteriol[$j] + $cuataMes[$j]; $neighbor_payments = PaymentStates::with('NeighborProperty')->where('neighbor_property_id', '=', $neighbor_property_id)->first(); if ($neighbor_payments) { $pagos[$j] = $neighbor_payments->{$months}[$j] == NULL ? 0 : $neighbor_payments->{$months}[$j]; } else { $pagos[$j] = 0; } $saldoTotal[$j] = $totalDebe[$j] + $pagos[$j]; } elseif ($j + 1 > date("m")) { $saldoAnteriol[$j] = ""; $cuataMes[$j] = ""; $totalDebe[$j] = ""; $pagos[$j] = ""; $saldoTotal[$j] = ""; } } $neighbor = NeighborProperty::find($neighbor_property_id); return View::make('dashboard.payments.neighbors.table_neigbor', compact('breadcrumbs_data', 'saldoAnteriol', 'cuataMes', 'totalDebe', 'pagos', 'saldoTotal', 'mes_ini', 'ini', 'months', 'color', 'neighbor')); }
public function delete($id) { try { $payment = Payment::findOrFail($id); $neighbor_property_id = $payment->neighbor_property_id; $amount = $payment->amount; $mes = date("M"); if ($payment->delete(['id'])) { $payment_states = PaymentStates::where('neighbor_property_id', '=', $neighbor_property_id)->first(); $payment_states->accumulated = $payment_states->accumulated - $amount; $payment_states->{$mes} = $payment_states->{$mes} - $amount; $payment_states->update(['id']); return Redirect::back()->with('error', false)->with('msg', 'Ingreso removido exitosamente.')->with('class', 'warning'); } else { echo $exc->getMessage() . " " . $exc->getLine(); return Redirect::back()->with('error', true)->with('msg', '¡Algo salió mal! Contacte con administrador')->with('class', 'danger'); } } catch (Exception $exc) { echo $exc->getMessage() . " " . $exc->getLine(); return Redirect::back()->with('error', true)->with('msg', '¡Algo salió mal! Contacte con administrador')->with('class', 'danger'); } }