package com.megatim.fdxconsultation.dao.impl.dataproduction.metadata; import com.megatim.fdxcommons.tools.database.contrat.QueryMetaData; import com.megatim.fdxconsultation.model.dataproduction.DataProduction; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Timestamp; import javax.naming.NamingException; /** * * @author Gabuntu */ public class CreateDataProductionQuery implements QueryMetaData { private final DataProduction dataProduction; private final Connection connection; public CreateDataProductionQuery(DataProduction dataProduction, Connection connection) { this.dataProduction = dataProduction; this.connection = connection; } private String queryString() { return "INSERT INTO dataproduction(id, dateproduction, referentielversion, codetypefichier" + ", codeparticipant, source, filename, statutdataproduction" + ", filedate, dataProductionType, token, nbreElements" + ", tailleFichier, integrationFileName, dateMiseAJour)" + " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; } @Override public Void execute() throws NamingException, SQLException { System.out.println("<-------------------------------------------------------------------------->"); System.out.println(queryString()); System.out.println("<-------------------------------------------------------------------------->"); try ( PreparedStatement statement = connection.prepareStatement(queryString())) { statement.setLong(1, dataProduction.getId()); statement.setTimestamp(2, dataProduction.getDateProduction() != null ? Timestamp.valueOf(dataProduction.getDateProduction()) : null); statement.setString(3, dataProduction.getReferentielVersion()); statement.setString(4, dataProduction.getCodeTypeFichier()); statement.setString(5, dataProduction.getCodeParticipant()); statement.setString(6, dataProduction.getSource().name()); statement.setString(7, dataProduction.getFileName()); statement.setString(8, dataProduction.getStatutDataProduction().name()); statement.setTimestamp(9, dataProduction.getFileDate() != null ? Timestamp.valueOf(dataProduction.getFileDate()) : null); statement.setString(10, dataProduction.getDataProductionType().name()); statement.setString(11, dataProduction.getToken()); statement.setLong(12, dataProduction.getNbreElements()); statement.setLong(13, dataProduction.getTailleFichier()); statement.setString(14, dataProduction.getIntegrationFileName()); statement.setTimestamp(15, dataProduction.getDateMiseAJour() != null ? Timestamp.valueOf(dataProduction.getDateMiseAJour()) : null); statement.executeUpdate(); return null; } } }