Académique Documents
Professionnel Documents
Culture Documents
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101
/*!40101
/*!40101
/*!40101
SET
SET
SET
SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
NAMES utf8 */;
AND U.`idoficina`=O.`idoficina`
AND U.`idcentro`=O.`idcentro`;
END IF;
ELSE
SELECT 'ERROR: Codigo de equipo no existe';
END IF;
ELSE
SELECT 'Error: Campo en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `consul_equipos_asignados`(
IN `vportaretrato` VARCHAR(8)
)
DETERMINISTIC
BEGIN
DECLARE v_portaretrato VARCHAR(8);
DECLARE v_codigosimach VARCHAR(20);
DECLARE flag INT(1);
IF vportaretrato <>'' THEN /* valida k los campos No Nulos no es
ten en blanco*/
SELECT portaretrato INTO v_portaretrato FROM usuario WHE
RE portaretrato = vportaretrato;
SET flag = (SELECT(COUNT(*) > 0) FROM asignacion WHERE p
ortaretrato= vportaretrato);
IF v_portaretrato IS NOT NULL THEN /* valida que el cod
igo ingresado exista*/
IF (flag) THEN
SELECT U.nombre AS Nomb,U.apellidos AS apelli,T.
descripcion,D.descrip AS tipo,
D.marca,D.modelo,D.capacidad,A.serie,A.fechasign
FROM `usuario` AS U INNER JOIN asignacion AS A I
NNER JOIN equipo AS E INNER
JOIN detallequipo AS D INNER JOIN tipoequipo AS
T ON U.`portaretrato`=vportaretrato
AND U.`portaretrato`=A.`portaretrato`
AND A.`serie`=E.`serie`
AND E.`iddetequipo`=D.`iddetequipo`
AND D.`idtipoequipo`=T.`idtipoequipo`;
SELECT serie INTO v_codigosimach FROM asignacion
WHERE portaretrato=idportaretrato AND serie IN(S
ELECT serie_cntenedor FROM equipo);
SELECT T.descripcion,D.descrip AS Tipo,D.marca,D.modelo,
D.capacidad,E.serie
FROM equipo AS E INNER JOIN det_tipo_equipo AS D INNER J
OIN tipo_equipo AS T
ON E.`serie_contenedor`=vserie
AND E.`d_det_tipo_equi`=D.`d_det_tipo_equi`
AND D.`d_tipo_tipo_equipo`=T.`d_tipo_equipo`;
ELSE
SELECT 'Usuario no tiene equipos asignados';
END IF;
ELSE
SELECT 'ERROR: Codigo de usuario no existe';
END IF;
ELSE
`portaretrato` ,
`codigosimach` ,
`nompc`,
`dirIp`,
`fechasign`
)
VALUES (vportaretrato, vcodigosimach, vn
ompc, vdirIp, vfechasign);
SELECT 'Registro aadido correctam
ente';
ELSE
SELECT 'ERROR: Direccion Ip ya e
xiste';
END IF;
ELSE
SELECT 'ERROR: Nombre de Pc ya e
xiste';
END IF;
ELSE
SELECT 'ERROR: Ingrese la direcc
ion Ip';
END IF;
END IF;
ELSE /* si No de IF videstado='OP' THEN*/
IF videstado='DI' THEN /* caso contrario
*/
IF vnompc='' THEN
IF vdirIp='' THEN
INSERT INTO `bds
opotin`.`asignacion` (
`portaretrato` ,
`codigosimach` ,
`nompc`,
`dirIp`,
`fechasign`
)
VALUES (vportaretrato, v
codigosimach, vnompc, vdirIp, vfechasign);
SELECT 'Registro aadido c
orrectamente';
ELSE
SELECT 'ERROR: d
ireccion Ip no puede ir sin un nombre de Pc';
END IF;
ELSE
IF vdirIp<>'' TH
EN
IF funci
on_busca(vnompc,1)=0 THEN /* Funcion para validar que nombre de Pc ingresado no
exista*/
IF funcion_busca(vdirIp,2)=0 THEN /* Funcion para validar que nombre de Pc ingre
sado no exista*/
INSERT I
NTO `bdsopotin`.`asignacion` (
`portare
trato` ,
`codigos
imach` ,
`nompc`,
`dirIp`,
`fechasi
gn`
)
VALUES (
vportaretrato, vcodigosimach, vnompc, vdirIp, vfechasign);
SELECT '
Registro aadido correctamente';
ELSE
SELECT 'ERROR: direccion Ip ya existe';
END IF;
ELSE
SELECT 'ERROR: Nombre de Pc ya existe';
END IF;
ELSE
SELECT 'ERROR: I
ngrese la direccion Ip';
END IF;
END IF;
ELSE
SELECT 'ERROR: Codigo de Estado
no es el Apropiado';
END IF;
END IF; /* End de IF videstado='OP' THEN */
ELSE
SELECT 'ERROR: Codigo de equipo no existe';
END IF;
ELSE
SELECT 'ERROR: Codigo de Usuario no existe';
END IF;
ELSE
SELECT 'ERROR: Campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_cargo`(
IN `vnom_cargo` varchar(45)
)
DETERMINISTIC
BEGIN
DECLARE vnom VARCHAR(45);
IF vnom_cargo<>'' THEN
SELECT nomcargo INTO vnom FROM cargo WHERE nomcargo = UPPER(vnom_cargo);
IF ISNULL(vnom) THEN
INSERT INTO `bdsopotin`.`cargo` (
`nomcargo`
)
VALUES (UPPER(vnomcargo));
SELECT 'Registro aadido correctamente';
ELSE
SELECT 'ERROR: nombre de cargo ya existe';
END IF;
ELSE
SELECT 'Error: campo en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_centro`(
IN `vidcentro` varchar(8),
IN `vnomcentro` varchar(45),
IN `vdircentro` varchar(60)
)
DETERMINISTIC
BEGIN
DECLARE ID VARCHAR(8);
DECLARE NOM VARCHAR(45);
DECLARE DIR VARCHAR(60);
IF vidcentro<>'' AND vnomcentro<>'' AND vdircentro<>'' THEN
SELECT idcentro INTO ID FROM centrooperativo WHERE idcentro = vidcentro;
IF ISNULL(ID) THEN
SELECT nombrecentro INTO NOM FROM centrooperativo WHERE nombrece
ntro = vnomcentro;
IF ISNULL(NOM) THEN
INSERT INTO `bdsopotin`.`centrooperativo` (
`idcentro` ,
`nombrecentro` ,
`dir_centro`
)
VALUES (vidcentro, vnomcentro, vdircentro);
SELECT 'Registro aadido correctamente';
ELSE
SELECT 'ERROR: nombre de centro ya existe';
END IF;
ELSE
SELECT 'Error: Codigo de centro ya existe';
END IF;
ELSE
SELECT 'Error: campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_detallesoft`(
IN `vproductkey` VARCHAR(60),
IN `vdescripcion` VARCHAR(60)
)
DETERMINISTIC
BEGIN
DECLARE v_productkey INT(4);
DECLARE v_descripcion VARCHAR(60);
IF vproductkey ='' AND vdescripcion ='' THEN /* valida k los campos No N
ulos no esten en blanco*/
BEGIN
SET vproductkey=NULL;
END;
END IF;
IF vproductkey<>'' AND vdescripcion<>'' THEN
BEGIN
SELECT productkey INTO v_productkey FROM licencias WHERE product
key = vproductkey;
SELECT descripcion INTO v_descripcion FROM licencias WHERE descr
ipcion = vdescripcion;
IF ISNULL(v_productkey) THEN /* valida que el codigo ingresado
exista*/
BEGIN
IF v_descripcion IS NOT NULL THEN /* valida que el codi
go ingresado exista*/
BEGIN
INSERT INTO `bdsopotin`.`licencias` (
`productkey`,
`descripcion`
)
VALUES (vproductkey, vdescripcion);
SELECT 'Registro aadido correctamente';
END;
ELSE
SELECT 'ERROR: Codigo de Software No existe';
END IF;
END;
ELSE
SELECT 'ERROR: Descripcion de Software No existe';
END IF;
END;
ELSE
SELECT 'ERROR: Campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_detequipo`(
IN `vdescrip` varchar(60),
IN `vmarca` varchar(45),
IN `vmodelo` varchar(45),
IN `vserie` varchar(45),
IN `vtecnologia` varchar(45),
IN `vcapacidad` varchar(20),
IN `vidtipequipo` int
)
DETERMINISTIC
BEGIN
DECLARE vdes varchar(60);
DECLARE vmar varchar(45);
DECLARE vmod varchar(45);
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
vser varchar(45);
vtec varchar(45);
vcap varchar(45);
vidtipo int;
flag int(1);
o);
IF ISNULL(vestad) THEN /* valida que el codigo ingresado exista*/
SELECT nomestado INTO vnomest FROM estado WHERE nomestado = UPPE
R(vnomestado);
IF ISNULL(vnomest) THEN /* valida que el estado ingresado exist
a*/
INSERT INTO `bdsopotin`.`estado` (
`idestado` ,
`nomestado`
)
VALUES (UPPER(videstado), UPPER(vnomestado));
SELECT 'Registro aadido correctamente';
ELSE
SELECT 'ERROR: Nombre de estado ya existe';
END IF;
ELSE
SELECT 'ERROR: Nombre de estado ya existe';
END IF;
ELSE
SELECT 'ERROR: Campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_modifyusuario`(
IN `vportaretrato` varchar(8),
IN `vnombre` varchar(45),
IN `vapellidos` varchar(45),
IN `vdni` varchar(12),
IN `vcorreo` varchar(45),
IN `vanexo` varchar(25),
IN `vidoficina` varchar(12),
IN `vidcargo` int(4)
)
DETERMINISTIC
BEGIN
DECLARE v_portaretrato VARCHAR(8);
DECLARE v_idcargo INT(4);
DECLARE v_idoficina VARCHAR(12);
IF vidcargo ='' THEN SET vidcargo=NULL; END IF;
IF vanexo ='' THEN SET vanexo=NULL; END IF;
IF vportaretrato<>'' AND vnombre<>'' AND vapellidos<>'' AND vdni<>'' AND
vcorreo<>'' AND vidoficina<>'' THEN
SELECT portaretrato INTO v_portaretrato FROM usuario WHERE porta
retrato = UPPER(vportaretrato);
IF v_portaretrato IS NOT NULL THEN /* valida que el codigo ingr
esado exista*/
SELECT idoficina INTO v_idoficina FROM oficina WHERE idoficina =
UPPER(vidoficina);
IF vidoficina IS NOT NULL THEN /* valida que el codigo ingresad
o exista*/
IF vidcargo IS NULL THEN
UPDATE `bdsopotin`.`usuario`
SET
`portaretrato` = vportaretrato,
`nombre` = vnombre,
`apellidos` = vapellidos,
`dni` = vdni,
`correo` =vcorreo,
`anexo` =vanexo,
`idoficina` = vidoficina,
`idcargo` = vidcargo
WHERE `usuario`.`portaretrato` = vportaretrato L
IMIT 1;
SELECT 'Registro Modificado correctamente';
ELSE
SELECT idcargo INTO v_idcargo FROM cargo WHERE i
dcargo = vidcargo;
IF v_cargo IS NOT NULL THEN
UPDATE `bdsopotin`.`usuario`
SET
`portaretrato` = vportaretrato,
`nombre` = vnombre,
`apellidos` = vapellidos,
`dni` = vdni,
`correo` = vcorreo,
`anexo` = vanexo,
`idoficina` = vidoficina,
`idcargo` = vidcargo
WHERE `usuario`.`portaretrato` = vportaretrato L
IMIT 1;
SELECT 'Registro Modificado correctament
e';
ELSE
SELECT 'ERROR: Codigo de cargo No existe
';
END IF;
END IF;
ELSE
SELECT 'ERROR: Codigo de oficina No existe';
END IF;
ELSE
SELECT 'ERROR: Portaretrato de usuario no existe';
END IF;
ELSE
SELECT 'ERROR: Campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_oficina`(
IN `vidoficina` varchar(12),
IN `vnombreoficina` varchar(45),
IN `vidcentro` varchar(8)
)
DETERMINISTIC
BEGIN
DECLARE vidofic VARCHAR(45);
DECLARE vnomofic VARCHAR(45);
DECLARE vidcent VARCHAR(8);
IF vidoficina<>'' AND vnombreoficina<>'' AND vidcentro<>'' THEN
SELECT idoficina INTO vidoficina FROM oficina WHERE idoficina = vidofici
na;
IF ISNULL(vidofic) THEN
)
VALUES (vruc, vnomprov, vdirprov, vtelfprov);
SELECT 'Registro aadido correctamente';
ELSE
SELECT 'ERROR: Direccion de proveedor ya existe';
END IF;
ELSE
SELECT 'ERROR: Nombre de proveedor ya existe';
END IF;
ELSE
SELECT 'ERROR: Ruc de proveedor ya existe';
END IF;
ELSE
SELECT 'ERROR: Campos en blanco';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_software`(
IN `vidsoft` int(4),
IN `vidproveedor` int(4),
IN `vdescrip` varchar(60)
)
DETERMINISTIC
BEGIN
DECLARE v_idsoft INT(4);
DECLARE v_idproveedor INT(4);
DECLARE v_descrip VARCHAR(60);
IF vidsoft ='' AND vidproveedor ='' THEN /* valida k los campos No Nulos
no esten en blanco*/
BEGIN
SET vidsoft=NULL;
END;
END IF;
IF vidsoft<>'' AND vidproveedor<>'' THEN
BEGIN
SELECT idsoft INTO v_idsoft FROM software WHERE idsoft = vidsoft
;
SELECT idproveedor INTO v_idproveedor FROM proveedor WHERE idpro
veedor = vidproveedor;
IF ISNULL(v_idsoft) THEN /* valida que el codigo ingresado exis
ta*/
BEGIN
IF v_idproveedor IS NOT NULL THEN /* valida que el codi
go ingresado exista*/
BEGIN
INSERT INTO `bdsopotin`.`software` (
`idsoft`,
`idproveedor`,
`descrip`
)
VALUES (vidsoft, vidproveedor);
SELECT 'Registro aadido correctamente';
END;
ELSE
SELECT 'ERROR: Codigo de proveedor No existe';
END IF;
END;
ELSE
SELECT 'ERROR: Codigo de software No existe';
END IF;
END;
ELSE
SELECT 'ERROR: Portaretrato de usuario ya existe';
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_tipoequipo`(
IN `vidtipoequipo` int,
IN `vdescripcion` varchar(45)
)
DETERMINISTIC
BEGIN
DECLARE v_idtipoequipo int;
DECLARE v_descripcion varchar(45);
IF vidtipoequipo<>'' AND vdescripcion<>'' THEN /* valida k los campos No
Nulos no esten en blanco*/
SELECT idtipoequipo INTO v_idtipoequipo FROM tipoequipo WHERE i
dtipoequipo = vidtipoequipo;
IF v_idtipoequipo IS NULL THEN /* valida que el codigo ingresado
exista*/
SELECT descripcion INTO v_descripcion FROM tipoequipo WH
ERE TRIM (descripcion) = TRIM(vdescripcion);
IF v_descripcion IS NULL THEN /* valida que el estado i
ngresado exista*/
INSERT INTO `bdsopotin`.`detallequipo` (
`idtipoequipo` ,
`descripcion`
)
VALUES (vidtipoequipo, UPPER(vdescripcion));
SELECT 'Registro aadido correctamente';
ELSE
SELECT 'Error: Descripcion ya existe';
END IF;
ELSE
SELECT 'Error: codigo tipo equipo ya existe';
END IF;
END IF;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_usuario`(
IN `vportaretrato` varchar(8),
IN `vnombre` varchar(45),
IN `vapellidos` varchar(45),
IN `vdni` varchar(12),
IN `vcorreo` varchar(45),
IN `vanexo` varchar(25),
IN `vidoficina` varchar(12),
IN `vidcargo` int
)
DETERMINISTIC
BEGIN
DECLARE ID VARCHAR(8);
DECLARE ID2 VARCHAR(12);
DECLARE ID3 INT;
' AUTO_INCREMENT
INSERT
(1, 1,
(2, 1,
(3, 1,
(4, 1,