1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
public void importIndividus(GroupeIndividu gImport, GroupeIndividu gExport, Questionnaire qExp, java.sql.PreparedStatement prep)
{
try
{
System.out.println("Mowah import individus");
int id =gExport.getId();
Statement statement= connexion.createStatement();
prep.setInt(1,id);
prep.setInt(2,gExport.getQuestionnaire().getIdQuestionnaire());
ResultSet resultat=prep.executeQuery();
//On prepare toute une liste de requete à executer de nombreuse fois
PreparedStatement prep2 = connexion.prepareStatement("SELECT * FROM INDIVIDUS WHERE T_INDIVIDUS_ID=?");
PreparedStatement prepCreatQimp = connexion.prepareStatement("CREATE VIEW QIMP AS (SELECT T_QUESTION_ID, CODEQUESTION FROM QUESTION WHERE T_QUESTIONNAIRE_ID=?)");
PreparedStatement prepCreatQexp = connexion.prepareStatement("CREATE VIEW QEXP AS (SELECT T_QUESTION_ID, CODEQUESTION FROM QUESTION WHERE T_QUESTIONNAIRE_ID=?)");
PreparedStatement prepCreatQjointure = connexion.prepareStatement("CREATE VIEW QJOINTURE AS (SELECT QIMP.T_QUESTION_ID AS QIMPID, QEXP.T_QUESTION_ID AS QEXPID FROM QEXP, QIMP WHERE ( QEXP.CODEQUESTION=QIMP.CODEQUESTION) )");
PreparedStatement prepInsertRep = connexion.prepareStatement("INSERT INTO REPONSE_TEMP (T_QUESTION_ID, T_INDIVIDUSTEMP_ID, VALEUR, REPONSE) " +
"SELECT T_QUESTION_ID, T_INDIVIDUSTEMP_ID, VALEUR, REPONSE FROM IND_TEMP_QUESTION WHERE (T_INDIVIDUSTEMP_ID =?)");
PreparedStatement prepChangeIndRep = connexion.prepareStatement("UPDATE REPONSE_TEMP SET T_INDIVIDUSTEMP_ID=?");
PreparedStatement prepQRep = connexion.prepareStatement("UPDATE REPONSE_TEMP SET T_Question_ID = ( SELECT QIMPID FROM QJOINTURE WHERE QJOINTURE.QEXPID=REPONSE_TEMP.T_Question_ID ) WHERE T_Question_ID IN ( SELECT QEXPID FROM QJOINTURE ) ");
PreparedStatement prepInsertIndQ = connexion.prepareStatement("INSERT INTO IND_TEMP_QUESTION (T_QUESTION_ID, T_INDIVIDUSTEMP_ID, VALEUR, REPONSE) " +
"SELECT T_QUESTION_ID, T_INDIVIDUSTEMP_ID, VALEUR, REPONSE FROM REPONSE_TEMP");
while(resultat.next())
{
int id_Mere=resultat.getInt("T_INDIVIDUS_ID");
prep2.setInt(1, id_Mere);
ResultSet resultat2=prep2.executeQuery();
String code=null;
if(resultat2.next())
code = resultat2.getString("CODEINDIVIDU");
int id_ind= resultat.getInt("T_INDIVIDUSTEMP_ID");
boolean active=resultat.getBoolean("ACTIVE");
Date date = resultat.getDate("DATECREATION");
Individus indImp= new Individus(gImport,code, active, date, id_ind );
Individus indExp= new Individus(gImport,code, active, date, id_ind );
//System.out.println("Je charge ce glandu d'ind : " +indImp.getCode());
ajoutInd(indImp, gImport);
importReponse(indImp, indExp, qExp,prepCreatQimp, prepCreatQexp,prepCreatQjointure, prepInsertRep, prepChangeIndRep, prepQRep, prepInsertIndQ );
//Une fois qu'on a importer la liste dans la base, on supprime la liste de réponse de la mémoire vive.
indExp.getListeReponse().clear();
}
}
catch(Exception e)
{
e.printStackTrace();
}
} |
Partager