Aplicació assistència

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Instal.lació

Volco tot el contingut que han fet els alumnes al directori:

/usr/share/apache2/assistencia

(el Apache està configurat per apuntar aquesta carpeta amb el alias http://localhost/assistencia)

http://localhost/assistencia -> funciona

ara he de configurar el mysql, doncs el login i pwd que em demana segur que està en una taula del mysql

El mysql ja està instal.lat per defecte amb el Linkat. Ara bé, no deu estar arrencat i no sé logins i pwds...

$ mysql
dóna l'error:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

aquest error és perquè el servidor està apagat:

$ service mysql start -> s'engega sense problemes
Creating/Updating MySQL privilege database...
Installing all prepared tables
Fill help tables
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h linux-server.jaumebalmes.net password 'new-password'
See the manual for more instructions.
You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
Updating MySQL privilege database...
Fixing privilege tables...
Starting service MySQL     

com que és la primera vegada que s'engega, s'executa un script d'inici


Així doncs, fico els passwords:

/usr/bin/mysqladmin -u root password '*******'
/usr/bin/mysqladmin -u root -h linux-server.jaumebalmes.net password '*******'

i ara ja puc entrar 
<pre>
$ mysql --user=root --password=*******

diferents maneres de connectar-me des d'una màquina de la xarxa:

$ mysql --user=root --password=******* assistencia
$ mysql --host=192.168.0.15 --port=3306 --user=root --password=******* assistencia
$ mysql -h 192.168.0.15 -P 3306 -u root -p******* assistencia
$ mysql -h 192.168.0.15 -P 3306 -u root -p ******* -> es pensa que la bd a la que et vols connectares diu *******, i -p suelto vol dir que li has d'introduir per teclat el pwd

password: -p (sense deixar espai) o --password=

encara no tinc cap base de dades. Arrenca bé i tinc el prompt del mysql: >mysql

tinc el script de creació de les taules dins de /assistencia/bd: assistencia.sql

Tanmateix és un script per crear les taules no la base de dades.

Creo manualment la base de dades.

mysql> create database assistencia;
mysql> use assistencia
mysql> source /usr/share/apache2/assistencia/bd/assistencia.sql

i funciona sense errors

Per saber els logins i passwords amb permisos he de mirar la taula 'humanos'. Per ex:

mysql> select * from humano;
mysql> select login,pass from humano where nom='Joan';

http://localhost/assistencia fico el login i pwd, i tanmateix: Error! No es pot connectar amb el servidor MySQL.

un cop tinc creada la bd puc entrar al mysql directament a la bd:

$ mysql --user=root --password=******* assistencia

include("./includes/functions.php");

include("conexionBD.php"); -> el problema està aquí. He de canviar el pwd del root (els alumnes havien posat sintesi08 i ara és *******)

només es poden logar els que tenen el camp status>0: si em logo com a llados/llados: Autentificació incorrecte

i si em logo com a joan/joan:

S'ha detectat a la nostra base de dades
que no existeixen crèdits assignats al teu perfil per a aquesta hora.
Pots passar llista escollint manualment l'horari, el curs i el crèdit.

em centro en el fitxer form_Pasarlista.php

Quan passo llista es fa una inserció a la taula 'lista_pasada', i d'aquesta manera es porta el control de què ja s'ha passat llista a una hora concreta.

alumnes presents:

$num_presents = AlumnosPresentes($credito, $id_horario[0]);

i aquesta funció està a

include_once("./includes/functions.php"); (a la línia 1089)

i la select que s'executa és:

SELECT h.id, ho.dia_semana, ho.hora_ini FROM humano h INNER JOIN credito_humano ch ON h.id = ch.id_humano INNER JOIN horario ho ON ch.id_credito = ho.id_credito WHERE h.status != 2 AND baja = 0 AND ch.id_credito = 15 AND ho.id = 67

select * from humano h, credito_humano ch, horario ho WHERE h.id = ch.id_humano and ch.id_credito = ho.id_credito
AND h.status != 2 AND baja = 0 AND ch.id_credito = 15 AND ho.id = 67


Configuració de l'aplicació de la webcam

pwd d'Administrador de l'aplicació: 12345

vull configurar la connexió a la base de dades: 192.168.0.15 root/*******

sembla ser que no es pot connectar per un problema de permisos. S'ha de donar la possibilitat que ens connectem des d'una màquina externa.

des de la màquina 192.168.0.12:

$ mysql -h 192.168.0.15 -P 3306 -u root -p*******
ERROR 1130 (00000): Host '192.168.0.12' is not allowed to connect to this MySQL server

he de configurar el meu servidor mysql per permetre connexions des de l'exterior.

by default... in the /etc/sysconfig/mysqld file are a line for not permit use mysql from external hosts (MYSQLD_OPTIONS="--skip-networking").

  1. (oe) Remove --skip-networking to enable network access from
  1. non local clients. Access from localhost will still work.
  1. MYSQLD_OPTIONS="--skip-networking"

-> en el meu cas, edito /etc/my.cnf, descomento la línia skip-networking, i l'error que tenia:

ERROR 1130 (00000): Host '192.168.0.12' is not allowed to connect to this MySQL server

passa a ser:

ERROR 2003 (00000): Can't connect to MySQL Server on '192.168.0.15' (111)

de fet, lo correcte és comentar la línia: em puc connectar (no dóna l'error 2003), però no tinc permisos. Els permisos no vénen pel networking, sinó pels permisos d'usuari.

Para que los usuarios se puedan conectar desde fuera tendrás que crearlos con los privilegios externos:

mysql> GRANT USAGE ON * . * TO 'usuario'@'IP_de_la_maquina_usuario' IDENTIFIED BY 'password';

En phpmyadmin tienes la opción de indicar desde donde se conectan y si se pueden conectar desde cualquier sitio. en el meu cas:

mysql> GRANT USAGE ON *.* TO 'root'@'192.168.0.12' IDENTIFIED BY '*******';
mysql> GRANT USAGE ON *.* TO 'root'@'192.168.0.9' IDENTIFIED BY '*******';
mysql> GRANT USAGE ON *.* TO 'root'@192.168.0.9 IDENTIFIED BY '*******';
mysql> GRANT USAGE ON *.* TO 'root'@192.168.0.9 IDENTIFIED BY '*******';
mysql> grant all on assistencia.* to root@"%" identified by "*******"; -> ara!!
mysql> flush privileges;

En l'aplicació client ja puc instal.lar la càmera. Directori per enviar les fotos: de moment fico un recurs local:

D:/fotos_alumnes/ (amb la barra final)

Finalment, he configurat el Samba i fico en l'aplicació de la webcam el recurs: \\192.168.0.15\fotos\

Nota 2010-2011. En compartir la carpeta, sobretot marcar els dos checks (pemetre a tothom gravar). A més, que la carpeta tingui permisos. I sobretot, reiniciar el SAMBA (/etc/init.d/smb restart)

Modificació base de dades Crèdit de Síntesi

2008-2009

Primer de tot, fer una còpia de la base de dades.

insert into credito values(25,2,'CS DAI','CS DAI');

select id from humano where ap1='Quintana'; -> 3
select id from humano where ap1='Madridejos'; -> 2
select id from humano where ap1='Batlle'; -> 1
select id from humano where nom='Eduard' and ap1='Garcia'; -> 4

delete from faltas;
millor:
delete from faltas where id_horario IN (select id from horario where id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);


select * from credito;
+----+----------+---------+-----------------------------------------+
| id | id_grupo | codigo  | descripcion                             |
+----+----------+---------+-----------------------------------------+
| 13 |        2 | PAV     | Programació Avançada                  |
| 14 |        2 | EG      | Entorns Gràfics                        |
| 15 |        2 | EC      | Eines Caise                             |
| 16 |        2 | ANA     | Anàlisis   

mysql> desc credito_humano;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment |
| id_credito | int(11) | NO   |     |         |                |
| id_humano  | int(11) | NO   |     |         |                |
+------------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

update credito set codigo='PAV-CS', descripcion='Crèdit de Síntesi' where id=13;
update credito set codigo='EG-CS', descripcion='Crèdit de Síntesi' where id=14;
update credito set codigo='Ec-CS', descripcion='Crèdit de Síntesi' where id=15;
update credito set codigo='ANA-CS', descripcion='Crèdit de Síntesi' where id=16;

mysql> desc horario;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment |
| id_credito | int(11) | NO   |     |         |                |
| dia_semana | int(1)  | NO   |     |         |                |
| hora_ini   | int(2)  | NO   |     |         |                |
| min_ini    | int(2)  | NO   |     |         |                |
| hora_fin   | int(2)  | NO   |     |         |                |
| min_fin    | int(2)  | NO   |     |         |                |
+------------+---------+------+-----+---------+----------------+

select * from horario where hora_ini=18 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);

update horario set hora_fin=19,min_fin=30 where hora_ini=18 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);

update horario set hora_ini=19,min_ini=30 where hora_ini=19 and min_ini=25 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);

select * from horario where hora_ini=19 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);

update horario set hora_fin=20,min_fin=25 where hora_ini=19 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);

si vull aplicar-ho a tots els cursos, ho podem fer millor:

update horario set hora_fin=19,min_fin=30 where hora_fin=19 and min_fin=25;
update horario set hora_fin=20,min_fin=25 where hora_fin=20 and min_fin=15;

afegim dues quatre hores noves
select max(id) from horario; -> 111
insert into horario values(112,15,2,15,30,16,25);
insert into horario values(113,16,3,19,30,20,25);
insert into horario values(114,15,5,18,35,19,30);
insert into horario values(115,15,5,19,30,20,25);
esborrem una hora:
delete from horario where id=60;

Comprovem que els horaris de 2n de DAI estiguin bé:
select * from horario where hora_ini=18 and (id_credito=13 or id_credito=14 or id_credito=15 or id_credito=16);


Afegir i treure alumnes de les assignatures:

select id,nom,ap1 from humano order by ap1;  

PAV (13)
select codigo, credito.id,humano.id,nom,ap1 from credito,credito_humano,humano where credito.id=credito_humano.id_credito and humano.id=credito_humano.id_humano and credito.id=13 order by ap1;

delete from credito_humano where id_humano=45 and id_credito=13;
delete from credito_humano where id_humano=99 and id_credito=13;
delete from credito_humano where id_humano=83 and id_credito=13;
delete from credito_humano where id_humano=96 and id_credito=13;

EG (14)
select codigo, credito.id,humano.id,nom,ap1 from credito,credito_humano,humano where credito.id=credito_humano.id_credito and humano.id=credito_humano.id_humano and credito.id=14 order by ap1;

delete from credito_humano where id_humano=45 and id_credito=14;
delete from credito_humano where id_humano=93 and id_credito=14;
delete from credito_humano where id_humano=99 and id_credito=14;
delete from credito_humano where id_humano=44 and id_credito=14;
delete from credito_humano where id_humano=83 and id_credito=14;
delete from credito_humano where id_humano=96 and id_credito=14;

Carriba (77), Florit (97), Celma (89), Álvarez (45)

insert into credito_humano values (370,14,77);
insert into credito_humano values (371,14,97);
insert into credito_humano values (372,14,89);
insert into credito_humano values (373,14,45);

EC (15)
select codigo, credito.id,humano.id,nom,ap1 from credito,credito_humano,humano where credito.id=credito_humano.id_credito and humano.id=credito_humano.id_humano and credito.id=15 order by ap1;

delete from credito_humano where id_humano=93 and id_credito=15;
delete from credito_humano where id_humano=99 and id_credito=15;
delete from credito_humano where id_humano=83 and id_credito=15;
delete from credito_humano where id_humano=96 and id_credito=15;

insert into credito_humano values (374,15,97);
insert into credito_humano values (375,15,45);

ANA (16)
select codigo, credito.id,humano.id,nom,ap1 from credito,credito_humano,humano where credito.id=credito_humano.id_credito and humano.id=credito_humano.id_humano and credito.id=16 order by ap1;


delete from credito_humano where id_humano=93 and id_credito=16;
delete from credito_humano where id_humano=99 and id_credito=16;
delete from credito_humano where id_humano=83 and id_credito=16;
delete from credito_humano where id_humano=96 and id_credito=16;

insert into credito_humano values (376,16,97);
insert into credito_humano values (377,16,45);

estem en el CS, a 1r s'ha d'afegir noves classes de SO i de XAL, i desapareix de PEM

insert into horario values(116,6,3,18,35,19,30);
insert into horario values(117,6,3,19,30,20,25);

insert into horario values(118,5,4,18,35,19,30);
insert into horario values(119,5,4,19,30,20,25);

2009-2010

Modificació base de dades Crèdit de Síntesi 09-10

mysql> select id,nom,login from humano where id<20;
+----+-------------+---------+
| id | nom         | login   |
+----+-------------+---------+
|  1 | admin       | admin   | 
|  2 | Montse      | montse  | 
|  3 | Joan        | joan    | 
|  4 | Eduard      | eduard  | 
|  5 | Joan Carles | joanc   | 
|  6 | Javier      | javier  | 
|  8 | Antonio     | antonio | 
|  9 | Albert      | albert  | 
| 10 | Jordi       | jordi   | 
+----+-------------+---------+

mysql> select * from credito;
+----+----------+---------+-----------------------------------------------------+
| id | id_grupo | codigo  | descripcion                                         |
+----+----------+---------+-----------------------------------------------------+
|  1 |        1 | PEM DAI | Programaci� Estructurada i Modular                  | 
|  2 |        1 | XAL DAI | Xarxes D'�rea Local                                 | 
|  3 |        1 | SO DAI  | Sistemes Operatius                                  | 
|  4 |        1 | BD DAI  | Bases de Dades                                      | 
|  5 |        2 | PAV     | Programaci� Avan�ada                                | 
|  6 |        2 | EG      | Entorns Gr�fics                                     | 
|  7 |        2 | EC      | Eines Caise                                         | 
|  8 |        2 | ANA     | An�lisis                                            | 
|  9 |        1 | FOL DAI | Formaci� i Orientaci� Laboral                       | 
| 10 |        1 | RET DAI | Relacions En L'Entorn De Treball                    | 
| 11 |        2 | CS      | Cr�dit de S�ntesi                                   | 
| 12 |        3 | XAL ASI | Xarxes d'�rea Local                                 | 
| 13 |        3 | PEM ASI | Programaci� Estructurada i Modular                  | 
| 14 |        3 | BD ASI  | Bases de Dades                                      | 
| 15 |        3 | FOL ASI | Formaci� i Orientaci� Laboral                       | 
| 16 |        3 | RET ASI | Relaci� en l'Entorn de Treball                      | 
| 17 |        3 | SO ASI  | Sistemes Operatius                                  | 
| 18 |        4 | CS      | Cr�dit de S�ntesi                                   | 
| 19 |        4 | AXAL    | Ampliaci� de Xarxes d'�rea Local                    | 
| 20 |        4 | ASGBD   | Ampliaci� Sistema Gestor de Bases de Dades          | 
| 21 |        4 | ASO     | Ampliaci� Sistemes Operatius                        | 
| 22 |        4 | EDD     | Estructures Din�miques de Dades                     | 
| 23 |        4 | DFSI    | Disseny de Funcions en el sistema inform�tic        | 
| 24 |        4 | IAIG    | Implementaci� d'Aplicacions Inform�tiques de Gesti� | 
| 25 |        4 | IAIG II | IAIG II                                             | 
+----+----------+---------+-----------------------------------------------------+

Assignatures dels profes:

mysql> select * from credito_humano where id_humano<20;
+-----+------------+-----------+
| id  | id_credito | id_humano |
+-----+------------+-----------+
|  98 |          5 |         2 | 
|  99 |          1 |         2 | 
| 100 |          7 |         3 | 
| 101 |         20 |         3 | 
| 102 |         24 |         3 | 
| 103 |          2 |         4 | 
| 104 |         12 |         4 | 
| 105 |          6 |         4 | 
| 106 |         13 |         5 | 
| 107 |         23 |         5 | 
| 108 |         14 |         6 | 
| 109 |          4 |         6 | 
| 110 |          3 |         8 | 
| 111 |         17 |         8 | 
| 112 |         21 |         8 | 
| 113 |         25 |         9 | 
| 114 |         22 |         9 | 
| 115 |         19 |         9 | 
| 116 |          8 |        10 | 
+-----+------------+-----------+

mysql> desc horario;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment |
| id_credito | int(11) | NO   |     |         |                |
| dia_semana | int(1)  | NO   |     |         |                |
| hora_ini   | int(2)  | NO   |     |         |                |
| min_ini    | int(2)  | NO   |     |         |                |
| hora_fin   | int(2)  | NO   |     |         |                |
| min_fin    | int(2)  | NO   |     |         |                |
+------------+---------+------+-----+---------+----------------+

Canvis 1r DAI:
select * from horario where dia_semana=1 and id_credito=10;
 delete from horario where id=47;
update horario set id_credito=2 where id=48;

select * from horario where dia_semana=5 and id_credito=1;
update horario set id_credito=3 where id=71;
update horario set id_credito=3 where id=72;
delete from horario where id=73;

1r ASI
select * from horario where dia_semana=2 and id_credito=16;
select * from horario where dia_semana=3 and id_credito=14;
select * from horario where dia_semana=4 and id_credito=13;
select * from horario where dia_semana=5 and id_credito=14;
update horario set id_credito=14 where id=101;
update horario set id_credito=14 where id=102;
update horario set id_credito=17 where id=109;
update horario set id_credito=17 where id=110;
delete from horario where id=111;
update horario set id_credito=12 where id=116;
delete from horario where id=120;

2n DAI
insert into horario values(144,8,1,15,30,16,25);
select * from horario where dia_semana=3 and id_credito=6;
delete from horario where id=87;
insert into horario values(145,7,5,18,35,19,25);
insert into horario values(146,7,5,19,25,20,15);
insert into horario values(150,8,5,18,35,19,25);
insert into horario values(151,8,5,19,25,20,15);
insert into horario values(152,6,5,18,35,19,25);
insert into horario values(153,6,5,19,25,20,15);
insert into horario values(156,5,5,18,35,19,25);
insert into horario values(157,5,5,19,25,20,15);


2n ASI
insert into horario values(147,25,1,19,25,20,15);
insert into horario values(148,25,5,18,35,19,25);
insert into horario values(149,25,5,19,25,20,15);
insert into horario values(154,24,5,18,35,19,25);
insert into horario values(155,24,5,19,25,20,15);
insert into horario values(158,23,5,18,35,19,25);
insert into horario values(159,23,5,19,25,20,15);

Faltes Crèdit de Síntesi

2008-2009

Per saber les faltes del crèdit de síntesi de 2n de DAI (crèdits 13, 14, 15 i 16):

select nom,ap1,count(*) from faltas f,humano hu, horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=13 or ho.id_credito=14 or ho.id_credito=15 or ho.id_credito=16) and justificada=0 
group by nom,ap1;

2009-2010

2n DAI

select ho.id_credito credit, hu.id,nom,ap1,count(*) from faltas f,humano hu,horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=5 or ho.id_credito=6 or ho.id_credito=7 or ho.id_credito=8) and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20100501' group by nom,ap1;

2n ASI

select ho.id_credito credit, hu.id,nom,ap1,count(*) from faltas f,humano hu,horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=19 or ho.id_credito=20 or ho.id_credito=21 or ho.id_credito=22 or ho.id_credito=23 or ho.id_credito=24 or ho.id_credito=25) and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20100501' group by nom,ap1;

Informe de faltes d'un alumne

select * from humano where nom='Karen';

| 50 |      0 | X5861912-V | Karen | Rabanal | Loyola | k-vanessa86@hotmail.com | Valles i Ribot n� 12 | 934082141 | 663662905 | X5861912-V05-11-2008.jpg |    0 | 05-11-2008 | Kvanessa | 121286 |
mysql> select * from credito_humano where id_humano=50;
+-----+------------+-----------+
| id  | id_credito | id_humano |
+-----+------------+-----------+
| 153 |          2 |        50 |
| 154 |          4 |        50 |
| 155 |          6 |        50 |
| 156 |          8 |        50 |
| 157 |         10 |        50 |
| 158 |         12 |        50 |
+-----+------------+-----------+
6 rows in set (0.00 sec)
select hu.id,nom,ap1,count(*) from faltas f,humano hu, horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=2 or ho.id_credito=4 or ho.id_credito=6 or ho.id_credito=8 or ho.id_credito=10 or ho.id_credito=12) and justificada=0 and hu.id=50
group by nom,ap1;
mysql> select hu.id,nom,ap1,count(*) from faltas f,humano hu, horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=2 or ho.id_credito=4 or ho.id_credito=6 or ho.id_credito=8 or ho.id_credito=10 or ho.id_credito=12) and justificada=0 and hu.id=50
    -> group by nom,ap1;
+----+-------+---------+----------+
| id | nom   | ap1     | count(*) |
+----+-------+---------+----------+
| 50 | Karen | Rabanal |       40 |
+----+-------+---------+----------+
mysql> select hu.id,nom,ap1,ho.id_credito, count(*) from faltas f,humano hu, horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=2 or ho.id_credito=4 or ho.id_credito=6 or ho.id_credito=8 or ho.id_credito=10 or ho.id_credito=12) and justificada=0 and hu.id=50
    -> group by nom,ap1,ho.id_credito;
+----+-------+---------+------------+----------+
| id | nom   | ap1     | id_credito | count(*) |
+----+-------+---------+------------+----------+
| 50 | Karen | Rabanal |          2 |        8 |
| 50 | Karen | Rabanal |          4 |       15 |
| 50 | Karen | Rabanal |          6 |        6 |
| 50 | Karen | Rabanal |          8 |       11 |
+----+-------+---------+------------+----------+

Informe de faltes per assignatura

Hem de saber el codi de l'assignatura:

Eines CASE: id=7
ASGBD: id=20
IAIG: id=24

Des de principi de curs:

select ho.id_credito credit, hu.id,nom,ap1,count(*) from faltas f,humano hu, horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=24) and justificada=0 group by nom,ap1;

+-----+----------------+-----------+----------+
| id  | nom            | ap1       | count(*) |
+-----+----------------+-----------+----------+
|  45 | Abel           | Torner    |        7 |
| 137 | Adrià          | Soriano   |        6 |
| 147 | Anthony Manuel | Milian    |        5 |
|  31 | Antoni         | Bravo     |        1 |
|  52 | Carles         | Domènech  |        4 |
|  42 | Daniel         | Garvin    |        3 |
|  43 | Elisabet       | Sobrans   |        1 |
|  41 | Guillermo      | Pons      |        3 |
|  32 | Jordi          | Pleixats  |        3 |
|  33 | Jorge          | Gómez     |        3 |
|  39 | Jose Carlos    | Hernandez |        4 |
|  40 | José María     | Blasco    |        3 |
|  48 | Marc           | Del Cid   |        1 |
|  64 | Victor         | Alloza    |        4 |
+-----+----------------+-----------+----------+
14 rows in set (0.02 sec)

Si vull calcular les faltes entre dues dates concretes per a un crèdit: (20091106 = 06-11-2009)

select ho.id_credito credit, hu.id,nom,ap1,count(*) from faltas f,humano hu,horario ho where f.id_humano=hu.id and ho.id=f.id_horario and (ho.id_credito=24) and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20091106' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20091111' group by nom,ap1;

Informe de faltes per assignatura i per data

select ho.id_credito credit, hu.id,nom,ap1, fecha from faltas f,humano hu, horario ho 
where f.id_humano=hu.id and ho.id=f.id_horario 
and (ho.id_credito=11) and justificada=0 order by ap1, ho.id_credito, fecha;

Canvis en la matriculació dels alumnes

Per saber el codi dels crèdits:

mysql> select * from credito;
+----+----------+---------+-----------------------------------------------------+
| id | id_grupo | codigo  | descripcion                                         |
+----+----------+---------+-----------------------------------------------------+
|  1 |        1 | PEM DAI | Programaci� Estructurada i Modular                  | 
|  2 |        1 | XAL DAI | Xarxes D'�rea Local                                 | 
|  3 |        1 | SO DAI  | Sistemes Operatius                                  | 
|  4 |        1 | BD DAI  | Bases de Dades                                      | 
|  5 |        2 | PAV     | Programaci� Avan�ada                                | 
|  6 |        2 | EG      | Entorns Gr�fics                                     | 
|  7 |        2 | EC      | Eines Caise                                         | 
|  8 |        2 | ANA     | An�lisis                                            | 
|  9 |        1 | FOL DAI | Formaci� i Orientaci� Laboral                       | 
| 10 |        1 | RET DAI | Relacions En L'Entorn De Treball                    | 
| 11 |        2 | CS      | Cr�dit de S�ntesi                                   | 
| 12 |        3 | XAL ASI | Xarxes d'�rea Local                                 | 
| 13 |        3 | PEM ASI | Programaci� Estructurada i Modular                  | 
| 14 |        3 | BD ASI  | Bases de Dades                                      | 
| 15 |        3 | FOL ASI | Formaci� i Orientaci� Laboral                       | 
| 16 |        3 | RET ASI | Relaci� en l'Entorn de Treball                      | 
| 17 |        3 | SO ASI  | Sistemes Operatius                                  | 
| 18 |        4 | CS      | Cr�dit de S�ntesi                                   | 
| 19 |        4 | AXAL    | Ampliaci� de Xarxes d'�rea Local                    | 
| 20 |        4 | ASGBD   | Ampliaci� Sistema Gestor de Bases de Dades          | 
| 21 |        4 | ASO     | Ampliaci� Sistemes Operatius                        | 
| 22 |        4 | EDD     | Estructures Din�miques de Dades                     | 
| 23 |        4 | DFSI    | Disseny de Funcions en el sistema inform�tic        | 
| 24 |        4 | IAIG    | Implementaci� d'Aplicacions Inform�tiques de Gesti� | 
| 25 |        4 | IAIG II | IAIG II                                             | 
+----+----------+---------+-----------------------------------------------------+

Descripció de la taula humano:

mysql> desc humano;
+-----------+--------------+------+-----+-------------------------+----------------+
| Field     | Type         | Null | Key | Default                 | Extra          |
+-----------+--------------+------+-----+-------------------------+----------------+
| id        | int(11)      | NO   | PRI | NULL                    | auto_increment | 
| status    | int(1)       | NO   |     |                         |                | 
| dni       | varchar(10)  | NO   |     |                         |                | 
| nom       | varchar(20)  | NO   |     |                         |                | 
| ap1       | varchar(30)  | NO   |     |                         |                | 
| ap2       | varchar(30)  | NO   |     |                         |                | 
| mail      | varchar(30)  | NO   |     |                         |                | 
| direccion | varchar(50)  | NO   |     |                         |                | 
| telf      | int(9)       | YES  |     | NULL                    |                | 
| mov       | varchar(9)   | YES  |     | NULL                    |                | 
| foto      | varchar(200) | NO   |     |                         |                | 
| Baja      | int(11)      | NO   |     |                         |                | 
| FechaAlta | varchar(10)  | NO   |     |                         |                | 
| login     | varchar(10)  | NO   |     |                         |                | 
| pass      | varchar(10)  | NO   |     |                         |                | 
| mac       | varchar(23)  | NO   |     | 00:00:00:00:00:00:00:00 |                | 
+-----------+--------------+------+-----+-------------------------+----------------+
16 rows in set (0.01 sec)

mysql> desc credito_humano;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment | 
| id_credito | int(11) | NO   |     |         |                | 
| id_humano  | int(11) | NO   |     |         |                | 
+------------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

per canviar un alumne de crèdit, primer hem de saber de quins crèdits està matriculat:

select * from credito c, credito_humano ch where c.id=ch.id_credito and ch.id_humano=87;

i per canviar-lo de crèdit:

update credito_humano set id_credito=13 where id_credito=1 and id_humano=87;
update credito_humano set id_credito=12 where id_credito=2 and id_humano=87;
update credito_humano set id_credito=17 where id_credito=3 and id_humano=87;
update credito_humano set id_credito=14 where id_credito=4 and id_humano=87;
update credito_humano set id_credito=15 where id_credito=9 and id_humano=87;
update credito_humano set id_credito=16 where id_credito=10 and id_humano=87;

Per matricular un alumne d'una assignatura de la que es va descuidar de matricular:

select max(id) from credito_humano;

insert into credito_humano values(742,12,58);
insert into credito_humano values(743,13,58);
insert into credito_humano values(744,14,58);
insert into credito_humano values(745,15,58);
insert into credito_humano values(746,16,58);
insert into credito_humano values(747,17,58);

Canvis en la matriculació dels alumnes

Per saber el codi dels crèdits:

mysql> select * from credito;
+----+----------+---------+-----------------------------------------------------+
| id | id_grupo | codigo  | descripcion                                         |
+----+----------+---------+-----------------------------------------------------+
|  1 |        1 | PEM DAI | Programaci� Estructurada i Modular                  | 
|  2 |        1 | XAL DAI | Xarxes D'�rea Local                                 | 
|  3 |        1 | SO DAI  | Sistemes Operatius                                  | 
|  4 |        1 | BD DAI  | Bases de Dades                                      | 
|  5 |        2 | PAV     | Programaci� Avan�ada                                | 
|  6 |        2 | EG      | Entorns Gr�fics                                     | 
|  7 |        2 | EC      | Eines Caise                                         | 
|  8 |        2 | ANA     | An�lisis                                            | 
|  9 |        1 | FOL DAI | Formaci� i Orientaci� Laboral                       | 
| 10 |        1 | RET DAI | Relacions En L'Entorn De Treball                    | 
| 11 |        2 | CS      | Cr�dit de S�ntesi                                   | 
| 12 |        3 | XAL ASI | Xarxes d'�rea Local                                 | 
| 13 |        3 | PEM ASI | Programaci� Estructurada i Modular                  | 
| 14 |        3 | BD ASI  | Bases de Dades                                      | 
| 15 |        3 | FOL ASI | Formaci� i Orientaci� Laboral                       | 
| 16 |        3 | RET ASI | Relaci� en l'Entorn de Treball                      | 
| 17 |        3 | SO ASI  | Sistemes Operatius                                  | 
| 18 |        4 | CS      | Cr�dit de S�ntesi                                   | 
| 19 |        4 | AXAL    | Ampliaci� de Xarxes d'�rea Local                    | 
| 20 |        4 | ASGBD   | Ampliaci� Sistema Gestor de Bases de Dades          | 
| 21 |        4 | ASO     | Ampliaci� Sistemes Operatius                        | 
| 22 |        4 | EDD     | Estructures Din�miques de Dades                     | 
| 23 |        4 | DFSI    | Disseny de Funcions en el sistema inform�tic        | 
| 24 |        4 | IAIG    | Implementaci� d'Aplicacions Inform�tiques de Gesti� | 
| 25 |        4 | IAIG II | IAIG II                                             | 
+----+----------+---------+-----------------------------------------------------+

Descripció de la taula humano:

mysql> desc humano;
+-----------+--------------+------+-----+-------------------------+----------------+
| Field     | Type         | Null | Key | Default                 | Extra          |
+-----------+--------------+------+-----+-------------------------+----------------+
| id        | int(11)      | NO   | PRI | NULL                    | auto_increment | 
| status    | int(1)       | NO   |     |                         |                | 
| dni       | varchar(10)  | NO   |     |                         |                | 
| nom       | varchar(20)  | NO   |     |                         |                | 
| ap1       | varchar(30)  | NO   |     |                         |                | 
| ap2       | varchar(30)  | NO   |     |                         |                | 
| mail      | varchar(30)  | NO   |     |                         |                | 
| direccion | varchar(50)  | NO   |     |                         |                | 
| telf      | int(9)       | YES  |     | NULL                    |                | 
| mov       | varchar(9)   | YES  |     | NULL                    |                | 
| foto      | varchar(200) | NO   |     |                         |                | 
| Baja      | int(11)      | NO   |     |                         |                | 
| FechaAlta | varchar(10)  | NO   |     |                         |                | 
| login     | varchar(10)  | NO   |     |                         |                | 
| pass      | varchar(10)  | NO   |     |                         |                | 
| mac       | varchar(23)  | NO   |     | 00:00:00:00:00:00:00:00 |                | 
+-----------+--------------+------+-----+-------------------------+----------------+
16 rows in set (0.01 sec)

mysql> desc credito_humano;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment | 
| id_credito | int(11) | NO   |     |         |                | 
| id_humano  | int(11) | NO   |     |         |                | 
+------------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

per canviar un alumne de crèdit, primer hem de saber de quins crèdits està matriculat:

select * from credito c, credito_humano ch where c.id=ch.id_credito and ch.id_humano=87;

i per canviar-lo de crèdit:

update credito_humano set id_credito=13 where id_credito=1 and id_humano=87;
update credito_humano set id_credito=12 where id_credito=2 and id_humano=87;
update credito_humano set id_credito=17 where id_credito=3 and id_humano=87;
update credito_humano set id_credito=14 where id_credito=4 and id_humano=87;
update credito_humano set id_credito=15 where id_credito=9 and id_humano=87;
update credito_humano set id_credito=16 where id_credito=10 and id_humano=87;

Per matricular un alumne d'una assignatura de la que es va descuidar de matricular:

select max(id) from credito_humano;

insert into credito_humano values(742,12,58);
insert into credito_humano values(743,13,58);
insert into credito_humano values(744,14,58);
insert into credito_humano values(745,15,58);
insert into credito_humano values(746,16,58);
insert into credito_humano values(747,17,58);

Matricular un alumne manualment

select max(id) from humano;

insert into humano values(140,0,'aaa','Gerard','Galiana','-','-','-','-','-','47724730Y22-09-2009.jpg',0,'09-10-2009','gerard','gerard','00:00:00:00:00:00:00:00');

select max(id) from credito_humano;

insert into credito_humano values(762,19,140);
insert into credito_humano values(763,20,140);
insert into credito_humano values(764,21,140);
insert into credito_humano values(765,22,140);
insert into credito_humano values(766,23,140);
insert into credito_humano values(767,24,140);
insert into credito_humano values(768,25,140);
COMMIT;

Curs 11-12

update curs 11-12

els alumnes de crèdit de síntesi ho han deixat a la carpeta cs_assistenciafinal i cs_assistencia, que copio i renombro per assistencia1112. Modifico el fitxer /etc/apache2/default-server.conf per tal de què sigui accessible a http://192.168.0.15/assistencia. La BD és cs_assistencia.

En la taula humano es pot veure el login i pwd d'alguns professors.

La novetat d'aquest any és que l'aplicació està pensada per a gestionar els diferents mòduls i unitats formatives del nou pla LOE.

Coses a fer per posar a punt la BD i començar el curs:

omplir la BD

nota. Sembla ser que falta una cosa. Potser és posar el professor en el curs. (en l'aplicació falta assignar el professor quins crèdits fa, però això en principi ja ho tenia fet.)

insert into grupo values (1,'ASIX_1');
insert into grupo values (2,'ASIX_2');
insert into grupo values (3,'DAW_1');
insert into grupo values (4,'DAW_2');
insert into grupo values (5,'DAI');
insert into modul values (1,'A_M01_ISO','Implantació de SO - ASIX','Implantació de SO - ASIX',231);
insert into modul values (2,'A_M02_BD','Gestió de BD - ASIX','Gestió de BD - ASIX',165);
insert into modul values (3,'A_M03_PB','Programació Bàsica - ASIX','Programació Bàsica - ASIX',165);
insert into modul values (4,'A_M04_XML','XML - ASIX','XML - ASIX',99);

insert into modul values (5,'A_M05_FM','Fonaments de Maquinari','Fonaments de Maquinari',99);
insert into modul values (6,'A_M06_ASO','Adminstració de SO','Adminstració de SO',132);
insert into modul values (7,'A_M07_PAX','Adminstració de Xarxes','Adminstració de Xarxes',165);
insert into modul values (8,'A_M08_SXI','Serveis de Xarxa i Internet','Serveis de Xarxa i Internet',99);
insert into modul values (9,'A_M09_IAW','Implantació Aplic Web','Implantació Aplic Web',66);
insert into modul values (10,'A_M10_ABD','Adminstració de BD','Adminstració de BD',99);
insert into modul values (11,'A_M11_SAD','Seguretat i Alta Disp','Seguretat i Alta Disp',99);
insert into modul values (12,'A_M14_CS','Crèdit de Síntesi','Crèdit de Síntesi',99);

insert into modul values (13,'D_M01_SO','SO - DAW','SO - DAW',231);
insert into modul values (14,'D_M02_BD','Gestió de BD - DAW','Gestió de BD - DAW',165);
insert into modul values (15,'D_M03_P','Programació - DAW','Programació - DAW',165);
insert into modul values (16,'D_M04_XML','XML - DAW','XML - DAW',99);

insert into modul values (17,'D_M05_ENT','Entorns de Desenvolupament','Entorns de Desenvolupament',66);
insert into modul values (18,'D_M06_WEBCLI','Web en Entorn Client','Web en Entorn Client',165);
insert into modul values (19,'D_M07_WEBSER','Web en Entorn Servidor','Web en Entorn Servidor',165);
insert into modul values (20,'D_M08_WEBDES','Desplegament Web','Desplegament Web',99);
insert into modul values (21,'D_M09_DIW','Disseny Interfícies WEB','Disseny Interfícies WEB',99);
insert into modul values (22,'D_M14_CS','Crèdit de Síntesi','Crèdit de Síntesi',99);

insert into modul values (23,'D_ANA','Anàlisi','Anàlisi',99);
insert into modul values (24,'D_PAV','Programació Avançada','Programació Avançada',99);
insert into modul values (25,'D_EC','Eines CASE','Eines CASE',99);
insert into modul values (26,'D_EG','Entorns Gràfics','Entorns Gràfics',99);
insert into modul values (27,'D_EG','Cr&edit Síntesi','Cr&edit Síntesi',99);

ara es tracta d'anar, per cada mòdul, ficant les unitats formatives, tenint en compte que hi ha UF que es fan a 1r i d'altres a 2n

m'han dit els horaris d'inici i final de UF: Joan C, Xavi


insert into credito values (1, 1, 1, 'A_M01_ISO_UF1', 'A_M01_ISO_UF1', '19/09/2011', '1/11/2011', 60);
insert into credito values (2, 1, 1, 'A_M01_ISO_UF2', 'A_M01_ISO_UF2', '1/11/2011', '1/12/2011', 80);
insert into credito values (3, 1, 1, 'A_M01_ISO_UF3', 'A_M01_ISO_UF3', '1/11/2011', '1/12/2011', 25);
insert into credito values (4, 1, 2, 'A_M01_ISO_UF4', 'A_M01_ISO_UF4', '1/11/2011', '1/12/2011', 33);

insert into credito values (5, 2, 1, 'A_M02_BD_UF1', 'A_M02_BD_UF1', '19/09/2011', '2/12/2011', 33);
insert into credito values (6, 2, 1, 'A_M02_BD_UF2', 'A_M02_BD_UF2', '5/12/2011', '2/03/2012', 66);
insert into credito values (7, 2, 2, 'A_M02_BD_UF3', 'A_M02_BD_UF3', '21/11/2011', '17/02/2012', 33);

insert into credito values (8, 3, 1, 'A_M03_PB_UF1', 'A_M03_PB_UF1', '19/09/2011', '27/1/2011', 85);
insert into credito values (9, 3, 1, 'A_M03_PB_UF2', 'A_M03_PB_UF2', '30/01/2011', '13/04/2011', 50);
insert into credito values (10, 3, 1, 'A_M03_PB_UF3', 'A_M03_PB_UF3', '16/04/2011', '25/05/2011', 30);

insert into credito values (11, 4, 1, 'A_M04_XML_UF1', 'A_M04_XML_UF1', '19/09/2011', '1/11/2011', 45);
insert into credito values (12, 4, 1, 'A_M04_XML_UF2', 'A_M04_XML_UF2', '1/11/2011', '1/12/2011', 27);
insert into credito values (13, 4, 1, 'A_M04_XML_UF3', 'A_M04_XML_UF3', '1/11/2011', '1/12/2011', 27);

insert into credito values (14, 5, 2, 'A_M05_FM_UF1', 'A_M05_FM_UF1', '19/09/2011', '1/11/2011', 22);
insert into credito values (15, 5, 2, 'A_M05_FM_UF2', 'A_M05_FM_UF2', '1/11/2011', '1/12/2011', 22);
insert into credito values (16, 5, 2, 'A_M05_FM_UF3', 'A_M05_FM_UF3', '1/11/2011', '1/12/2011', 22);

insert into credito values (17, 6, 2, 'A_M06_ASO_UF1', 'A_M06_ASO_UF1', '1/11/2011', '1/12/2011', 70);
insert into credito values (18, 6, 2, 'A_M06_ASO_UF2', 'A_M06_ASO_UF2', '19/09/2011', '1/11/2011', 29);

insert into credito values (19, 7, 2, 'A_M07_PAX_UF1', 'A_M07_PAX_UF1', '19/09/2011', '1/11/2011', 44);
insert into credito values (20, 7, 2, 'A_M07_PAX_UF2', 'A_M07_PAX_UF2', '1/11/2011', '1/12/2011', 44);
insert into credito values (21, 7, 2, 'A_M07_PAX_UF3', 'A_M07_PAX_UF3', '1/11/2011', '1/12/2011', 44);

insert into credito values (22, 8, 2, 'A_M08_SXI_UF1', 'A_M08_SXI_UF1', '19/09/2011', '1/11/2011', 25);
insert into credito values (23, 8, 2, 'A_M08_SXI_UF2', 'A_M08_SXI_UF2', '1/11/2011', '1/12/2011', 25);
insert into credito values (24, 8, 2, 'A_M08_SXI_UF3', 'A_M08_SXI_UF3', '1/11/2011', '1/12/2011', 25);
insert into credito values (25, 8, 2, 'A_M08_SXI_UF4', 'A_M08_SXI_UF4', '1/11/2011', '1/12/2011', 24);

insert into credito values (26, 9, 2, 'A_M09_IAW_UF1', 'A_M09_IAW_UF1', '19/09/2011', '20/01/2012', 33);
insert into credito values (27, 9, 2, 'A_M09_IAW_UF2', 'A_M09_IAW_UF2', '23/01/2012', '27/04/2012', 33);

insert into credito values (28, 10, 2, 'A_M10_ABD_UF1', 'A_M10_ABD_UF1', '5/03/2012', '25/05/2012', 66);
insert into credito values (29, 10, 2, 'A_M10_ABD_UF2', 'A_M10_ABD_UF2', '19/09/2011', '18/11/2011', 33);

insert into credito values (30, 11, 2, 'A_M11_SAD_UF1', 'A_M11_SAD_UF1', '19/09/2011', '12/11/2011', 24);
insert into credito values (31, 11, 2, 'A_M11_SAD_UF2', 'A_M11_SAD_UF2', '14/11/2011', '14/01/2012', 24);
insert into credito values (32, 11, 2, 'A_M11_SAD_UF3', 'A_M11_SAD_UF3', '16/01/2012', '10/03/2012', 27);
insert into credito values (33, 11, 2, 'A_M11_SAD_UF4', 'A_M11_SAD_UF4', '12/03/2012', '27/04/2012', 24);

insert into credito values (34, 12, 2, 'A_M14_CS_UF1', 'A_M14_CS_UF1', '1/05/2011', '31/05/2011', 99);

insert into credito values (35, 13, 3, 'D_M01_SO_UF1', 'D_M01_SO_UF1', '19/09/2011', '1/11/2011', 66);
insert into credito values (36, 13, 3, 'D_M01_SO_UF2', 'D_M01_SO_UF2', '1/11/2011', '1/12/2011', 80);
insert into credito values (37, 13, 3, 'D_M01_SO_UF3', 'D_M01_SO_UF3', '1/11/2011', '1/12/2011', 25);

insert into credito values (38, 14, 3, 'D_M02_BD_UF1', 'D_M02_BD_UF1', '19/09/2011', '2/12/2011', 33);
insert into credito values (39, 14, 3, 'D_M02_BD_UF2', 'D_M02_BD_UF2', '5/12/2011', '2/03/2012', 66);
insert into credito values (40, 14, 3, 'D_M02_BD_UF3', 'D_M02_BD_UF3', '5/03/2012', '25/05/2012', 66);
insert into credito values (41, 14, 4, 'D_M02_BD_UF4', 'D_M02_BD_UF4', '19/09/2012', '1/11/2012', 33);

insert into credito values (42, 15, 3, 'D_M03_PB_UF1', 'D_M03_PB_UF1', '19/09/2011', '27/01/2012', 85);
insert into credito values (43, 15, 3, 'D_M03_PB_UF2', 'D_M03_PB_UF2', '30/01/2012', '13/04/2012', 50);
insert into credito values (44, 15, 3, 'D_M03_PB_UF3', 'D_M03_PB_UF3', '16/04/2012', '25/05/2012', 30);
insert into credito values (45, 15, 4, 'D_M03_PB_UF4', 'D_M03_PB_UF4', '19/09/2012', '1/11/2012', 35);
insert into credito values (46, 15, 4, 'D_M03_PB_UF5', 'D_M03_PB_UF5', '1/11/2012', '1/12/2012', 35);
insert into credito values (47, 15, 4, 'D_M03_PB_UF6', 'D_M03_PB_UF6', '1/11/2012', '1/12/2012', 29);

insert into credito values (48, 16, 3, 'D_M04_XML_UF1', 'D_M04_XML_UF1', '19/09/2011', '1/11/2011', 45);
insert into credito values (49, 16, 3, 'D_M04_XML_UF2', 'D_M04_XML_UF2', '1/11/201', '1/12/2011', 27);
insert into credito values (50, 16, 3, 'D_M04_XML_UF3', 'D_M04_XML_UF3', '1/11/2011', '1/12/2011', 27);

insert into credito values (51, 17, 4, 'D_M05_ENT_UF1', 'D_M05_ENT_UF1', '19/09/2012', '1/11/2012', 20);
insert into credito values (52, 17, 4, 'D_M05_ENT_UF2', 'D_M05_ENT_UF2', '1/11/2012', '1/12/2012', 20);
insert into credito values (53, 17, 4, 'D_M05_ENT_UF3', 'D_M05_ENT_UF3', '1/11/2012', '1/12/2012', 26);

insert into credito values (54, 18, 4, 'D_M06_WEBCLI_UF1', 'D_M06_WEBCLI_UF1', '19/09/2012', '1/11/2012', 30);
insert into credito values (55, 18, 4, 'D_M06_WEBCLI_UF2', 'D_M06_WEBCLI_UF2', '1/11/2012', '1/12/2012', 30);
insert into credito values (56, 18, 4, 'D_M06_WEBCLI_UF3', 'D_M06_WEBCLI_UF3', '1/11/2012', '1/12/2012', 42);
insert into credito values (57, 18, 4, 'D_M06_WEBCLI_UF4', 'D_M06_WEBCLI_UF4', '1/11/2012', '1/12/2012', 30);

insert into credito values (58, 19, 4, 'D_M07_WEBSER_UF1', 'D_M07_WEBSER_UF1', '19/09/2012', '1/11/2012', 30);
insert into credito values (59, 19, 4, 'D_M07_WEBSER_UF2', 'D_M07_WEBSER_UF2', '1/11/2012', '1/12/2012', 30);
insert into credito values (60, 19, 4, 'D_M07_WEBSER_UF3', 'D_M07_WEBSER_UF3', '1/11/2012', '1/12/2012', 30);
insert into credito values (61, 19, 4, 'D_M07_WEBSER_UF4', 'D_M07_WEBSER_UF4', '1/11/2012', '1/12/2012', 42);

insert into credito values (62, 20, 4, 'D_M08_WEBDES_UF1', 'D_M08_WEBDES_UF1', '19/09/2012', '1/11/2012', 39);
insert into credito values (63, 20, 4, 'D_M08_WEBDES_UF2', 'D_M08_WEBDES_UF2', '1/11/2012', '1/12/2012', 20);
insert into credito values (64, 20, 4, 'D_M08_WEBDES_UF3', 'D_M08_WEBDES_UF3', '1/11/2012', '1/12/2012', 20);
insert into credito values (65, 20, 4, 'D_M08_WEBDES_UF4', 'D_M08_WEBDES_UF4', '1/11/2012', '1/12/2012', 20);

insert into credito values (66, 21, 4, 'D_M09_DIW_UF1', 'D_M09_DIW_UF1', '19/09/2012', '1/11/2012', 39);
insert into credito values (67, 21, 4, 'D_M09_DIW_UF2', 'D_M09_DIW_UF2', '1/11/2012', '1/12/2012', 30);
insert into credito values (68, 21, 4, 'D_M09_DIW_UF3', 'D_M09_DIW_UF3', '1/11/2012', '1/12/2012', 30);

insert into credito values (69, 22, 4, 'D_M14_CS_UF1', 'D_M14_CS_UF1', '1/05/2012', '31/05/2012', 99);

insert into credito values (70, 23, 5, 'D_ANA', 'D_ANA', '19/09/2011', '30/04/2012', 99);
insert into credito values (71, 24, 5, 'D_PAV', 'D_PAV', '19/09/2011', '30/04/2012', 99);
insert into credito values (72, 25, 5, 'D_EC', 'D_EC', '19/09/2011', '30/04/2012', 99);
insert into credito values (73, 26, 5, 'D_EG', 'D_EG', '19/09/2011', '30/04/2012', 99);
insert into credito values (74, 27, 2, 'D_CS', 'D_CS', '1/05/2011', '31/05/2011', 99);

Assignem els professors a les seves UF;

insert into credito_humano values (1, 8);
insert into credito_humano values (2, 8);
insert into credito_humano values (3, 8);
insert into credito_humano values (4, 8);

insert into credito_humano values (5, 7);
insert into credito_humano values (6, 7);
insert into credito_humano values (7, 7);

insert into credito_humano values (8, 6);
insert into credito_humano values (9, 6);
insert into credito_humano values (10, 6);

insert into credito_humano values (11, 5);
insert into credito_humano values (12, 5);
insert into credito_humano values (13, 5);

insert into credito_humano values (14, 5);
insert into credito_humano values (15, 5);
insert into credito_humano values (16, 5);

insert into credito_humano values (17, 6);
insert into credito_humano values (18, 6);

insert into credito_humano values (19, 10);
insert into credito_humano values (20, 10);
insert into credito_humano values (21, 10);

insert into credito_humano values (22, 10);
insert into credito_humano values (23, 10);
insert into credito_humano values (24, 10);
insert into credito_humano values (25, 10);

insert into credito_humano values (26, 4);
insert into credito_humano values (27, 4);

insert into credito_humano values (28, 7);
insert into credito_humano values (29, 7);

insert into credito_humano values (30, 4);
insert into credito_humano values (31, 4);
insert into credito_humano values (32, 4);
insert into credito_humano values (33, 4);

insert into credito_humano values (34, 4);
insert into credito_humano values (34, 5);
insert into credito_humano values (34, 6);
insert into credito_humano values (34, 7);
insert into credito_humano values (34, 10);

insert into credito_humano values (35, 8);
insert into credito_humano values (36, 8);
insert into credito_humano values (37, 8);

insert into credito_humano values (38, 7);
insert into credito_humano values (39, 7);
insert into credito_humano values (40, 7);
insert into credito_humano values (41, 7);

insert into credito_humano values (42, 3);
insert into credito_humano values (43, 3);
insert into credito_humano values (44, 3);
insert into credito_humano values (45, );
insert into credito_humano values (46, );
insert into credito_humano values (47, );

insert into credito_humano values (48, 5);
insert into credito_humano values (49, 5);
insert into credito_humano values (50, 5);

insert into credito_humano values (51, );
insert into credito_humano values (52, );
insert into credito_humano values (53, );

insert into credito_humano values (54, );
insert into credito_humano values (55, );
insert into credito_humano values (56, );
insert into credito_humano values (57, );

insert into credito_humano values (58, );
insert into credito_humano values (59, );
insert into credito_humano values (60, );
insert into credito_humano values (61, );

insert into credito_humano values (62, );
insert into credito_humano values (63, );
insert into credito_humano values (64, );
insert into credito_humano values (65, );

insert into credito_humano values (66, );
insert into credito_humano values (67, );
insert into credito_humano values (68, );

insert into credito_humano values (69, );

insert into credito_humano values (70, 9);
insert into credito_humano values (71, 3);
insert into credito_humano values (72, 4);
insert into credito_humano values (73, 5);

insert into credito_humano values (74, 3);
insert into credito_humano values (74, 4);
insert into credito_humano values (74, 5);
insert into credito_humano values (74, 9);

Ficar els alumnes en principi ho ha de fer el professor-tutor en el moment d'inscripció, doncs també hi ha el tema de les fotos, el mail (que en principi jo no el sé), i no tots els alumnes poden estar matriculats de totes les UF (creditos). Ara bé, si s'ha de ficar un alumne manualment, el procés seria (per exemple per a un alumne de 1r d'ASIX):

nota. Per al curs 2011-2012 els accents funcionen malament i s'ha de substituir á per á (i els altres, veure http://www.w3schools.com/tags/ref_entities.asp)

insert into humano(id,status,nom,ap1,ap2) values (11,0,'Mario','Abad','Expósito');

insert into humano_grupo (id_humano,id_grupo) values (11,1);

insert into credito_humano values (1,11);
insert into credito_humano values (2,11);
insert into credito_humano values (3,11);
insert into credito_humano values (4,11);
insert into credito_humano values (5,11);
insert into credito_humano values (6,11);
insert into credito_humano values (7,11);
insert into credito_humano values (8,11);
insert into credito_humano values (9,11);
insert into credito_humano values (10,11);
insert into credito_humano values (11,11);
insert into credito_humano values (12,11);
insert into credito_humano values (13,11);

La select que et diu quins són els alumnes d'una classe a l'hora de passar la llista és:

SELECT DISTINCT h.id,h.status,h.dni,h.nom,h.ap1,h.ap2,h.mail,h.direccion,h.telf,h.mov,h.baja,h.FechaAlta, h.FechaAlta,h.login,h.pass,h.foto FROM humano h 
INNER JOIN credito_humano ch INNER JOIN credito c ON h.id=ch.id_humano and ch.id_credito=c.id WHERE c.id_grupo=1 AND h.status < 2 ORDER BY h.ap1 ASC; 

Estadístiques de faltes

El curs 2011-2012 funcionem per UF's, i aquestes tenen assignat una data d'inici i una de començament.

select id_humano,id_credit,c.codigo from faltas f, credito c where c.id=f.id_credit and justificada=0 order by id_credit. ap1;

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=0 order by f.id_credit, ap1;

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=0 group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

Filtrar per UF: (els id's de la UF estan a la taula credito):

IAW (UF1 i UF2): 26, 27
SAD (UF1 a 4): 30, 31, 32, 33
A_M14_CS_UF1 -> 34
EC -> 72
D_CS -> 64
select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=0 and f.id_credit=31 group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

IAW UF2
+-----------+----------------+------------+-----------+---------------+----------+
| id_humano | nom            | ap1        | id_credit | codigo        | count(*) |
+-----------+----------------+------------+-----------+---------------+----------+
|       225 | Carlos         | Navarro    |        27 | A_M09_IAW_UF2 |        4 | 
|       226 | Joan Xavier    | Bonet      |        27 | A_M09_IAW_UF2 |        2 | 

EC encara és pla LOGSE i només tenim definida una UF. Per tant he de posar les dates de Nadal a Setmana Santa per a la 2a Av:

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and f.id_credit=72 and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20120101' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20120322' group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

+-----------+------------------+------------+-----------+--------+----------+
| id_humano | nom              | ap1        | id_credit | codigo | count(*) |
+-----------+------------------+------------+-----------+--------+----------+
|       223 | Diego            | Alba       |        72 | D_EC   |        4 | 
|       334 | Marc             | Alcaina    |        72 | D_EC   |        2 | 

Estadístiques de faltes i retards del CS 2011-2012

Faltes CS DAI:

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and f.id_credit=74 and retardo=0 and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20120501' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20120530' group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

retards CS DAI:

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and f.id_credit=74 and retardo=1 and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20120501' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20120530' group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

Faltes CS ASIX:

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and f.id_credit=34 and retardo=0 and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20120501' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20120530' group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

retards CS ASIX:

select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and f.id_credit=34 and retardo=1 and justificada=0 and CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))>'20120501' and  CONCAT(MID(fecha,7,4),MID(fecha,4,2),LEFT(fecha,2))<'20120530' group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

Eliminar o justificar manualment una falta

mysql> select id,nom,ap1 from humano where nom like '%Chavdar%';
| id  | nom     | ap1    |
| 279 | Chavdar | Emilov |
mysql> select id,codigo from credito where codigo='A_M09_IAW_UF1';
| id | codigo        |
+----+---------------+
| 26 | A_M09_IAW_UF1 | 
mysql> select id_humano,id_credit,retardo,justificada,fecha from faltas where id_humano=279 and id_credit=26 order by fecha desc;
-> no serveix de res ordenar per fecha perquè és un  varchar
...
|       279 |        26 |       0 |           0 | 13/01/2012 | 
|       279 |        26 |       0 |           0 | 13/01/2012 | 
...
mysql> delete from faltas where id_humano=279 and id_credit=26 and fecha='13/01/2012';
Query OK, 2 rows affected (0.00 sec)

Canvis que s'hauran de fer per al CS 1112. Incidències

update modul set nom='Implantaci&oacute de SO - ASIX', descripcio='Implantaci&oacute de SO - ASIX' where id=45;

alter table credito modify column codigo varchar(15);

incorporar-ho al script original de creació de les taules

Curs 12-13

Millores per al CS 12-13

dilluns	15:30-16-25		16:25-17-20		17:20-18-15		18:35-19-25		19:25-20-15		20:15-21-5	
Created by: Joel Cubells, Sergio Monedero, Antonio Crespo
Copyright ® 2012. All Rights Reserved.
alter table credito modify codigo varchar(18);

Curs 13-14

Faltes

select * from credito;

| 26 |        9 |        2 | A_M09_IAW_UF1    | A_M09_IAW_UF1    | 19/09/2012 | 22/01/2013 |           33 |
| 27 |        9 |        2 | A_M09_IAW_UF2    | A_M09_IAW_UF2    | 29/01/2013 | 23/04/2013 |           33 |

| 30 |       11 |        2 | A_M11_SAD_UF1    | A_M11_SAD_UF1    | 20/09/2012 | 15/11/2012 |           24 |
| 31 |       11 |        2 | A_M11_SAD_UF2    | A_M11_SAD_UF2    | 22/11/2012 | 31/01/2013 |           24 |
| 32 |       11 |        2 | A_M11_SAD_UF3    | A_M11_SAD_UF3    | 07/02/2013 | 22/03/2013 |           27 |
| 33 |       11 |        2 | A_M11_SAD_UF4    | A_M11_SAD_UF4    | 04/04/2013 | 26/04/2013 |           24 |

| 54 |       18 |        4 | D_M06_WEBCLI_UF1 | D_M06_WEBCLI_UF1 | 19/09/2012 | 09/11/12   |           39 |
| 55 |       18 |        4 | D_M06_WEBCLI_UF2 | D_M06_WEBCLI_UF2 | 12/11/12   | 09/01/13   |           39 |
| 56 |       18 |        4 | D_M06_WEBCLI_UF3 | D_M06_WEBCLI_UF3 | 11/01/13   | 08/03/13   |           51 |
| 57 |       18 |        4 | D_M06_WEBCLI_UF4 | D_M06_WEBCLI_UF4 | 11/03/13   | 26/04/13   |           36 |



select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=0 and f.id_credit=54 group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1;

Curs 14-15

Faltes

1. Entrar en el servidor d'assistència:

Des de linux:

$ ssh user@192.168.0.15
pwd: kleopatra12

Des de Windows, pots utiltizar el putty:

servidor: 192.168.0.15
usuari: user
pwd: kleopatra12

2. llista de UF's

1r  ASIX
==========================
id	UF
1	A_M01_ISO_UF1
2	A_M01_ISO_UF2
3	A_M01_ISO_UF3
6	A_M02_BD_UF2
5	A_M02_BD_UF1
8	A_M03_PB_UF1
9	A_M03_PB_UF2
10	A_M03_PB_UF3
13	A_M04_XML_UF3
12	A_M04_XML_UF2
11	A_M04_XML_UF1
70	A_M10_ABD_UF1

2n ASIX
==========================
4	A_M01_ISO_UF4
7	A_M02_BD_UF3
14	A_M05_FM_UF1
15	A_M05_FM_UF2
16	A_M05_FM_UF3
17	A_M06_ASO_UF1
18	A_M06_ASO_UF2
21	A_M07_PAX_UF3
20	A_M07_PAX_UF2
19	A_M07_PAX_UF1
22	A_M08_SXI_UF1
23	A_M08_SXI_UF2
24	A_M08_SXI_UF3
25	A_M08_SXI_UF4
26	A_M09_IAW_UF1
27	A_M09_IAW_UF2
29	A_M10_ABD_UF2
28	A_M10_ABD_UF1
30	A_M11_SAD_UF1
31	A_M11_SAD_UF2
32	A_M11_SAD_UF3
33	A_M11_SAD_UF4
34	A_M14_CS_UF1

1r  DAW
==========================
37	D_M01_SO_UF3
36	D_M01_SO_UF2
35	D_M01_SO_UF1
39	D_M02_BD_UF2
40	D_M02_BD_UF3
38	D_M02_BD_UF1
42	D_M03_PB_UF1
43	D_M03_PB_UF2
44	D_M03_PB_UF3
50	D_M04_XML_UF3
49	D_M04_XML_UF2
48	D_M04_XML_UF1

2n DAW
==========================
41	D_M02_BD_UF4
47	D_M03_PB_UF6
46	D_M03_PB_UF5
45	D_M03_PB_UF4
51	D_M05_ENT_UF1
52	D_M05_ENT_UF2
53	D_M05_ENT_UF3
54	D_M06_WEBCLI_UF1
57	D_M06_WEBCLI_UF4
56	D_M06_WEBCLI_UF3
55	D_M06_WEBCLI_UF2
58	D_M07_WEBSER_UF1
59	D_M07_WEBSER_UF2
60	D_M07_WEBSER_UF3
61	D_M07_WEBSER_UF4
65	D_M08_WEBDES_UF4
64	D_M08_WEBDES_UF3
63	D_M08_WEBDES_UF2
62	D_M08_WEBDES_UF1
66	D_M09_DIW_UF1
67	D_M09_DIW_UF2
68	D_M09_DIW_UF3
69	D_M14_CS_UF1

3. Executar en la consola:

$ P=$(echo "klexfxopam4naqatr5rra182" | tr -d "f45" | tr -d "qxmn8" | tr -s "xr" | tr -s "a")

4. Per trobar les faltes d'una UF, executar la següent sentència substituït el id de la UF correctament (en l'exemple: id_credit=54 correspon a D_M06_WEBCLI_UF1)

Faltes no justificades d'un crèdit:

$ mysql -s -u root -p$P assistencia1314 -e "select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) num_faltes from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=0 and f.id_credit=54 group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1"

Faltes justificades d'un crèdit:

$ mysql -s -u root -p$P assistencia1314 -e "select id_humano,h.nom,h.ap1,f.id_credit,c.codigo,count(*) num_faltes from faltas f, credito c, humano h where c.id=f.id_credit and h.id=f.id_humano and justificada=1 and f.id_credit=54 group by id_humano,h.nom,h.ap1,f.id_credit,c.codigo order by f.id_credit, ap1"

creat per Joan Quintana Compte, setembre 2008 - setembre 2011 - setembre 2012

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines