· 7 years ago · Dec 06, 2018, 10:56 PM
1DROP TABLE IF EXISTS td_notificacion;
2
3CREATE TABLE `td_notificacion` (
4 `td_idnotificacion` int(11) NOT NULL AUTO_INCREMENT,
5 `td_tipo_notificacion` varchar(20) DEFAULT NULL,
6 `td_accion_notificacion` varchar(20) DEFAULT NULL,
7 `td_idusuario_destino` int(11) DEFAULT NULL,
8 `td_idusuario_origen` int(11) DEFAULT NULL,
9 `td_imagen` varchar(200) DEFAULT NULL,
10 `td_titulo` varchar(150) DEFAULT NULL,
11 `td_content` varchar(200) DEFAULT NULL,
12 `td_urlredirect` varchar(200) DEFAULT NULL,
13 `td_metadata` TEXT DEFAULT NULL,
14 `Activo` tinyint(1) DEFAULT NULL,
15 `IdUsuarioReg` int(11) NOT NULL,
16 `FechaReg` datetime NOT NULL,
17 `IdUsuarioAct` int(11) NOT NULL,
18 `FechaAct` datetime NOT NULL,
19 PRIMARY KEY (`td_idnotificacion`)
20) ENGINE=InnoDB DEFAULT CHARSET=latin1;
21
22
23DROP PROCEDURE IF EXISTS `pa_notificacion_register`;
24DELIMITER //
25CREATE PROCEDURE `pa_notificacion_register`(
26 IN tipo_notificacion VARCHAR(20),
27 IN accion_notificacion VARCHAR(20),
28 IN idusuario_destino INT,
29 IN idusuario_origen INT,
30 IN imagen VARCHAR(200),
31 IN titulo VARCHAR(150),
32 IN content varchar(200),
33 IN urlredirect varchar(200),
34 IN metadata TEXT,
35 IN `idusuario` INT(11),
36 OUT `rpta` INT(11), OUT `titulomsje` VARCHAR(200), OUT `contenidomsje` VARCHAR(200)
37)
38BEGIN
39 INSERT INTO td_notificacion (td_tipo_notificacion, td_accion_notificacion, td_idusuario_destino, td_idusuario_origen, td_imagen, td_titulo, td_content, td_urlredirect, td_metadata, Activo, IdUsuarioReg, FechaReg , IdUsuarioAct, FechaAct)
40 VALUES (tipo_notificacion, accion_notificacion, idusuario_destino, idusuario_origen, imagen, titulo, content, urlredirect, metadata, 1, idusuario, NOW(), idusuario, NOW());
41
42 SELECT LAST_INSERT_ID() into rpta;
43 SELECT 'Registrado correctamente' INTO titulomsje;
44 SELECT 'La operación se realizo con éxito' INTO contenidomsje;
45END//
46DELIMITER ;
47
48
49DROP PROCEDURE IF EXISTS sp_detailAnnouncement_state_change;
50DELIMITER //
51CREATE PROCEDURE sp_detailAnnouncement_state_change
52(
53 IN detailAnnouncementId INT,
54 IN state VARCHAR(2),
55 IN userId INT,
56 OUT rpta INT
57)
58BEGIN
59 UPDATE td_requerimiento SET ta_estado_facilitador = state, IdUsuarioAct = userId, FechaAct = NOW() WHERE td_idrequerimiento = detailAnnouncementId;
60 SET rpta = detailAnnouncementId;
61END//
62DELIMITER ;
63
64
65
66DROP PROCEDURE IF EXISTS pa_contacted_list;
67DELIMITER //
68CREATE PROCEDURE pa_contacted_list
69(
70 IN tipo VARCHAR(10),
71 IN _tipousuario VARCHAR(2),
72 IN employerId INT,
73 IN pagina INT
74)
75BEGIN
76 DECLARE firstLimit INT(11) DEFAULT 42;
77 DECLARE vstart INT(11) DEFAULT 0;
78
79 set vstart = (pagina * firstLimit) - firstLimit;
80
81 SELECT
82 dr.td_idrequerimiento,
83 a.tm_idusuario,
84 a.tm_login as descripcion,
85 a.tm_nombres, a.tm_apellidos,
86 a.tm_foto,
87 a.tm_email,
88 a.tm_telefono,
89 a.tm_nrodocumento,
90 YEAR(CURRENT_TIMESTAMP) - YEAR(a.tm_nacimiento) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(a.tm_nacimiento, 5)) as edad,
91 a.ta_estado_usuario,
92 b.tm_nombre AS actividad,
93 COALESCE(vp.ta_tipo_negociacion, '03') AS ta_tipo_negociacion,
94 COALESCE(vp.TipoNegociacion, 'Ninguna') AS TipoNegociacion,
95 CASE COALESCE(vp.ta_tipo_negociacion, '03') WHEN '01' THEN
96 CASE WHEN _tipousuario IN ('01','02') THEN COALESCE(vp.td_preciomax, 0) ELSE COALESCE(vp.td_preciomin, 0) END
97 ELSE
98 COALESCE(vp.td_precio, 0)
99 END AS precio_fijo,
100 r.tm_idrequerimiento,
101 er.ta_codigo AS codigo_estado_requerimiento,
102 er.ta_denominacion AS text_estado_requerimiento,
103 er.ta_colorleyenda AS color_estado_requerimiento,
104 vp.td_precio,
105 vp.td_preciomin,
106 vp.td_preciomax,
107 a.FechaReg,
108 COALESCE(pais.tp_nombre, 'Sin paÃs') AS pais,
109 COALESCE(pais.tp_icono, 'no-set') AS bandera_pais,
110 COALESCE(ubi.tp_nombre, 'Sin ciudad') AS ciudad
111 FROM tm_usuario AS a
112 INNER JOIN tm_actividad AS b ON a.tm_idactividad = b.tm_idactividad
113 LEFT JOIN tp_pais AS pais ON a.tp_idpais = pais.tp_idpais
114 LEFT JOIN tp_ubigeo AS ubi ON a.tp_idubigeo = ubi.tp_idubigeo
115 LEFT JOIN (
116 SELECT vprecio.tm_idusuario,
117 vprecio.ta_tipo_negociacion,
118 tn.ta_denominacion AS TipoNegociacion,
119 vprecio.td_precio,
120 vprecio.td_preciomin,
121 vprecio.td_preciomax
122 FROM td_vigencia_precio AS vprecio
123 INNER JOIN ta_tabla AS tn ON vprecio.ta_tipo_negociacion = tn.ta_codigo AND tn.ta_campo = 'ta_tipo_negociacion'
124 WHERE NOW() BETWEEN vprecio.td_fechainicio AND vprecio.td_fechafin AND vprecio.Activo = 1
125 ) AS vp ON a.tm_idusuario = vp.tm_idusuario
126 INNER JOIN td_requerimiento AS dr ON a.tm_idusuario = dr.tm_idusuariofacilitador
127 INNER JOIN tm_requerimiento AS r ON r.tm_idrequerimiento = dr.tm_idrequerimiento
128 INNER JOIN ta_tabla AS er ON dr.ta_estado_facilitador = er.ta_codigo AND er.ta_campo = 'ta_estado_facilitador'
129 WHERE a.ta_interfazusuario = '01' AND r.tm_idusuario = employerId
130 AND a.tm_login <> ''
131 ORDER BY dr.FechaReg DESC
132 LIMIT vstart, firstLimit;
133END//
134DELIMITER ;