Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BEGIN
- DECLARE v_cant INT;
- DECLARE v_monto DOUBLE;
- DECLARE v_idgiro INT;
- DECLARE v_codigo VARCHAR(50); -- Variable para almacenar el código del puesto
- SET v_monto = 0;
- -- Obtener el idgiro y el código del puesto
- SELECT p.idgiro, p.codigo INTO v_idgiro, v_codigo
- FROM p_puesto p
- WHERE p.idpuesto = vidpuesto;
- -- Verificar si el puesto tiene el servicio activo
- SELECT COUNT(*) INTO v_cant
- FROM p_puesto_servicio ps
- WHERE ps.idservicio = 3
- AND ps.idpuesto = vidpuesto
- AND ps.activo = 1;
- -- Lista de excepciones para monto1
- IF v_codigo IN ('j0407a','m0419a') THEN -- Sustituir con el código real correspondiente
- SET v_monto = 8; -- Asignar monto1 para esta lista de excepciones
- -- Lista de excepciones para monto2
- ELSEIF v_codigo IN ('a0108b','c1105b','c1507b','g0704b','i0801b','a1101c','j0325a') THEN -- Sustituir 'COD870' con el código real correspondiente
- SET v_monto = 13; -- Asignar monto2 para esta lista de excepciones
- -- Lista de excepciones para monto3
- ELSEIF v_codigo IN ('c0903c') THEN -- Sustituir con el código real correspondiente
- SET v_monto = 30; -- Asignar monto3 para esta lista de excepciones
- ELSEIF v_cant > 0 THEN
- -- Evaluar idgiro y asignar los valores correspondientes
- SELECT
- CASE
- WHEN v_idgiro IN (2, 6, 9) THEN 13
- ELSE 8
- END INTO v_monto
- FROM g_recibo_cargos gc
- WHERE idconcepto = 7
- AND periodo = vperiodo;
- END IF;
- RETURN v_monto;
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement