Advertisement
kuroshan1104

f_get_cargo_desague_periodo FILTRADO CODIGO PUESTO

Feb 8th, 2025
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.61 KB | Source Code | 0 0
  1. BEGIN
  2.     DECLARE v_cant INT;
  3.     DECLARE v_monto DOUBLE;
  4.     DECLARE v_idgiro INT;
  5.     DECLARE v_codigo VARCHAR(50);  -- Variable para almacenar el código del puesto
  6.  
  7.     SET v_monto = 0;
  8.  
  9.     -- Obtener el idgiro y el código del puesto
  10.     SELECT p.idgiro, p.codigo INTO v_idgiro, v_codigo
  11.     FROM p_puesto p
  12.     WHERE p.idpuesto = vidpuesto;
  13.  
  14.     -- Verificar si el puesto tiene el servicio activo
  15.     SELECT COUNT(*) INTO v_cant
  16.     FROM p_puesto_servicio ps
  17.     WHERE ps.idservicio = 3
  18.       AND ps.idpuesto = vidpuesto
  19.       AND ps.activo = 1;
  20.  
  21.     -- Lista de excepciones para monto1
  22.     IF v_codigo IN ('j0407a','m0419a') THEN  -- Sustituir  con el código real correspondiente
  23.         SET v_monto = 8;  -- Asignar monto1 para esta lista de excepciones
  24.  
  25.     -- Lista de excepciones para monto2
  26.     ELSEIF v_codigo IN ('a0108b','c1105b','c1507b','g0704b','i0801b','a1101c','j0325a') THEN  -- Sustituir 'COD870' con el código real correspondiente
  27.         SET v_monto = 13;  -- Asignar monto2 para esta lista de excepciones
  28.  
  29.     -- Lista de excepciones para monto3
  30.     ELSEIF v_codigo IN ('c0903c') THEN  -- Sustituir  con el código real correspondiente
  31.         SET v_monto = 30;  -- Asignar monto3 para esta lista de excepciones
  32.  
  33.  
  34.     ELSEIF v_cant > 0 THEN
  35.         -- Evaluar idgiro y asignar los valores correspondientes
  36.         SELECT
  37.             CASE
  38.                 WHEN v_idgiro IN (2, 6, 9) THEN 13
  39.                 ELSE 8
  40.             END INTO v_monto
  41.         FROM g_recibo_cargos gc
  42.         WHERE idconcepto = 7
  43.           AND periodo = vperiodo;
  44.     END IF;
  45.  
  46.     RETURN v_monto;
  47. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement