public function traducir()
 {
     $commond = new Common_functions();
     $parametros = Input::get();
     $reglas = array('referencias' => 'required|array');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         foreach ($parametros['referencias'] as $key => $referencia) {
             if (strlen($referencia) == 20 || strlen($referencia) == 27) {
                 if (strlen($referencia) == 27) {
                     $ref_temp[$key]['convenio'] = substr($referencia, 0, 7);
                     $referencia = substr($referencia, 7, 20);
                 }
                 $no_calculada = substr($referencia, 0, 12);
                 $calculada = substr($referencia, 12, 8);
                 $ref_temp[$key]['referencia'] = $referencia;
                 $ref_temp[$key]['id_persona'] = substr($no_calculada, 0, 5);
                 $ref_temp[$key]['periodo'] = substr($no_calculada, 5, 3);
                 $ref_temp[$key]['id_subconcepto'] = substr($no_calculada, 8, 3);
                 $ref_temp[$key]['digito_referencia'] = substr($no_calculada, 11, 1);
                 $ref_temp[$key]['fecha_condensada'] = substr($calculada, 0, 4);
                 $ref_temp[$key]['monto_condensado'] = substr($calculada, 4, 2);
                 $ref_temp[$key]['referencia_condensada'] = substr($calculada, 6, 2);
                 $subconcepto_info = Sub_conceptos::find($ref_temp[$key]['id_subconcepto']);
                 $ref_temp[$key]['sub_concepto'] = $subconcepto_info['sub_concepto'];
                 $ref_temp[$key]['sub_concepto_descripcion'] = $subconcepto_info['descripcion'];
                 $ref_temp[$key]['status'] = 'Referencia valida';
             } else {
                 $ref_temp[$key]['referencia'] = $referencia;
                 $ref_temp[$key]['status'] = 'Referencia no valida';
             }
         }
         #$ref_temp = $commond->obtener_alumno_idPersona($ref_temp);
         $res = $commond->obtener_periodo_id($ref_temp);
         $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 subconceptos_periodo()
 {
     $parametros = Input::get();
     $reglas = array('periodo' => 'required|integer');
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $res = Sub_conceptos::where('periodo', '=', $parametros['periodo'])->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));
     }
     $final_response = Response::make($respuesta, 200);
     $final_response->header('Content-Type', "application/json; charset=utf-8");
     return $final_response;
 }
 public function createSubconcepto()
 {
     $parametros = Input::get();
     $reglas = array('subconcepto_id' => 'required|integer', 'periodo' => 'required|integer', 'id_personas' => 'required|integer', 'fecha_limite' => 'date_format:Y-m-d', 'tipos_pago' => 'required|array', 'recargo_acumulado' => 'required|integer', 'aplica_beca' => 'integer', 'aplica_recargo' => 'integer');
     $commond = new Common_functions();
     $validator = Validator::make($parametros, $reglas);
     if (!$validator->fails()) {
         $periodo_actual = $commond->periodo_actual();
         $adeudos_no_pagados = Adeudos::where('id_persona', '=', $parametros['id_personas'])->where('periodo', '!=', $periodo_actual['idperiodo'])->where('status_adeudo', '=', 0)->count();
         $grado = $commond->obtener_infoAlumno_idPersona(array('id_persona' => $parametros['id_personas']));
         if (isset($grado[0]['grado'])) {
             $grado = $grado[0]['grado'];
         } else {
             $grado = null;
         }
         if ($adeudos_no_pagados == 0) {
             $subconcepto = Sub_conceptos::find($parametros['subconcepto_id']);
             $parametros['digito_referencia'] = intval(DB::table('subconcepto_paqueteplandepago')->where('sub_concepto_id', $parametros['subconcepto_id'])->max('digito_referencia'));
             if ($parametros['digito_referencia'] > 9) {
                 $parametros['digito_referencia'] = 8;
             }
             $adeudo = array('importe' => $subconcepto['importe'], 'sub_concepto_id' => $subconcepto['id'], 'fecha_limite' => $parametros['fecha_limite'], 'grado' => $grado, 'id_persona' => $parametros['id_personas'], 'periodo' => $parametros['periodo'], 'digito_referencia' => $parametros['digito_referencia'] + 1, 'recargo_acumulado' => $parametros['recargo_acumulado']);
             $adeudo_creado = Adeudos::create($adeudo);
             foreach ($parametros['tipos_pago'] as $key => $value) {
                 $adeudo_tipopago['adeudos_id'] = $adeudo_creado['id'];
                 $adeudo_tipopago['tipo_pago_id'] = $value;
                 Adeudos_tipopago::create($adeudo_tipopago);
             }
             $subconcepto_adeudo = Sub_conceptos::find($adeudo_creado['sub_concepto_id']);
             if (!is_array($subconcepto_adeudo)) {
                 $subconcepto_adeudo = $subconcepto_adeudo->toArray();
             }
             if (!is_array($adeudo_creado)) {
                 $adeudo_creado = $adeudo_creado->toArray();
             }
             $res = array_merge($adeudo_creado, $subconcepto_adeudo);
         }
         $respuesta = json_encode(array('error' => false, 'mensaje' => 'Subconceptos Agregados Correctamente a Paquete', '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;
 }