Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. BEGIN
  2. DECLARE sizeOperadors INT;
  3. DECLARE contadorOperadors INT DEFAULT 0;
  4. DECLARE sizePermisos INT;
  5. DECLARE contadorPermisos INT DEFAULT 0;
  6. DECLARE codiOperador varchar(30);
  7. DECLARE tipusOp INT;
  8. DECLARE baixaPeticioV INT;
  9. DECLARE canvisEnMassaV INT;
  10. DECLARE edicioIntrasAlienesV INT;
  11. DECLARE facturacioPrimeraFaseV INT;
  12. DECLARE finalitzarCasosV INT;
  13. DECLARE fusionarCasosV INT;
  14. DECLARE modulArxiuV INT;
  15. DECLARE modulEstMediquesV INT;
  16. DECLARE modulFacturacioV INT;
  17. DECLARE modulGestioAnaliticaV INT;
  18. DECLARE modulQualitatV INT;
  19. DECLARE modulTaulellControlV INT;
  20. DECLARE modulTipologiesV INT;
  21. DECLARE modulUsuarisV INT;
  22. DECLARE opAvanzadasLabV INT;
  23. DECLARE opEspecialesFactV INT;
  24. DECLARE permisCanviarContrasenyaV INT;
  25. DECLARE reciclarReferenciaV INT;
  26. DECLARE reobrirCasosV INT;
  27. DECLARE solicitudECV INT;
  28. DECLARE autoriaECV INT;
  29. DECLARE edicioECAlienesV INT;
  30. DECLARE secreValidaLiquidsV INT;
  31.  
  32. DECLARE POPT_codiTipusPermis INT;
  33. DECLARE POPT_codiTipusOperador INT;
  34. DECLARE POPT_value INT;
  35. DECLARE INSERT_PERMIS_ESPECIAL INT DEFAULT 0;
  36.  
  37.  
  38.  
  39.  
  40. DECLARE Cur CURSOR FOR select po.codiOperador, modulGestioAnalitica, modulFacturacio, modulTaulellControl, facturacioPrimeraFase, edicioIntrasAlienes, reobrirCasos, opAvanzadasLab, canvisEnMassa,
  41. fusionarCasos,reciclarReferencia, opEspecialesFact, baixaPeticio, modulUsuaris, modulTipologies, modulEstMediques, modulQualitat, modulArxiu, finalitzarCasos, solicitudEC, autoriaEC,
  42. secreValidaLiquids, edicioECAlienes, permisCanviarContrasenya, o.TipusOperador_codiTipus from PermisosOperador po left join Operadors o on po.codiOperador = o.codiOperador
  43. left join TipusOperador tto on tto.codiTipus = o.TipusOperador_codiTipus;
  44.  
  45. DECLARE CONTINUE HANDLER FOR NOT FOUND SET @acabado = TRUE;
  46. OPEN Cur;
  47. select FOUND_ROWS() into sizeOperadors;
  48. loop1: LOOP
  49. FETCH Cur INTO codiOperador, modulGestioAnaliticaV, modulFacturacioV, modulTaulellControlV, facturacioPrimeraFaseV, edicioIntrasAlienesV, reobrirCasosV, opAvanzadasLabV, canvisEnMassaV, fusionarCasosV,reciclarReferenciaV, opEspecialesFactV, baixaPeticioV, modulUsuarisV, modulTipologiesV, modulEstMediquesV, modulQualitatV, modulArxiuV, finalitzarCasosV, solicitudECV, autoriaECV, secreValidaLiquidsV, edicioECAlienesV, permisCanviarContrasenyaV, tipusOp;
  50.  
  51.  
  52.  
  53. IF sizeOperadors = contadorOperadors-1 THEN
  54. select 'finaliza cur1', codiop;
  55. LEAVE loop1;
  56. END IF;
  57.  
  58. BEGIN
  59. DECLARE Cur2 CURSOR FOR Select codiTipusPermis, codiTipusOperador, valor from PermisOperadorPerTipus where codiTipusOperador = tipusOp order by codiTipusPermis asc;
  60. DECLARE CONTINUE HANDLER FOR NOT FOUND SET @acabadoPermisos = TRUE;
  61. OPEN Cur2;
  62. select FOUND_ROWS() into sizePermisos;
  63. loop2: LOOP
  64. FETCH Cur2 INTO POPT_codiTipusPermis, POPT_codiTipusOperador, POPT_value;
  65. IF sizePermisos = contadorPermisos-1 THEN
  66. SET contadorPermisos = 0;
  67. /*select "finaliza cur2", POPT_codiTipusPermis,POPT_value;
  68. LEAVE loop2;*/
  69. END IF;
  70. case POPT_codiTipusPermis
  71.  
  72. when 1 then IF baixaPeticioV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  73.  
  74. when 2 then IF canvisEnMassaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  75.  
  76. when 3 then IF edicioIntrasAlienesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  77.  
  78. when 4 then IF facturacioPrimeraFaseV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  79.  
  80. when 5 then IF finalitzarCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  81.  
  82. when 6 then IF fusionarCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  83.  
  84. when 7 then IF modulArxiuV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  85.  
  86. when 8 then IF modulEstMediquesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  87.  
  88. when 9 then IF modulFacturacioV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  89.  
  90. when 10 then IF modulGestioAnaliticaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  91.  
  92. when 11 then IF modulQualitatV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  93.  
  94. when 12 then IF modulTaulellControlV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  95.  
  96. when 13 then IF modulTipologiesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  97.  
  98. when 14 then IF modulUsuarisV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  99.  
  100. when 15 then IF opAvanzadasLabV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  101.  
  102. when 16 then IF opEspecialesFactV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  103.  
  104. when 17 then IF permisCanviarContrasenyaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  105.  
  106. when 18 then IF reciclarReferenciaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  107.  
  108. when 19 then IF reobrirCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  109.  
  110. when 20 then IF solicitudECV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  111.  
  112. when 21 then IF autoriaECV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  113.  
  114. when 22 then IF edicioECAlienesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  115.  
  116. when 23 then IF secreValidaLiquidsV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
  117. ELSE SET INSERT_PERMIS_ESPECIAL = INSERT_PERMIS_ESPECIAL;/*select codiOperador, POPT_codiTipusPermis, POPT_VALUE;*/
  118. end case;
  119. IF INSERT_PERMIS_ESPECIAL = 1 THEN
  120. INSERT INTO PermisEspecialPerOperador values(codiOperador,POPT_codiTipusPermis, POPT_value);
  121. END IF;
  122. SET INSERT_PERMIS_ESPECIAL = 0;
  123. SET contadorPermisos = contadorPermisos+1;
  124. END LOOP loop2;
  125.  
  126. END;
  127. SET contadorOperadors = contadorOperadors+1;
  128. END LOOP loop1;
  129. CLOSE Cur;
  130. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement