|
|
@ -342,7 +342,7 @@ public class DatabaseService { |
|
|
|
String smtSignatureBase64, String planAnualId) { |
|
|
|
|
|
|
|
String query = "INSERT INTO MANTENIMIENTOS (fecha, tipoMantId, departamentoId, empleadoId, formaMant, nombreequipo," + |
|
|
|
" firmaUsuario, firmaSmt, planAnualId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING MANTENIMIENTOID INTO ?"; |
|
|
|
" firmaUsuario, firmaSmt, planAnualId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; |
|
|
|
|
|
|
|
String updateStatusQuery = "UPDATE PLANANUAL SET estado = 'REALIZADO' WHERE planAnualId = ?"; |
|
|
|
|
|
|
@ -360,7 +360,7 @@ public class DatabaseService { |
|
|
|
connection.setAutoCommit(false); |
|
|
|
|
|
|
|
// Paso 1: primero inserta el mantenimiento |
|
|
|
try (OraclePreparedStatement preparedStatement = (OraclePreparedStatement) connection.prepareStatement(query)) { |
|
|
|
try (PreparedStatement preparedStatement = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS)) { |
|
|
|
|
|
|
|
preparedStatement.setDate(1, Date.valueOf(fecha)); |
|
|
|
preparedStatement.setLong(2, Long.parseLong(tipoMantId)); |
|
|
@ -383,13 +383,12 @@ public class DatabaseService { |
|
|
|
|
|
|
|
preparedStatement.setLong(9, Long.parseLong(planAnualId)); |
|
|
|
|
|
|
|
preparedStatement.registerReturnParameter(10, Types.NUMERIC); |
|
|
|
|
|
|
|
preparedStatement.executeUpdate(); |
|
|
|
|
|
|
|
ResultSet rs = preparedStatement.getReturnResultSet(); |
|
|
|
if (rs != null && rs.next()) { |
|
|
|
nuevoId = rs.getInt(1); |
|
|
|
try (ResultSet rs = preparedStatement.getGeneratedKeys()) { |
|
|
|
if (rs.next()) { |
|
|
|
nuevoId = rs.getInt(1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|