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 static function obtener_adeudos_alumno($data) { $commond = new Common_functions(); // Actualiza el status_adeudo si tiene beca del 100% $commond->actualiza_status_adeudos($data['id_persona'], $data['periodo']); #var_dump($data);die(); if (isset($data['id'])) { $query = Adeudos::join('sub_conceptos as sc', 'sc.id', '=', 'adeudos.sub_concepto_id')->orderBy('locker_manager', 'desc')->orderBy('fecha_limite', 'asc')->where("adeudos.id", "=", $data['id'])->select('adeudos.*', DB::raw("period_diff(date_format(now(), '%Y%m'), date_format(`fecha_limite`, '%Y%m')) as meses_retraso"), 'adeudos.aplica_beca', 'sc.sub_concepto')->get(); // Se obtienen los adeudos de una persona en el periodo solicitado $now = strtotime($data['fecha_pago']); // Se obtiene la fecha actual } else { $query = Adeudos::join('sub_conceptos as sc', 'sc.id', '=', 'adeudos.sub_concepto_id')->orderBy('locker_manager', 'desc')->orderBy('fecha_limite', 'asc')->where("adeudos.id_persona", "=", $data['id_persona'])->where("adeudos.periodo", "=", $data['periodo'])->select('adeudos.*', DB::raw("period_diff(date_format(now(), '%Y%m'), date_format(`fecha_limite`, '%Y%m')) as meses_retraso"), 'adeudos.aplica_beca', 'sc.sub_concepto')->get(); // Se obtienen los adeudos de una persona en el periodo solicitado $now = strtotime('now'); // Se obtiene la fecha actual } $tiene_beca = Becas::AlumnoBeca_Persona_Periodo($data); // Consulta beca $daynow = date('d', $now); // Dia actual $sub_cont = array(); // Contador de adeudos $lock = false; foreach ($query as $key => $adeudo) { // Se genera la informacion para el Edo. de cuenta del alumno $query[$key]['tipos_pago'] = Adeudos_tipopago::where('adeudos_id', '=', $adeudo['id'])->get(); $query[$key]['importe_inicial'] = $query[$key]['importe']; if (isset($sub_cont[$adeudo['sub_concepto_id']])) { $sub_cont[$adeudo['sub_concepto_id']] += 1; } else { $sub_cont[$adeudo['sub_concepto_id']] = 0; } $query[$key]['contador'] = $sub_cont[$adeudo['sub_concepto_id']]; $tiene_desceunto = Descuentos::obtenerDescuentoPorAdeudo($adeudo['id']); // Limitando a solo un descuento por adeudo $descuentos_limitado = array(); if (isset($tiene_desceunto[0])) { $descuentos_limitado[0] = $tiene_desceunto[0]; } $fecha_limite = strtotime($adeudo['fecha_limite']); $day = date('d', $fecha_limite); $descuento = 0; $descuento_recargo = 0; $descuento_id = null; $descuento_officio = null; foreach ($descuentos_limitado as $key_d => $descuentodata) { $descuento_tmp = $commond->calcular_importe_por_tipo($adeudo['importe'], $descuentodata['importe'], $descuentodata['tipo_importe_id']); $descuento_recargo_temp = $commond->calcular_importe_por_tipo($adeudo['importe'], $descuentodata['importe_recargo'], $descuentodata['tipo_importe_id']); $query[$key]['tiene_desceunto'] = 1; $descuento_recargo = $descuento_recargo + $descuento_recargo_temp; $descuento = $descuento + $descuento_tmp; $descuento_id = $descuentodata['id']; $descuento_officio = $descuentodata['no_officio']; } $query[$key]['descuento_id'] = $descuento_id; $query[$key]['descuento'] = $descuento; $query[$key]['descuento_recargo'] = $descuento_recargo; $query[$key]['descuento_officio'] = $descuento_officio; if (!$tiene_beca) { $query[$key]['beca'] = 'N/A'; } if ($adeudo['status_adeudo'] == 0) { if ($daynow > $day) { $query[$key]['meses_retraso'] = $adeudo['meses_retraso'] + 1; } if ($query[$key]['meses_retraso'] <= 0) { $query[$key]['recargo_total'] = 0; } if ($query[$key]['meses_retraso'] > 0) { if ($adeudo['locker_manager'] == 1) { $lock = true; } $query[$key]['beca'] = 'N/A'; if ($tiene_beca) { $databeca = array("id_persona" => $data['id_persona'], "periodo" => $data['periodo'], "status" => 0); Becas::update_status_beca_alumno($databeca); $tiene_beca = FALSE; } if ($adeudo['aplica_recargo'] == 1) { $recargo = $commond->calcular_importe_por_tipo($adeudo['importe'], $adeudo['recargo'], $adeudo['tipo_recargo']); } else { $recargo = 0; } if ($adeudo['recargo_acumulado'] == 1) { $recargo *= $query[$key]['meses_retraso']; } $query[$key]['recargo_no_descuento'] = $recargo; $query[$key]['recargo_total'] = $recargo - $descuento_recargo; #$query[$key]['recargo_total'] = $query[$key]['recargo_total'] $query[$key]['importe'] += $query[$key]['recargo_total'] - $descuento; } elseif ($tiene_beca && $adeudo['aplica_beca'] == 1) { $beca = $commond->calcular_importe_por_tipo($adeudo['importe'], $tiene_beca['importe'], $tiene_beca['tipo_importe_id']); $query[$key]['importe'] -= $beca; $query[$key]['importe'] -= $descuento; $query[$key]['beca'] = $beca; } if ($lock == true) { $query[$key]['lock'] = 1; } else { $query[$key]['lock'] = 0; } } else { $pago = strtotime($adeudo['fecha_pago']); $fecha_pago = date('d', $pago); $query[$key]['lock'] = 0; if ($fecha_pago > $day) { $query[$key]['meses_retraso'] = $adeudo['meses_retraso'] + 1; } if ($query[$key]['meses_retraso'] <= 0) { $query[$key]['recargo_total'] = 0; } if ($query[$key]['meses_retraso'] > 0) { $query[$key]['beca'] = 'N/A'; if ($adeudo['aplica_recargo'] == 1) { $recargo = $commond->calcular_importe_por_tipo($adeudo['importe'], $adeudo['recargo'], $adeudo['tipo_recargo']); } else { $recargo = 0; } $query[$key]['recargo_no_descuento'] = null; if ($adeudo['recargo_acumulado'] == 1) { $recargo *= $query[$key]['meses_retraso']; } $query[$key]['recargo_total'] = $adeudo['recargo_pago']; if (intval($adeudo['beca_pago']) == 0) { $query[$key]['beca'] = 'N/A'; } else { $query[$key]['beca'] = $adeudo['beca_pago']; } $query[$key]['importe'] = $adeudo['importe_pago']; } elseif ($tiene_beca && $adeudo['aplica_beca'] == 1) { $beca = $commond->calcular_importe_por_tipo($adeudo['importe'], $tiene_beca['importe'], $tiene_beca['tipo_importe_id']); #$query[$key]['importe']-=$beca; $query[$key]['beca'] = $adeudo['beca_pago']; } } } return $query; }
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_tipospago() { $parametros = Input::get(); $reglas = array('id' => 'required|integer', 'tipo_pago' => 'required|array'); $validator = Validator::make($parametros, $reglas); if (!$validator->fails()) { foreach ($parametros as $key => $value) { if (!array_key_exists($key, $reglas)) { unset($parametros[$key]); } } Adeudos_tipopago::where('adeudos_id', '=', $parametros['id'])->delete(); foreach ($parametros['tipos_pago'] as $key => $value) { $adeudo_tipopago['adeudos_id'] = $parametros['id']; $adeudo_tipopago['tipo_pago_id'] = $value; Adeudos_tipopago::create($adeudo_tipopago); } $res['data'] = Adeudos::find($parametros['id']); $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)); } }