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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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){ ?>&nbsp;<?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);
 }
Example #2
0
 public static function UpdatingAffiliate($affiliate)
 {
     $last_affiliate = Affiliate::where('id', '=', $affiliate->id)->firstOrFail();
     if ($last_affiliate->affiliate_state_id != $affiliate->affiliate_state_id) {
         $record = new Record();
         if (Auth::user()) {
             $user_id = Auth::user()->id;
         } else {
             $user_id = 1;
         }
         $record->user_id = $user_id;
         $record->affiliate_id = $affiliate->id;
         $record->date = $affiliate->change_date;
         $record->affiliate_state_id = $affiliate->affiliate_state_id;
         $record->type = NOTE_TYPE_UPDATE_AFFILIATE_STATE;
         $affiliate_state = AffiliateState::where('id', $affiliate->affiliate_state_id)->first();
         $record->message = "Afiliado cambio de estado a " . $affiliate_state->name;
         $record->save();
     }
     if ($last_affiliate->degree_id != $affiliate->degree_id) {
         $record = new Record();
         if (Auth::user()) {
             $user_id = Auth::user()->id;
         } else {
             $user_id = 1;
         }
         $record->user_id = $user_id;
         $record->affiliate_id = $affiliate->id;
         $record->date = $affiliate->change_date;
         $record->degree_id = $affiliate->degree_id;
         $record->type = NOTE_TYPE_UPDATE_AFFILIATE_DEGREE;
         $degree = Degree::where('id', $affiliate->degree_id)->first();
         $record->message = "Afiliado cambio de grado a " . $degree->shortened;
         $record->save();
     }
     if ($last_affiliate->unit_id != $affiliate->unit_id) {
         $record = new Record();
         if (Auth::user()) {
             $user_id = Auth::user()->id;
         } else {
             $user_id = 1;
         }
         $record->user_id = $user_id;
         $record->affiliate_id = $affiliate->id;
         $record->date = $affiliate->change_date;
         $record->unit_id = $affiliate->unit_id;
         $record->type = NOTE_TYPE_UPDATE_AFFILIATE_UNIT;
         $unit = Unit::where('id', $affiliate->unit_id)->first();
         $record->message = "Afiliado cambio de unidad a " . $unit->shortened;
         $record->save();
     }
 }
 public function SearchAffiliate(Request $request)
 {
     $rules = ['identity_card' => 'required'];
     $messages = ['identity_card.required' => 'El campo es requerido para realizar la búsqueda del Afiliado.'];
     $validator = Validator::make($request->all(), $rules, $messages);
     if ($validator->fails()) {
         return redirect("/")->withErrors($validator)->withInput();
     } else {
         $affiliate = Affiliate::identitycardIs($request->identity_card)->first();
         if ($affiliate) {
             return redirect("affiliate/{$affiliate->id}");
         } else {
             $message = "No logramos encontrar al Afiliado con Carnet: " . $request->identity_card;
             Session::flash('message', $message);
             return redirect("affiliate");
         }
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     global $NotFounf, $NewReimbursement, $Progress, $FolderName, $Date;
     $password = $this->ask('Enter the password');
     if ($password == ACCESS) {
         $FolderName = $this->ask('Enter the name of the folder you want to import');
         if ($this->confirm('Are you sure to import the folder ' . $FolderName . '? [y|N]') && $FolderName) {
             // ini_set('upload_max_filesize', '99999M');
             // ini_set('post_max_size', '99999M');
             ini_set('memory_limit', '-1');
             ini_set('max_execution_time', '-1');
             ini_set('max_input_time', '-1');
             set_time_limit('-1');
             $time_start = microtime(true);
             $this->info("Importing...\n");
             $Progress = $this->output->createProgressBar();
             $Progress->setFormat("%current%/%max% [%bar%] %percent:3s%%");
             Excel::batch('public/file_to_import/' . $FolderName . '/', function ($rows, $file) {
                 $rows->each(function ($result) {
                     global $NotFounf, $NewReimbursement, $Progress, $FolderName, $Date;
                     // ini_set('upload_max_filesize', '9999M');
                     // ini_set('post_max_size', '9999M');
                     ini_set('memory_limit', '-1');
                     ini_set('max_execution_time', '-1');
                     ini_set('max_input_time', '-1');
                     set_time_limit('-1');
                     $month_year = Carbon::createFromDate(Util::formatYear($result->a_o), Util::zero($result->mes), 1)->toDateString();
                     $Date = Util::zero($result->mes) . "-" . Util::formatYear($result->a_o);
                     $affiliate = Affiliate::where('identity_card', '=', Util::zero($result->car))->first();
                     if (!$affiliate) {
                         $affiliate = Affiliate::where('last_name', '=', $result->pat)->where('mothers_last_name', '=', $result->mat)->where('birth_date', '=', $result->nac)->where('date_entry', '=', $result->ing)->where('identity_card', '=', Util::RepeatedIdentityCard($result->car))->first();
                     }
                     if ($affiliate) {
                         if (Util::decimal($result->sue) != 0) {
                             $reimbursement = Reimbursement::where('month_year', '=', $month_year)->where('affiliate_id', '=', $affiliate->id)->first();
                             if (!$reimbursement) {
                                 $reimbursement = new Reimbursement();
                                 $reimbursement->user_id = 1;
                                 $reimbursement->affiliate_id = $affiliate->id;
                                 $reimbursement->month_year = $month_year;
                                 $reimbursement->base_wage = Util::decimal($result->sue);
                                 $reimbursement->seniority_bonus = Util::decimal($result->cat);
                                 $reimbursement->study_bonus = Util::decimal($result->est);
                                 $reimbursement->position_bonus = Util::decimal($result->carg);
                                 $reimbursement->border_bonus = Util::decimal($result->fro);
                                 $reimbursement->east_bonus = Util::decimal($result->ori);
                                 $reimbursement->gain = Util::decimal($result->gan);
                                 $reimbursement->payable_liquid = Util::decimal($result->pag);
                                 $reimbursement->quotable = (double) $reimbursement->base_wage + (double) $reimbursement->seniority_bonus + (double) $reimbursement->study_bonus + (double) $reimbursement->position_bonus + (double) $reimbursement->border_bonus + (double) $reimbursement->east_bonus;
                                 $reimbursement->total = Util::decimal($result->mus);
                                 $percentage = round($reimbursement->total / $reimbursement->quotable * 100, 1);
                                 if ($percentage == 2.5) {
                                     $reimbursement->retirement_fund = $reimbursement->total * 1.85 / $percentage;
                                     $reimbursement->mortuary_quota = $reimbursement->total * 0.65 / $percentage;
                                 }
                                 $reimbursement->save();
                                 $NewReimbursement++;
                             }
                         }
                     } else {
                         $NotFounf++;
                     }
                     $Progress->advance();
                 });
             });
             $time_end = microtime(true);
             $execution_time = ($time_end - $time_start) / 60;
             $NewReimbursement = $NewReimbursement ? $NewReimbursement : "0";
             $NotFounf = $NotFounf ? $NotFounf : "0";
             $Progress->finish();
             $this->info("\n\nReport {$Date}:\n\n\n                    {$NewReimbursement} new reimbursements.\n\n                    {$NotFounf} affiliate not found .\n\n                    Execution time {$execution_time} [minutes].\n");
             \Storage::disk('local')->put($Date . '.txt', "\n\nReport:\n\n\n                   {$NewReimbursement} new reimbursements.\n\n                    {$NotFounf} affiliate not found .\n\n                    Execution time {$execution_time} [minutes].\n");
         }
     } else {
         $this->error('Incorrect password!');
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     global $NewAffi, $UpdateAffi, $NewContri, $Progress, $FolderName, $Date;
     $password = $this->ask('Enter the password');
     if ($password == ACCESS) {
         $FolderName = $this->ask('Enter the name of the folder you want to import');
         if ($this->confirm('Are you sure to import the folder "' . $FolderName . '" ? [y|N]') && $FolderName) {
             $time_start = microtime(true);
             $this->info("Working...\n");
             $Progress = $this->output->createProgressBar();
             $Progress->setFormat("%current%/%max% [%bar%] %percent:3s%%");
             Excel::batch('public/file_to_import/' . $FolderName . '/', function ($rows, $file) {
                 $rows->each(function ($result) {
                     global $NewAffi, $UpdateAffi, $NewContri, $Progress, $FolderName, $Date;
                     ini_set('memory_limit', '-1');
                     ini_set('max_execution_time', '-1');
                     ini_set('max_input_time', '-1');
                     set_time_limit('-1');
                     if (!isset($result->car) or !isset($result->pat) or !isset($result->mat) or !isset($result->nom) or !isset($result->nom2) or !isset($result->apes) or !isset($result->eciv) or !isset($result->sex) or !isset($result->nac) or !isset($result->ing) or !isset($result->mes) or !isset($result->a_o) or !isset($result->uni) or !isset($result->desg) or !isset($result->niv) or !isset($result->gra) or !isset($result->item) or !isset($result->sue) or !isset($result->cat) or !isset($result->est) or !isset($result->carg) or !isset($result->fro) or !isset($result->ori) or !isset($result->bseg) or !isset($result->dfu) or !isset($result->nat) or !isset($result->lac) or !isset($result->pre) or !isset($result->sub) or !isset($result->gan) or !isset($result->afp) or !isset($result->pag) or !isset($result->nua) or !isset($result->mus)) {
                         $this->error('Missing columns in the file!');
                         exit;
                     }
                     switch ($FolderName) {
                         case 'c1':
                             $first_name = Util::FirstName($result->nom);
                             $second_name = Util::SecondName($result->nom);
                             $birth_date = Util::dateDDMMAA($result->nac);
                             $date_entry = Util::dateDDMMAA($result->ing);
                             break;
                         case 'c2':
                             $first_name = Util::FirstName($result->nom);
                             $second_name = Util::SecondName($result->nom);
                             $birth_date = Util::dateAAMMDD($result->nac);
                             $date_entry = Util::dateAAMMDD($result->ing);
                             break;
                         case 'c3':
                             $first_name = Util::FirstName($result->nom);
                             $second_name = Util::SecondName($result->nom);
                             $birth_date = Util::dateAADDMM($result->nac);
                             $date_entry = Util::dateAADDMM($result->ing);
                             break;
                         case 'c4':
                             $first_name = $result->nom;
                             $second_name = $result->nom2;
                             $birth_date = Util::dateAAMMDD($result->nac);
                             $date_entry = Util::dateAAMMDD($result->ing);
                             break;
                         case 'c5':
                             $first_name = $result->nom;
                             $second_name = $result->nom2;
                             $birth_date = Util::dateDDMMAA($result->nac);
                             $date_entry = Util::dateDDMMAA($result->ing);
                             break;
                         default:
                             $first_name = $result->nom;
                             $second_name = $result->nom2;
                             $birth_date = Util::date($result->nac);
                             $date_entry = Util::date($result->ing);
                     }
                     $Date = Util::zero($result->mes) . "-" . Util::formatYear($result->a_o);
                     $month_year = Carbon::createFromDate(Util::formatYear($result->a_o), Util::zero($result->mes), 1)->toDateString();
                     if (is_null($result->desg)) {
                         $result->desg = 0;
                     }
                     $breakdown_id = Breakdown::select('id')->where('code', $result->desg)->first()->id;
                     if ($breakdown_id == 1) {
                         $unit_id = Unit::select('id')->where('breakdown_id', 1)->where('code', '20190')->first()->id;
                     } elseif ($breakdown_id == 2) {
                         $unit_id = Unit::select('id')->where('breakdown_id', 2)->where('code', '20190')->first()->id;
                     } elseif ($breakdown_id == 3) {
                         $unit_id = Unit::select('id')->where('breakdown_id', 3)->where('code', '20190')->first()->id;
                     } else {
                         if (Unit::select('id')->where('breakdown_id', $breakdown_id)->where('code', $result->uni)->first()) {
                             $unit_id = Unit::select('id')->where('breakdown_id', $breakdown_id)->where('code', $result->uni)->first()->id;
                         } else {
                             $unit_id = Unit::select('id')->where('code', $result->uni)->first()->id;
                         }
                     }
                     if ($result->niv && $result->gra) {
                         if ($result->niv == '04' && $result->gra == '15') {
                             $result->niv = '03';
                         }
                         $degree_id = Degree::select('id')->where('code_level', $result->niv)->where('code_degree', $result->gra)->first()->id;
                     }
                     $category_id = Category::select('id')->where('percentage', Util::CalcCategory(Util::decimal($result->cat), Util::decimal($result->sue)))->first()->id;
                     $affiliate = Affiliate::where('identity_card', '=', Util::zero($result->car))->first();
                     if (!$affiliate) {
                         $affiliate = Affiliate::where('last_name', '=', $result->pat)->where('mothers_last_name', '=', $result->mat)->where('birth_date', '=', $birth_date)->where('date_entry', '=', $date_entry)->where('identity_card', '=', Util::RepeatedIdentityCard($result->car))->first();
                         if (!$affiliate) {
                             $affiliate = new Affiliate();
                             $affiliate->identity_card = Util::zero($result->car);
                             $affiliate->gender = $result->sex;
                             $NewAffi++;
                         } else {
                             $UpdateAffi++;
                         }
                     } else {
                         $UpdateAffi++;
                     }
                     $affiliate->change_date = $month_year;
                     switch ($result->desg) {
                         case '1':
                             //Disponibilidad
                             $affiliate->affiliate_state_id = 3;
                             break;
                         case '3':
                             //Comisión
                             $affiliate->affiliate_state_id = 2;
                             break;
                         default:
                             //Servicio
                             $affiliate->affiliate_state_id = 1;
                     }
                     switch ($result->desg) {
                         case '5':
                             //Batallón
                             $affiliate->affiliate_type_id = 2;
                             break;
                         default:
                             //Comando
                             $affiliate->affiliate_type_id = 1;
                     }
                     if ($result->uni) {
                         $affiliate->unit_id = $unit_id;
                     }
                     if ($result->gra) {
                         $affiliate->degree_id = $degree_id;
                     }
                     $affiliate->category_id = $category_id;
                     $affiliate->user_id = 1;
                     $affiliate->last_name = Util::replaceCharacter($result->pat);
                     $affiliate->mothers_last_name = Util::replaceCharacter($result->mat);
                     $affiliate->first_name = Util::replaceCharacter($first_name);
                     $affiliate->second_name = Util::replaceCharacter($second_name);
                     $affiliate->surname_husband = Util::replaceCharacter($result->apes);
                     $affiliate->civil_status = $result->eciv;
                     $affiliate->nua = $result->nua;
                     $affiliate->afp = Util::getAfp($result->afp);
                     $affiliate->item = $result->item;
                     $affiliate->birth_date = $birth_date;
                     $affiliate->date_entry = $date_entry;
                     $affiliate->registration = Util::CalcRegistration($birth_date, $affiliate->last_name, $affiliate->mothers_last_name, $affiliate->first_name, $affiliate->gender);
                     $affiliate->save();
                     if (Util::decimal($result->sue) != 0) {
                         $contribution = Contribution::where('month_year', '=', $month_year)->where('affiliate_id', '=', $affiliate->id)->first();
                         if (!$contribution) {
                             $contribution = new Contribution();
                             $contribution->user_id = 1;
                             $contribution->contribution_type_id = 1;
                             $contribution->affiliate_id = $affiliate->id;
                             $contribution->month_year = $month_year;
                             if ($result->uni) {
                                 $contribution->unit_id = $unit_id;
                             }
                             $contribution->breakdown_id = $breakdown_id;
                             if ($result->gra) {
                                 $contribution->degree_id = $degree_id;
                             }
                             $contribution->category_id = $category_id;
                             $contribution->item = $result->item;
                             $contribution->base_wage = Util::decimal($result->sue);
                             $contribution->seniority_bonus = Util::decimal($result->cat);
                             $contribution->study_bonus = Util::decimal($result->est);
                             $contribution->position_bonus = Util::decimal($result->carg);
                             $contribution->border_bonus = Util::decimal($result->fro);
                             $contribution->east_bonus = Util::decimal($result->ori);
                             $contribution->public_security_bonus = Util::decimal($result->bseg);
                             $contribution->deceased = $result->dfu;
                             $contribution->natality = $result->nat;
                             $contribution->lactation = $result->lac;
                             $contribution->prenatal = $result->pre;
                             $contribution->subsidy = Util::decimal($result->sub);
                             $contribution->gain = Util::decimal($result->gan);
                             $contribution->payable_liquid = Util::decimal($result->pag);
                             $contribution->quotable = (double) $contribution->base_wage + (double) $contribution->seniority_bonus + (double) $contribution->study_bonus + (double) $contribution->position_bonus + (double) $contribution->border_bonus + (double) $contribution->east_bonus;
                             $contribution->total = Util::decimal($result->mus);
                             $percentage = round($contribution->total / $contribution->quotable * 100, 1);
                             if ($percentage == 2.5) {
                                 $contribution->retirement_fund = $contribution->total * 1.85 / $percentage;
                                 $contribution->mortuary_quota = $contribution->total * 0.65 / $percentage;
                             } else {
                                 $this->error('Unknown percentage of contribution!');
                                 exit;
                             }
                             $contribution->save();
                             $NewContri++;
                         }
                     }
                     $Progress->advance();
                 });
             });
             $time_end = microtime(true);
             $execution_time = ($time_end - $time_start) / 60;
             $TotalAffi = $NewAffi + $UpdateAffi;
             $TotalNewAffi = $NewAffi ? $NewAffi : "0";
             $TotalUpdateAffi = $UpdateAffi ? $UpdateAffi : "0";
             $TotalAffi = $TotalAffi ? $TotalAffi : "0";
             $TotalNewContri = $NewContri ? $NewContri : "0";
             $Progress->finish();
             $this->info("\n\nReport {$Date}:\n\n                    {$TotalNewAffi} new affiliates.\n\n                    {$TotalUpdateAffi} affiliates successfully updated.\n\n                    Total {$TotalAffi} affiliates.\n\n                    Total {$TotalNewContri} entered contributions.\n\n                    Execution time {$execution_time} [minutes].\n");
             \Storage::disk('local')->put('ImportPayroll_' . $Date . '.txt', "\n\nReport:\n\n\n                    {$TotalNewAffi} new affiliates.\n\n                    {$TotalUpdateAffi} affiliates successfully updated.\n\n                    Total {$TotalAffi} affiliates.\n\n                    Total {$TotalNewContri} entered contributions.\n\n                    Execution time {$execution_time} [minutes].\n");
         }
     } else {
         $this->error('Incorrect password!');
         exit;
     }
 }
 public function PrintCompromise($id)
 {
     $header1 = "DIRECCIÓN DE BENEFICIOS ECONÓMICOS";
     $header2 = "UNIDAD DE FONDO DE RETIRO POLICIAL INDIVIDUAL";
     $title = "COMPROMISO DE PAGO DE APORTES EN FORMA DIRECTA AL BENEFICIO ECONOMICO DEL SEGURO DE VIDA TITULARES";
     $affiliate = Affiliate::IdIs($id)->first();
     //$date = Util::getDateEdit(date('Y-m-d'));
     $current_date = Carbon::now();
     $hour = Carbon::parse($current_date)->toTimeString();
     $date = Carbon::parse($current_date)->toDateString();
     $view = \View::make('direct_contributions.print.compromise', compact('header1', 'header2', 'title', 'date', 'hour', 'affiliate'))->render();
     $pdf = \App::make('dompdf.wrapper');
     $pdf->loadHTML($view)->setPaper('letter');
     return $pdf->stream();
 }
 /**
  * Show the application dashboard to the user.
  *
  * @return Response
  */
 public function showIndex()
 {
     $AfiServ = DB::table('affiliates')->select(DB::raw('COUNT(*) totalAfiS'))->where('affiliates.affiliate_state_id', '=', 1)->get();
     foreach ($AfiServ as $item) {
         $totalAfiServ = $item->totalAfiS;
     }
     $AfiComi = DB::table('affiliates')->select(DB::raw('COUNT(*) totalAfiC'))->where('affiliates.affiliate_state_id', '=', 2)->get();
     foreach ($AfiComi as $item) {
         $totalAfiComi = $item->totalAfiC;
     }
     $affiliateState = AffiliateState::all();
     $affiliateType = AffiliateType::all();
     $district = DB::table('units')->select(DB::raw('DISTINCT (units.district) as district'))->get();
     $year = Carbon::now()->year;
     foreach ($affiliateState as $item) {
         $TotalAffiliates = Affiliate::afibyState($item->id, $year)->first();
         $Total_AffiliatebyState[$item->id] = $TotalAffiliates->total;
     }
     foreach ($affiliateType as $item) {
         $Afitype = Affiliate::afibyType($item->id, $year)->first();
         $Total_AffiliatebyType[$item->id] = $Afitype->type;
     }
     //Total Contributions of last five year, disaggregated by year.
     $lastContribution = DB::table('contributions')->orderBy('month_year', 'desc')->first();
     if ($lastContribution) {
         $date_contribution = Carbon::parse($lastContribution->month_year)->subYears(5);
         $yearc = Carbon::parse($date_contribution)->year;
         $listYear = DB::table('contributions')->select(DB::raw('DISTINCT(year(contributions.month_year)) as year'))->whereYear('contributions.month_year', '>', $yearc)->orderBy('contributions.month_year', 'asc')->get();
         foreach ($listYear as $item) {
             $totalContribution = Contribution::afiContribution($item->year)->first();
             $list_totalcontribution[] = $totalContribution->total;
             $list_year[] = $totalContribution->month_year;
         }
         $totalContributionByYear = array($list_year, $list_totalcontribution);
     } else {
         $list_totalcontribution[] = 0;
         $list_year[] = 0;
         $totalContributionByYear = array($list_year, $list_totalcontribution);
     }
     // Total Affiliates disaggregated by district.
     foreach ($district as $item) {
         $afiDistrict = Affiliate::afiDistrict($item->district, $year)->first();
         $list_affiliateByDisctrict[$item->district] = $afiDistrict->district;
     }
     //Total Retirement Fund of current year, disaggregated by month.
     $current_date = Carbon::now();
     $current_year = Carbon::parse($current_date)->year;
     $monthRetirementFund = DB::table('retirement_funds')->select(DB::raw('DISTINCT(month(retirement_funds.reception_date)) as month'))->whereYear('retirement_funds.reception_date', '=', $current_year)->orderBy('retirement_funds.reception_date', 'asc')->get();
     if ($monthRetirementFund) {
         foreach ($monthRetirementFund as $item) {
             $totalRetirementFundByMonth = RetirementFund::totalRetirementFund($item->month, $current_year)->first();
             $list_month[] = Util::getMes($totalRetirementFundByMonth->month);
             $list_totalRetirementFundByMonth[] = $totalRetirementFundByMonth->total;
         }
         $total_retirementFundByMonth = array($list_month, $list_totalRetirementFundByMonth);
     } else {
         $list_month[] = 0;
         $list_totalRetirementFundByMonth[] = 0;
         $total_retirementFundByMonth = array($list_month, $list_totalRetirementFundByMonth);
     }
     //voluntary contribution by current year
     $monthVoluntaryContribution = DB::table('contributions')->select(DB::raw('DISTINCT(month(contributions.month_year)) as month'))->where('contributions.contribution_type_id', '=', 2)->whereYear('contributions.month_year', '=', $current_year)->orderBy('contributions.month_year', 'asc')->get();
     if ($monthVoluntaryContribution) {
         foreach ($monthVoluntaryContribution as $item) {
             $totalVoluntaryContributionByMonth = Contribution::voluntaryContribution($item->month, $current_year)->first();
             $list_monthVoluntaryContribution[] = Util::getMes($totalVoluntaryContributionByMonth->month);
             $list_amountVoluntaryContribution[] = $totalVoluntaryContributionByMonth->total;
         }
         $total_voluntayContributionByMonth = array($list_monthVoluntaryContribution, $list_amountVoluntaryContribution);
     } else {
         $list_monthVoluntaryContribution[] = 0;
         $list_amountVoluntaryContribution[] = 0;
         $total_voluntayContributionByMonth = array($list_monthVoluntaryContribution, $list_amountVoluntaryContribution);
     }
     $activities = Activity::orderBy('created_at', 'desc')->take(10)->get();
     $totalAfi = $totalAfiServ + $totalAfiComi;
     $data = ['activities' => $activities, 'totalAfiServ' => $totalAfiServ, 'totalAfiComi' => $totalAfiComi, 'totalAfi' => $totalAfi, 'Total_AffiliatebyState' => $Total_AffiliatebyState, 'Total_AffiliatebyType' => $Total_AffiliatebyType, 'totalContributionByYear' => $totalContributionByYear, 'list_affiliateByDisctrict' => $list_affiliateByDisctrict, 'total_retirementFundByMonth' => $total_retirementFundByMonth, 'total_voluntayContributionByMonth' => $total_voluntayContributionByMonth, 'current_year' => $current_year];
     return view('dashboard.index', $data);
     //return response()->json($totalAfiServ);
 }
 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);
 }
        return Util::getfulldate($this->fech_fin_apor);
    }
    public function getData_fech_bajatoPrint()
    {
        return Util::getfulldate($this->date_decommissioned);
    }
    public function getData_fech_ini_Reco_print()
    {
        if ($this->fech_ini_reco) {
            return $this->fech_ini_reco;
        } else {
            return $this->fech_ing;
        }
    }
    public function getData_fech_fin_Reco_print()
    {
        if ($this->fech_fin_reco) {
            return $this->fech_fin_reco;
        } else {
            $lastAporte = Aporte::afiliadoId($this->id)->orderBy('gest', 'desc')->first();
            return $lastAporte->gest;
        }
    }
}
Affiliate::created(function ($affiliate) {
    Record::CreatedAffiliate($affiliate);
});
Affiliate::updating(function ($affiliate) {
    Activity::updateAffiliate($affiliate);
    Record::UpdatingAffiliate($affiliate);
});
Example #10
0
 public static function createdApplicant($applicant)
 {
     if (Auth::user()) {
         $RetirementFund = RetirementFund::findOrFail($applicant->retirement_fund_id);
         $affiliate = Affiliate::findOrFail($RetirementFund->affiliate_id);
         $activity = new Activity();
         $activity->user_id = Auth::user()->id;
         $activity->affiliate_id = $affiliate->id;
         $activity->applicant_id = $applicant->id;
         $activity->retirement_fund_id = $applicant->retirement_fund_id;
         $activity->activity_type_id = ACTIVITY_TYPE_CREATE_APPLICANT;
         $activity->message = Util::encodeActivity(Auth::user(), 'Creó al Solicitante', $applicant);
         $activity->save();
     }
 }
 public function PrintVoucher($id)
 {
     $header1 = "DIRECCIÓN DE BENEFICIOS ECONÓMICOS";
     $header2 = "UNIDAD DE FONDO DE RETIRO POLICIAL INDIVIDUAL";
     $title = "RECIBO OFICIAL";
     $date = Util::getDateEdit(date('Y-m-d'));
     $current_date = Carbon::now();
     $hour = Carbon::parse($current_date)->toTimeString();
     $direct_contribution = DirectContribution::idIs($id)->first();
     $voucher = Voucher::idIs($id)->first();
     $affiliate = Affiliate::IdIs($voucher->affiliate_id)->first();
     $view = \View::make('vouchers.print.show', compact('header1', 'header2', 'title', 'date', 'hour', 'affiliate', 'voucher', 'direct_contribution'))->render();
     $pdf = \App::make('dompdf.wrapper');
     $pdf->loadHTML($view)->setPaper('letter');
     return $pdf->stream();
 }