Version 20.51.20: Mar 19, 2021 Rooms database tables renamed.

This commit is contained in:
acanas 2021-03-19 10:50:13 +01:00
parent dc6a870602
commit bc4f1949fa
5 changed files with 62 additions and 51 deletions

View File

@ -1243,6 +1243,25 @@ CREATE TABLE IF NOT EXISTS prj_usr (
UsrCod INT NOT NULL, UsrCod INT NOT NULL,
UNIQUE INDEX(PrjCod,RoleInProject,UsrCod)); UNIQUE INDEX(PrjCod,RoleInProject,UsrCod));
-- --
-- Table roo_MACs: stores the associations between rooms and MAC addresses
--
CREATE TABLE IF NOT EXISTS roo_MACs (
RooCod INT NOT NULL AUTO_INCREMENT,
MAC BIGINT NOT NULL,
UNIQUE INDEX(RooCod,MAC),
UNIQUE INDEX(MAC,RooCod));
--
-- Table roo_check_in: stores the history of locations of users
--
CREATE TABLE IF NOT EXISTS roo_check_in (
ChkCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL,
RooCod INT NOT NULL,
CheckInTime DATETIME NOT NULL,
UNIQUE INDEX(ChkCod),
INDEX(UsrCod,CheckInTime),
INDEX(CheckInTime));
--
-- Table roo_rooms: stores the rooms associated to each center -- Table roo_rooms: stores the rooms associated to each center
-- --
CREATE TABLE IF NOT EXISTS roo_rooms ( CREATE TABLE IF NOT EXISTS roo_rooms (
@ -1257,25 +1276,6 @@ CREATE TABLE IF NOT EXISTS roo_rooms (
UNIQUE INDEX(RooCod), UNIQUE INDEX(RooCod),
INDEX(CtrCod,BldCod,Floor)); INDEX(CtrCod,BldCod,Floor));
-- --
-- Table room_MAC: stores the associations between rooms and MAC addresses
--
CREATE TABLE IF NOT EXISTS room_MAC (
RooCod INT NOT NULL AUTO_INCREMENT,
MAC BIGINT NOT NULL,
UNIQUE INDEX(RooCod,MAC),
UNIQUE INDEX(MAC,RooCod));
--
-- Table room_check_in: stores the history of locations of users
--
CREATE TABLE IF NOT EXISTS room_check_in (
ChkCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL,
RooCod INT NOT NULL,
CheckInTime DATETIME NOT NULL,
UNIQUE INDEX(ChkCod),
INDEX(UsrCod,CheckInTime),
INDEX(CheckInTime));
--
-- Table ses_params: stores some hidden parameters passed from a page to another using database instead of forms -- Table ses_params: stores some hidden parameters passed from a page to another using database instead of forms
-- --
CREATE TABLE IF NOT EXISTS ses_params ( CREATE TABLE IF NOT EXISTS ses_params (

View File

@ -6009,13 +6009,13 @@ int swad__getLocation (struct soap *soap,
"roo_rooms.RooCod," // row[10] "roo_rooms.RooCod," // row[10]
"roo_rooms.ShortName," // row[11] "roo_rooms.ShortName," // row[11]
"roo_rooms.FullName" // row[12] "roo_rooms.FullName" // row[12]
" FROM room_MAC," " FROM roo_MACs,"
"roo_rooms," "roo_rooms,"
"bld_buildings," "bld_buildings,"
"ctr_centers," "ctr_centers,"
"ins_instits" "ins_instits"
" WHERE room_MAC.MAC=%llu" " WHERE roo_MACs.MAC=%llu"
" AND room_MAC.RooCod=roo_rooms.RooCod" " AND roo_MACs.RooCod=roo_rooms.RooCod"
" AND roo_rooms.BldCod=bld_buildings.BldCod" " AND roo_rooms.BldCod=bld_buildings.BldCod"
" AND bld_buildings.CtrCod=ctr_centers.CtrCod" " AND bld_buildings.CtrCod=ctr_centers.CtrCod"
" AND ctr_centers.InsCod=ins_instits.InsCod" " AND ctr_centers.InsCod=ins_instits.InsCod"
@ -6070,7 +6070,7 @@ int swad__sendMyLocation (struct soap *soap,
/* Get the code of the inserted item */ /* Get the code of the inserted item */
ChkCod = ChkCod =
DB_QueryINSERTandReturnCode ("can not save current location", DB_QueryINSERTandReturnCode ("can not save current location",
"INSERT INTO room_check_in" "INSERT INTO roo_check_in"
" (UsrCod,RooCod,CheckInTime)" " (UsrCod,RooCod,CheckInTime)"
" SELECT %ld," " SELECT %ld,"
"RooCod," "RooCod,"
@ -6152,20 +6152,20 @@ int swad__getLastLocation (struct soap *soap,
"roo_rooms.RooCod," // row[10] "roo_rooms.RooCod," // row[10]
"roo_rooms.ShortName," // row[11] "roo_rooms.ShortName," // row[11]
"roo_rooms.FullName," // row[12] "roo_rooms.FullName," // row[12]
"UNIX_TIMESTAMP(room_check_in.CheckInTime)" // row[13] "UNIX_TIMESTAMP(roo_check_in.CheckInTime)" // row[13]
" FROM room_check_in," " FROM roo_check_in,"
"roo_rooms," "roo_rooms,"
"bld_buildings," "bld_buildings,"
"ctr_centers," "ctr_centers,"
"ins_instits" "ins_instits"
" WHERE room_check_in.UsrCod=%d" " WHERE roo_check_in.UsrCod=%d"
" AND room_check_in.ChkCod=" " AND roo_check_in.ChkCod="
"(SELECT ChkCod" "(SELECT ChkCod"
" FROM room_check_in" " FROM roo_check_in"
" WHERE UsrCod=%d" " WHERE UsrCod=%d"
" ORDER BY ChkCod DESC" " ORDER BY ChkCod DESC"
" LIMIT 1)" // Faster than SELECT MAX " LIMIT 1)" // Faster than SELECT MAX
" AND room_check_in.RooCod=roo_rooms.RooCod" " AND roo_check_in.RooCod=roo_rooms.RooCod"
" AND roo_rooms.BldCod=bld_buildings.BldCod" " AND roo_rooms.BldCod=bld_buildings.BldCod"
" AND bld_buildings.CtrCod=ctr_centers.CtrCod" " AND bld_buildings.CtrCod=ctr_centers.CtrCod"
" AND ctr_centers.InsCod=ins_instits.InsCod", " AND ctr_centers.InsCod=ins_instits.InsCod",
@ -6217,7 +6217,7 @@ static void API_GetDataOfLocation (struct soap *soap,
roo_rooms.RooCod // row[10] roo_rooms.RooCod // row[10]
roo_rooms.ShortName // row[11] roo_rooms.ShortName // row[11]
roo_rooms.FullName // row[12] roo_rooms.FullName // row[12]
UNIX_TIMESTAMP(room_check_in.CheckInTime) // row[13] (optional) UNIX_TIMESTAMP(roo_check_in.CheckInTime) // row[13] (optional)
*/ */
/* Get institution code (row[0]) */ /* Get institution code (row[0]) */

View File

@ -600,13 +600,18 @@ TODO: Salvador Romero Cort
TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria. TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria.
*/ */
#define Log_PLATFORM_VERSION "SWAD 20.51.19 (2021-03-19)" #define Log_PLATFORM_VERSION "SWAD 20.51.20 (2021-03-19)"
#define CSS_FILE "swad20.45.css" #define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.6.2.js" #define JS_FILE "swad20.6.2.js"
/* /*
TODO: Rename CENTRE to CENTER in help wiki. TODO: Rename CENTRE to CENTER in help wiki.
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
Version 20.51.20: Mar 19, 2021 Rooms database tables renamed. (308069 lines)
2 changes necessary in database:
RENAME TABLE room_MAC TO roo_MACs;
RENAME TABLE room_check_in TO roo_check_in;
Version 20.51.19: Mar 19, 2021 Rooms database table renamed. (308059 lines) Version 20.51.19: Mar 19, 2021 Rooms database table renamed. (308059 lines)
1 change necessary in database: 1 change necessary in database:
RENAME TABLE rooms TO roo_rooms; RENAME TABLE rooms TO roo_rooms;

View File

@ -2646,26 +2646,26 @@ mysql> DESCRIBE roo_rooms;
"UNIQUE INDEX(RooCod)," "UNIQUE INDEX(RooCod),"
"INDEX(CtrCod,BldCod,Floor))"); "INDEX(CtrCod,BldCod,Floor))");
/***** Table room_MAC *****/ /***** Table roo_MACs *****/
/* /*
mysql> DESCRIBE room_MAC; mysql> DESCRIBE roo_MACs;
+--------+------------+------+-----+---------+----------------+ +--------+--------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+----------------+ +--------+--------+------+-----+---------+----------------+
| RooCod | int(11) | NO | PRI | NULL | auto_increment | | RooCod | int | NO | PRI | NULL | auto_increment |
| MAC | bigint(20) | NO | PRI | NULL | | | MAC | bigint | NO | PRI | NULL | |
+--------+------------+------+-----+---------+----------------+ +--------+--------+------+-----+---------+----------------+
2 rows in set (0.00 sec) 2 rows in set (0.01 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_MAC (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS roo_MACs ("
"RooCod INT NOT NULL," "RooCod INT NOT NULL,"
"MAC BIGINT NOT NULL," // 12 digits hexadecimal number "MAC BIGINT NOT NULL," // 12 digits hexadecimal number
"UNIQUE INDEX(RooCod,MAC)," "UNIQUE INDEX(RooCod,MAC),"
"UNIQUE INDEX(MAC,RooCod))"); "UNIQUE INDEX(MAC,RooCod))");
/***** Table room_check_in *****/ /***** Table roo_check_in *****/
/* /*
mysql> DESCRIBE room_check_in; mysql> DESCRIBE roo_check_in;
+-------------+----------+------+-----+---------+----------------+ +-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+ +-------------+----------+------+-----+---------+----------------+
@ -2676,7 +2676,7 @@ mysql> DESCRIBE room_check_in;
+-------------+----------+------+-----+---------+----------------+ +-------------+----------+------+-----+---------+----------------+
4 rows in set (0.00 sec) 4 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_check_in (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS roo_check_in ("
"ChkCod INT NOT NULL AUTO_INCREMENT," "ChkCod INT NOT NULL AUTO_INCREMENT,"
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"RooCod INT NOT NULL," "RooCod INT NOT NULL,"

View File

@ -359,7 +359,7 @@ static unsigned Roo_GetMACAddresses (long RooCod,MYSQL_RES **mysql_res)
/***** Get MAC addresses from database *****/ /***** Get MAC addresses from database *****/
return (unsigned) DB_QuerySELECT (mysql_res,"can not get MAC addresses", return (unsigned) DB_QuerySELECT (mysql_res,"can not get MAC addresses",
"SELECT MAC" // row[0] "SELECT MAC" // row[0]
" FROM room_MAC" " FROM roo_MACs"
" WHERE RooCod=%ld" " WHERE RooCod=%ld"
" ORDER BY MAC", " ORDER BY MAC",
RooCod); RooCod);
@ -394,14 +394,20 @@ void Roo_ChangeMAC (void)
/***** Check if the new MAC is different from the old MAC *****/ /***** Check if the new MAC is different from the old MAC *****/
if (OldMACnum) if (OldMACnum)
DB_QueryDELETE ("can not remove MAC address", DB_QueryDELETE ("can not remove MAC address",
"DELETE FROM room_MAC" "DELETE FROM roo_MACs"
" WHERE RooCod=%ld AND MAC=%llu", " WHERE RooCod=%ld"
Roo_EditingRoom->RooCod,OldMACnum); " AND MAC=%llu",
Roo_EditingRoom->RooCod,
OldMACnum);
if (NewMACnum) if (NewMACnum)
/***** Update the table of rooms-MACs changing the old MAC for the new one *****/ /***** Update the table of rooms-MACs changing the old MAC for the new one *****/
DB_QueryREPLACE ("can not change MAC address", DB_QueryREPLACE ("can not change MAC address",
"REPLACE INTO room_MAC (RooCod,MAC) VALUES (%ld,%llu)", "REPLACE INTO roo_MACs"
Roo_EditingRoom->RooCod,NewMACnum); " (RooCod,MAC)"
" VALUES"
" (%ld,%llu)",
Roo_EditingRoom->RooCod,
NewMACnum);
Roo_EditingRoom->MACnum = NewMACnum; Roo_EditingRoom->MACnum = NewMACnum;
} }
@ -1632,7 +1638,7 @@ static void Roo_CreateRoom (struct Roo_Room *Room)
/***** Create MAC address *****/ /***** Create MAC address *****/
if (Room->MACnum) if (Room->MACnum)
DB_QueryINSERT ("can not create MAC address", DB_QueryINSERT ("can not create MAC address",
"INSERT INTO room_MAC" "INSERT INTO roo_MACs"
" (RooCod,MAC)" " (RooCod,MAC)"
" VALUES" " VALUES"
" (%ld,%llu)", " (%ld,%llu)",