|
|
@ -1,8 +1,12 @@ |
|
|
|
package mx.gob.jumapacelaya.services; |
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder; |
|
|
|
import org.apache.poi.ss.usermodel.*; |
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|
|
|
|
|
|
|
import javax.swing.plaf.PanelUI; |
|
|
|
import java.io.FileInputStream; |
|
|
|
import java.io.IOException; |
|
|
|
import java.sql.*; |
|
|
|
import java.time.LocalDate; |
|
|
|
import java.util.ArrayList; |
|
|
@ -28,9 +32,9 @@ public class DatabaseService { |
|
|
|
Statement statement = connection.createStatement(); |
|
|
|
ResultSet resultSet = statement.executeQuery(query)) { |
|
|
|
|
|
|
|
while (resultSet.next()) { |
|
|
|
tiposDeMantenimientos.add(resultSet.getString("TIPOMANTID")); |
|
|
|
} |
|
|
|
while (resultSet.next()) { |
|
|
|
tiposDeMantenimientos.add(resultSet.getString("TIPOMANTID")); |
|
|
|
} |
|
|
|
} catch (SQLException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
@ -38,12 +42,12 @@ public class DatabaseService { |
|
|
|
} |
|
|
|
|
|
|
|
// Método para obtener las nomenclaturas |
|
|
|
public String getNomenclatura(String tipoMantenimiento ) { |
|
|
|
public String getNomenclatura(String tipoMantenimiento) { |
|
|
|
String nomenclatura = ""; |
|
|
|
String query = "SELECT nomenclatura FROM TIPOMANT where TIPOMANTID = ?"; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
|
|
|
|
preparedStatement.setString(1, tipoMantenimiento); |
|
|
|
ResultSet resultSet = preparedStatement.executeQuery(); |
|
|
@ -84,8 +88,8 @@ public class DatabaseService { |
|
|
|
String query = "select DEPARTAMENTOID from DEPARTAMENTOSFINAN"; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
Statement statement = connection.createStatement(); |
|
|
|
ResultSet resultSet = statement.executeQuery(query)) { |
|
|
|
Statement statement = connection.createStatement(); |
|
|
|
ResultSet resultSet = statement.executeQuery(query)) { |
|
|
|
|
|
|
|
while (resultSet.next()) { |
|
|
|
departamentos.add(resultSet.getString("DEPARTAMENTOID")); |
|
|
@ -97,15 +101,14 @@ public class DatabaseService { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* -------------- Metodo para obtener los tipos de hardware ---------------- */ |
|
|
|
public List<String> getTiposHardware() { |
|
|
|
List<String> tiposHardware = new ArrayList<>(); |
|
|
|
String query = "select TIPOHARDWAREID from TIPOSHARDWARE"; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
Statement statement = connection.createStatement(); |
|
|
|
ResultSet resultSet = statement.executeQuery(query)) { |
|
|
|
Statement statement = connection.createStatement(); |
|
|
|
ResultSet resultSet = statement.executeQuery(query)) { |
|
|
|
|
|
|
|
while (resultSet.next()) { |
|
|
|
tiposHardware.add(resultSet.getString("TIPOHARDWAREID")); |
|
|
@ -117,14 +120,13 @@ public class DatabaseService { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* -------------- Obtener los nombres completos de los usuarios ------------- */ |
|
|
|
public String getNombreUsuario(String usuarioId) { |
|
|
|
String nombreUsuario = ""; |
|
|
|
String query = "SELECT nombre FROM USUARIOSFINAN WHERE usuarioid = ?"; |
|
|
|
|
|
|
|
try(Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
try (Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
|
|
|
|
preparedStatement.setString(1, usuarioId); |
|
|
|
ResultSet resultSet = preparedStatement.executeQuery(); |
|
|
@ -139,7 +141,6 @@ public class DatabaseService { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* -------------- Metodos para insetar en la BD ---------------- */ |
|
|
|
// INSERTAR EN TABLA: MANTENIMINETOS |
|
|
|
public int insertarMantenimiento(LocalDate fecha, String tipoMantId, String departamentoId, String empleadoId, String formaMant) { |
|
|
@ -147,7 +148,7 @@ public class DatabaseService { |
|
|
|
int nuevoId = -1; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS)) { |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS)) { |
|
|
|
|
|
|
|
preparedStatement.setDate(1, Date.valueOf(fecha)); |
|
|
|
preparedStatement.setString(2, tipoMantId); |
|
|
@ -175,7 +176,7 @@ public class DatabaseService { |
|
|
|
boolean isInserted = false; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
|
|
|
|
preparedStatement.setString(1, tipoHardwareId); |
|
|
|
preparedStatement.setInt(2, numSerie); |
|
|
@ -214,7 +215,7 @@ public class DatabaseService { |
|
|
|
String query = "INSERT INTO ACTUALIZACIONESSEG (actualizacion, otrasactualizaciones, mantenimientoid) VALUES (?, ?, ?)"; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
|
|
|
|
preparedStatement.setString(1, descripcion); |
|
|
|
preparedStatement.setString(2, otras); |
|
|
@ -227,4 +228,87 @@ public class DatabaseService { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// INSERTAR EN LA TABLA: MTTOPROGRAMADOS |
|
|
|
public void insertarDesdeExcel(String rutaArchivoExcel) { |
|
|
|
String query = "INSERT INTO MTTOPROGRAMADOS (MTTOPROGRAMADOID, NOMEQUIPO, DEPARTAMENTO, MONITOR, TECLADO, MOUSE, " + |
|
|
|
"REGULADOR, CPU, IMPRESORA, MINIPRINT, LAPTOP, ESCANER, FECHAPROG, TECNICOSMT, ESTADO, FECHAREALIZADO) " + |
|
|
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; |
|
|
|
|
|
|
|
try (Connection connection = getConnection(); |
|
|
|
FileInputStream file = new FileInputStream(rutaArchivoExcel); |
|
|
|
Workbook workbook = new XSSFWorkbook(file)) { |
|
|
|
|
|
|
|
Sheet sheet = workbook.getSheetAt(0); // Primera hoja del archivo Excel |
|
|
|
|
|
|
|
for (Row row : sheet) { |
|
|
|
if (row.getRowNum() == 0) continue; // Saltar la primera fila si contiene encabezados |
|
|
|
|
|
|
|
// Leer cada celda de la fila |
|
|
|
int mttoprogramadoId = (int) row.getCell(0).getNumericCellValue(); |
|
|
|
String nomequipo = row.getCell(1).getStringCellValue(); |
|
|
|
String departamento = row.getCell(2).getStringCellValue(); |
|
|
|
boolean monitor = getBooleanCellValue(row.getCell(3)); |
|
|
|
boolean teclado = getBooleanCellValue(row.getCell(4)); |
|
|
|
boolean mouse = getBooleanCellValue(row.getCell(5)); |
|
|
|
boolean regulador = getBooleanCellValue(row.getCell(6)); |
|
|
|
boolean cpu = getBooleanCellValue(row.getCell(7)); |
|
|
|
boolean impresora = getBooleanCellValue(row.getCell(8)); |
|
|
|
boolean miniprint = getBooleanCellValue(row.getCell(9)); |
|
|
|
boolean laptop = getBooleanCellValue(row.getCell(10)); |
|
|
|
boolean escaner = getBooleanCellValue(row.getCell(11)); |
|
|
|
Date fechaprog = Date.valueOf(row.getCell(12).getLocalDateTimeCellValue().toLocalDate()); |
|
|
|
String tecnicosmt = row.getCell(13).getStringCellValue(); |
|
|
|
String estado = row.getCell(14).getStringCellValue(); |
|
|
|
Date fecharealizado = null; |
|
|
|
if (row.getCell(15) != null && row.getCell(15).getCellType() != CellType.BLANK) { |
|
|
|
fecharealizado = Date.valueOf(row.getCell(15).getLocalDateTimeCellValue().toLocalDate()); |
|
|
|
} |
|
|
|
|
|
|
|
try (PreparedStatement preparedStatement = connection.prepareStatement(query)) { |
|
|
|
preparedStatement.setInt(1, mttoprogramadoId); |
|
|
|
preparedStatement.setString(2, nomequipo); |
|
|
|
preparedStatement.setString(3, departamento); |
|
|
|
preparedStatement.setBoolean(4, monitor); |
|
|
|
preparedStatement.setBoolean(5, teclado); |
|
|
|
preparedStatement.setBoolean(6, mouse); |
|
|
|
preparedStatement.setBoolean(7, regulador); |
|
|
|
preparedStatement.setBoolean(8, cpu); |
|
|
|
preparedStatement.setBoolean(9, impresora); |
|
|
|
preparedStatement.setBoolean(10, miniprint); |
|
|
|
preparedStatement.setBoolean(11, laptop); |
|
|
|
preparedStatement.setBoolean(12, escaner); |
|
|
|
preparedStatement.setDate(13, fechaprog); |
|
|
|
preparedStatement.setString(14, tecnicosmt); |
|
|
|
preparedStatement.setString(15, estado); |
|
|
|
preparedStatement.setDate(16, fecharealizado); |
|
|
|
|
|
|
|
preparedStatement.executeUpdate(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
System.out.println("Datos insertados desde Excel con éxito en MTTOPROGRAMADOS."); |
|
|
|
} catch (IOException e) { |
|
|
|
System.err.println("Error al leer el archivo Excel: " + e.getMessage()); |
|
|
|
} catch (SQLException e) { |
|
|
|
System.err.println("Error al insertar datos en la BD: " + e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Método auxiliar para obtener un valor booleano de una celda |
|
|
|
private boolean getBooleanCellValue(Cell cell) { |
|
|
|
if (cell == null) return false; |
|
|
|
switch (cell.getCellType()) { |
|
|
|
case BOOLEAN: |
|
|
|
return cell.getBooleanCellValue(); |
|
|
|
case NUMERIC: |
|
|
|
return cell.getNumericCellValue() != 0; |
|
|
|
case STRING: |
|
|
|
String value = cell.getStringCellValue().trim().toLowerCase(); |
|
|
|
return value.equals("true") || value.equals("1") || value.equals("sí") || value.equals("yes"); |
|
|
|
default: |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |