示例#1
0
 public static function create_subconceptos_paquetes($data)
 {
     $table = DB::table(Paquete::$subconceptos_paquete);
     $ids_sub = array();
     $paquete = $data['paquete_id'];
     foreach ($data['sub_concepto'] as $subconcepto) {
         if (isset($subconcepto['idsub_paqueteplan'])) {
             $ids_sub[] = intval($subconcepto['idsub_paqueteplan']);
             // si existe un paquete cacha el id
         }
     }
     $query = $table->where('paquete_id', '=', $paquete)->select('id')->get();
     foreach ($query as $i) {
         if (!in_array(intval($i->id), $ids_sub)) {
             $table = DB::table(Paquete::$subconceptos_paquete);
             $table->where('id', '=', $i->id)->delete();
             DB::table('adeudos')->where('subconcepto_paquete_id', $i->id)->delete();
         }
     }
     foreach ($data['sub_concepto'] as $subconcepto) {
         if (!isset($subconcepto['recargo_acumulado'])) {
             $subconcepto['recargo_acumulado'] = 0;
         }
         $table = DB::table(Paquete::$subconceptos_paquete);
         $data_subconcepto = array("sub_concepto_id" => $subconcepto['id'], "recargo" => $data['recargo'][$subconcepto['id']], "tipo_recargo" => $data['tipo_recargo'][$subconcepto['id']], "fecha_de_vencimiento" => $subconcepto['fecha'], "paquete_id" => $data['paquete_id'], "tipos_pago" => json_encode($data['tipos_pago']), "digito_referencia" => $subconcepto['digito_referencia'], "descripcion_sc" => $subconcepto['descripcion_sc'], "recargo_acumulado" => $subconcepto['recargo_acumulado']);
         if (isset($subconcepto['idsub_paqueteplan'])) {
             // Verifica si existe un subconcepto en el paquete
             $id = $subconcepto['idsub_paqueteplan'];
             // obtiene el id del registro subconcepto_paqueteplandepago
             $table->where('id', $id)->update($data_subconcepto);
             //actualiza los datos del registro con el id anterior
             $adeudos = Adeudos::where('subconcepto_paquete_id', $subconcepto['idsub_paqueteplan'])->get();
             // busca los adeudos del registro con ese id
             foreach ($adeudos as $key => $adeudo) {
                 //
                 DB::table('adeudos')->where('id', $adeudo['id'])->update(array("recargo" => $data['recargo'][$subconcepto['id']], "sub_concepto_id" => $subconcepto['id'], "tipo_recargo" => $data['tipo_recargo'][$subconcepto['id']], "fecha_limite" => $subconcepto['fecha'], "paquete_id" => $data['paquete_id'], "digito_referencia" => $subconcepto['digito_referencia'], "descripcion_sc" => $subconcepto['descripcion_sc'], "recargo_acumulado" => $subconcepto['recargo_acumulado']));
                 foreach ($data['tipos_pago'] as $key => $value) {
                     $adeudo_tipopago['adeudos_id'] = $adeudo['id'];
                     $adeudo_tipopago['tipo_pago_id'] = $value;
                     Adeudos_tipopago::where('adeudos_id', $adeudo['id'])->update($adeudo_tipopago);
                 }
             }
         } else {
             $table->insert($data_subconcepto);
         }
     }
     return TRUE;
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create()
 {
     $parametros = Input::get();
     $reglas = array('adeudos_id' => 'required|integer', 'no_oficio' => 'required|integer', 'nombre_responsable' => 'required', 'rason_prorroga' => 'required', 'fecha_limite' => 'required');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $adeudo = Adeudos::where('id', '=', $parametros['adeudos_id'])->first();
         /*Adeudos::where('periodo','=',$adeudo['periodo'])
         		->where('locker_manager','=','1')
         		->update(array('locker_manager' => '0'));*/
         $fecha_limite = $parametros['fecha_limite'];
         unset($parametros['fecha_limite']);
         Adeudos::where('id', '=', $parametros['adeudos_id'])->update(array('fecha_limite' => $fecha_limite, 'locker_manager' => '0'));
         $res['data'] = Prorrogas::create($parametros);
         $res['data'] = Prorrogas::All();
         $respuesta = json_encode(array('error' => false, 'mensaje' => 'Nuevo registro', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function suspender_beca_mes()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('id_adeudo' => 'required|integer', 'id_persona' => 'required|integer', 'periodo' => 'required|integer', 'aplica_beca' => 'required|integer', 'tipo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         if ($parametros['tipo'] == 1) {
             if ($parametros['aplica_beca'] == 0) {
                 $data['aplica_recargo'] = 0;
                 $data['aplica_beca'] = $parametros['aplica_beca'];
             } else {
                 $data['aplica_recargo'] = 1;
                 $data['aplica_beca'] = $parametros['aplica_beca'];
             }
             Adeudos::where('id', '=', $parametros['id_adeudo'])->update($data);
         } elseif ($parametros['tipo'] == 2) {
             $bandera = false;
             $adeudos = Adeudos::where('periodo', '=', $parametros['periodo'])->where('id_persona', '=', $parametros['id_persona'])->orderBy('fecha_limite', 'asc')->get();
             foreach ($adeudos as $key_adeudo => $adeudo) {
                 if ($bandera == true) {
                     if ($parametros['aplica_beca'] == 0) {
                         $data['aplica_recargo'] = 0;
                         $data['aplica_beca'] = $parametros['aplica_beca'];
                         if (intval($adeudo['aplica_beca']) == 1) {
                             Adeudos::where('id', '=', $adeudo['id'])->update($data);
                         }
                     } else {
                         $data['aplica_recargo'] = 1;
                         $data['aplica_beca'] = $parametros['aplica_beca'];
                         if (intval($adeudo['aplica_beca']) == 0) {
                             Adeudos::where('id', '=', $adeudo['id'])->update($data);
                         }
                     }
                 } else {
                     if (intval($parametros['id_adeudo']) == intval($adeudo['id'])) {
                         $bandera = true;
                         if ($parametros['aplica_beca'] == 0) {
                             $data['aplica_recargo'] = 0;
                             $data['aplica_beca'] = $parametros['aplica_beca'];
                             if (intval($adeudo['aplica_beca']) == 1) {
                                 Adeudos::where('id', '=', $adeudo['id'])->update($data);
                             }
                         } else {
                             $data['aplica_recargo'] = 1;
                             $data['aplica_beca'] = $parametros['aplica_beca'];
                             if (intval($adeudo['aplica_beca']) == 0) {
                                 Adeudos::where('id', '=', $adeudo['id'])->update($data);
                             }
                         }
                     }
                 }
             }
         }
         $res['data'] = Adeudos::obtener_adeudos_alumno(array('id_persona' => $parametros['id_persona'], 'periodo' => $parametros['periodo']));
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function alumnos_adeudos_pagados_subconcepto()
 {
     $parametros = Input::get();
     $reglas = array('sub_concepto' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $res = Adeudos::where('sub_concepto_id', '=', $parametros['sub_concepto'])->where('status_adeudo', '=', 1)->select('id_persona', 'fecha_pago')->get();
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
 }
 public function leer_archivo_banco()
 {
     $commond = new Common_functions();
     $file = Input::file('referencia_archivo');
     if (isset($file)) {
         $data_file = Archivo_referencias::leer($file);
         $data_file['infoFile']['nombre_archivo'] = Input::file('referencia_archivo')->getClientOriginalName();
         $infoarchivo = array('no_transacciones' => $data_file['infoFile']['TRANSACCIONES'], 'cobro_inmediato' => $data_file['infoFile']['COBROINMEDIATO'], 'comisiones_creadas' => $data_file['infoFile']['COMISIONESCOBRADAS'], 'remesas' => $data_file['infoFile']['REMESAS'], 'comisiones_remesas' => $data_file['infoFile']['COMISIONREMESAS'], 'abonado' => $data_file['infoFile']['ABONADO'], 'monto' => $data_file['infoFile']['ABONADO'], 'nombre_archivo' => $data_file['infoFile']['nombre_archivo'], 'fecha' => date('Y-m-d'));
         $personas = array();
         $i = 0;
         foreach ($data_file['referencias'] as $key => $value) {
             $adeudo = Referencia::with('adeudos')->where('referencia', '=', $value['referencia'])->first();
             if ($adeudo && !empty($adeudo)) {
                 $adeudo_up = Adeudos::obtener_adeudos_alumno(array('id' => $adeudo['adeudos']['id'], 'fecha_pago' => $value['fecha_de_pago'], 'id_persona' => $adeudo['id_persona'], 'periodo' => $adeudo['periodo']));
                 $referencia_info = Referencia::where('referencia', '=', $value['referencia'])->first();
                 if ($value['importe'] >= $adeudo_up[0]['importe']) {
                     if ($adeudo_up[0]['beca'] == "N/A") {
                         $adeudo_up[0]['beca'] = 0;
                     }
                     if ($value['importe'] >= intval($adeudo_up[0]['importe']) + 100) {
                         Devoluciones::create(array('periodo' => $adeudo['adeudo']['periodo'], 'fecha_devolucion' => date('Y-m-d'), 'importe' => $adeudo_up[0]['importe'] - $value['importe'], 'id_persona' => $id_persona, 'status_devolucion' => 0));
                     }
                     Adeudos::where('id', '=', $adeudo['adeudos']['id'])->update(array('beca_pago' => $adeudo_up[0]['beca'], 'recargo_pago' => $adeudo_up[0]['recargo_total'], 'importe_pago' => $adeudo_up[0]['importe'], 'status_adeudo' => 1, 'fecha_pago' => $value['fecha_de_pago']));
                 } else {
                     Adeudos::where('id', '=', $adeudo['adeudos']['id'])->update(array('beca_pago' => $adeudo_up[0]['beca'], 'recargo_pago' => $adeudo_up[0]['recargo_total'], 'importe_pago' => $adeudo_up[0]['importe'], 'importe' => floatval(floatval($value['importe'] - $adeudo_up[0]['importe'])), 'fecha_pago' => $value['fecha_de_pago']));
                 }
                 $referencia_pagada = array('id_referencia' => $referencia_info['id'], 'fecha_de_pago' => $value['fecha_de_pago'], 'importe' => $value['importe'], 'estado' => $value['estado']);
                 Referencia::create_referencia_pagada($referencia_pagada);
                 Ingresos::create(array('tipo_pago' => 1, 'importe' => $value['importe'], 'fecha_pago' => $value['fecha_de_pago']));
                 $personas['existe_referencia'][$i]['persona'] = $commond->obtener_infoAlumno_idPersona(array('id_persona' => $adeudo['adeudos']['id_persona']));
                 $personas['existe_referencia'][$i]['referencia'] = $value;
                 $i++;
             } else {
                 $personas['no_existe_referencia'][$i]['referencia'] = $value;
                 $i++;
             }
         }
         $res['data'] = $personas;
         Respuesta_bancaria::create($infoarchivo);
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay archivo o tiene errores.', 'respuesta' => ''));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function update_status_pagado()
 {
     $parametros = Input::get();
     $reglas = array('id' => 'required', 'status_adeudo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         foreach ($parametros as $key => $value) {
             if (!array_key_exists($key, $reglas)) {
                 unset($parametros[$key]);
             }
         }
         Adeudos::where('id', '=', $parametros['id'])->update($parametros);
         $res['data'] = Adeudos::find($parametros['id']);
         if ($parametros['status_adeudo'] == 1) {
             Ingresos::create(array('tipo_pago' => 2, 'importe' => $res['data']['importe'], 'fecha_pago' => date('Y-m-d')));
         }
         $respuesta = json_encode(array('error' => false, 'mensaje' => '', 'respuesta' => $res));
     } else {
         $respuesta = json_encode(array('error' => true, 'mensaje' => 'No hay parametros o estan mal.', 'respuesta' => null));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function ajustar_adeudos_pagoa_de_mas($adeudo_id, $id_persona, $periodo, $cantidad)
 {
     $adeudos = Adeudos::join('sub_conceptos as sc', 'sc.id', '=', 'adeudos.sub_concepto_id')->where("adeudos.id_persona", "=", $id_persona)->where("adeudos.periodo", "=", $periodo)->where("adeudos.id", "<>", $adeudo_id)->select('adeudos.*', DB::raw("period_diff(date_format(now(), '%Y%m'), date_format(`fecha_limite`, '%Y%m')) as meses_retraso"), 'sc.aplica_beca', 'sc.sub_concepto')->get();
     // Se obtienen los adeudos de una persona en el periodo solicitado
     foreach ($adeudos as $key => $adeudo) {
         if ($adeudo->importe >= $cantidad) {
             Adeudos::where('id', '=', $adeudo->id)->update(array('importe' => round($adeudo->importe - $cantidad, 2)));
             $cantidad = 0;
             break;
         } else {
             Adeudos::where('id', '=', $adeudo->id)->update(array('status_adeudo' => 1));
             $cantidad = $cantidad - $adeudo->importe;
         }
     }
     if ($cantidad > 0) {
         Devoluciones::create(array('periodo' => $periodo, 'fecha_devolucion' => date('Y-m-d'), 'importe' => $cantidad, 'id_persona' => $id_persona, 'status_devolucion' => 0));
     }
 }