exec("SELECT oid FROM pmsi.p_imports WHERE oid = $import_id ");
if ($result != false) {
$record = $database->nextRecordInto();
if ($record != FALSE) {
$OK = TRUE;
}
}
if ($OK == TRUE) {
// Controle en interactif
if ($option == "C") {
$sqlcmd = "";
$sqlcmd = "UPDATE pmsi.p_imports SET traitement_a_faire = 'C' WHERE oid = $import_id ";
$result = $database->exec($sqlcmd);
$submitCmd = "..\import_rss_rsf\iCTI_import_rss_rsf.exe";
$return = exec($submitCmd);
$result = $database->exec("SELECT nb_erreurs, nb_avertissements FROM pmsi.p_imports WHERE oid = $import_id ");
if ($result != false) {
$record = $database->nextRecordInto();
if ($record != FALSE) {
$nb_erreurs = $record[0] + 0;
$nb_avertissements = $record[1] + 0;
if ($nb_erreurs > 0) {
$returnCode = "KO";
$returnTexte = "$nb_erreurs erreur(s) grave(s)";
if ($nb_avertissements > 0) {
$returnTexte = $returnTexte . ", $nb_avertissements avertissement(s)";
}
}
else {
if ($nb_avertissements > 0) {
$returnCode = "ATT";
$returnTexte = "$nb_avertissements avertissement(s)";
}
}
}
}
}
// Génération en batch
if ($option == "G") {
// Sauf si erreurs blocantes
$nb_erreurs_blocantes = 0;
$traitement_en_cours = 0;
$sqlcmd = "SELECT
SUM(CASE WHEN import_id = $import_id AND gravite >= 9 THEN 1 ELSE 0 END) as count_gravite9,
count(DISTINCT CASE WHEN etat_en_cours = 'G' THEN import_id ELSE NULL END) as count_generationencours
FROM pmsi.p_imports
LEFT JOIN pmsi.p_imports_controles ON import_id = p_imports.oid";
$result = $database->exec($sqlcmd);
if ($result != false) {
$record = $database->nextRecordInto();
if ($record != FALSE) {
$OK = TRUE;
$nb_erreurs_blocantes = (int)$record[0];
$traitement_en_cours = (int)$record[1];
}
else {
}
}
else {
$returnCode = "KO";
$returnTexte = "Accès à la base iCTI en erreur";
}
if ($returnCode != "KO") {
if ($nb_erreurs_blocantes > 0 || $traitement_en_cours > 0) {
$returnCode = "KO";
if ($nb_erreurs_blocantes > 0) {
if ($nb_erreurs_blocantes == 1) {
$returnTexte = "1 erreur blocante empêche la génération";
}
else {
$returnTexte = "$nb_erreurs_blocantes erreurs blocantes empêchent la génération";
}
}
else {
$returnTexte = "Au moins un traitement de génération est actif actuellement";
}
}
else {
$sqlcmd = "";
$sqlcmd = "UPDATE pmsi.p_imports SET traitement_a_faire = 'G' WHERE oid = $import_id ";
$result = $database->exec($sqlcmd);
$exe = rootDir() . "\modules\pmsi\import_rss_rsf\iCTI_import_rss_rsf.exe";
$args = "";
if ($option_expert == "false") {$args .= " -xx";}
if ($option_essentiels == "false") {$args .= " -xe";}
if ($option_complements == "false") {$args .= " -xc";}
if (strlen($args) > 0) { $args = " \"" . $args . "\"";}
$submitCmd = "..\..\outils\exe\iCTI_submitJob.exe \"$exe\"$args";
$return = exec($submitCmd);
}
}
}
// suppression
if ($option == "D") {
$sqlcmd = "";
$sqlcmd = "DELETE FROM pmsi.p_imports WHERE oid = $import_id; ";
$sqlcmd = $sqlcmd . "DELETE FROM pmsi.p_imports_data WHERE import_id = $import_id; ";
$sqlcmd = $sqlcmd . "DELETE FROM pmsi.p_imports_controles WHERE import_id = $import_id; ";
$result = $database->exec($sqlcmd);
}
}
else {
$returnCode = "KO";
$returnTexte = "Import n° $import_id non trouvé";
}
}
else {
$exe = rootDir() . "\modules\pmsi\import_rss_rsf\iCTI_import_rss_rsf_en_cours.exe";
$submitCmd = "..\..\outils\exe\iCTI_submitJob.exe \"$exe\"";
$return = exec($submitCmd);
}
$httpString = "";
$httpString = $httpString . "";
$httpString = $httpString . "\n";
$httpString = $httpString . "\n";
$httpString = compress64($httpString);
echo "$httpString";
?>