|
@@ -0,0 +1,1420 @@
|
|
|
|
+# 📁 Reporte de carpeta: `service`
|
|
|
|
+
|
|
|
|
+> Detalle de clases, métodos y comentarios extraídos automáticamente
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `AcreditacioService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\AcreditacioService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `getById()` — ⚪ Interno
|
|
|
|
+- `AcreditacioPK()` — ⚪ Interno
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `getNextsCurrentYear()` — ⚪ Interno
|
|
|
|
+- `getByCursGrup()` — ⚪ Interno
|
|
|
|
+- `getByCursGrupTambit()` — ⚪ Interno
|
|
|
|
+- `getByCurs()` — ⚪ Interno
|
|
|
|
+- `getByOrgan()` — ⚪ Interno
|
|
|
|
+- `getByCentre()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `AuthProvider`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\AuthProvider.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `authenticate()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `UsernamePasswordAuthenticationToken()` — ⚪ Interno
|
|
|
|
+- `BadCredentialsException()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `InitialDirContext()` — ⚪ Interno
|
|
|
|
+- `SearchControls()` — ⚪ Interno
|
|
|
|
+- `BadCredentialsException()` — ⚪ Interno
|
|
|
|
+- `BadCredentialsException()` — ⚪ Interno
|
|
|
|
+- `BadCredentialsException()` — ⚪ Interno
|
|
|
|
+- `Date()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `SimpleGrantedAuthority()` — ⚪ Interno
|
|
|
|
+- `UsernamePasswordAuthenticationToken()` — ⚪ Interno
|
|
|
|
+- `AuthenticationServiceException()` — ⚪ Interno
|
|
|
|
+- `BadCredentialsException()` — ⚪ Interno
|
|
|
|
+- `supports()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `CalendariService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\CalendariService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `getNextEvents()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `CategoriaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\CategoriaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `findFirstLevel()` — ⚪ Interno
|
|
|
|
+- `findFirstLevelAndU()` — ⚪ Interno
|
|
|
|
+- `findByTipusTambit()` — ⚪ Interno
|
|
|
|
+- `findByTipusTambitAndU()` — ⚪ Interno
|
|
|
|
+- `findByPareTambit()` — ⚪ Interno
|
|
|
|
+- `findByPareTambitAndU()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `DataService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\DataService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `DataService()` — ⚪ Interno
|
|
|
|
+- `doImport()` — ⚪ Interno
|
|
|
|
+- `StringBuilder()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+/* 1) Comprobar columnas obligatorias */
|
|
|
|
+List<String> mandatoryColumns = new ArrayList<String>();
|
|
|
|
+List<String> knownColumns = new ArrayList<String>();
|
|
|
|
+if(clau.equals("ruct")) {
|
|
|
|
+this.setColumnsRuct(ambit, knownColumns, mandatoryColumns);
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+this.setColumnsCod(ambit, knownColumns, mandatoryColumns);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if(!this.checkColumns(header, mandatoryColumns, errors, locale)) {
|
|
|
|
+return errors.append("[ERROR] " + (locale.equals("es") ? "Se han encontrado errores en el fichero proporcionado. No se ha importado ningún registro. " : "S'han trobat errors al fitxer proporcionat. No s'ha importat cap registre.")).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 2) Eliminar las columnas obligatorias, conocidas e ignoradas. El resto se consideran indicadores a importar */
|
|
|
|
+knownColumns.addAll(mandatoryColumns);
|
|
|
|
+knownColumns.addAll(ignoredColumns);
|
|
|
|
+for(String c : knownColumns) {
|
|
|
|
+headerInds.removeIf(v->v.equalsIgnoreCase(c));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 3) Comprobar valores y tipos */
|
|
|
|
+if(!this.checkValues(records, ambit, clau, errors, locale)) {
|
|
|
|
+return errors.append(("[ERROR] " + (locale.equals("es") ? "Se han encontrado errores en el fichero proporcionado. No se ha importado ningún registro. " : "S'han trobat errors al fitxer proporcionat. No s'ha importat cap registre."))).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 4) Importar datos */
|
|
|
|
+Integer numRecords = 0;
|
|
|
|
+Integer numTuples = 0;
|
|
|
|
+for (CSVRecord record : records) {
|
|
|
|
+Map<String, String> recordMap = new LinkedCaseInsensitiveMap<>();
|
|
|
|
+recordMap.putAll(record.toMap());
|
|
|
|
+String c = ambit.equals("T") || ambit.equals("C") ? translateCentre(recordMap.get("centre")) : null;
|
|
|
|
+String t = ambit.equals("T") ? translateTitulacio(recordMap.get("titulacio")) : null;
|
|
|
|
+String type = recordMap.get("tipus");
|
|
|
|
+Integer curs = Integer.parseInt(recordMap.get("curs").replaceAll("\\D+",""));
|
|
|
|
+
|
|
|
|
+String cursEnquesta = recordMap.containsKey("curs_enquesta") ? recordMap.get("curs_enquesta") : null;
|
|
|
|
+ String titulacioOrigen = recordMap.containsKey("titulacio_origen") ? recordMap.get("titulacio_origen") : null;
|
|
|
|
+ String centreOrigen = recordMap.containsKey("centre_origen") ? recordMap.get("centre_origen") : null;
|
|
|
|
+ Integer nenq = recordMap.containsKey("nenq") ? Integer.parseInt(recordMap.get("nenq").replaceAll("\\D+","")) : null;
|
|
|
|
+ String ructStr = recordMap.containsKey("ruct") ? recordMap.get("ruct").replaceAll("\\D+","") : null;
|
|
|
|
+String cursd = recordMap.containsKey("cursd") ? recordMap.get("cursd") : null;
|
|
|
|
+ Integer ruct = null;
|
|
|
|
+
|
|
|
|
+ if(ructStr != null) {
|
|
|
|
+ if(!(ructStr.isBlank() || ructStr.isEmpty() || ructStr.equals("NULL") || ructStr.equals("null"))) {
|
|
|
|
+ ruct = Integer.parseInt(ructStr);
|
|
|
|
+}
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+Integer centre;
|
|
|
|
+ Integer titulacio;
|
|
|
|
+if(clau.equals("ruct") && ambit.equals("T") && ruct != null) {
|
|
|
|
+Organ o = this.orgs.findByRuct(ruct);
|
|
|
|
+if(o == null) {
|
|
|
|
+errors.append("[WARNING] " + (locale.equals("es") ? "No se ha encontrado el RUCT "+ructStr+", se omiten los registros de esta entrada." : "No s'ha trobat el RUCT "+ructStr+", s'ometen els registres d'aquesta entrada.")).append("<br>").toString();
|
|
|
|
+continue;
|
|
|
|
+}
|
|
|
|
+titulacio = o.getId().getLugar();
|
|
|
|
+centre = o.getOrgan().getId().getLugar();
|
|
|
|
+}
|
|
|
|
+else{
|
|
|
|
+centre = ambit.equals("T") || ambit.equals("C") ? Integer.parseInt(c.replaceAll("\\D+","")) : null;
|
|
|
|
+ titulacio = ambit.equals("T") ? Integer.parseInt(t) : null;
|
|
|
|
+if(!this.orgs.exists("T", titulacio)){
|
|
|
|
+errors.append("[WARNING] " + (locale.equals("es") ? "No se ha encontrado la titulación con código "+titulacio+" pero se importa igualmente." : "No s'ha trobat la titulació amb codi "+titulacio+" però s'importa igualment")).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+ if(header.contains("cursd")) {
|
|
|
|
+ cursd = recordMap.get("cursd").replaceAll("\\D+","");
|
|
|
|
+ }
|
|
|
|
+for(String r : headerInds) {
|
|
|
|
+IndicadorEnquestaTmp ie = new IndicadorEnquestaTmp();
|
|
|
|
+ ie.setEnquesta(enquesta);
|
|
|
|
+ ie.setTitulacio(titulacio);
|
|
|
|
+ ie.setCentre(centre);
|
|
|
|
+ ie.setCurs(curs);
|
|
|
|
+ ie.setAmbit(ambit);
|
|
|
|
+ ie.setEstudi(estudi);
|
|
|
|
+ ie.setIndicador(r.replace("_min", "").replace("_max", "").toLowerCase());
|
|
|
|
+ ie.setNum(null);
|
|
|
|
+ ie.setCursd(cursd);
|
|
|
|
+ ie.setTipus(type);
|
|
|
|
+ ie.setUsuari(usuari.getUsuari());
|
|
|
|
+ ie.setData(new Timestamp(System.currentTimeMillis()));
|
|
|
|
+ ie.setCursEnquesta(cursEnquesta);
|
|
|
|
+ ie.setTitulacioOrigen(titulacioOrigen);
|
|
|
|
+ ie.setCentreOrigen(centreOrigen);
|
|
|
|
+ ie.setNenq(nenq);
|
|
|
|
+ ie.setRuct(ruct);
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ie.setValor(record.get(r).replace(",", "."));
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex) {
|
|
|
|
+ ie.setValor(null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ iets.save(ie);
|
|
|
|
+ numRecords++;
|
|
|
|
+}
|
|
|
|
+numTuples++;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 5) Notificar administradores y usuario implicado */
|
|
|
|
+this.sendNotificacion(usuari, enquesta, ambit, estudi);
|
|
|
|
+if(!usuari.isAdmin()){
|
|
|
|
+this.sendConfirmation(usuari.getUsuari(), enquesta, ambit, estudi);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+errors.append("[INFO] " + (locale.equals("es") ? ("Se han importado "+numRecords.toString()+" nuevos registros para un total de "+numTuples.toString()+" titulaciones") : ("[INFO] S'han importat "+numRecords.toString()+" nous registres per a un total de "+numTuples.toString()+" titulacions")));
|
|
|
|
+return errors.toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public String doDbImport(Integer dbOrigen, String vista, Integer srcCurs, Integer dstCurs, Usuari usuari, String enquesta, String ambit,
|
|
|
|
+ String estudi, String locale, String clau, List<String> ignoredColumns) throws SQLException, ClassNotFoundException {
|
|
|
|
+
|
|
|
|
+StringBuilder errors = new StringBuilder();
|
|
|
|
+Datasource source = this.dss.findById(dbOrigen);
|
|
|
|
+if(source == null){
|
|
|
|
+return errors.append("[ERROR] " + (locale.equals("es") ? "No se ha proporcionado un origen de datos válido." : "No s'ha proporcionat un origen de dades vàlid.")).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+String query = "SELECT * FROM "+vista+ " WHERE curs = "+srcCurs;
|
|
|
|
+Class.forName(source.getDriver());
|
|
|
|
+Integer numRecords = 0;
|
|
|
|
+Integer numTuples = 0;
|
|
|
|
+try (Connection connection = DriverManager.getConnection(source.getConn())) {
|
|
|
|
+
|
|
|
|
+/* 1) Ejecutar consulta */
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+ResultSet resultset = statement.executeQuery(query);
|
|
|
|
+
|
|
|
|
+ResultSetMetaData resultMetadata = resultset.getMetaData();
|
|
|
|
+int columns = resultMetadata.getColumnCount();
|
|
|
|
+
|
|
|
|
+/* 2) Obtener resultados para procesar online y cerrar conexión */
|
|
|
|
+RowSetFactory factory = RowSetProvider.newFactory();
|
|
|
|
+CachedRowSet result = factory.createCachedRowSet();
|
|
|
|
+result.populate(resultset);
|
|
|
|
+connection.close();
|
|
|
|
+
|
|
|
|
+/* 3) Comprobar columnas obligatorias */
|
|
|
|
+List<String> mandatoryColumns = new ArrayList<String>();
|
|
|
|
+List<String> knownColumns = new ArrayList<String>();
|
|
|
|
+if(clau.equals("ruct")) {
|
|
|
|
+this.setColumnsRuct(ambit, knownColumns, mandatoryColumns);
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+this.setColumnsCod(ambit, knownColumns, mandatoryColumns);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+List<String> allColNames = new ArrayList<String>();
|
|
|
|
+for(int i = 1; i <= columns; i++){
|
|
|
|
+allColNames.add(resultMetadata.getColumnLabel(i).toLowerCase());
|
|
|
|
+}
|
|
|
|
+List<String> colnames = new ArrayList<String>(allColNames);
|
|
|
|
+
|
|
|
|
+if(!this.checkColumns(colnames, mandatoryColumns, errors, locale)) {
|
|
|
|
+return errors.append("[ERROR] " + (locale.equals("es") ? "Se han encontrado errores al procesar la vista seleccionada. No se ha importado ningún registro. " : "S'han trobat errors al processar la vista seleccionada. No s'ha importat cap registre.")).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+knownColumns.addAll(mandatoryColumns);
|
|
|
|
+knownColumns.addAll(ignoredColumns);
|
|
|
|
+for(String c : knownColumns) {
|
|
|
|
+colnames.removeIf(v->v.equalsIgnoreCase(c));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if(ambit.equals("T") && !clau.equals("ruct")){
|
|
|
|
+return errors.append("[ERROR] " + (locale.equals("es") ? "Los datos de titulación deben de importarse por código RUCT" : "Les dades de titulació s'han d'importar per códi RUCT.")).append("<br>").toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 4) Importar datos */
|
|
|
|
+while(result.next()) {
|
|
|
|
+Integer ruct = null;
|
|
|
|
+Integer titulacio = null;
|
|
|
|
+Integer centre = null;
|
|
|
|
+String c = ambit.equals("C") ? translateCentre(result.getString("centre")) : null;
|
|
|
|
+boolean isValid = true;
|
|
|
|
+
|
|
|
|
+if(ambit.equals("T")) {
|
|
|
|
+String ructStr = result.getString("ruct");
|
|
|
|
+if(ructStr != null) {
|
|
|
|
+if(!(ructStr.isBlank() || ructStr.isEmpty() || ructStr.equals("NULL") || ructStr.equals("null"))) {
|
|
|
|
+ruct = Integer.parseInt(ructStr);
|
|
|
|
+}
|
|
|
|
+else{
|
|
|
|
+isValid = false;
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+else{
|
|
|
|
+isValid = false;
|
|
|
|
+}
|
|
|
|
+Organ o = this.orgs.findByRuct(ruct);
|
|
|
|
+if(o == null) {
|
|
|
|
+errors.append("[WARNING] " + (locale.equals("es") ? "No se ha encontrado el RUCT "+ructStr+", se omiten los registros de esta entrada." : "No s'ha trobat el RUCT "+ructStr+", s'ometen els registres d'aquesta entrada.")).append("<br>").toString();
|
|
|
|
+continue;
|
|
|
|
+}
|
|
|
|
+titulacio = o.getId().getLugar();
|
|
|
|
+centre = o.getOrgan().getId().getLugar();
|
|
|
|
+}
|
|
|
|
+else if(ambit.equals("C")) {
|
|
|
|
+centre = ambit.equals("T") || ambit.equals("C") ? Integer.parseInt(c.replaceAll("\\D+","")) : null;
|
|
|
|
+if(centre == null){
|
|
|
|
+isValid = false;
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if(isValid) {
|
|
|
|
+Integer curs = dstCurs == null ? result.getInt("curs") : dstCurs;
|
|
|
|
+String tipus = allColNames.contains("tipus") ? result.getString("tipus") : "avg";
|
|
|
|
+String cursEnquesta = allColNames.contains("curs_enquesta") ? result.getString("curs_enquesta") : null;
|
|
|
|
+String titulacioOrigen = allColNames.contains("titulacio_origen") ? result.getString("titulacio_origen") : null;
|
|
|
|
+String centreOrigen = allColNames.contains("centre_origen") ? result.getString("centre_origen") : null;
|
|
|
|
+Integer nenq = allColNames.contains("nenq") ? result.getInt("nenq") : null;
|
|
|
|
+String cursd = allColNames.contains("cursd") ? result.getString("cursd") : null;
|
|
|
|
+for(String colName : colnames) {
|
|
|
|
+IndicadorEnquestaTmp ie = new IndicadorEnquestaTmp();
|
|
|
|
+
|
|
|
|
+ie.setEnquesta(enquesta);
|
|
|
|
+ie.setTitulacio(titulacio);
|
|
|
|
+ie.setCentre(centre);
|
|
|
|
+ie.setCurs(curs);
|
|
|
|
+ie.setAmbit(ambit);
|
|
|
|
+ie.setEstudi(estudi);
|
|
|
|
+ie.setIndicador(colName.replace("_min", "").replace("_max", "").toLowerCase());
|
|
|
|
+ie.setNum(null);
|
|
|
|
+ie.setCursd(cursd);
|
|
|
|
+ie.setTipus(tipus);
|
|
|
|
+ie.setUsuari(usuari.getUsuari());
|
|
|
|
+ie.setData(new Timestamp(System.currentTimeMillis()));
|
|
|
|
+ie.setCursEnquesta(cursEnquesta);
|
|
|
|
+ie.setTitulacioOrigen(titulacioOrigen);
|
|
|
|
+ie.setCentreOrigen(centreOrigen);
|
|
|
|
+ie.setNenq(nenq);
|
|
|
|
+ie.setRuct(ruct);
|
|
|
|
+
|
|
|
|
+try {
|
|
|
|
+ie.setValor(result.getString(colName).replace(",", "."));
|
|
|
|
+}
|
|
|
|
+catch(Exception ex) {
|
|
|
|
+ie.setValor(null);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+iets.save(ie);
|
|
|
|
+numRecords++;
|
|
|
|
+}
|
|
|
|
+numTuples++;
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 5) Notificar administradores y usuario implicado */
|
|
|
|
+this.sendNotificacion(usuari, enquesta, ambit, estudi);
|
|
|
|
+if(!usuari.isAdmin()){
|
|
|
|
+this.sendConfirmation(usuari.getUsuari(), enquesta, ambit, estudi);
|
|
|
|
+}
|
|
|
|
+errors.append("[INFO] " + (locale.equals("es") ? ("Se han importado "+numRecords.toString()+" nuevos registros para un total de "+numTuples.toString()+" titulaciones") : ("[INFO] S'han importat "+numRecords.toString()+" nous registres per a un total de "+numTuples.toString()+" titulacions")));
|
|
|
|
+return errors.toString();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public List<String> listTableColumns(Integer dbOrigen, String vista, String locale) throws SQLException, ClassNotFoundException {
|
|
|
|
+
|
|
|
|
+Datasource source = this.dss.findById(dbOrigen);
|
|
|
|
+String query = "SELECT * FROM "+vista+" LIMIT 1;";
|
|
|
|
+Class.forName(source.getDriver());
|
|
|
|
+List<String> colNames = new ArrayList<String>();
|
|
|
|
+try (Connection connection = DriverManager.getConnection(source.getConn())) {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+ResultSet resultset = statement.executeQuery(query);
|
|
|
|
+
|
|
|
|
+ResultSetMetaData resultMetadata = resultset.getMetaData();
|
|
|
|
+int columns = resultMetadata.getColumnCount();
|
|
|
|
+
|
|
|
|
+for(int i = 1; i <= columns; i++){
|
|
|
|
+colNames.add(resultMetadata.getColumnLabel(i));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+return colNames;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public List<IndicadorEnquestaTmpRepository.IndicadorEnquestaTmpDup> checkDuplicates(String enquesta) {
|
|
|
|
+return this.iets.checkDuplicates(enquesta);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public Integer consolidateByEnquesta(String enquesta) {
|
|
|
|
+if(this.iets.checkDuplicates(enquesta).size() > 0) {
|
|
|
|
+return -1;
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+Integer i = this.ies.consolidateByEnquesta(enquesta);
|
|
|
|
+this.iets.deleteByEnquesta(enquesta);
|
|
|
|
+return i;
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public Integer countByEnquesta(String enquesta) {
|
|
|
|
+return this.iets.countByEnquesta(enquesta);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public List<IndicadorEnquestaTmpRepository.IndicadorEnquestaTmpDup> checkIntegrity(String enquesta){
|
|
|
|
+return this.iets.checkIntegrity(enquesta);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public Integer deleteFromCurrent(String enquesta){
|
|
|
|
+return this.iets.deleteFromCurrent(enquesta);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+public Integer deleteFromPending(String enquesta){
|
|
|
|
+return this.iets.deleteFromPending(enquesta);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private void setColumnsCod(String ambit, List<String> knownColumns, List<String> mandatoryColumns) {
|
|
|
|
+knownColumns.addAll(Arrays.asList("ruct", "curs_enquesta", "centre_origen", "titulacio_origen", "nenq", "cursd"));
|
|
|
|
+if(ambit.equals("U")) {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "tipus"));
|
|
|
|
+}
|
|
|
|
+else if(ambit.equals("C")) {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "centre", "tipus"));
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "titulacio", "centre", "tipus"));
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private void setColumnsRuct(String ambit, List<String> knownColumns, List<String> mandatoryColumns) {
|
|
|
|
+knownColumns.addAll(Arrays.asList("curs_enquesta", "centre_origen", "titulacio_origen", "nenq", "cursd"));
|
|
|
|
+if(ambit.equals("U")) {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "tipus"));
|
|
|
|
+}
|
|
|
|
+else if(ambit.equals("C")) {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "tipus", "ruct"));
|
|
|
|
+knownColumns.add("centre");
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+mandatoryColumns.addAll(Arrays.asList("curs", "tipus", "ruct"));
|
|
|
|
+knownColumns.addAll(Arrays.asList("centre", "titulacio"));
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private boolean checkColumns(List<String> header, List<String> mandatoryColumns, StringBuilder errors, String locale) {
|
|
|
|
+boolean isvalid = true;
|
|
|
|
+for(String c : mandatoryColumns) {
|
|
|
|
+if(!header.stream().anyMatch(c::equalsIgnoreCase)) {
|
|
|
|
+isvalid = false;
|
|
|
|
+ errors.append((locale.equals("es") ? "[ERROR] No se ha encontrado la columna " : "[ERROR] No s'ha trobat la columna ") +c).append("<br>");
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+return isvalid;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private boolean checkValues(List<CSVRecord> records, String ambit, String clau, StringBuilder errors, String locale) {
|
|
|
|
+boolean isvalid = true;
|
|
|
|
+Integer numRecords = 0;
|
|
|
|
+for (CSVRecord record : records) {
|
|
|
|
+Map<String, String> recordMap = new LinkedCaseInsensitiveMap<>();
|
|
|
|
+recordMap.putAll(record.toMap());
|
|
|
|
+
|
|
|
|
+String type = recordMap.get("tipus");
|
|
|
|
+numRecords++;
|
|
|
|
+
|
|
|
|
+if((ambit.equals("T") || ambit.equals("C")) && !clau.equals("ruct")) {
|
|
|
|
+String c = recordMap.get("centre");
|
|
|
|
+c = translateCentre(c);
|
|
|
|
+if(!StringUtils.isNumeric(c.replace("C", ""))) {
|
|
|
|
+isvalid = false;
|
|
|
|
+errors.append("[ERROR] " + (locale.equals("es") ? "En la linea " : "A la línia ") + numRecords.toString() + ": " + (locale.equals("es") ? c+" no es un valor válido para la columna centre." : c+" no es un valor vàlid per la columna centre.")).append("<br>");
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if(ambit.equals("T")) {
|
|
|
|
+String t = recordMap.get("titulacio");
|
|
|
|
+if(!clau.equals("ruct")) {
|
|
|
|
+t = translateTitulacio(t);
|
|
|
|
+if(!StringUtils.isNumeric(t)) {
|
|
|
|
+isvalid = false;
|
|
|
|
+errors.append("[ERROR] " + (locale.equals("es") ? "En la linea " : "A la línia ") + numRecords.toString() + ": " + (locale.equals("es") ? t+" no es un valor válido para la columna titulacio." : t+" no es un valor vàlid per la columna titulacio.")).append("<br>");
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+else {
|
|
|
|
+String ructStr = recordMap.get("ruct");
|
|
|
|
+if(!ructStr.isBlank() && ructStr.isEmpty() && ructStr.equals("NULL") && ructStr.equals("null") && !StringUtils.isNumeric(t)) {
|
|
|
|
+isvalid = false;
|
|
|
|
+errors.append("[ERROR] " + (locale.equals("es") ? "En la linea " : "A la línia ") + numRecords.toString() + ": " + (locale.equals("es") ? ructStr+" no es un valor válido para la columna ruct." : ructStr+" no es un valor vàlid per la columna ruct.")).append("<br>");
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if(!type.equals("avg") && !type.equals("min") && !type.equals("max")) {
|
|
|
|
+isvalid = false;
|
|
|
|
+errors.append("[ERROR] " + (locale.equals("es") ? "En la linea " : "A la línia ") + numRecords.toString() + ": " + (locale.equals("es") ? type+" no es un valor válido para la columna tipus." : type+" no es un valor vàlid per la columna tipus.")).append("<br>");
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+return isvalid;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private void sendNotificacion(Usuari usuari, String enquesta, String ambit, String estudi) {
|
|
|
|
+try {
|
|
|
|
+this.ems.sendMail("saic@uv.es", "[SYS] Datos pendientes de consolidar", "Estimado/a administrador: \n"
|
|
|
|
++ "\n"
|
|
|
|
++ "El usuario "+usuari.getUsuari()+" ha importado nuevos datos referentes a: \n"
|
|
|
|
++ "Origen: "+enquesta+"\n"
|
|
|
|
++ "Ámbito: "+ambit+"\n"
|
|
|
|
++ "Tipo titulación: "+estudi+"\n"
|
|
|
|
++ "\n"
|
|
|
|
++ "Acceda a https://saic.uv.es y realice las acciones pertinentes para consolidar los datos. ");
|
|
|
|
+} catch (MessagingException e) {
|
|
|
|
+e.printStackTrace();
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private void sendConfirmation(String to, String enquesta, String ambit, String estudi) {
|
|
|
|
+try {
|
|
|
|
+this.ems.sendMail(to, "[SYS] Nuevos datos importados", "Estimado/a usuario: \n"
|
|
|
|
++ "\n"
|
|
|
|
++ "Se han importado correctamente nuevos datos referentes a: \n"
|
|
|
|
++ "Origen: "+enquesta+"\n"
|
|
|
|
++ "Ámbito: "+ambit+"\n"
|
|
|
|
++ "Tipo titulación: "+estudi+"\n"
|
|
|
|
++ "\n"
|
|
|
|
++ "Los datos se quedarán en estado pendiente de consolidar hasta que un administrador inicie el proceso de consolidación.");
|
|
|
|
+} catch (MessagingException e) {
|
|
|
|
+e.printStackTrace();
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* Exepciones en el código de titulación que hay que traducir a código SAIC */
|
|
|
|
+```
|
|
|
|
+- `translateTitulacio()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+/* Exepciones en el código de centro que hay que traducir a código SAIC */
|
|
|
|
+```
|
|
|
|
+- `translateCentre()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `DatasourceService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\DatasourceService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `DocumentService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\DocumentService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `findAllByCategoriaOrgan()` — ⚪ Interno
|
|
|
|
+- `findByCategoriaOrgan()` — ⚪ Interno
|
|
|
|
+- `findByCategoriaNom()` — ⚪ Interno
|
|
|
|
+- `findByCategoriaTipus()` — ⚪ Interno
|
|
|
|
+- `archive()` — ⚪ Interno
|
|
|
|
+- `archiveByOrgan()` — ⚪ Interno
|
|
|
|
+- `exists()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+- `upload()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `EmailService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\EmailService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `EmailService()` — ⚪ Interno
|
|
|
|
+- `sendActiveTaskNext()` — ⚪ Interno
|
|
|
|
+- `addEmail()` — ⚪ Interno
|
|
|
|
+- `getNextEmail()` — ⚪ Interno
|
|
|
|
+- `getPendingQueue()` — ⚪ Interno
|
|
|
|
+- `pendingQueueIsEmpty()` — ⚪ Interno
|
|
|
|
+- `sendMail()` — ⚪ Interno
|
|
|
|
+- `SimpleMailMessage()` — ⚪ Interno
|
|
|
|
+- `sendNewTaskMail()` — ⚪ Interno
|
|
|
|
+- `Qualitat()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+//saic.uv.es per a accedir al Sistema d'Assegurament Intern de l
|
|
|
|
+```
|
|
|
|
+- `Qualitat()` — ⚪ Interno
|
|
|
|
+- `Calidad()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+//saic.uv.es para acceder al Sistema de Aseguramiento Interno de l
|
|
|
|
+```
|
|
|
|
+- `Calidad()` — ⚪ Interno
|
|
|
|
+- `sendCalendarMail()` — ⚪ Interno
|
|
|
|
+- `SimpleDateFormat()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `EvidenciaIndicadorEnquestaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\EvidenciaIndicadorEnquestaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `getIndicadors()` — ⚪ Interno
|
|
|
|
+- `getByProcesEvidencia()` — ⚪ Interno
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `removeByProcesEvidencia()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `GraficaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\GraficaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findLikeAmbit()` — ⚪ Interno
|
|
|
|
+- `findLikeAmbitAndEstudi()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `IndicadorEnquestaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\IndicadorEnquestaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findTypes()` — ⚪ Interno
|
|
|
|
+- `findByEnquestaCursAmbitEstudi()` — ⚪ Interno
|
|
|
|
+- `findByEnquestaCursAmbitEstudiCentre()` — ⚪ Interno
|
|
|
|
+- `findByEnquestaCursAmbitEstudiCentreTitulacio()` — ⚪ Interno
|
|
|
|
+- `getAssociatedInds()` — ⚪ Interno
|
|
|
|
+- `getAllInds()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `getAllInds()` — ⚪ Interno
|
|
|
|
+- `getGraphData()` — ⚪ Interno
|
|
|
|
+- `getGraphData()` — ⚪ Interno
|
|
|
|
+- `contains()` — ⚪ Interno
|
|
|
|
+- `deleteCentroNoAdscrito()` — ⚪ Interno
|
|
|
|
+- `deleteByEnquesta()` — ⚪ Interno
|
|
|
|
+- `deleteByEnquestaCurs()` — ⚪ Interno
|
|
|
|
+- `fixBiennials()` — ⚪ Interno
|
|
|
|
+- `consolidateByEnquesta()` — ⚪ Interno
|
|
|
|
+- `deleteAll()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `saveAll()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `IndicadorEnquestaTmpService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\IndicadorEnquestaTmpService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findByEnquestaCursAmbitEstudi()` — ⚪ Interno
|
|
|
|
+- `deleteByEnquesta()` — ⚪ Interno
|
|
|
|
+- `deleteByEnquestaCursAmbitEstudi()` — ⚪ Interno
|
|
|
|
+- `checkDuplicates()` — ⚪ Interno
|
|
|
|
+- `deleteFromCurrent()` — ⚪ Interno
|
|
|
|
+- `deleteFromPending()` — ⚪ Interno
|
|
|
|
+- `deleteDuplicates()` — ⚪ Interno
|
|
|
|
+- `countByEnquesta()` — ⚪ Interno
|
|
|
|
+- `checkIntegrity()` — ⚪ Interno
|
|
|
|
+- `deleteAll()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `saveAll()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `IndicadorService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\IndicadorService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `IndicadorService()` — ⚪ Interno
|
|
|
|
+- `getFromTitulacion()` — ⚪ Interno
|
|
|
|
+- `URL()` — ⚪ Interno
|
|
|
|
+- `String()` — ⚪ Interno
|
|
|
|
+- `extract()` — ⚪ Interno
|
|
|
|
+- `InputSource()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+// has subin
|
|
|
|
+```
|
|
|
|
+- `for()` — ⚪ Interno
|
|
|
|
+- `Indicador()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `Indicador()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `getGraphData()` — ⚪ Interno
|
|
|
|
+- `URL()` — ⚪ Interno
|
|
|
|
+- `String()` — ⚪ Interno
|
|
|
|
+- `extractAll()` — ⚪ Interno
|
|
|
|
+- `InputSource()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+// has subin
|
|
|
|
+```
|
|
|
|
+- `for()` — ⚪ Interno
|
|
|
|
+- `Indicador()` — ⚪ Interno
|
|
|
|
+- `Indicador()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `InformeService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\InformeService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByGrupWeb()` — ⚪ Interno
|
|
|
|
+- `findByGrupWebTambit()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `InstanciaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\InstanciaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByID()` — ⚪ Interno
|
|
|
|
+- `getReportFromInstancia()` — ⚪ Interno
|
|
|
|
+- `filterSupervisables()` — ⚪ Interno
|
|
|
|
+- `filterSupervisable()` — ⚪ Interno
|
|
|
|
+- `filterSupervisablesByEvidencies()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findAllIds()` — ⚪ Interno
|
|
|
|
+- `findByOrganCursNom()` — ⚪ Interno
|
|
|
|
+- `findByCentreCursNom()` — ⚪ Interno
|
|
|
|
+- `findByIdProces()` — ⚪ Interno
|
|
|
|
+- `findByOrganBetweenCurs()` — ⚪ Interno
|
|
|
|
+- `exists()` — ⚪ Interno
|
|
|
|
+- `exists()` — ⚪ Interno
|
|
|
|
+- `instantiateT()` — ⚪ Interno
|
|
|
|
+- `BigInteger()` — ⚪ Interno
|
|
|
|
+- `instantiateC()` — ⚪ Interno
|
|
|
|
+- `BigInteger()` — ⚪ Interno
|
|
|
|
+- `instantiateU()` — ⚪ Interno
|
|
|
|
+- `BigInteger()` — ⚪ Interno
|
|
|
|
+- `deleteInstance()` — ⚪ Interno
|
|
|
|
+- `clearInstance()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `InstanciaTascaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\InstanciaTascaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByInstancia()` — ⚪ Interno
|
|
|
|
+- `findByInstanciaTascap()` — ⚪ Interno
|
|
|
|
+- `findOlderVersions()` — ⚪ Interno
|
|
|
|
+- `TascaVersioTransfer()` — ⚪ Interno
|
|
|
|
+- `findActiveByInstancia()` — ⚪ Interno
|
|
|
|
+- `findActivesByType()` — ⚪ Interno
|
|
|
|
+- `isUserAuthorized()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `getReportFromProcesOrgan()` — ⚪ Interno
|
|
|
|
+- `getReportFromNomProcesOrgan()` — ⚪ Interno
|
|
|
|
+- `system()` — ⚪ Interno
|
|
|
|
+- `ProcessBuilder()` — ⚪ Interno
|
|
|
|
+- `ProcessBuilder()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `ProcessBuilder()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `saveChanges()` — ⚪ Interno
|
|
|
|
+- `Date()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `Date()` — ⚪ Interno
|
|
|
|
+- `InstanciaTasca()` — ⚪ Interno
|
|
|
|
+- `Date()` — ⚪ Interno
|
|
|
|
+- `BigInteger()` — ⚪ Interno
|
|
|
|
+- `Email()` — ⚪ Interno
|
|
|
|
+- `findOlderByProces()` — ⚪ Interno
|
|
|
|
+- `EvidenciaTransfer()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `getPastTasks()` — ⚪ Interno
|
|
|
|
+- `getNext()` — ⚪ Interno
|
|
|
|
+- `getUsers()` — ⚪ Interno
|
|
|
|
+- `getLastByProcName()` — ⚪ Interno
|
|
|
|
+- `deactivateAll()` — ⚪ Interno
|
|
|
|
+- `remove()` — ⚪ Interno
|
|
|
|
+- `removeAllVersions()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `InstanciaTascaVerService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\InstanciaTascaVerService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `findByIdInstanciaTasca()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+- `deleteByIdInstancia()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `LinkService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\LinkService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findById()` — ⚪ Interno
|
|
|
|
+- `findByToken()` — ⚪ Interno
|
|
|
|
+- `findByRuct()` — ⚪ Interno
|
|
|
|
+- `increase()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `NoticiaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\NoticiaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findVisibles()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `OrganService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\OrganService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByID()` — ⚪ Interno
|
|
|
|
+- `findByRuct()` — ⚪ Interno
|
|
|
|
+- `exists()` — ⚪ Interno
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findCurrentCentres()` — ⚪ Interno
|
|
|
|
+- `findTitulacionsByCentre()` — ⚪ Interno
|
|
|
|
+- `getTitulacions()` — ⚪ Interno
|
|
|
|
+- `getCentres()` — ⚪ Interno
|
|
|
|
+- `getActiveCentres()` — ⚪ Interno
|
|
|
|
+- `getTitulacionsByCentre()` — ⚪ Interno
|
|
|
|
+- `getUsuariTitulacions()` — ⚪ Interno
|
|
|
|
+- `getUsuariCentres()` — ⚪ Interno
|
|
|
|
+- `getTitulacionsByCentres()` — ⚪ Interno
|
|
|
|
+- `getTitulacionsByTypeCentre()` — ⚪ Interno
|
|
|
|
+- `findActiveTitulacionsByCentreTambit()` — ⚪ Interno
|
|
|
|
+- `getEquivalents()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `ParserService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\ParserService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `ParserService()` — ⚪ Interno
|
|
|
|
+- `doParse()` — ⚪ Interno
|
|
|
|
+- `parseOtros()` — ⚪ Interno
|
|
|
|
+- `parsePas()` — ⚪ Interno
|
|
|
|
+- `parseEvalProf()` — ⚪ Interno
|
|
|
|
+- `parseGrauFromUqServer()` — ⚪ Interno
|
|
|
|
+- `parseMasterFromUqServer()` — ⚪ Interno
|
|
|
|
+- `parseDoctorado()` — ⚪ Interno
|
|
|
|
+- `execute()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `IndicadorEnquesta()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `executeRows()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `IndicadorEnquesta()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `translate()` — ⚪ Interno
|
|
|
|
+- `parseGrauDades1er()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseGrauDades3er()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseGrauDadesGraduats()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseGrauProfes()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseDadesPas()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseMasterData()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+/*+ "AND a.TIT NOT IN(SELECT DISTINCT(TIT) FROM MDB_master.Mitjanes_final_codigeneric) "
|
|
|
|
++ "UNION "
|
|
|
|
++ "SELECT 'data' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
|
|
|
|
++ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, "
|
|
|
|
++ "IT13 AS it13, IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, "
|
|
|
|
++ "IT19 AS it19, IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, "
|
|
|
|
++ "IT26 AS it26, IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, "
|
|
|
|
++ "IT31 AS it31, IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, "
|
|
|
|
++ "G_QProf AS g_qprof, G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util, gcovidm AS gcovid "
|
|
|
|
++ "FROM MDB_master.Mitjanes_final_codigeneric a "
|
|
|
|
++ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre "
|
|
|
|
++ "WHERE Total >= 3 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",*/
|
|
|
|
+
|
|
|
|
+"SELECT 'data' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
|
|
|
|
++ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, IT13 AS it13, "
|
|
|
|
++ "IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, IT19 AS it19, "
|
|
|
|
++ "IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, IT26 AS it26, "
|
|
|
|
++ "IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, IT31 AS it31, "
|
|
|
|
++ "IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, G_QProf AS g_qprof, "
|
|
|
|
++ "G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util "
|
|
|
|
++ "FROM MDB_master.Mitjanes_final_xcentre a "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'data' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
|
|
|
|
++ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, IT13 AS it13, "
|
|
|
|
++ "IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, IT19 AS it19, "
|
|
|
|
++ "IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, IT26 AS it26, "
|
|
|
|
++ "IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, IT31 AS it31, "
|
|
|
|
++ "IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, G_QProf AS g_qprof, "
|
|
|
|
++ "G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util "
|
|
|
|
++ "FROM MDB_master.Mitjanes_final_global "
|
|
|
|
++ "WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'data' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "max_it13m AS it13_max, min_it13m AS it13_min, max_it14m AS it14_max, min_it14m AS it14_min, "
|
|
|
|
++ "max_it15m AS it15_max, min_it15m AS it15_min, max_it16m AS it16_max, min_it16m AS it16_min, "
|
|
|
|
++ "max_it17m AS it17_max, min_it17m AS it17_min "
|
|
|
|
++ "FROM MDB_master.MinMax_final_xcentre a "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseMasterDataG(Connection connection, String year) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'data_g' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
|
|
|
|
++ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
|
|
|
|
++ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
|
|
|
|
++ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
|
|
|
|
++ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
|
|
|
|
++ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
|
|
|
|
++ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
|
|
|
|
++ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
|
|
|
|
++ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
|
|
|
|
++ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
|
|
|
|
++ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
|
|
|
|
++ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
|
|
|
|
++ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
|
|
|
|
++ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
|
|
|
|
++ "FROM MDB_master.Mitjanes_Gxtitcursf a "
|
|
|
|
++ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'data_g' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
|
|
|
|
++ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
|
|
|
|
++ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
|
|
|
|
++ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
|
|
|
|
++ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
|
|
|
|
++ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
|
|
|
|
++ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
|
|
|
|
++ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
|
|
|
|
++ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
|
|
|
|
++ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
|
|
|
|
++ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
|
|
|
|
++ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
|
|
|
|
++ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
|
|
|
|
++ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
|
|
|
|
++ "FROM MDB_master.Mitjanes_Gxcentrecursf a "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'data_g' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
|
|
|
|
++ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
|
|
|
|
++ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
|
|
|
|
++ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
|
|
|
|
++ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
|
|
|
|
++ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
|
|
|
|
++ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
|
|
|
|
++ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
|
|
|
|
++ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
|
|
|
|
++ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
|
|
|
|
++ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
|
|
|
|
++ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
|
|
|
|
++ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
|
|
|
|
++ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
|
|
|
|
++ "FROM MDB_master.Mitjanes_Gxcursf WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'data_g' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "max_IT26m_mob AS it26_mob_max, min_IT26m_mob AS it26_mob_min, "
|
|
|
|
++ "max_IT27m_mob AS it27_mob_max, min_IT27m_mob AS it27_mob_min, "
|
|
|
|
++ "max_IT28m_mob AS it28_mob_max, min_IT28m_mob AS it28_mob_min, "
|
|
|
|
++ "max_IT29m_mob AS it29_mob_max, min_IT29m_mob AS it29_mob_min, "
|
|
|
|
++ "max_IT30m_mob AS it30_mob_max, min_IT30m_mob AS it30_mob_min, "
|
|
|
|
++ "max_IT31m_mob AS it31_mob_max, min_IT31m_mob AS it31_mob_min, "
|
|
|
|
++ "max_IT32m_mob AS it32_mob_max, min_IT32m_mob AS it32_mob_min, "
|
|
|
|
++ "max_IT33m_mob AS it33_mob_max, min_IT33m_mob AS it33_mob_min, "
|
|
|
|
++ "max_gm_instal AS g_instal_max, min_gm_instal AS g_instal_min "
|
|
|
|
++ "FROM MDB_master.MinMax_Gxcursfcentre a "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";"
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseMasterProfes(Connection connection, String year) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'profes_tancades' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
|
|
|
|
++ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
|
|
|
|
++ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
|
|
|
|
++ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
|
|
|
|
++ "FROM MDB_master.Mitjanes_profesXtit a "
|
|
|
|
++ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'profes_tancades' AS enquesta, NULL AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
|
|
|
|
++ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
|
|
|
|
++ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
|
|
|
|
++ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
|
|
|
|
++ "FROM MDB_master.Mitjanes_profesxCurscentre a "
|
|
|
|
++ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre c ON a.centre = c.centre WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'profes_tancades' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi,"
|
|
|
|
++ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
|
|
|
|
++ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
|
|
|
|
++ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
|
|
|
|
++ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
|
|
|
|
++ "FROM MDB_master.Mitjanes_profesxCurs a"
|
|
|
|
++ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
|
|
|
|
++ "WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
|
|
|
|
+
|
|
|
|
+"SELECT 'profes_tancades' AS enquesta, NULL AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
|
|
|
|
++ "max_A16m AS a16_max, min_A16m AS a16_min, max_A17m AS a17_max, min_A17m AS a17_min, "
|
|
|
|
++ "max_A19m AS a19_max, min_A19m AS a19_min "
|
|
|
|
++ "FROM MDB_master.MinMax_profesxCurscentre a "
|
|
|
|
++ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
|
|
|
|
++ "LEFT JOIN MDB_master.Centre c ON a.centre = c.centre WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+private int parseEvalProfBD(Connection connection, String year) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'evalprof' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'T' AS ambit, tipus AS estudi, "
|
|
|
|
++ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
|
|
|
|
++ "FROM MDB_evalProf.MediasTitulacion m "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.estudio = t.estudio "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
|
|
|
|
++ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '' AND num_encues >= 3 AND CONCAT('20', anyo) >= "+year+"; ",
|
|
|
|
+
|
|
|
|
+"SELECT 'evalprof' AS enquesta, NULL AS tit, c.cod_actual AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'C' AS ambit, tipus AS estudi, "
|
|
|
|
++ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
|
|
|
|
++ "FROM MDB_evalProf.MediasCentro m "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Centros c ON m.centre = c.cod_centro "
|
|
|
|
++ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', anyo) "
|
|
|
|
++ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '' AND CONCAT('20', anyo) >= "+year+"; ",
|
|
|
|
+
|
|
|
|
+"SELECT 'evalprof' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'U' AS ambit, tipus AS estudi, "
|
|
|
|
++ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
|
|
|
|
++ "FROM MDB_evalProf.MediasUniversidad "
|
|
|
|
++ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', anyo) "
|
|
|
|
++ "WHERE CONCAT('20', anyo) >= "+year+"; "};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseOtrosProfes(Connection connection) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'otros' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, curs, null AS cursd, ambit, estudi, "
|
|
|
|
++ "I_RH2_06, I_RH2_07, I_RH2_08, I_RH2_profcursos, I_RH2_totpdi "
|
|
|
|
++ "FROM MDB_otros.profesorado m "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.titulacion = t.estudio "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
|
|
|
|
++ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '';"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseOtrosEncuestas(Connection connection) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'enquestes' AS enquesta, titulacio AS tit, centre, curs, null AS cursd, ambit, estudi, "
|
|
|
|
++ "1er_modul_cod, 1er_modul_nom, 1er_modul_obs, 3er_modul_cod, 3er_modul_nom, 3er_modul_obs "
|
|
|
|
++ "FROM MDB_otros.asignaturas_encuestas;"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseOtrosTasas(Connection connection) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT 'otros' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, curs, null AS cursd, ambit, estudi, "
|
|
|
|
++ "i_oe1_nb_nuevos, i_oe1_nb_plazas, i_oe1_tasa_mat, i_oe1_tasa_ofedem "
|
|
|
|
++ "FROM MDB_otros.tasas m "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.titulacion = t.estudio "
|
|
|
|
++ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
|
|
|
|
++ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '';"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+private int parseOtrosDocentia(Connection connection) throws SQLException {
|
|
|
|
+
|
|
|
|
+Statement statement = connection.createStatement();
|
|
|
|
+String[] queries = {
|
|
|
|
+"SELECT * "
|
|
|
|
++ "FROM MDB_otros.docentia_evaluacion "
|
|
|
|
++ "WHERE centre IS NOT NULL;"};
|
|
|
|
+
|
|
|
|
+return this.execute(statement, queries);
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* ToDo */
|
|
|
|
+```
|
|
|
|
+- `parseDocEstud()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseDocEtesi()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseDocProf()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `CONCAT()` — ⚪ Interno
|
|
|
|
+- `parseDocTasas()` — ⚪ Interno
|
|
|
|
+- `parseDocInds()` — ⚪ Interno
|
|
|
|
+- `parseDocRecom()` — ⚪ Interno
|
|
|
|
+- `LOWER()` — ⚪ Interno
|
|
|
|
+- `doAction()` — ⚪ Interno
|
|
|
|
+- `precargaEvalProf()` — ⚪ Interno
|
|
|
|
+- `CAST()` — ⚪ Interno
|
|
|
|
+- `CAST()` — ⚪ Interno
|
|
|
|
+- `CAST()` — ⚪ Interno
|
|
|
|
+- `precargaMaster()` — ⚪ Interno
|
|
|
|
+- `precargaDoctorado()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `PlantillaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\PlantillaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `DecimalFormat()` — ⚪ Interno
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findByID()` — ⚪ Interno
|
|
|
|
+- `findByVersioCodiAmbit()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+- `isUsed()` — ⚪ Interno
|
|
|
|
+- `addTemplateData()` — ⚪ Interno
|
|
|
|
+- `data()` — ⚪ Interno
|
|
|
|
+- `addTemplateData()` — ⚪ Interno
|
|
|
|
+- `data()` — ⚪ Interno
|
|
|
|
+- `addHeaderData()` — ⚪ Interno
|
|
|
|
+- `ClassPathResource()` — ⚪ Interno
|
|
|
|
+- `ClassPathResource()` — ⚪ Interno
|
|
|
|
+- `iterateLoopAttr()` — ⚪ Interno
|
|
|
|
+- `iterateLoopTag()` — ⚪ Interno
|
|
|
|
+- `replaceValues()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `Element()` — ⚪ Interno
|
|
|
|
+- `getTemplateData()` — ⚪ Interno
|
|
|
|
+- `replaceValuesLoop()` — ⚪ Interno
|
|
|
|
+- `formatValue()` — ⚪ Interno
|
|
|
|
+- `savePDF()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+- `PrintWriter()` — ⚪ Interno
|
|
|
|
+- `ProcessBuilder()` — ⚪ Interno
|
|
|
|
+- `toPDF()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+- `File()` — ⚪ Interno
|
|
|
|
+- `PrintWriter()` — ⚪ Interno
|
|
|
|
+- `ProcessBuilder()` — ⚪ Interno
|
|
|
|
+- `parseComments()` — ⚪ Interno
|
|
|
|
+- `String()` — ⚪ Interno
|
|
|
|
+- `ObjectMapper()` — ⚪ Interno
|
|
|
|
+- `replaceSection()` — ⚪ Interno
|
|
|
|
+- `extractTemplateAnchor()` — ⚪ Interno
|
|
|
|
+- `clear()` — ⚪ Interno
|
|
|
|
+- `asString()` — ⚪ Interno
|
|
|
|
+- `InputStreamReader()` — ⚪ Interno
|
|
|
|
+- `UncheckedIOException()` — ⚪ Interno
|
|
|
|
+- `readFileToString()` — ⚪ Interno
|
|
|
|
+- `DefaultResourceLoader()` — ⚪ Interno
|
|
|
|
+- `asString()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `ProcesService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\ProcesService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByID()` — ⚪ Interno
|
|
|
|
+- `findByName()` — ⚪ Interno
|
|
|
|
+- `findByNameCurs()` — ⚪ Interno
|
|
|
|
+- `getAll()` — ⚪ Interno
|
|
|
|
+- `getSupervisableCursos()` — ⚪ Interno
|
|
|
|
+- `getSupervisableProcedures()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `deleteById()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+- `getFlowDiagram()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `RolService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\RolService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findOne()` — ⚪ Interno
|
|
|
|
+- `findAssignables()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `SysStatusService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\SysStatusService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findByType()` — ⚪ Interno
|
|
|
|
+- `log()` — ⚪ Interno
|
|
|
|
+- `SysStatus()` — ⚪ Interno
|
|
|
|
+- `Timestamp()` — ⚪ Interno
|
|
|
|
+- `err()` — ⚪ Interno
|
|
|
|
+- `SysStatus()` — ⚪ Interno
|
|
|
|
+- `Timestamp()` — ⚪ Interno
|
|
|
|
+- `warn()` — ⚪ Interno
|
|
|
|
+- `SysStatus()` — ⚪ Interno
|
|
|
|
+- `Timestamp()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `TascaService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\TascaService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findByProces()` — ⚪ Interno
|
|
|
|
+- `getByID()` — ⚪ Interno
|
|
|
|
+- `getByProcesTascap()` — ⚪ Interno
|
|
|
|
+- `getAllEvidencies()` — ⚪ Interno
|
|
|
|
+- `getEvidenciesByCentreTitulacioCurs()` — ⚪ Interno
|
|
|
|
+- `getEvidencesByProcedure()` — ⚪ Interno
|
|
|
|
+- `getAllAvailableEvidences()` — ⚪ Interno
|
|
|
|
+- `create()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `deleteById()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `TipusService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\TipusService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findOne()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `UsuariService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\UsuariService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `findByUsername()` — ⚪ Interno
|
|
|
|
+- `hasActiveRol()` — ⚪ Interno
|
|
|
|
+- `getActiveInstanciaTasques()` — ⚪ Interno
|
|
|
|
+- `getActiveInstancies()` — ⚪ Interno
|
|
|
|
+- `getSupervisableProcessos()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+- `if()` — ⚪ Interno
|
|
|
|
+```
|
|
|
|
+// Role
|
|
|
|
+```
|
|
|
|
+- `especiales()` — ⚪ Interno
|
|
|
|
+- `getSupervisableCentres()` — ⚪ Interno
|
|
|
|
+- `getInstanceAsignedUsers()` — ⚪ Interno
|
|
|
|
+- `findByRolCentre()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `UsuarisRolService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\UsuarisRolService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findAll()` — ⚪ Interno
|
|
|
|
+- `exists()` — ⚪ Interno
|
|
|
|
+- `find()` — ⚪ Interno
|
|
|
|
+- `findActive()` — ⚪ Interno
|
|
|
|
+- `findLast()` — ⚪ Interno
|
|
|
|
+- `findLastNum()` — ⚪ Interno
|
|
|
|
+- `hasActiveRol()` — ⚪ Interno
|
|
|
|
+- `findActiveRols()` — ⚪ Interno
|
|
|
|
+- `isGrantedUser()` — ⚪ Interno
|
|
|
|
+- `isGrantedSupervisor()` — ⚪ Interno
|
|
|
|
+- `isAdminUser()` — ⚪ Interno
|
|
|
|
+- `isDataTestUser()` — ⚪ Interno
|
|
|
|
+- `hasActiveRol()` — ⚪ Interno
|
|
|
|
+- `hasActiveRoles()` — ⚪ Interno
|
|
|
|
+- `hasActiveAmbit()` — ⚪ Interno
|
|
|
|
+- `hasAssociatedProcs()` — ⚪ Interno
|
|
|
|
+- `findAssociatedProcs()` — ⚪ Interno
|
|
|
|
+- `findManagerByCentre()` — ⚪ Interno
|
|
|
|
+- `findManagerByTitulacio()` — ⚪ Interno
|
|
|
|
+- `findManagerByCentres()` — ⚪ Interno
|
|
|
|
+- `findManagerByTitulacions()` — ⚪ Interno
|
|
|
|
+- `getSpecialRoles()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+- `delete()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 🧩 Clase: `WikiService`
|
|
|
|
+**Ubicación:** `src\main\java\es\uv\saic\service\WikiService.java`
|
|
|
|
+**Estado de revisión:** ⚠️ *Pendiente*
|
|
|
|
+
|
|
|
|
+#### 🔍 Métodos detectados:
|
|
|
|
+- `findByCategoria()` — ⚪ Interno
|
|
|
|
+- `save()` — ⚪ Interno
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 📈 Estadísticas finales
|
|
|
|
+
|
|
|
|
+- Total de clases: 30
|
|
|
|
+- Total de métodos: 438
|
|
|
|
+- Total de comentarios: 8
|
|
|
|
+
|
|
|
|
+✅ **Fin del reporte de carpeta.**
|