diff --git a/pom.xml b/pom.xml
index 0fe2887..3ce8ff4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,6 +40,11 @@
+
+ oracle-public
+ https://maven.oracle.com/public
+
+
@@ -76,6 +81,11 @@
runtime
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
mysql
mysql-connector-java
@@ -83,8 +93,8 @@
- org.springframework.boot
- spring-boot-starter-jdbc
+ com.oracle.database.jdbc
+ ojdbc8
@@ -96,43 +106,52 @@
org.springframework.boot
spring-boot-starter-validation
+
org.springframework.boot
spring-boot-devtools
true
+
org.springframework.security
spring-security-ldap
+
org.springframework.boot
spring-boot-starter-test
test
+
org.springframework.boot
spring-boot-starter-data-ldap
+
org.springframework.ldap
spring-ldap-core
+
com.vaadin
vaadin-testbench-junit5
test
+
de.f0rce.signaturepad
signature-widget
3.1.0
+
org.apache.poi
poi-ooxml
5.2.0
+
commons-io
commons-io
diff --git a/src/main/bundles/dev.bundle b/src/main/bundles/dev.bundle
index b5fa23b..6a60ca5 100644
Binary files a/src/main/bundles/dev.bundle and b/src/main/bundles/dev.bundle differ
diff --git a/src/main/frontend/themes/sistema-mantenimiento/styles.css b/src/main/frontend/themes/sistema-mantenimiento/styles.css
index 12a52b2..57bd6a1 100644
--- a/src/main/frontend/themes/sistema-mantenimiento/styles.css
+++ b/src/main/frontend/themes/sistema-mantenimiento/styles.css
@@ -210,13 +210,19 @@ vaadin-button[theme~="primary"] {
}
vaadin-button:not([theme]) {
- color: #bc955b;
+ color: #a02142;
}
vaadin-button:hover::before {
color: blue;
}
+/* Estilos para el theme personalizado 'subir-archivo' */
+vaadin-button[theme~="subir-archivo"] {
+ background-color: #691b31;
+ color: #ffffff;
+}
+
/* (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) */
/* (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) */
/*Estilos especificos para los CheckBox y RadioButtons */
diff --git a/src/main/java/mx/gob/jumapacelaya/Application.java b/src/main/java/mx/gob/jumapacelaya/Application.java
index a800726..a3906b6 100644
--- a/src/main/java/mx/gob/jumapacelaya/Application.java
+++ b/src/main/java/mx/gob/jumapacelaya/Application.java
@@ -6,6 +6,8 @@ import com.vaadin.flow.theme.Theme;
import mx.gob.jumapacelaya.services.DatabaseService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
/**
* The entry point of the Spring Boot application.
diff --git a/src/main/java/mx/gob/jumapacelaya/datasource/MysqlDataSource.java b/src/main/java/mx/gob/jumapacelaya/datasource/MysqlDataSource.java
new file mode 100644
index 0000000..d22777f
--- /dev/null
+++ b/src/main/java/mx/gob/jumapacelaya/datasource/MysqlDataSource.java
@@ -0,0 +1,31 @@
+package mx.gob.jumapacelaya.datasource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.sql.DataSource;
+
+@Configuration
+public class MysqlDataSource {
+
+ @Bean(name= "mysqlDB")
+ @Primary
+ @ConfigurationProperties(prefix = "spring.datasource")
+ public DataSource mysqlDataSource() {
+ return DataSourceBuilder.create().build();
+ }
+
+
+ @Bean(name = "mysqlJdbcTemplate")
+ @Autowired
+ public JdbcTemplate mysqlTemplate(@Qualifier("mysqlDB") DataSource mysqlDB) {
+ return new JdbcTemplate(mysqlDB);
+ }
+}
diff --git a/src/main/java/mx/gob/jumapacelaya/datasource/OracleDataSource.java b/src/main/java/mx/gob/jumapacelaya/datasource/OracleDataSource.java
new file mode 100644
index 0000000..8cda230
--- /dev/null
+++ b/src/main/java/mx/gob/jumapacelaya/datasource/OracleDataSource.java
@@ -0,0 +1,27 @@
+package mx.gob.jumapacelaya.datasource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import javax.sql.DataSource;
+
+@Configuration
+public class OracleDataSource {
+
+ @Bean(name = "oracleDB")
+ @ConfigurationProperties(prefix = "spring.datasource.secondary")
+ public DataSource oracleDataSource() {
+ return DataSourceBuilder.create().build();
+ }
+
+ @Bean(name = "oracleTemplate")
+ @Autowired
+ public JdbcTemplate oracleJdbcTemplate(@Qualifier("oracleDB") DataSource oracleDB) {
+ return new JdbcTemplate(oracleDB);
+ }
+}
diff --git a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
index eeadf17..d512264 100644
--- a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
+++ b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
@@ -5,8 +5,6 @@ import mx.gob.jumapacelaya.models.*;
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.io.InputStream;
import java.sql.*;
@@ -17,7 +15,7 @@ import java.util.List;
public class DatabaseService {
- private Connection getConnection() throws SQLException {
+ private Connection getMysqlConnection() throws SQLException {
String url = "jdbc:mysql://mhdb.jumapacelaya.gob.mx:33006/Mantenimientos";
String user = "root";
String pass = "mantenimientos";
@@ -26,12 +24,21 @@ public class DatabaseService {
}
+ private Connection getOracleConnection() throws SQLException {
+ String url = "jdbc:oracle:thin:@//svradminfinan:1521/admfinpdb.JUMAPACELAYA.GOB.MX";
+ String user = "Finanzas";
+ String pass = "finanzas";
+
+ return DriverManager.getConnection(url, user, pass);
+
+ }
+
// Método para obtener los tipos de mantenimientos
public List getTiposDeMantenimientos() {
List tiposDeMantenimientos = new ArrayList<>();
String query = "SELECT tipomantid, nombre FROM TIPOMANT";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
@@ -53,7 +60,7 @@ public class DatabaseService {
String nomenclatura = "";
String query = "SELECT nomenclatura FROM TIPOMANT where TIPOMANTID = ?";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
PreparedStatement preparedStatement = connection.prepareStatement(query)) {
preparedStatement.setString(1, tipoMantenimiento);
@@ -74,9 +81,12 @@ public class DatabaseService {
/* -------------- Metodo para obtener a los usuarios ---------------- */
public List getUsuarios() {
List usuarios = new ArrayList<>();
- String query = "select EMPLEADOID, NOMBRE from USUARIOSFINAN";
+ String query = "SELECT u.*, e.EMAIL \n" +
+ "FROM ADMON.USUARIOS u\n" +
+ "INNER JOIN ADMON.EMPLEADOS e ON\n" +
+ "u.EMPLEADOID = e.EMPLEADOID";
- try (Connection connection = getConnection();
+ try (Connection connection = getOracleConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
@@ -97,9 +107,9 @@ public class DatabaseService {
/* -------------- Metodo para obtener los departamentos ---------------- */
public List getDepartamentos() {
List departamentos = new ArrayList<>();
- String query = "select DEPARTAMENTOID, DESCRIPCION from DEPARTAMENTOSFINAN";
+ String query = "select DEPARTAMENTOID, DESCRIPCION from DEPARTAMENTO";
- try (Connection connection = getConnection();
+ try (Connection connection = getOracleConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
@@ -122,7 +132,7 @@ public class DatabaseService {
List tiposHardware = new ArrayList<>();
String query = "select TIPOHARDWAREID, NOMBRETIPO from TIPOSHARDWARE";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
@@ -140,25 +150,6 @@ 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)) {
-
- preparedStatement.setString(1, usuarioId);
- ResultSet resultSet = preparedStatement.executeQuery();
-
- if (resultSet.next()) {
- nombreUsuario = resultSet.getString("NOMBRE");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return nombreUsuario;
- }
/* ----------------Obtener el Plan Anual de Mantenimiento ---------------- */
public List getPlanAnual() {
@@ -170,7 +161,7 @@ public class DatabaseService {
"FROM MTTOPROGRAMADOS p " +
"LEFT JOIN MANTENIMIENTOS m ON p.mttoprogramadoid = m.mttoprogramadoid";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
@@ -223,7 +214,7 @@ public class DatabaseService {
Connection connection = null;
try {
- connection = getConnection();
+ connection = getMysqlConnection();
if (connection == null) {
throw new SQLException("No se pudo establecer la conexion con la base de datos.");
@@ -299,7 +290,7 @@ public class DatabaseService {
String query = "INSERT INTO HARDWAREDET (tipoHardwareId, numSerie, modelo, placa, mantenimientoId) VALUES (?, ?, ?, ?, ?)";
boolean isInserted = false;
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
PreparedStatement preparedStatement = connection.prepareStatement(query)) {
preparedStatement.setString(1, tipoHardwareId);
@@ -319,7 +310,7 @@ public class DatabaseService {
public int getUltimoMantenimientoId() {
int ultimoId = -1;
- try (Connection connection = getConnection()) {
+ try (Connection connection = getMysqlConnection()) {
String query = "SELECT MAX(mantenimientoid) FROM MANTENIMIENTOS";
try (PreparedStatement preparedStatement = connection.prepareStatement(query)) {
ResultSet resultSet = preparedStatement.executeQuery();
@@ -338,7 +329,7 @@ public class DatabaseService {
public boolean insertActualizacionSeg(String descripcion, String otras, int mantenimientoId) {
String query = "INSERT INTO ACTUALIZACIONESSEG (actualizacion, otrasactualizaciones, mantenimientoid) VALUES (?, ?, ?)";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
PreparedStatement preparedStatement = connection.prepareStatement(query)) {
preparedStatement.setString(1, descripcion);
@@ -359,7 +350,7 @@ public class DatabaseService {
"REGULADOR, CPU, IMPRESORA, MINIPRINT, LAPTOP, ESCANER, FECHAPROG, TECNICOSMT, ESTADO) " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
- try (Connection connection = getConnection();
+ try (Connection connection = getMysqlConnection();
//FileInputStream file = new FileInputStream(rutaArchivoExcel);
Workbook workbook = new XSSFWorkbook(inputStream)) {
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index ecfd8e5..e0bc924 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -9,6 +9,7 @@ vaadin.allowed-packages = com.vaadin,org.vaadin,mx.gob.jumapacelaya, de.f0rce.si
spring.jpa.defer-datasource-initialization = true
+
#Configuracion LDAP
spring.ldap.urls=ldap://172.1.0.1:389
spring.ldap.base=DC=JUMAPACELAYA,DC=GOB,DC=MX
@@ -25,11 +26,16 @@ redmine.api_key=ce4dc8b6b531c818017e6831a5732ccc15b8faf6
#redmine.api_key=bada7949fd4d879cbd98eb645ae4b88603bf77d0
-#Conexion a la base de datos Mantenimientos
-#MySQL Configuration
-#spring.jpa.hibernate.ddl-auto=update
-#spring.datasource.url=jdbc:mysql://mhdb.jumapacelaya.gob.mx:33006/Mantenimientos
-#spring.datasource.username=root
-#spring.datasource.password=mantenimientos
-#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+#Conexion a la base de datos principal (escritura) MySQL
+spring.datasource.url=jdbc:mysql://mhdb.jumapacelaya.gob.mx:33006/Mantenimientos
+spring.datasource.username=root
+spring.datasource.password=mantenimientos
+spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+
+
+#Conexion a la base de datos secundaria (lectura) Oracle
+spring.datasource.secondary.url=jdbc:oracle:thin:@//svradminfinan:1521/admfinpdb.JUMAPACELAYA.GOB.MX
+spring.datasource.secondary.username=Finanzas
+spring.datasource.secondary.password=finanzas
+spring.datasource.secondary.driver-class-name=oracle.jdbc.OracleDriver