public function SelectData(Request $request) { $affiliate = Affiliate::idIs($request->affiliate_id)->first(); $afi["affiliate"] = $affiliate->id; $group_contributions = new Collection(); $now = Carbon::now(); $from = Carbon::parse($affiliate->date_entry); $to = Carbon::createFromDate($now->year, $now->month, 1)->subMonth(); for ($i = $from->year; $i <= $to->year; $i++) { $count = 0; $total = 0; $base = array(); $mes = array(); for ($j = 1; $j <= 12; $j++) { $contribution = Contribution::select(['month_year'])->where('affiliate_id', $affiliate->id)->where('month_year', '=', Carbon::createFromDate($i, $j, 1)->toDateString())->first(); if ($contribution) { $mes["m" . $j] = 1; $count++; $total++; } else { $mes["m" . $j] = 0; $total++; } if ($i == $from->year) { if ($j < $from->month) { $mes["m" . $j] = -1; $total--; } } if ($i == $to->year) { if ($j > $to->month) { $mes["m" . $j] = -1; $total--; } } $base = array_merge($base, $mes); } if ($total == $count) { $c["status"] = false; } else { $c["status"] = true; } $year = array('year' => $i); $group_contributions->push(array_merge($afi, $c, $year, $base)); } return Datatables::of($group_contributions)->editColumn('m1', '<?php if($m1 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m1 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m1 === -1){ ?> <?php } ?>')->editColumn('m2', '<?php if($m2 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m2 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m2 === -1){ ?> <?php } ?>')->editColumn('m3', '<?php if($m3 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m3 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m3 === -1){ ?> <?php } ?>')->editColumn('m4', '<?php if($m4 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m4 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m4 === -1){ ?> <?php } ?>')->editColumn('m5', '<?php if($m5 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m5 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m5 === -1){ ?> <?php } ?>')->editColumn('m6', '<?php if($m6 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m6 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m6 === -1){ ?> <?php } ?>')->editColumn('m7', '<?php if($m7 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m7 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m7 === -1){ ?> <?php } ?>')->editColumn('m8', '<?php if($m8 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m8 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m8 === -1){ ?> <?php } ?>')->editColumn('m9', '<?php if($m9 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m9 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m9 === -1){ ?> <?php } ?>')->editColumn('m10', '<?php if($m10 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m10 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m10 === -1){ ?> <?php } ?>')->editColumn('m11', '<?php if($m11 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m11 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m11 === -1){ ?> <?php } ?>')->editColumn('m12', '<?php if($m12 === 1){ ?><i class="glyphicon glyphicon-check"></i><?php } if($m12 === 0){?><i class="glyphicon glyphicon-unchecked"></i><?php } if($m12 === -1){ ?> <?php } ?>')->addColumn('action', ' <?php if($status){ ?> <div class="btn-group" style="margin:-6px 0;"> <a href="{{ url("calculation_contribution")}}/{{$affiliate}}/{{$year}}/normal" class="btn btn-success btn-raised btn-sm"><i class="glyphicon glyphicon-edit"></i></a> <a href="" data-target="#" class="btn btn-success btn-raised btn-sm dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="{{ url("calculation_contribution")}}/{{$affiliate}}/{{$year}}/reintegro" style="padding:3px 10px;"><i class="glyphicon glyphicon-pencil"></i> reintegro</a></li> </ul> </div> <?php } ?>')->make(true); }
/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function getData($affiliate) { $affiliate = Affiliate::idIs($affiliate)->first(); $spouse = Spouse::affiliateidIs($affiliate->id)->first(); if (!$spouse) { $spouse = new Spouse(); } if ($affiliate->gender == 'M') { $gender_list = ['' => '', 'C' => 'CASADO', 'S' => 'SOLTERO', 'V' => 'VIUDO', 'D' => 'DIVORCIADO']; } elseif ($affiliate->gender == 'F') { $gender_list = ['' => '', 'C' => 'CASADA', 'S' => 'SOLTERA', 'V' => 'VIUDA', 'D' => 'DIVORCIADA']; } if ($affiliate->city_identity_card_id) { $affiliate->city_identity_card = City::idIs($affiliate->city_identity_card_id)->first()->shortened; } else { $affiliate->city_identity_card = ''; } if ($affiliate->city_birth_id) { $affiliate->city_birth = City::idIs($affiliate->city_birth_id)->first()->name; } else { $affiliate->city_birth = ''; } if ($affiliate->city_address_id) { $affiliate->city_address = City::idIs($affiliate->city_address_id)->first()->name; } else { $affiliate->city_address = ''; } if ($affiliate->city_address_id || $affiliate->zone || $affiliate->Street || $affiliate->number_address || $affiliate->phone || $affiliate->cell_phone) { $info_address = TRUE; } else { $info_address = FALSE; } if ($spouse->identity_card) { $info_spouse = TRUE; } else { $info_spouse = FALSE; } $last_contribution = Contribution::affiliateidIs($affiliate->id)->orderBy('month_year', 'desc')->first(); $consulta = DB::table('affiliates')->select(DB::raw('SUM(contributions.gain) as gain, SUM(contributions.public_security_bonus) as public_security_bonus, SUM(contributions.quotable) as quotable, SUM(contributions.total) as total, SUM(contributions.retirement_fund) as retirement_fund, SUM(contributions.mortuary_quota) as mortuary_quota'))->leftJoin('contributions', 'affiliates.id', '=', 'contributions.affiliate_id')->where('affiliates.id', '=', $affiliate->id)->get(); foreach ($consulta as $item) { $total_gain = Util::formatMoney($item->gain); $total_public_security_bonus = Util::formatMoney($item->public_security_bonus); $total_quotable = Util::formatMoney($item->quotable); $total_retirement_fund = Util::formatMoney($item->retirement_fund); $total_mortuary_quota = Util::formatMoney($item->mortuary_quota); $total = Util::formatMoney($item->total); } $data = ['affiliate' => $affiliate, 'spouse' => $spouse, 'gender_list' => $gender_list, 'info_address' => $info_address, 'info_spouse' => $info_spouse, 'last_contribution' => $last_contribution, 'total_gain' => $total_gain, 'total_public_security_bonus' => $total_public_security_bonus, 'total_quotable' => $total_quotable, 'total_retirement_fund' => $total_retirement_fund, 'total_mortuary_quota' => $total_mortuary_quota, 'total' => $total]; $data = array_merge($data, self::getViewModel()); return $data; }
public static function getViewModel($affiliate_id, $year, $category_id = null, $last_contribution = null) { $affiliate = Affiliate::idIs($affiliate_id)->first(); $categories = Category::where('name', '<>', 'S/N')->get(); $list_categories = array('' => ''); foreach ($categories as $item) { $list_categories[$item->id] = $item->name; } $now = Carbon::now(); $from = Carbon::parse($affiliate->date_entry); $to = Carbon::createFromDate($now->year, $now->month, 1)->subMonth(); $ipc_actual = IpcRate::select('index')->where('month_year', '=', Carbon::createFromDate($now->year, $now->month, 1)->toDateString())->first(); $months = new Collection(); $month = array(); for ($j = 1; $j <= 12; $j++) { $contribution = Contribution::select(['month_year'])->where('affiliate_id', $affiliate_id)->where('month_year', '=', Carbon::createFromDate($year, $j, 1)->toDateString())->first(); $contribution_rate = ContributionRate::where('month_year', '=', Carbon::createFromDate($year, $j, 1)->toDateString())->first(); $ipc_rate = IpcRate::where('month_year', '=', Carbon::createFromDate($year, $j, 1)->toDateString())->first(); if (!$contribution) { if ($year == $from->year) { if ($j >= $from->month) { $month["id"] = $j; $month["name"] = Util::getMes($j); $month["retirement_fund"] = $contribution_rate ? $contribution_rate->retirement_fund : '0'; $month["mortuary_quota"] = $contribution_rate ? $contribution_rate->mortuary_quota : '0'; $month["ipc_rate"] = $contribution_rate ? $ipc_rate->index : '0'; $months->push($month); } } elseif ($year == $to->year) { if ($j <= $to->month) { $month["id"] = $j; $month["name"] = Util::getMes($j); $month["retirement_fund"] = $contribution_rate ? $contribution_rate->retirement_fund : '0'; $month["mortuary_quota"] = $contribution_rate ? $contribution_rate->mortuary_quota : '0'; $month["ipc_rate"] = $contribution_rate ? $ipc_rate->index : '0'; $months->push($month); } } else { $month["id"] = $j; $month["name"] = Util::getMes($j); $month["retirement_fund"] = $contribution_rate ? $contribution_rate->retirement_fund : '0'; $month["mortuary_quota"] = $contribution_rate ? $contribution_rate->mortuary_quota : '0'; $month["ipc_rate"] = $contribution_rate ? $ipc_rate->index : '0'; $months->push($month); } } } if (!$last_contribution) { $date = Carbon::createFromDate($year, $months[0]["id"], 1); $last_contribution = Contribution::affiliateidIs($affiliate->id)->where('month_year', '<', $date->toDateString())->first(); if (!$last_contribution) { $last_contribution = new Contribution(); $base_wage = BaseWage::whereYear('month_year', '<=', $year)->first(); $last_contribution->base_wage = $base_wage->amount; $last_contribution->study_bonus = 0; $last_contribution->position_bonus = 0; $last_contribution->border_bonus = 0; $last_contribution->east_bonus = 0; } $last_contribution->date = Util::getDateShort($last_contribution->month_year); } if ($category_id) { $affiliate->category_id = $category_id; } return ['affiliate' => $affiliate, 'list_categories' => $list_categories, 'categories' => Category::where('name', '<>', 'S/N')->orderBy('id', 'asc')->get(array('percentage', 'name', 'id')), 'ipc_actual' => $ipc_actual, 'months' => $months, 'year' => $year, 'last_contribution' => $last_contribution, 'direct_contribution' => '']; }
public function save($request, $id = false) { $rules = ['affiliate_id' => 'numeric', 'retirement_fund_modality_id' => 'numeric']; $messages = ['affiliate_id.numeric' => 'Solo se aceptan números para id afiliado', 'retirement_fund_modality_id.numeric' => 'Solo se aceptan números para id modalidad']; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return redirect('tramite_fondo_retiro/' . $id)->withErrors($validator)->withInput(); } else { $retirement_fund = RetirementFund::afiIs($id)->first(); $affiliate = Affiliate::idIs($id)->first(); switch ($request->type) { case 'form_modality': if ($request->modality == 4 && $affiliate->date_decommissioned == null) { $message = "Ingrese Fecha de deceso de Afiliado"; } else { if ($request->modality) { $retirement_fund->retirement_fund_modality_id = trim($request->modality); } $retirement_fund->city_id = trim($request->city); $retirement_fund->save(); switch ($request->modality) { case '1': $affiliate->affiliate_state_id = 8; $affiliate->save(); break; case '2': $affiliate->affiliate_state_id = 7; $affiliate->save(); break; case '3': $affiliate->affiliate_state_id = 5; $affiliate->save(); break; case '4': $affiliate->affiliate_state_id = 4; $affiliate->save(); break; } $message = "Información General de Fondo de Retiro actualizado con éxito"; } break; case 'form_document': if ($retirement_fund->retirement_fund_modality_id) { foreach (json_decode($request->data) as $item) { $Document = Document::where('retirement_fund_id', '=', $retirement_fund->id)->where('requirement_id', '=', $item->requirement_id)->first(); if (!$Document) { $Document = new Document(); $Document->retirement_fund_id = $retirement_fund->id; $Document->requirement_id = $item->requirement_id; } $Document->status = $item->booleanValue; $Document->reception_date = date('Y-m-d'); $Document->save(); $retirement_fund->reception_date = date('Y-m-d'); $retirement_fund->save(); } $message = "Información de requisitos de Fondo de Retiro actualizado con éxito"; } else { $message = "Seleccione la modalidad y la ciudad"; } break; case 'antec': foreach (json_decode($request->data) as $item) { $antecedent = Antecedent::where('retirement_fund_id', '=', $retirement_fund->id)->where('antecedent_file_id', '=', $item->prestacion_id)->first(); if (!$antecedent) { $antecedent = new Antecedent(); $antecedent->retirement_fund_id = $retirement_fund->id; $antecedent->antecedent_file_id = $item->prestacion_id; } $antecedent->status = $item->booleanValue; $antecedent->save(); } $retirement_fund->check_file_date = date('Y-m-d'); $retirement_fund->save(); $message = "Información de requisitos de Fondo de Retiro actualizado con éxito"; break; case 'periods': $affiliate->service_start_date = Util::datePickPeriod($request->fech_ini_serv); $affiliate->service_end_date = Util::datePickPeriod($request->fech_fin_serv); $affiliate->save(); $retirement_fund->anticipation_start_date = Util::datePickPeriod($request->fech_ini_anti); $retirement_fund->anticipation_end_date = Util::datePickPeriod($request->fech_fin_anti); $retirement_fund->recognized_start_date = Util::datePickPeriod($request->fech_ini_reco); $retirement_fund->recognized_end_date = Util::datePickPeriod($request->fech_fin_reco); $retirement_fund->save(); $retirement_fund->qualification_date = date('Y-m-d'); $retirement_fund->save(); $message = "Información de Periodos de Aporte actualizado con éxito"; break; } Session::flash('message', $message); } return redirect('retirement_fund/' . $id); }