Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BEGIN
- DECLARE sizeOperadors INT;
- DECLARE contadorOperadors INT DEFAULT 0;
- DECLARE sizePermisos INT;
- DECLARE contadorPermisos INT DEFAULT 0;
- DECLARE codiOperador varchar(30);
- DECLARE tipusOp INT;
- DECLARE baixaPeticioV INT;
- DECLARE canvisEnMassaV INT;
- DECLARE edicioIntrasAlienesV INT;
- DECLARE facturacioPrimeraFaseV INT;
- DECLARE finalitzarCasosV INT;
- DECLARE fusionarCasosV INT;
- DECLARE modulArxiuV INT;
- DECLARE modulEstMediquesV INT;
- DECLARE modulFacturacioV INT;
- DECLARE modulGestioAnaliticaV INT;
- DECLARE modulQualitatV INT;
- DECLARE modulTaulellControlV INT;
- DECLARE modulTipologiesV INT;
- DECLARE modulUsuarisV INT;
- DECLARE opAvanzadasLabV INT;
- DECLARE opEspecialesFactV INT;
- DECLARE permisCanviarContrasenyaV INT;
- DECLARE reciclarReferenciaV INT;
- DECLARE reobrirCasosV INT;
- DECLARE solicitudECV INT;
- DECLARE autoriaECV INT;
- DECLARE edicioECAlienesV INT;
- DECLARE secreValidaLiquidsV INT;
- DECLARE POPT_codiTipusPermis INT;
- DECLARE POPT_codiTipusOperador INT;
- DECLARE POPT_value INT;
- DECLARE INSERT_PERMIS_ESPECIAL INT DEFAULT 0;
- DECLARE Cur CURSOR FOR select po.codiOperador, modulGestioAnalitica, modulFacturacio, modulTaulellControl, facturacioPrimeraFase, edicioIntrasAlienes, reobrirCasos, opAvanzadasLab, canvisEnMassa,
- fusionarCasos,reciclarReferencia, opEspecialesFact, baixaPeticio, modulUsuaris, modulTipologies, modulEstMediques, modulQualitat, modulArxiu, finalitzarCasos, solicitudEC, autoriaEC,
- secreValidaLiquids, edicioECAlienes, permisCanviarContrasenya, o.TipusOperador_codiTipus from PermisosOperador po left join Operadors o on po.codiOperador = o.codiOperador
- left join TipusOperador tto on tto.codiTipus = o.TipusOperador_codiTipus;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET @acabado = TRUE;
- OPEN Cur;
- select FOUND_ROWS() into sizeOperadors;
- loop1: LOOP
- 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;
- IF sizeOperadors = contadorOperadors-1 THEN
- select 'finaliza cur1', codiop;
- LEAVE loop1;
- END IF;
- BEGIN
- DECLARE Cur2 CURSOR FOR Select codiTipusPermis, codiTipusOperador, valor from PermisOperadorPerTipus where codiTipusOperador = tipusOp order by codiTipusPermis asc;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET @acabadoPermisos = TRUE;
- OPEN Cur2;
- select FOUND_ROWS() into sizePermisos;
- loop2: LOOP
- FETCH Cur2 INTO POPT_codiTipusPermis, POPT_codiTipusOperador, POPT_value;
- IF sizePermisos = contadorPermisos-1 THEN
- SET contadorPermisos = 0;
- /*select "finaliza cur2", POPT_codiTipusPermis,POPT_value;
- LEAVE loop2;*/
- END IF;
- case POPT_codiTipusPermis
- when 1 then IF baixaPeticioV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 2 then IF canvisEnMassaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 3 then IF edicioIntrasAlienesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 4 then IF facturacioPrimeraFaseV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 5 then IF finalitzarCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 6 then IF fusionarCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 7 then IF modulArxiuV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 8 then IF modulEstMediquesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 9 then IF modulFacturacioV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 10 then IF modulGestioAnaliticaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 11 then IF modulQualitatV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 12 then IF modulTaulellControlV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 13 then IF modulTipologiesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 14 then IF modulUsuarisV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 15 then IF opAvanzadasLabV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 16 then IF opEspecialesFactV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 17 then IF permisCanviarContrasenyaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 18 then IF reciclarReferenciaV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 19 then IF reobrirCasosV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 20 then IF solicitudECV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 21 then IF autoriaECV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 22 then IF edicioECAlienesV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- when 23 then IF secreValidaLiquidsV != POPT_VALUE THEN SET INSERT_PERMIS_ESPECIAL = 1; END IF;
- ELSE SET INSERT_PERMIS_ESPECIAL = INSERT_PERMIS_ESPECIAL;/*select codiOperador, POPT_codiTipusPermis, POPT_VALUE;*/
- end case;
- IF INSERT_PERMIS_ESPECIAL = 1 THEN
- INSERT INTO PermisEspecialPerOperador values(codiOperador,POPT_codiTipusPermis, POPT_value);
- END IF;
- SET INSERT_PERMIS_ESPECIAL = 0;
- SET contadorPermisos = contadorPermisos+1;
- END LOOP loop2;
- END;
- SET contadorOperadors = contadorOperadors+1;
- END LOOP loop1;
- CLOSE Cur;
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement