dossiers PMSI non expédiés permet de compléter la base de données issue des fichiers RSS/RSF envoyés à ePMSI avec les dossiers groupés de la base de production qui ne sont pas présents dans ces fichiers RSS/RSF envoyés à ePMSI." encours_pmsi_description_GUI.htmlText = encours_pmsi_description_GUI.htmlText + "
ATTENTION" encours_pmsi_description_GUI.htmlText = encours_pmsi_description_GUI.htmlText + "
Ce traitement peut s'exécuter automatiquement toutes les nuits" encours_pmsi_description_GUI.htmlText = encours_pmsi_description_GUI.htmlText + "
Si vous souhaitez néanmoins le lancer, il s'exécutera en batch et durera quelques minutes." //encours_pmsi_description_GUI.htmlText = encours_pmsi_description_GUI.htmlText + "
Durant le temps de synchronisation, les dossiers non expédiés précédemment importés ne seront pas disponibles dans les tableaux." encours_pmsi_last_import_GUI.text = encours_node.@last_encours_active.toString() if (encours_pmsi_last_import_GUI.text == "") { encours_pmsi_last_import_GUI.text = encours_node.@last_encours_endded.toString() } } setTimeout(setBuildComplete, 1000); } } private function setBuildComplete():void { buildComplete = true; } private function resize():void { } private function selectImportLine():void { download_menu_items.refresh() download_menu_GUI.selectedIndex = 0 download_menu_current_data_type = ""; download_popup_GUI.label = "Télécharger fichier"; this.validateNow(); } public function download_menu_items_filterFunction(item:Object):Boolean { if (imports_list_GUI.selectedItem == null) { return false; } if (imports_list_GUI.selectedItem.zin_data_size == 0 && item.data == "ZIN") { return false; } if (imports_list_GUI.selectedItem.zou_data_size == 0 && item.data == "ZOU") { return false; } if (imports_list_GUI.selectedItem.zif_data_size == 0 && item.data == "ZIF") { return false; } if (imports_list_GUI.selectedItem.rss_data_size == 0 && item.data == "RSS") { return false; } if (imports_list_GUI.selectedItem.rsf_data_size == 0 && item.data == "RSF") { return false; } if (imports_list_GUI.selectedItem.fcp_data_size == 0 && item.data == "FCP") { return false; } if (imports_list_GUI.selectedItem.med_data_size == 0 && item.data == "MED") { return false; } if (imports_list_GUI.selectedItem.rssmed_data_size == 0 && item.data == "RSSMED") { return false; } if (imports_list_GUI.selectedItem.rssnom_data_size == 0 && item.data == "RSSNOM") { return false; } if (imports_list_GUI.selectedItem.actmed_data_size == 0 && item.data == "ACTMED") { return false; } if (imports_list_GUI.selectedItem.vsj_data_size == 0 && item.data == "VSJ") { return false; } if (imports_list_GUI.selectedItem.vse_data_size == 0 && item.data == "VSE") { return false; } if (imports_list_GUI.selectedItem.tsp_data_size == 0 && item.data == "TSP") { return false; } return true; } private function on_tabNavigator_change():void { if (tabNavigator_GUI.selectedIndex == 1 && new_import_version == true) { new_import_getFiles() } } private function askImportFiles():void { CTI_Utilitaires.question_yesNo("Import RSS RSF", "Confirmez vous le traitement des fichiers choisis ?", responseFunction) function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } new_import_filesValidation() } } public function displayRapport():void { if (imports_list_GUI.selectedItem != null) { var urlRequest:URLRequest = new URLRequest(); urlRequest.url = "modules/pmsi/php/PMSI_getImportRapport.php" var urlVariables:URLVariables = new URLVariables() urlVariables.import_id = imports_list_GUI.selectedItem.oid urlRequest.data = urlVariables urlRequest.method = "POST"; navigateToURL(urlRequest, "importRapport") return; } Alert.show("Aucun import à afficher") } public function controlImport():void { var urlVariables:URLVariables = new URLVariables() urlVariables.option = "C"; if (imports_list_GUI.selectedItem != null) { urlVariables.import_id = imports_list_GUI.selectedItem.oid CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php", urlVariables, exec, true, this.parentApplication) return; } Alert.show("Aucun import sélectionné") function exec(resultatService:XML):void { displayRapport(); getData(); } } /** * Si l'utilisateur qui lance la génération est 'cti', on affiche une fenêtre d'options dans laquelle * on pourra choisir de lancer ou non les contrôles expert et la génération des essentiels */ public function generateImport():void { if (application.sessionProperties.properties.CONNECTEDUSER != 'cti') { CTI_Utilitaires.question_yesNo("Import RSS RSF", "Confirmez vous la génération dans la base de données ?", responseFunction) } else { var ti:TitleWindow = new TitleWindow(); ti.title = "Génération des données"; ti.setStyle("horizontalAlign", "center"); // Case à cocher pour l'exécution des contrôles expert var cbExpert:CheckBox = new CheckBox(); cbExpert.selected = true; cbExpert.name = "CBEXPERT"; cbExpert.label = "Lancer les contrôles expert"; cbExpert.labelPlacement = ButtonLabelPlacement.RIGHT; // Case à cocher pour le lancement du calcul des essentiels var cbEssentiels:CheckBox = new CheckBox(); cbEssentiels.selected = true; cbEssentiels.name = "CBESSENTIELS"; cbEssentiels.label = "Calculer les essentiels"; cbEssentiels.labelPlacement = ButtonLabelPlacement.RIGHT; // Case à cocher pour le traitement des informations complémentaires var cbComplements:CheckBox = new CheckBox(); cbComplements.selected = true; cbComplements.name = "CBCOMPLEMENTS"; cbComplements.label = "Données complémentaires"; cbComplements.labelPlacement = ButtonLabelPlacement.RIGHT; var form:Form = new Form(); var formHeading:FormHeading = new FormHeading(); formHeading.label = "Options de génération"; form.addChild(formHeading); var formItem:FormItem; formItem = new FormItem(); formItem.addChild(cbExpert); form.addChild(formItem); formItem = new FormItem(); formItem.addChild(cbEssentiels); form.addChild(formItem); formItem = new FormItem(); formItem.addChild(cbComplements); form.addChild(formItem); var okButton:Button = new Button(); okButton.label = "Générer"; okButton.name = "OK"; var cancelButton:Button = new Button(); cancelButton.label = "Annuler"; cancelButton.name = "CANCEL"; var hbox:HBox = new HBox(); hbox.addChild(okButton); hbox.addChild(cancelButton); ti.addChild(form); ti.addChild(hbox); ti.addEventListener(MouseEvent.CLICK, ctiGenerate); PopUpManager.addPopUp(ti, this, true); PopUpManager.centerPopUp(ti); } function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables() urlVariables.option = "G"; if (imports_list_GUI.selectedItem != null) { urlVariables.import_id = imports_list_GUI.selectedItem.oid CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php", urlVariables, handleGenerate, true, this.parentApplication) return; } else { Alert.show("Aucun import sélectionné"); } } } private function ctiGenerate(event:Event):void { if ((event.target is Button) && !(event.target is CheckBox)) { PopUpManager.removePopUp(event.currentTarget as IFlexDisplayObject); event.currentTarget.removeEventListener(MouseEvent.CLICK, ctiGenerate); if (event.target.name == "OK") { var cbEss:CheckBox = findChild(event.currentTarget as DisplayObjectContainer, "CBESSENTIELS") as CheckBox; var cbExp:CheckBox = findChild(event.currentTarget as DisplayObjectContainer, "CBEXPERT") as CheckBox; var cbCmp:CheckBox = findChild(event.currentTarget as DisplayObjectContainer, "CBCOMPLEMENTS") as CheckBox; var urlVariables:URLVariables = new URLVariables(); urlVariables.option = "G"; urlVariables.option_essentiels = cbEss.selected.toString(); urlVariables.option_expert = cbExp.selected.toString(); urlVariables.option_complements = cbCmp.selected.toString(); if (imports_list_GUI.selectedItem != null) { urlVariables.import_id = imports_list_GUI.selectedItem.oid CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php", urlVariables, handleGenerate, true, this.parentApplication) return; } else { Alert.show("Aucun import sélectionné"); } } } } /** * Méthode qui s'exécute dès que la fonction PHP de lancement de l'import des données renvoie quelque chose * @param resultatService XML de retour de la fonction PHP */ private function handleGenerate(resultatService:XML):void { if (resultatService.@returnCode.toString() == "KO") { CTI_Utilitaires.alert_error("Import RSS RSF", resultatService.@returnTexte.toString()); } else { CTI_Utilitaires.alert_info("Import RSS RSF", "Génération démarrée en batch sur le serveur"); getData(); } } /** * Fonction qui cherche un displayObject par son nom dans toute l'arboresence d'un * container. Cette fonction supplante la fonction getChildByName dans le sens où elle * ne se cantonne pas au premier niveau de l'arboresence mais inspecte tous les niveaux * * @param container Container dans lequel chercher l'enfant * @param childname Nom de l'enfant à chercher * @return L'élement trouvé dans l'arborescence */ private function findChild(container:DisplayObjectContainer, childname:String ):DisplayObject { if (container == null) { container = this; } for (var j:int = 0; j < container.numChildren; ++j) { var obj:DisplayObject = container.getChildAt(j) as DisplayObject; if (obj.name == childname) { return obj; } if (obj is DisplayObjectContainer) { var doc:DisplayObjectContainer = obj as DisplayObjectContainer; if (doc.numChildren > 0) { var ret:DisplayObject = findChild( doc, childname ); if (ret != null) { return ret; } } } } return null; } private function deleteImport():void { CTI_Utilitaires.question_yesNo("Import RSS RSF", "Confirmez vous la suppression de l'import ?", responseFunction) function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables() urlVariables.option = "D"; if (imports_list_GUI.selectedItem != null) { urlVariables.import_id = imports_list_GUI.selectedItem.oid CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php", urlVariables, exec, true, this.parentApplication) return; } Alert.show("Aucun import sélectionné") function exec(resultatService:XML):void { getData(); } } } public function downloadFile():void { if (imports_list_GUI.selectedItem != null) { if (download_menu_current_data_type != "") { var urlRequest:URLRequest = new URLRequest(); urlRequest.url = "modules/pmsi/php/PMSI_getFile.php" var urlVariables:URLVariables = new URLVariables() urlVariables.import_id = imports_list_GUI.selectedItem.oid urlVariables.data_type = download_menu_current_data_type urlRequest.data = urlVariables urlRequest.method = "POST"; navigateToURL(urlRequest, "getFile") } else { Alert.show("Choisir d'abord un fichier à télécharger") } return; } Alert.show("Aucun import sélectionné") } private function importEncours():void { CTI_Utilitaires.question_yesNo("Import RSS RSF", "Confirmez vous la récupération des dossiers PMSI non expédiés ?", responseFunction) function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables() urlVariables.option = "encours"; CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "KO") { CTI_Utilitaires.alert_error("Import RSS RSF", resultatService.@returnTexte.toString()); } else { CTI_Utilitaires.alert_info("Import RSS RSF", "Récupération démarrée en batch sur le serveur"); getData(); } } } } private function displayLog():void { var job:Object; if (historique_UI.selectedIndex < 0) { return } job = historique_UI.selectedItem; if (job.logFile.toString() == "") { return; } var urlVariables:URLVariables = new URLVariables(); urlVariables.longfile = job.logFile.toString(); CTI_Utilitaires.openURL("modules/outils/php/getLogFile.php", urlVariables, "iCTI_logFile") } public function vitalia_prepar():void { CTI_Utilitaires.openWebURL("modules/vitalia/iCTI_VITALIA_E" + application.environmentProperties.properties.FINESS + "E_prepa4cirque.exe") } private function vedici_synchronize():void { var urlVariables:URLVariables = new URLVariables(); CTI_Utilitaires.startRequestHTTP("modules/vedici/php/VEDICI_PMSI_send2central.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "OK") { CTI_Utilitaires.alert_info("Synchronisation VEDICI", "Synchronisation terminée : " + resultatService.@returnTexte.toString()) } else { CTI_Utilitaires.alert_error("Synchronisation VEDICI", "Synchronisation non effectué : " + resultatService.@returnTexte.toString()) } } } private function checkFiles():void { importEnabled = true; if (importTexte_GUI.text == "") { importTexte_GUI.setStyle("backgroundColor", "#ffd393") importTexte_GUI.setStyle("color", "#0B333C") importEnabled = false } else { importTexte_GUI.setStyle("backgroundColor", "#FFFFFF") importTexte_GUI.setStyle("color", "#0B333C") } if (new_imports_files_statusCode != "OK" && new_imports_files_statusCode != "ATT") { importEnabled = false } } public function new_import_upload():void { new_import_fileToUpload.addEventListener(Event.SELECT, new_import_fileToUpload_onSelect); new_import_fileToUpload.browse(); } private function new_import_fileToUpload_onSelect(event:Event):void { try { new_import_fileUpload() } catch (err:Error) { } } public function new_import_removeFile(file:String="*ALL"):void { if (file == "*ALL") { CTI_Utilitaires.question_yesNo("Import RSS RSF", "Confirmez vous la suppression de tous les fichiers ?", responseFunction) } else { responseFunction() } function responseFunction(event:CloseEvent = null):void { if (event != null && event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables(); urlVariables.file = file CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/httpservice_PMSI_rssUpload_removeFile.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "OK") { new_import_getFiles() } } } } private function new_import_getFiles():void { var urlVariables:URLVariables = new URLVariables(); new_imports_files_statusCode = "" new_imports_files_statusText = "" new_imports_files_statusText_GUI.setStyle("backgroundColor", 0xFFFFFF) CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/httpservice_PMSI_rssUpload_getFiles.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "OK") { new_imports_files_provider = resultatService.FILE new_imports_files_statusCode = resultatService.STATUS[0].@statusCode new_imports_files_statusText = resultatService.STATUS[0].@statusText if (new_imports_files_statusCode != "OK") { new_imports_files_statusText_GUI.setStyle("backgroundColor", 0xffd393) } checkFiles() } } } private function new_import_fileUpload():void { var urlVariables:URLVariables = new URLVariables(); urlVariables.importFile = new_import_fileToUpload.name; urlVariables.importFileDate = new_import_fileToUpload.modificationDate.getTime().toString().substr(0,10) CTI_Utilitaires.startUploadHTTP(new_import_fileToUpload, "modules/pmsi/php/httpservice_PMSI_rssUpload_upload.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "OK") { } else { CTI_Utilitaires.alert_error("Envoi fichiers RSS/RSF au serveur", resultatService.@returnTexte.toString()) } new_import_getFiles() } } private function new_import_filesValidation():void { importStarted = true; sendFilesStatus = "Terminé" validationStatus = "En cours"; status_bar_GUI.label = "Validation de l'import sur le serveur"; status_bar_GUI.setProgress(0, 2) var urlVariables:URLVariables = new URLVariables(); urlVariables.import_texte = importTexte_GUI.text; CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/httpservice_PMSI_rssUpload_valideFiles.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "OK") { import_id = Number(resultatService.@import_id.toString()); validationStatus = "Validation par le serveur terminée : n° " + import_id + " attribué." status_bar_GUI.setProgress(1, 2) new_import_fileControle() } else { importResult = "QUIT"; validationStatus = "ERREUR. Validation par le serveur non effectuée : " + resultatService.@returnTexte.toString(); controleStatus = ""; status_bar_GUI.setProgress(2, 2) importStarted = false; CTI_Utilitaires.alert_error("Import PMSI", "Validation par le serveur non effectuée : " + resultatService.@returnTexte.toString()) } } } private function new_import_fileControle():void { importStarted = true; controleStatus = "En cours"; status_bar_GUI.label = "Contrôle sur le serveur"; var urlVariables:URLVariables = new URLVariables(); urlVariables.import_id = import_id; CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/httpservice_PMSI_rssUpload_controlImport.php", urlVariables, exec, true, this.parentApplication) function exec(resultatService:XML):void { var urlRequest:URLRequest = new URLRequest(); urlRequest.url = "modules/pmsi/php/PMSI_getImportRapport.php" var urlVariables:URLVariables = new URLVariables() urlVariables.import_id = import_id urlRequest.data = urlVariables urlRequest.method = "POST"; navigateToURL(urlRequest, "importRapport") status_bar_GUI.setProgress(2, 2) importStarted = false; if (resultatService.@returnCode.toString() == "OK" || resultatService.@returnCode.toString() == "ATT") { controleStatus = "Contrôle par le serveur terminé : " + resultatService.@returnTexte.toString(); CTI_Utilitaires.alert_info("Import PMSI", "Traitement par le serveur terminé : " + resultatService.@returnTexte.toString(),demandeGeneration) } else { controleStatus = "ERREUR. Contrôle par le serveur en erreur : " + resultatService.@returnTexte.toString(); CTI_Utilitaires.alert_error("Import PMSI", "Le contrôle a détecté une erreur grave : " + resultatService.@returnTexte.toString(),demandeGeneration) } function demandeGeneration(event:CloseEvent):void { CTI_Utilitaires.question_yesNo("Import PMSI", "Controle terminé : " + resultatService.@returnTexte.toString() + ". Désirez vous générer la base de données ?", responseFunction) function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables() urlVariables.option = "G"; urlVariables.import_id = import_id CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_execImport.php",urlVariables,exec,true) function exec(resultatService:XML):void { if (resultatService.@returnCode.toString() == "KO") { CTI_Utilitaires.alert_error("Import RSS RSF", resultatService.@returnTexte.toString()); } else { CTI_Utilitaires.alert_info("Import RSS RSF", "Génération démarrée en batch sur le serveur"); } } } } getData(); } } private function exec_config_http():void { CTI_Utilitaires.question_yesNo("Import PMSI", "Confirmez vous la configuration du serveur HTTP ?", responseFunction) function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } var urlVariables:URLVariables = new URLVariables() CTI_Utilitaires.startRequestHTTP("modules/outils/php/httpService_wampManager_configure.php",urlVariables,exec,true,this.parentApplication) function exec(resultatService:XML):void { var returnCode:String = resultatService.RETURN[0].@code.toString() var returnMessage:String = resultatService.RETURN[0].@message.toString() if (returnCode == "OK") { config_http_button.label = config_http_button.label + " (FAIT. Patientez 20 secondes)" config_http_button.enabled = false setTimeout(getData, 20000); } else { Alert.show(returnMessage) } } } } ]]>