Browse Source

El metodo para insertar los archivos ya funciona si se le especifica la ruta del archivo

master
mramirezg 9 months ago
parent
commit
33d1811cde
3 changed files with 112 additions and 17 deletions
  1. +5
    -0
      pom.xml
  2. +6
    -0
      src/main/java/mx/gob/jumapacelaya/Application.java
  3. +101
    -17
      src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java

+ 5
- 0
pom.xml View File

@ -128,6 +128,11 @@
<artifactId>signature-widget</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
<build>


+ 6
- 0
src/main/java/mx/gob/jumapacelaya/Application.java View File

@ -2,6 +2,7 @@ package mx.gob.jumapacelaya;
import com.vaadin.flow.component.page.AppShellConfigurator;
import com.vaadin.flow.theme.Theme;
import mx.gob.jumapacelaya.services.DatabaseService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@ -18,6 +19,11 @@ public class Application implements AppShellConfigurator {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
DatabaseService databaseService = new DatabaseService();
String archivo = "C:/Users/mramirezg/Documents/MRAMIREZG/Libro1 PRUEBA.xlsx";
databaseService.insertarDesdeExcel(archivo);
}
}

+ 101
- 17
src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java View File

@ -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;
}
}
}

Loading…
Cancel
Save