/
Dame Alumno PHP
Dame Alumno PHP
Para poder revisar los materiales creados por el PHP, se deja un script para que pueda ser ejecutado en la Base de Datos y así poder revisar los resultados encontrados:
-- Antes de Ejecutar, se deben cambiar los parámetros de la penúltima consulta set @empresaId = 1; set @alumnoId = 15159221; select trans_id into @transFacturaId from trans where empresa_id = @empresaId and parametro = 'FA'; select trans_id into @transPagoId from trans where empresa_id = @empresaId and parametro = 'PA'; select trans_id into @transNotaCreditoId from trans where empresa_id = @empresaId and parametro = 'NCR'; select trans_id into @transNotaDebitoId from trans where empresa_id = @empresaId and parametro = 'ND'; select trans_id into @transDevolucionId from trans where empresa_id = @empresaId and parametro = 'DEV'; select trans_id into @transReembolsoId from trans where empresa_id = @empresaId and parametro = 'RE'; select trans_id into @transCancelacionPagoId from trans where empresa_id = @empresaId and parametro = 'CPA'; drop temporary table if exists alumno_tmp; create temporary table alumno_tmp select a.* from alumno a, alumno b where b.alumno_id = @alumnoId and a.persona_id = b.persona_id and a.activo = 1 and a.no_cobrar = 0 /*and cnc.paga_colegio = 0 PASA AL QUERY DE ARTICULOS POR PAGAR */ order by a.alumno_id desc; select a.* from alumno a, alumno b where b.alumno_id = @alumnoId and a.persona_id = b.persona_id and a.activo = 1 ; select distinct a.alumno_id, p.*, c.colegio_id, c.colegio_clave, c.colegio, c.persona_id as persona_colegio_id, n.*, g.*, gpo.*, ce.*, cgg.* from alumno_tmp a, persona p, colegio_nivel_ciclo cnc, colegio_grado_grupo cgg, colegio c, nivel n, grado g, grupo gpo, ciclo_escolar ce where /*a.alumno_id = ?ll_alumno_id and*/ a.activo = 1 and p.persona_id = a.persona_id and cgg.colegio_grado_grupo_id = a.colegio_grado_grupo_id and cnc.colegio_nivel_ciclo_id = cgg.colegio_nivel_ciclo_id /*and cnc.activo = 1*/ and ce.ciclo_escolar_id = cnc.ciclo_escolar_id /*and ce.pagando = 1*/ and n.nivel_id = cnc.nivel_id and g.grado_id = cgg.grado_id and gpo.grupo_id = cgg.grupo_id and c.colegio_id = cnc.colegio_id order by ce.pagando desc, a.alumno_id desc, ce.ciclo_escolar_orden limit 0, 1; drop temporary table if exists documento_linea_tmp; create temporary table documento_linea_tmp select distinct dl.* from documento_linea dl, alumno_tmp al where dl.alumno_id = al.alumno_id /* PUEDE VENIR ALUMNO */ and dl.persona_id = al.persona_id; /* Y PERSONA */ insert into documento_linea_tmp select distinct dl.* from documento_linea dl, alumno_tmp al where dl.alumno_id = 0 /* PUEDE VENIR SIN ALUMNO */ and dl.persona_id = al.persona_id; /* Y UNICAMENTE PERSONA */ insert into documento_linea_tmp select distinct dl.* from documento_linea dl, alumno_tmp al where dl.alumno_id = al.alumno_id /* PUEDE VENIR UNICAMENTE ALUMNO */ and dl.persona_id = 0; /* Y SIN PERSONA */ drop temporary table if exists articulo_pagado_tmp; create temporary table articulo_pagado_tmp select a.articulo_id, a.articulo_clave, a.sap_id, a.articulo, a.articulo_orden, ta.parametro as tipo_articulo_parametro, agp.articulo_grado_periodo_id, ce.ciclo_escolar_id, ce.ciclo_escolar_clave, round(sum( case when r.trans_id in (@transPagoId/*, @transNotaCreditoId*/) then 1 when r.trans_id in (@transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId/*, @transNotaDebitoId*/) then - 1 else 0 end * (dl.cantidad * dl.precio * (1 - dl.descuento_porcentaje*.01) * (1 + dl.impuesto_porcentaje*.01) + dl.cargo * (1 + dl.impuesto_cargo_porcentaje * .01) ) ), 4) as pagado, round(sum( case when r.trans_id in (@transPagoId/*, @transNotaCreditoId*/) then 1 when r.trans_id in (@transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId/*, @transNotaDebitoId*/) then - 1 else 0 end * dl.cantidad * dl.precio), 4) as dl_bruto, round(sum( case when r.trans_id in (@transPagoId/*, @transNotaCreditoId*/) then 1 when r.trans_id in (@transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId/*, @transNotaDebitoId*/) then - 1 else 0 end * dl.cantidad * (dl.precio * (dl.descuento_porcentaje*.01) ) ), 4) as dl_descuento, round(sum( case when r.trans_id in (@transPagoId/*, @transNotaCreditoId*/) then 1 when r.trans_id in (@transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId/*, @transNotaDebitoId*/) then - 1 else 0 end * dl.cantidad * (dl.precio * (dl.impuesto_porcentaje*.01) ) ), 4) as dl_impuesto, round(sum( case when r.trans_id in (@transPagoId/*, @transNotaCreditoId*/) then 1 when r.trans_id in (@transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId/*, @transNotaDebitoId*/) then - 1 else 0 end * (dl.cargo * (1 + dl.impuesto_cargo_porcentaje * .01) ) ), 4) as dl_cargo, 0 as reportado from documento_linea_tmp dl, documento d, articulo_grado_periodo agp, articulo a, tipo_articulo ta, razon r, alumno_tmp al, colegio_nivel_ciclo cnc, ciclo_escolar ce /*where dl.alumno_id = @alumnoId*/ where 1 and d.documento_id = dl.documento_id and d.aplicado = 1 and d.fecha_cancelado is null and r.razon_id = d.razon_id and r.trans_id in (@transPagoId, @transReembolsoId, @transCancelacionPagoId, @transNotaCreditoId) and agp.articulo_grado_periodo_id = dl.articulo_grado_periodo_id and a.articulo_id = case dl.articulo_grado_periodo_id when 0 then dl.articulo_id else agp.articulo_id end and ta.tipo_articulo_id = a.tipo_articulo_id and al.alumno_id = case when dl.alumno_id = 0 then al.alumno_id else dl.alumno_id end and cnc.colegio_nivel_ciclo_id = al.colegio_nivel_ciclo_id and ce.ciclo_escolar_id = cnc.ciclo_escolar_id group by a.articulo_id, a.articulo_clave, a.sap_id, a.articulo, a.articulo_orden, ta.parametro, agp.articulo_grado_periodo_id, ce.ciclo_escolar_id, ce.ciclo_escolar_clave; drop temporary table if exists articulo_alumno_tmp; create temporary table articulo_alumno_tmp select distinct cap.*, coalesce(agp.articulo_grado_periodo_id, 0) as articulo_grado_periodo_id, a.articulo_clave, a.sap_id, a.articulo, a.articulo_orden, cast(0 as decimal(18,4)) as precio_original, cast(0 as decimal(18,4)) as pagado, cast(0 as decimal(18,4)) as dl_bruto, cast(0 as decimal(18,4)) as dl_descuento, cast(0 as decimal(18,4)) as dl_impuesto, cast(0 as decimal(18,4)) as dl_cargo, ce.ciclo_escolar_id, ce.ciclo_escolar_clave, ce.activo as ce_activo, ce.pagando, al.alumno_id as alumno_ciclo_id, al.hijo_profesor, ta.parametro as tipo_articulo_parametro, tv.tipo_venta_clave, tv.parametro tipo_venta_parametro, cv.canal_venta_clave, cv.parametro canal_venta_parametro, pl.plazo_clave, pl.parametro plazo_parametro, re.razon_excepcion_clave, re.parametro razon_excepcion_parametro from articulo a, tipo_articulo ta, alumno_tmp al, colegio_nivel_ciclo cnc, ciclo_escolar ce, tipo_venta tv, canal_venta cv, plazo pl, razon_excepcion re, colegio_articulo_precio cap left join articulo_grado_periodo agp on(agp.articulo_id = cap.articulo_id and agp.grado_id = cap.grado_id and agp.periodo_ciclo_id = cap.periodo_ciclo_id) where cap.colegio_nivel_ciclo_id = al.colegio_nivel_ciclo_id /*?colegio_nivel_ciclo_id*/ and cap.grado_id in /*?grado_id*/(select cgg.grado_id from colegio_grado_grupo cgg where cgg.colegio_grado_grupo_id = al.colegio_grado_grupo_id) and cap.grupo_id in (0, /*?grupo_id*/(select cgg.grupo_id from colegio_grado_grupo cgg where cgg.colegio_grado_grupo_id = al.colegio_grado_grupo_id)) and cap.tipo_venta_id = tv.tipo_venta_id and cap.canal_venta_id = cv.canal_venta_id and cap.plazo_id = pl.plazo_id and cap.razon_excepcion_id = re.razon_excepcion_id and cap.alumno_id in (0, al.alumno_id /*?alumno_id*/) and a.articulo_id = cap.articulo_id and ta.tipo_articulo_id = a.tipo_articulo_id and cnc.colegio_nivel_ciclo_id = cap.colegio_nivel_ciclo_id and ce.ciclo_escolar_id = cnc.ciclo_escolar_id; update articulo_alumno_tmp aa set /*pagado = coalesce((select distinct t.pagado from articulo_pagado_tmp t where t.articulo_grado_periodo_id = articulo_alumno_tmp.articulo_grado_periodo_id), 0)*/ pagado = coalesce((select distinct t.pagado from articulo_pagado_tmp t where t.articulo_grado_periodo_id = case aa.articulo_grado_periodo_id when 0 then t.articulo_grado_periodo_id else aa.articulo_grado_periodo_id end and t.articulo_id = case aa.articulo_id when 0 then t.articulo_id else aa.articulo_id end ), 0) ; update articulo_alumno_tmp aa, articulo_pagado_tmp t set aa.pagado = coalesce(t.pagado, 0), aa.dl_bruto = coalesce(t.dl_bruto, 0), aa.dl_descuento = coalesce(t.dl_descuento, 0), aa.dl_impuesto = coalesce(t.dl_impuesto, 0), aa.dl_cargo = coalesce(t.dl_cargo, 0) where t.articulo_grado_periodo_id = case aa.articulo_grado_periodo_id when 0 then t.articulo_grado_periodo_id else aa.articulo_grado_periodo_id end and t.ciclo_escolar_id = case aa.articulo_grado_periodo_id when 0 then aa.ciclo_escolar_id else t.ciclo_escolar_id end and t.articulo_id = case aa.articulo_id when 0 then t.articulo_id else aa.articulo_id end ; update articulo_pagado_tmp ap set /*reportado = coalesce((select distinct 1 from articulo_alumno_tmp t where t.articulo_grado_periodo_id = articulo_pagado_tmp.articulo_grado_periodo_id), 0)*/ reportado = coalesce((select distinct 1 from articulo_alumno_tmp t where t.articulo_grado_periodo_id = case ap.articulo_grado_periodo_id when 0 then t.articulo_grado_periodo_id else ap.articulo_grado_periodo_id end and t.articulo_id = case ap.articulo_id when 0 then t.articulo_id else ap.articulo_id end ), 0); drop temporary table if exists articulo_pagado_tmp_2; create temporary table articulo_pagado_tmp_2 select * from articulo_pagado_tmp; update articulo_alumno_tmp aa set aa.precio_original = aa.precio, aa.precio = case when coalesce((select sum(ap.dl_bruto) from articulo_pagado_tmp_2 ap where aa.ciclo_escolar_id = ap.ciclo_escolar_id and ap.tipo_articulo_parametro = aa.tipo_articulo_parametro and ap.articulo_id = aa.articulo_id and ap.pagado > 0), 0) >= aa.precio then 0 else greatest(0, ( ( aa.precio * (1 - aa.descuento_porcentaje*.01) * (1 + aa.impuesto_porcentaje*.01) + aa.cargo_financiero * (1 + aa.impuesto_cargo_financiero_porcentaje * .01) ) - coalesce((select sum(ap.pagado) from articulo_pagado_tmp ap where aa.ciclo_escolar_id = ap.ciclo_escolar_id and ap.tipo_articulo_parametro = aa.tipo_articulo_parametro and ap.articulo_id = aa.articulo_id and ap.pagado > 0), 0) - aa.cargo_financiero * (1 + aa.impuesto_cargo_financiero_porcentaje * .01) ) / ( (1 - aa.descuento_porcentaje*.01) * (1 + aa.impuesto_porcentaje*.01) ) ) end where aa.tipo_articulo_parametro in ('LIB', 'IPAD', 'SUBP-G', 'SUBP-G-V', 'SERV') /*and aa.pagando = 1 */; select * from articulo_pagado_tmp where reportado = 0 order by articulo_orden, articulo_clave; drop temporary table if exists articulo_excepcion_tmp; create temporary table articulo_excepcion_tmp select * from articulo_alumno_tmp where alumno_id > 0 or grupo_id > 0; select count(*) as cuenta from articulo_excepcion_tmp; delete from articulo_alumno_tmp where ciclo_escolar_id in (select ciclo_escolar_id from articulo_excepcion_tmp where alumno_id > 0) and alumno_id = 0 and pagado = 0; delete from articulo_alumno_tmp where ciclo_escolar_id in (select ciclo_escolar_id from articulo_excepcion_tmp where grupo_id > 0) and grupo_id = 0 and alumno_id = 0/*and grupo_id = 0*/ and pagado = 0; select articulo_alumno_tmp.*, proporcion_parametro from articulo_alumno_tmp, tipo_venta where tipo_venta.tipo_venta_id = articulo_alumno_tmp.tipo_venta_id order by alumno_id desc, ciclo_escolar_id, grupo_id desc, kit_id, case kit_id - articulo_id when 0 then 0 else articulo_orden end, articulo_orden, articulo_clave; select dl.*, d.documento, case when substring(d.referencia, 1, 1) = 'X' then substring(d.referencia, 2) else d.referencia end as referencia, r.parametro as razon_cargo_parametro, round(1*coalesce(mid(dsl.detalle, locate('precio_colegio:', dsl.detalle) + length('precio_colegio:')), -1957), 2) as precio_colegio, round(1*coalesce(mid(dsl.detalle, locate('pvp:', dsl.detalle) + length('pvp:')), -1957), 2) as pvp, round(1*coalesce(mid(dsl.detalle, locate('precio_pagado:', dsl.detalle) + length('precio_pagado:')), -1957), 2) as precio_pagado, round(1*coalesce(mid(dsl.detalle, locate('neto_pagado:', dsl.detalle) + length('neto_pagado:')), -1957), 2) as neto_pagado from documento d, documento_linea dl, documento_sublinea dsl, razon r, alumno a, colegio_nivel_ciclo cnc where d.documento_id = dl.documento_id and d.linea_captura_banamex = 'sesion_id: e9g1u5v8bn9ov5k39u6oh11ni0' and dl.persona_id = 7673819 and dl.articulo_id = 44 and dsl.documento_id = dl.documento_id and dsl.linea = dl.linea and r.razon_id = dl.razon_cargo_id and a.alumno_id = dl.alumno_id and cnc.colegio_nivel_ciclo_id = a.colegio_nivel_ciclo_id and cnc.ciclo_escolar_id =362 order by dl.linea; select *, UNIX_TIMESTAMP(fecha_hasta) as ut_fecha_hasta from colegio_articulo_abono where colegio_articulo_precio_id =1599830 order by abono;
, multiple selections available,
Related content
Catálogos para aplicación de PAGOS
Catálogos para aplicación de PAGOS
More like this
Relatório de recebimento QUIRIUS
Relatório de recebimento QUIRIUS
More like this
Alta de empresa
Alta de empresa
More like this