public static function agregar_adeudos($alumno) { // Se obtiene los datos de el alumno desde el api por medio del id_persona // ----> $commond = new Common_functions(); $grado = $commond->obtener_infoAlumno_idPersona(array('id_persona' => $alumno)); if (isset($grado[0]['grado'])) { $grado = $grado[0]['grado']; } else { $grado = null; } // <---- // Dependiendo de los subconceptos que se reciban son los adeudos que // se generaran, se construye el array para la tabla // ----> foreach (Adeudos::$custom_data["subconcepto"] as $subconcepto) { $adeudo = array("sub_concepto_id" => $subconcepto->id, "id_persona" => $alumno, "importe" => $subconcepto->importe, "fecha_limite" => $subconcepto->fecha_de_vencimiento, "periodo" => Adeudos::$custom_data["paquete"]->periodo, "paquete_id" => Adeudos::$custom_data["paquete"]->id, "recargo" => $subconcepto->recargo, "tipo_recargo" => $subconcepto->tipo_recargo, "subconcepto_paquete_id" => $subconcepto->idsub_paqueteplan, "digito_referencia" => $subconcepto->digito_referencia, "grado" => $grado, "status_adeudo" => 0, "descripcion_sc" => $subconcepto->descripcion_sc, "recargo_acumulado" => $subconcepto->recargo_acumulado, "aplica_beca" => $subconcepto->aplica_beca, "locker_manager" => $subconcepto->locker_manager); $adeudo = Adeudos::create($adeudo); // Se gnera el registro de los tipos de pago que tendra el adeudo // caja ó por medio del banco, se reciben en json y se descodifican // ----> foreach (json_decode($subconcepto->tipos_pago) as $key => $value) { $adeudo_tipopago['adeudos_id'] = $adeudo['id']; $adeudo_tipopago['tipo_pago_id'] = $value; Adeudos_tipopago::create($adeudo_tipopago); } // <---- } // <---- }
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; }