123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <?php
- /**
- * This script defines as closely as possible the matches between
- * original tables and destination (chamilo) tables and fields.
- * See db_matches.dist.php for formatting documentation
- */
- //intIdTipoEmpleado = 2 = Profesor
- // This is an array that matches objects (for Chamilo)
- $matches = array(
- //Asistencia - put in comment for now
- array(
- 'orig_table' => 'ProgramaAcademico',
- 'query' => 'SELECT %s
- FROM ProgramaAcademico as p
- INNER JOIN le_AlumnoAsistencia a ON (a.codigoPrograma = p.uidIdPrograma AND p.bitVigencia = 1 )
- INNER JOIN Alumno al ON (al.uidIdAlumno = a.codigoAlumno AND al.bitVigencia = 1)
- WHERE 1=1 ',
- 'dest_func' => 'MigrationCustom::create_attendance',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'al.uidIdPersona',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'user_id',
- 'func' => 'get_user_id_by_persona_id',
- ),
- array(
- 'orig' => 'p.uidIdPrograma',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'session_id',
- 'func' => 'get_session_id_by_programa_id',
- ),
- array(
- 'orig' => 'a.fecha',
- 'sql_alter' => 'clean_date_time',
- 'dest' => 'fecha',
- 'func' => '',
- ),
- array(
- 'orig' => 'a.estado',
- 'sql_alter' => '',
- 'dest' => 'status',
- 'func' => 'convert_attendance_status',
- ),
- )
- ),
- //Course advance
- /*
- array(
- 'orig_table' => 'ProgramaAcademico',
- //ORDER BY p.uidIdPrograma, a.Unidad, un.Descripcion
- 'query' => 'SELECT DISTINCT %s
- FROM ProgramaAcademico as p
- INNER JOIN le_AvanceCursoPrograma a ON (a.Programa = p.uidIdPrograma AND p.bitVigencia = 1)
- INNER JOIN le_Unidad un ON (un.CodigoUnidad = a.Unidad)
- ',
- 'dest_func' => 'MigrationCustom::create_thematic',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'p.uidIdPrograma',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'session_id',
- 'func' => 'get_session_id_by_programa_id',
- ),
- array(
- 'orig' => 'un.Descripcion',
- 'sql_alter' => '',
- 'dest' => 'thematic_plan',
- 'func' => '',
- ),
- array(
- 'orig' => 'a.Unidad',
- 'sql_alter' => '',
- 'dest' => 'thematic',
- 'func' => '',
- ),
- )
- ),
- */
- //Gradebook - create gradebook evaluations types
- array(
- 'orig_table' => 'gradebook_evaluation_type',
- 'query' => 'SELECT %s '.
- ' FROM le_ConceptoCalificatorioTipo '.
- ' WHERE 1 = 1 ',
- 'dest_func' => 'MigrationCustom::add_evaluation_type',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'Descripcion',
- 'sql_alter' => '',
- 'dest' => 'name',
- 'func' => '',
- ),
- array(
- 'orig' => 'CodigoTipo',
- 'sql_alter' => '',
- 'dest' => 'external_id',
- 'func' => '',
- )
- )
- ),
- //Gradebook - create gradebook evaluations
- array(
- 'orig_table' => 'ProgramaAcademico',
- 'query' => 'SELECT DISTINCT %s
- FROM ProgramaAcademico as p
- INNER JOIN le_Nota n ON (n.codigoPrograma = p.uidIdPrograma AND p.bitVigencia = 1 )
- INNER JOIN le_ConceptoCalificatorio cc ON (cc.CodigoConcepto = n.CodigoConcepto)
- WHERE 1 = 1 ',
- 'dest_func' => 'MigrationCustom::create_gradebook_evaluation',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'p.uidIdPrograma',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'session_id',
- 'func' => 'get_session_id_by_programa_id',
- ),
- array(
- 'orig' => 'cc.CodigoTipo',
- 'sql_alter' => '',
- 'dest' => 'gradebook_evaluation_type_id',
- 'func' => 'get_evaluation_type',
- ),
- array(
- 'orig' => 'cc.Descripcion',
- 'sql_alter' => '',
- 'dest' => 'gradebook_description',
- 'func' => '',
- ),
- )
- ),
- //Nota <= 2009 (ahora también para > 2009)
- array(
- 'orig_table' => 'ProgramaAcademico',
- 'query' => 'SELECT DISTINCT %s '.
- 'FROM ProgramaAcademico as p '.
- 'INNER JOIN Nota n ON (n.uidIdPrograma = p.uidIdPrograma AND p.bitVigencia = 1 ) '.
- 'INNER JOIN Alumno a ON (a.uidIdAlumno = n.uidIdAlumno) '.
- '',
- 'dest_func' => 'MigrationCustom::add_gradebook_result_with_evaluation',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'p.uidIdPrograma',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'session_id',
- 'func' => 'get_session_id_by_programa_id',
- ),
- array(
- 'orig' => 'uidIdPersona',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'user_id',
- 'func' => 'get_user_id_by_persona_id',
- ),
- array(
- 'orig' => 'tinNota',
- 'sql_alter' => '',
- 'dest' => 'nota',
- 'func' => '',
- ),
- array(
- 'orig' => 'n.sdtFechaModificacion',
- 'sql_alter' => '',
- 'dest' => 'fecha',
- 'func' => '',
- ),
- )
- ),
- /*
- 'web_service_calls' => array(
- 'url' => "http://www2.icpna.edu.pe/wsprueba/service.asmx?wsdl",
- 'filename' => 'migration.custom.class.php',
- 'class' => 'MigrationCustom',
- ),
- //le_Nota
- //>= 2010',
- /*
- array(
- 'orig_table' => 'ProgramaAcademico',
- 'query' => 'SELECT DISTINCT %s
- FROM ProgramaAcademico as p
- INNER JOIN le_Nota n ON (n.codigoPrograma = p.uidIdPrograma AND p.bitVigencia = 1 )
- INNER JOIN Alumno a ON (n.CodigoAlumno = a.uidIdAlumno)
- WHERE YEAR(UltimaFechaModif) >= 2010',
- 'dest_func' => 'MigrationCustom::add_gradebook_result',
- 'dest_table' => 'session',
- 'fields_match' => array(
- array(
- 'orig' => 'p.uidIdPrograma',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'session_id',
- 'func' => 'get_session_id_by_programa_id',
- ),
- array(
- 'orig' => 'uidIdPersona',
- 'sql_alter' => 'sql_alter_unhash_50',
- 'dest' => 'user_id',
- 'func' => 'get_user_id_by_persona_id',
- ),
- array(
- 'orig' => 'Nota',
- 'sql_alter' => '',
- 'dest' => 'nota',
- 'func' => '',
- ),
- array(
- 'orig' => 'UltimaFechaModif',
- 'sql_alter' => '',
- 'dest' => 'fecha',
- 'func' => 'clean_date_time',
- ),
- )
- ),
- */
- );
|