Skip to content

Commit

Permalink
#10 , ADQ Campo para comprometer al 87%
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrychm committed Feb 21, 2018
1 parent 2f492b2 commit 011b616
Show file tree
Hide file tree
Showing 7 changed files with 377 additions and 126 deletions.
40 changes: 30 additions & 10 deletions base/funciones/adq.f_gestionar_presupuesto_solicitud.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ $body$
FECHA: 25-06-2013
COMENTARIOS:
ISSUE FECHA: AUTOR DESCRIPCION
0 12/10/2017 RAC Se adciona verificacion pro tipo de centro de costo, segun configuración de control de partidas
#101 13/02/2018 RAC Se almacena presupeusto vigente y comprometido previo al compromiso final para reprotes de certificacion
ISSUE EMPRESA FECHA: AUTOR DESCRIPCION
0 12/10/2017 RAC Se adciona verificacion pro tipo de centro de costo, segun configuración de control de partidas
#101 13/02/2018 RAC Se almacena presupeusto vigente y comprometido previo al compromiso final para reprotes de certificacion
#10 ADQ ETR 21/02/2018 RAC KPLIAN se incrementa columna para comproemter al 87 %
***************************************************************************/

DECLARE
Expand Down Expand Up @@ -72,6 +73,8 @@ DECLARE
v_fecha_aux date;
v_verif_pres_comp varchar[];
v_saldo_comp numeric;
v_monto_a_comprometer numeric; --10 ADQ ++
v_monto_a_comprometer_mb numeric; --10 ADQ ++



Expand Down Expand Up @@ -206,14 +209,16 @@ BEGIN
-----------------------------------------------------------------------------------------------------------------------
-- RAC, 09/01/2018 llamada directa para comprometer y obtener el saldo por comprometer ya que quieren que se muetre en los reportes
-------------------------------------------------------------------------------------------------------------------------



---------------------------------------------------------
-- RECUPERAR PRESUPEUSTO VIGENTE y COMPROMETIDOS PREVIOS
----------------------------------------------------------
--#101, 13/02/2018
v_i = 0;

FOR v_registros in (
FOR v_registros in (
SELECT
sd.id_solicitud_det,
sd.id_centro_costo,
Expand All @@ -226,7 +231,8 @@ BEGIN
s.id_moneda,
sd.precio_ga,
s.fecha_soli,
s.num_tramite as nro_tramite
s.num_tramite as nro_tramite,
s.comprometer_87

FROM adq.tsolicitud s
INNER JOIN adq.tsolicitud_det sd on s.id_solicitud = sd.id_solicitud
Expand Down Expand Up @@ -273,9 +279,9 @@ BEGIN
'O'::varchar,50);
ELSE
v_saldo_vigente = v_verif_pres_for[2]::numeric;
END IF;
END IF;



--obtiene presupuesto comprometido
v_verif_pres_comp = pre.f_verificar_presupuesto_individual(
Expand Down Expand Up @@ -333,7 +339,8 @@ BEGIN
s.id_moneda,
sd.precio_ga,
s.fecha_soli,
s.num_tramite as nro_tramite
s.num_tramite as nro_tramite,
s.comprometer_87 -- #10 ADQ, adcionar el consideracion del 87%

FROM adq.tsolicitud s
INNER JOIN adq.tsolicitud_det sd on s.id_solicitud = sd.id_solicitud
Expand Down Expand Up @@ -365,6 +372,16 @@ BEGIN

END IF;

--#10 ADQ, comproemte al 87% de manera opcional segun configuracion de la solicitud
v_monto_a_comprometer = 0;
v_monto_a_comprometer_mb = 0;
IF v_registros.comprometer_87 = 'no' THEN
v_monto_a_comprometer = v_registros.precio_ga::NUMERIC;
v_monto_a_comprometer_mb = v_registros.precio_ga_mb::NUMERIC;
ELSE
v_monto_a_comprometer = v_registros.precio_ga::NUMERIC * 0.87;
v_monto_a_comprometer_mb = v_registros.precio_ga_mb::NUMERIC * 0.87;
END IF;



Expand All @@ -374,7 +391,7 @@ BEGIN
v_registros.id_presupuesto,
v_registros.id_partida,
v_registros.id_moneda, -- RAC Cambio por moneda de la solicitud , v_id_moneda_base;
v_registros.precio_ga::NUMERIC, --RAC Cambio por moneda de la solicitud , v_registros.precio_ga_mb;
v_monto_a_comprometer::numeric ,--RAC Cambio por moneda de la solicitud , v_registros.precio_ga_mb;
va_fecha[v_i],
'comprometido'::Varchar, --traducido a varchar
NULL::INTEGER,
Expand Down Expand Up @@ -402,9 +419,12 @@ BEGIN
saldo_pre_mt = va_resp_ges[5],
saldo_pre_mb = va_resp_ges[3],
fecha_mod = now(),
fecha_comp = now(),
id_usuario_mod = p_id_usuario,
revertido_mb = 0, -- inicializa el monto de reversion
revertido_mo = 0 -- inicializa el monto de reversion
revertido_mo = 0 , -- inicializa el monto de reversion
monto_cmp = v_monto_a_comprometer, --#10 ADQ ++
monto_cmp_mb = v_monto_a_comprometer_mb --#10 ADQ ++
where s.id_solicitud_det = v_registros.id_solicitud_det;


Expand Down
100 changes: 64 additions & 36 deletions base/funciones/adq.f_solicitud_ime.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,14 @@ $body$
DESCRIPCION:
AUTOR:
FECHA:
FECHA:
***************************************************************************
ISSUE SIS EMPRESA FECHA: AUTOR DESCRIPCION
#10 ADQ ETR 21/02/2018 RAC se incrementa columna para comproemter al 87 %
***************************************************************************/

DECLARE
Expand Down Expand Up @@ -117,6 +124,8 @@ DECLARE
v_datos_ga_gs record;
v_datos_saldos record;
v_total_disponble numeric;
v_comprometer_87 varchar; --#10ADQ ++
v_factor numeric; --#10 ADQ ++


BEGIN
Expand All @@ -129,10 +138,13 @@ BEGIN
#DESCRIPCION: Insercion de la cabecera de las solicitudes de compra ....
#AUTOR: RAC
#FECHA: 19-02-2013 12:12:51
***************************************************************************
* ISSUE FECHA: AUTOR DESCRIPCION
* #10 ADQ ETR 21/02/2018 RAC se incrementa columna para comproemter al 87 %
***********************************/

--raise exception 'LLEGA .... %', p_transaccion;

if (p_transaccion='ADQ_SOL_INS') then

begin
Expand Down Expand Up @@ -265,7 +277,8 @@ BEGIN
precontrato,
nro_po,
fecha_po,
observacion
observacion,
comprometer_87 --#10 se adciona campo para indicar el tipo de compromiso al 87 %
) values(
'activo',
--v_parametros.id_solicitud_ext,
Expand Down Expand Up @@ -305,7 +318,8 @@ BEGIN
COALESCE(v_parametros.precontrato,'no'),
trim(both ' ' from v_parametros.nro_po),
v_parametros.fecha_po,
v_parametros.observacion
v_parametros.observacion,
v_parametros.comprometer_87

)RETURNING id_solicitud into v_id_solicitud;

Expand Down Expand Up @@ -368,7 +382,9 @@ BEGIN
#TRANSACCION: 'ADQ_SOL_MOD'
#DESCRIPCION: Modificacion de registros
#AUTOR: RAC
#FECHA: 19-02-2013 12:12:51
**************************************************************************
* ISSUE FECHA: AUTOR DESCRIPCION
* #10 ADQ ETR 21/02/2018 RAC se incrementa columna para comproemter al 87 %
***********************************/

elsif(p_transaccion='ADQ_SOL_MOD')then
Expand Down Expand Up @@ -416,30 +432,31 @@ BEGIN

--Sentencia de la modificacion
update adq.tsolicitud set
id_funcionario_aprobador = va_id_funcionario_gerente[1],
id_moneda = v_parametros.id_moneda,
id_gestion = v_parametros.id_gestion,
tipo = v_parametros.tipo,
justificacion = v_parametros.justificacion,
id_depto = v_parametros.id_depto,
lugar_entrega = v_parametros.lugar_entrega,
--posibles_proveedores = v_parametros.posibles_proveedores,
--comite_calificacion = v_parametros.comite_calificacion,
id_funcionario = v_parametros.id_funcionario,
fecha_soli = v_parametros.fecha_soli,
fecha_mod = now(),
id_usuario_mod = p_id_usuario,
id_uo = v_id_uo,
id_proceso_macro=id_proceso_macro,
--id_proveedor=v_parametros.id_proveedor,
id_usuario_ai= v_parametros._id_usuario_ai,
usuario_ai = v_parametros._nombre_usuario_ai,
tipo_concepto = v_parametros.tipo_concepto,
fecha_inicio = v_parametros.fecha_inicio,
dias_plazo_entrega = v_parametros.dias_plazo_entrega,
precontrato = COALESCE(v_parametros.precontrato,'no'),
nro_po = trim(both ' ' from v_parametros.nro_po),
fecha_po = v_parametros.fecha_po
id_funcionario_aprobador = va_id_funcionario_gerente[1],
id_moneda = v_parametros.id_moneda,
id_gestion = v_parametros.id_gestion,
tipo = v_parametros.tipo,
justificacion = v_parametros.justificacion,
id_depto = v_parametros.id_depto,
lugar_entrega = v_parametros.lugar_entrega,
--posibles_proveedores = v_parametros.posibles_proveedores,
--comite_calificacion = v_parametros.comite_calificacion,
id_funcionario = v_parametros.id_funcionario,
fecha_soli = v_parametros.fecha_soli,
fecha_mod = now(),
id_usuario_mod = p_id_usuario,
id_uo = v_id_uo,
id_proceso_macro=id_proceso_macro,
--id_proveedor=v_parametros.id_proveedor,
id_usuario_ai= v_parametros._id_usuario_ai,
usuario_ai = v_parametros._nombre_usuario_ai,
tipo_concepto = v_parametros.tipo_concepto,
fecha_inicio = v_parametros.fecha_inicio,
dias_plazo_entrega = v_parametros.dias_plazo_entrega,
precontrato = COALESCE(v_parametros.precontrato,'no'),
nro_po = trim(both ' ' from v_parametros.nro_po),
fecha_po = v_parametros.fecha_po,
comprometer_87 = v_parametros.comprometer_87
where id_solicitud = v_parametros.id_solicitud;

--Definicion de la respuesta
Expand Down Expand Up @@ -1921,16 +1938,19 @@ BEGIN

--recupera moneda de la solicitud
select
sol.id_solicitud
sol.id_solicitud,
sol.comprometer_87
into
v_id_solicitud
v_id_solicitud,
v_comprometer_87
from adq.tsolicitud sol
where sol.id_proceso_wf = v_parametros.id_proceso_wf ;

-- recupera monto solicitado gestoon actual y siguiente
-- recupera monto solicitado gestoon actual y siguiente, fecha
select
sum(sd.precio_ga_mb) as precio_ga_mb,
sum(sd.precio_sg_mb) as precio_sg_mb
sum(sd.precio_sg_mb) as precio_sg_mb,
max(sd.fecha_comp)::varchar as fecha_comp
into
v_datos_ga_gs
from adq.tsolicitud_det sd
Expand Down Expand Up @@ -1958,6 +1978,13 @@ BEGIN
group by
saldos.codigo_techo;

--#10 calculo de factor del comproemtido
IF v_comprometer_87 = 'si' THEN
v_factor = 0.87;
ELSE
v_factor = 1;
END IF;

--determina todal disopnible

v_total_disponble = COALESCE(v_datos_saldos.saldo_vigente_mb,0) - COALESCE(v_datos_saldos.saldo_comp_mb,0) - COALESCE(v_datos_ga_gs.precio_ga_mb, 0);
Expand All @@ -1968,8 +1995,9 @@ BEGIN
v_resp = pxp.f_agrega_clave(v_resp,'v_total_disponble',COALESCE(v_total_disponble,0)::varchar);
v_resp = pxp.f_agrega_clave(v_resp,'v_saldo_vigente_mb',COALESCE(v_datos_saldos.saldo_vigente_mb,0)::varchar);
v_resp = pxp.f_agrega_clave(v_resp,'v_saldo_comp_mb',COALESCE(v_datos_saldos.saldo_comp_mb,0)::varchar);
v_resp = pxp.f_agrega_clave(v_resp,'v_precio_ga_mb',COALESCE(v_datos_ga_gs.precio_ga_mb,0)::varchar);
v_resp = pxp.f_agrega_clave(v_resp,'v_precio_sg_mb',COALESCE(v_datos_ga_gs.precio_sg_mb,0)::varchar);
v_resp = pxp.f_agrega_clave(v_resp,'v_precio_ga_mb',COALESCE(v_datos_ga_gs.precio_ga_mb*v_factor,0)::varchar); --10 ADQ, segun la configuracion de comproemtido para la solcitidu
v_resp = pxp.f_agrega_clave(v_resp,'v_precio_sg_mb',COALESCE(v_datos_ga_gs.precio_sg_mb*v_factor,0)::varchar); --10 ADQ, "
v_resp = pxp.f_agrega_clave(v_resp,'v_fecha_comp', COALESCE(v_datos_ga_gs.fecha_comp,'')::varchar);


--Devuelve la respuesta
Expand Down
Loading

0 comments on commit 011b616

Please sign in to comment.