Advertisement
kuroshan1104

f_get_cargo_desague_periodo FINAL

Jan 21st, 2025
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.10 KB | Source Code | 0 0
  1. BEGIN
  2.     declare v_cant int;
  3.     declare v_monto DOUBLE;
  4.     declare v_idgiro int;
  5.  
  6.     SET v_monto = 0;
  7.  
  8.     -- Obtener el idgiro del puesto
  9.     select p.idgiro into v_idgiro
  10.     from p_puesto p
  11.     where p.idpuesto = vidpuesto;
  12.  
  13.     -- Verificar si el puesto tiene el servicio activo
  14.     select count(*) INTO v_cant
  15.     from p_puesto_servicio ps
  16.     where ps.idservicio = 3
  17.     and ps.idpuesto = vidpuesto
  18.     and ps.activo = 1;
  19.  
  20.     -- Lista de excepciones para monto1
  21.     if vidpuesto IN (697) THEN
  22.         SET v_monto = 15;  -- Asignar monto1 para esta lista de excepciones
  23.  
  24.     -- Lista de excepciones para monto2
  25.     ELSEIF vidpuesto IN (870) THEN
  26.         SET v_monto = 20;  -- Asignar monto2 para esta lista de excepciones
  27.  
  28.     ELSEIF v_cant > 0 THEN
  29.         -- Evaluar idgiro y asignar los valores correspondientes
  30.         select
  31.             CASE
  32.                 WHEN v_idgiro IN (2, 6, 9) THEN 13
  33.                 ELSE 8
  34.             END into v_monto
  35.         from g_recibo_cargos gc
  36.         where idconcepto = 7
  37.         and periodo = vperiodo;
  38.     END IF;
  39.  
  40.     RETURN v_monto;
  41. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement