$ts['ROLE_PRIVILEGE']="role_id IN (SELECT id FROM role WHERE code IN $roles)";
$ts['STATUT_INTERVENANT']="source_code IN $statuts";
$ts['STATUT_PRIVILEGE']="statut_id IN (SELECT id FROM statut_intervenant WHERE source_code IN $statuts)";
$ts['TYPE_AGREMENT_STATUT']="statut_intervenant_id IN (SELECT id FROM statut_intervenant WHERE source_code IN $statuts)";
$ts['TYPE_PIECE_JOINTE_STATUT']="statut_intervenant_id IN (SELECT id FROM statut_intervenant WHERE source_code IN $statuts) AND type_piece_jointe_id IN (SELECT id FROM type_piece_jointe WHERE histo_destruction IS NULL)";
return"(SELECT id FROM domaine_fonctionnel WHERE source_code = ''000'')";
}
if('STRUCTURE_ID'==$column){
return"(SELECT id FROM structure WHERE source_code = ''UNIV'')";
}
if('PRIVILEGE_ID'==$column){
$cppSql="SELECT cp.code || '-' || p.code FROM privilege p JOIN categorie_privilege cp ON cp.id = p.categorie_id WHERE p.id = privilege_id";
return"(SELECT p.id FROM privilege p JOIN categorie_privilege cp ON p.categorie_id = cp.id WHERE cp.code || ''-'' || p.code = ''' ||($cppSql)|| ''')";
}
if($def['constraint_table']){
$ctable=$def['constraint_table'];
$ccol=$def['constraint_column'];
$codeCol=$this->getCodeColumn($ctable);
$ccsql="SELECT $codeCol FROM $ctable WHERE $ccol = $column";
$csql="'(SELECT $ccol FROM $ctable WHERE ROWNUM = 1 AND $codeCol = q''[' || ($ccsql) || ']'')'";
return"' || CASE WHEN $column IS NULL THEN 'NULL' ELSE $csql END || '";
}
switch($def['type']){
case'NUMBER':
case'FLOAT':
return"' || CASE WHEN $column IS NULL THEN 'NULL' ELSE '' || $column || '' END || '";
break;
case'VARCHAR2':
return"' || CASE WHEN $column IS NULL THEN 'NULL' ELSE 'q''[' || $column || ']''' END || '";
case'CLOB':
return"' || CASE WHEN $column IS NULL THEN 'NULL' ELSE 'q''[' || to_char($column) || ']''' END || '";
break;
case'DATE':
return"' || CASE WHEN $column IS NULL THEN 'NULL' ELSE 'to_date(''' || to_char($column,'YYYY-MM-DD HH:MI:SS') || ''',''YYYY-MM-DD HH:MI:SS'')' END || '";