pour déploiement auto v2 via gitlab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

190 lines
5.1 KiB

<?php
require_once("../../base/php/startSession.php");
require_once("../../base/php/Environnement.php" );
require_once( "../../base/php/Functions.php" );
require_once("../../base/php//classDatabase.php");
set_time_limit(3600);
$import_id = @$_POST["import_id"];
if ($import_id == "") {
$import_id = @$_GET["import_id"];
}
$import_id = $import_id + 0;
$option = @$_POST["option"];
if ($option == "") {
$option = @$_GET["option"];
}
$option_expert = @$_POST["option_expert"];
if ($option_expert == "") {
$option_expert = @$_GET["option_expert"];
}
$option_essentiels = @$_POST["option_essentiels"];
if ($option_essentiels == "") {
$option_essentiels = @$_GET["option_essentiels"];
}
$option_complements = @$_POST["option_complements"];
if ($option_complements == "") {
$option_complements = @$_GET["option_complements"];
}
$returnCode = "OK";
$returnTexte = "";
// Imports fichiers
if ($option != "encours") {
$database = new Database("iCTI");
$OK = FALSE;
$result = $database->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 $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 . "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
$httpString = $httpString . "\n<HTTP_SERVICE returnCode=\"$returnCode\" returnTexte=\"$returnTexte\" >";
$httpString = $httpString . "\n</HTTP_SERVICE>";
$httpString = compress64($httpString);
echo "<CTICONTENT>$httpString</CTICONTENT>";
?>