0) { var ret:DisplayObject = findChild( doc, childname ); if (ret != null) { return ret; } } } } return null; } public function creationComplete():void { currentDisplayObject = this; if (application.currentHelpFile != "" || (application.currentHelpDokuWIkiDir != "" && application.currentHelpDokuWIkiFile != "")) { hasHelp = true; } if (application.name == "CTI") { } if (application.name == "CTI_1") { GUI_titleBar.height = 0; } viewName = application.currentViewName; tableCode = application.currentSwfData; getParam = application.currentOption; switch (tableCode) { case "ETS" : tableName = "t_finess"; title = "Gestion Finess"; titlePrint = "Finess"; break; case "SPE" : tableName = "t_specialites_medecin"; title = "Interrogation Spécialités des médecins"; titlePrint = "Spécialités des médecins"; break; case "SPI" : tableName = "t_specialites_internes_medecin"; title = "Gestion Spécialités internes des médecins"; titlePrint = "Spécialités internes des médecins"; break; case "MED" : tableName = "t_medecins"; title = "Gestion Médecins"; titlePrint = "Médecins"; break; case "TAG" : tableName = "t_tranches_ages"; title = "Gestion Tranches d'age"; titlePrint = "Tranches d'age"; break; case "UMD" : tableName = "t_unites_medicales"; title = "Gestion Unites médicales"; titlePrint = "Unites médicales"; break; case "UFC" : tableName = "t_unites_fonctionnelles"; title = "Gestion Unites fonctionnelles"; titlePrint = "Unites fonctionnelles"; break; case "DMS" : tableName = "t_ghm_dms"; title = "Gestion DMS"; titlePrint = "DMS"; break; case "CMD" : tableName = "t_cmd"; title = "Interrogation CMD"; titlePrint = "CMD"; break; case "ASO" : tableName = "t_mco"; title = "Interrogation Codes ASO"; titlePrint = "Codes ASO"; break; case "GHV" : tableName = "t_severites_ghm"; title = "Interrogation Codes sévérité GHM"; titlePrint = "Codes sévérité GHM"; break; case "POA" : tableName = "t_poles_oap"; title = "Interrogation Poles OAP"; titlePrint = "Poles OAP"; break; case "LOA" : tableName = "t_lignes_oap"; title = "Interrogation Lignes OAP"; titlePrint = "Lignes OAP"; break; case "GAC" : tableName = "t_groupes_activite"; title = "Interrogation Groupes d'activité"; titlePrint = "Groupes d'activité"; break; case "GHM" : tableName = "t_ghm"; title = "Interrogation GHM"; titlePrint = "GHM"; break; case "GHS" : tableName = "t_ghs"; title = "Interrogation GHS"; titlePrint = "GHS"; var date:Date = new Date(); var day:String = date.date.toString(); if (day.length == 1) { day = "0" + day; } var month:String = (date.month + 1).toString(); if (month.length == 1) { month = "0" + month; } GHS_date_tarif_GUI.text = day + "/" + month + "/" + date.fullYear ; GHS_type_tarif_GUI.selectedIndex = 0; var item:Object; var $i:int = 0; while ($i < 9 ) { item = new Object(); GHS_tarifs_prives.addItem(item); item = new Object(); GHS_tarifs_publics.addItem(item); $i++; } break; case "PRE" : tableName = "t_prestations"; title = "Gestion Prestations"; titlePrint = "Prestations"; break; case "LPP" : tableName = "t_lpp"; title = "Gestion LPP"; titlePrint = "LPP"; break; case "UCD" : tableName = "t_ucd"; title = "Gestion UCD"; titlePrint = "UCD"; break; case "CMM" : tableName = "t_comites_medicaux"; title = "Gestion comités médicaux"; titlePrint = "Comités médicaux"; break; case "DIA" : tableName = "t_diagnostics"; title = "Interrogation Diagnostics"; titlePrint = "Diagnostics"; break; case "CCR" : tableName = "t_ccam_regroupements"; title = "Interrogation Regroupements CCAM"; titlePrint = "Regroupements CCAM"; break; case "GMA" : // Demande l'ouverture d'une fenêtre qui permettra de choisir quelle liste // de gestes marqueurs il faut afficher showChooseBox("select oid, code, texte from pmsi.t_classes where texte ilike '%marqueur%' " + "union select -1, 'code', 'Sélectionnez une valeur...' order by oid", "Veuillez sélectionner la liste des gestes marqueurs à visualiser", "Gestes Marqueurs"); return; break; case "ACT" : tableName = "t_actes"; title = "Interrogation Actes"; titlePrint = "Actes"; break; case "TAU" : tableName = "t_types_autorisations"; title = "Interrogation types autorisations"; titlePrint = "Types autorisations"; break; case "MEN" : tableName = "t_modes_entree"; title = "Interrogation Modes entrée"; titlePrint = "Modes entrée"; break; case "MSO" : tableName = "t_modes_sortie"; title = "Interrogation Modes sortie"; titlePrint = "Modes sortie"; break; case "MEP" : tableName = "t_provenances_entree"; title = "Interrogation Provenances entrée"; titlePrint = "Provenances entrée"; break; case "MSD" : tableName = "t_destinations_sortie"; title = "Interrogation Destinations sortie"; titlePrint = "Destinations sortie"; break; case "DEP" : tableName = "t_departements"; title = "Gestion Départements"; titlePrint = "Départements"; break; case "CPO" : tableName = "t_codes_postaux"; title = "Gestion Codes postaux"; titlePrint = "Codes postaux"; break; case "SGE" : tableName = "t_secteurs_geographiques"; title = "Gestion Secteurs géographiques"; titlePrint = "Secteurs géographiques"; break; case "CGP" : tableName = "t_codes_geographiques_pmsi"; title = "Affichage Codes géographiques PMSI"; titlePrint = "Codes géographiques PMSI"; break; case "ED1" : tableName = "t_etude_1"; title = "Gestion couples GHM (analyse ambulatoire)"; titlePrint = "Couples GHM (analyse ambulatoire)"; break; // ED2 deprecated. Ancienne version des seuils de cancérologie case "ED2" : tableName = "t_etude_2"; title = "Cancérologie (activité soumise à seuil)"; titlePrint = "Cancérologie (activité soumise à seuil)"; break; // ED4 deprecated /* case "ED4" : tableName = "t_etude_4"; title = "Gestes marqueurs 2009"; titlePrint = "Gestes marqueurs 2009"; list_GUI = ED4_list_GUI; detailBox_GUI = ED4_detailBox_GUI; texte_GUI = ED4_texte_GUI; ED4_mainBox.visible = true; break; */ case "ED5" : if (getParam == "") { showChooseBox("select sequence, code, texte from pmsi.t_classes where texte ilike '%marqueur%' " + "and texte ilike '%geste%' " + "union select -1, 'code', 'Sélectionnez une valeur...' order by sequence", "Veuillez sélectionner la liste des gestes marqueurs à visualiser", "Gestes Marqueurs"); return; } else { tableName = "t_etude_5"; title = "Gestes marqueurs"; titlePrint = "Gestes marqueurs"; } break; // Nouvelle version de l'étude sur les seuils cancérologie case "ED6" : if (getParam == "") { showChooseBox("select min(oid), annee::text, 'Cahier des charges ' || annee from pmsi.t_etude_6 group by annee " + "union select -1, 'code', 'Sélectionnez une valeur...' order by 1", "Veuillez sélectionner le cahier des charges à visualiser", "Cancérologie soumise à seuil"); return; } else { tableName = "t_etude_6"; title = "Cancérologie (activité soumise à seuil). Cahier des charges " + getParam; titlePrint = "Seuils cancérologie. CdC " + getParam; } break; case "EXC" : tableName = "t_expert_controle"; title = "Gestion Controles Expert"; titlePrint = "Controles Expert"; break; case "XDC" : tableName = "t_datim_ccaminfo"; title = "Datim : CCAMINFO"; titlePrint = "Datim. CCAMINFO"; break; case "XDD" : tableName = "t_datim_diaginfo"; title = "Datim : DIAGINFO"; titlePrint = "Datim. DIAGINFO"; break; case "XDG" : tableName = "t_datim_ghminfo"; title = "Datim : GHMINFO"; titlePrint = "Datim. GHMINFO"; break; case "DIV" : tableName = "t_divers"; title = "Paramètres divers"; titlePrint = "Paramètres divers"; break; case "DG5" : if (getParam == "") { showChooseBox("select min(oid), annee::text, 'Seuils ' || annee from pmsi.t_etude_7 group by annee " + "union select -1, 'code', 'Sélectionnez une valeur...' order by 1", "Veuillez sélectionner une année", "Dégressivité tarifaire"); return; } else { tableName = "t_etude_7"; title = "Dégressivité tarifaire " + getParam; titlePrint = "Dégressivité tarifaire " + getParam; if (!isNaN(Number(getParam))) { var old:String = String((Number(getParam) - 2)); var previous:String = String((Number(getParam) - 1)); var current:String = getParam; DG5_formItem_taux_correction_avant_mars_GUI.label = "Taux correction " + old + "/" + previous + " (en %)"; DG5_formItem_taux_correction_pres_mars_GUI.label = "Taux correction " + previous + "/" + current + " (en %)"; DG5_taux_correction_avant_mars_GUI.toolTip = "Taux correction " + old + "/" + previous + " propre à chaque établissement"; DG5_taux_correction_apres_mars_GUI.toolTip = "Taux correction " + previous + "/" + current + " propre à chaque établissement"; } } break; } // Initialise les éléments de l'interface si aucune boîte de dialogue de choix de liste n'a été ouverte if (tableName != "") { setupGUI(tableCode); } getOption = "initialize"; getData(); } private function showChooseBox(pQuery:String, pInfo:String, pTitle:String):void { var chooseParamBox:CTI_ChooseParamBox = new CTI_ChooseParamBox(pQuery, pInfo, pTitle); chooseParamBox.getChoices(); PopUpManager.addPopUp(chooseParamBox, this, true); PopUpManager.centerPopUp(chooseParamBox); chooseParamBox.addEventListener(CloseEvent.CLOSE, chooseParamBox_handler); chooseParamBox.addEventListener(CTI_Event.SELECT, chooseParamBox_handler); } /** * Ferme la boîte de dialogue de sélection d'option et traite le résultat * * @param event Fermeture de la boîte de dialogue ou sélection d'une option */ private function chooseParamBox_handler(event:Event):void { getParam = ""; // Supprime les écouteurs event.target.removeEventListener(CTI_Event.SELECT, chooseParamBox_handler); event.target.removeEventListener(CloseEvent.CLOSE, chooseParamBox_handler); // Dégage la boîte de dialogue PopUpManager.removePopUp(event.target as IFlexDisplayObject); CTI_ChooseParamBox(event.target).cleanUp(); // Si une valeur a été sélectionnée, stocke son code dans la variable getParam; if (event.type == CTI_Event.SELECT) { getParam = CTI_Event(event).arg["code"]; if (tableCode == "ED5" || tableCode == "GMA") { title = CTI_Event(event).arg["texte"]; if (tableCode == "ED5") { getParam = CTI_Event(event).arg["oid"]; } } else if (tableCode == "ED6") { title = "Cancérologie soumise à seuil. " + CTI_Event(event).arg["texte"]; } else if (tableCode == "DG5") { title = CTI_Event(event).arg["texte"]; } } // Aucune valeur sélectionnée (fermeture de la boite de dialogue) = fonctionnement // ancien else { if (tableCode == "ED5" || tableCode == "GMA") { title = "Gestes marqueurs"; } else if (tableCode == "ED6") { title = "Cancérologie soumise à seuil"; } else if (tableCode == "DG5") { title = "Dégressivité tarifaire"; } } if (tableCode == "GMA") { tableName = "t_gestes_marqueurs"; titlePrint = getParam != "" ? getParam : "Gestes marqueurs"; } else if (tableCode == "ED5") { tableName = "t_etude_5"; titlePrint = "Gestes marqueurs"; } else if (tableCode == "ED6") { tableName = "t_etude_6"; titlePrint = getParam != "" ? "Seuils cancéro. CdC " + getParam : "Seuils cancérologie"; } else if (tableCode == "DG5") { tableName = "t_etude_7"; titlePrint = getParam != "" ? "Dégressivité tarifaire " + getParam : "Dégressivité tarifaire"; title = getParam != "" ? "Dégressivité tarifaire " + getParam : "Dégressivité tarifaire"; if (!isNaN(Number(getParam))) { var old:String = String((Number(getParam) - 2)); var previous:String = String((Number(getParam) - 1)); var current:String = getParam; DG5_formItem_taux_correction_avant_mars_GUI.label = "Taux correction " + old + "/" + previous + " (en %)"; DG5_formItem_taux_correction_pres_mars_GUI.label = "Taux correction " + previous + "/" + current + " (en %)"; DG5_taux_correction_avant_mars_GUI.toolTip = "Taux correction " + old + "/" + previous + " propre à chaque établissement"; DG5_taux_correction_apres_mars_GUI.toolTip = "Taux correction " + previous + "/" + current + " propre à chaque établissement"; } } // Initialise les éléments de l'interface si aucune boîte de dialogue de choix de liste n'a été ouverte if (tableName != "") { setupGUI(tableCode); } // Lance la récupération des données getOption = "initialize"; getData(); } public function eventDispatcher(eventCode:String):Boolean { return true; } private function refreshData():void { if (tableCode == "GMA") { // Demande l'ouverture d'une fenêtre qui permettra de choisir quelle liste // de gestes marqueurs il faut afficher showChooseBox("select oid, code, texte from pmsi.t_classes where texte ilike '%marqueur%' " + "union select -1, 'code', 'Sélectionnez une valeur...' order by oid", "Veuillez sélectionner la liste des gestes marqueurs à visualiser", "Gestes Marqueurs"); } else if (tableCode == "ED5") { showChooseBox("select sequence, code, texte from pmsi.t_classes where texte ilike '%marqueur%' " + "union select -1, 'code', 'Sélectionnez une valeur...' order by sequence", "Veuillez sélectionner la liste des gestes marqueurs à visualiser", "Gestes Marqueurs"); } else if (tableCode == "ED6") { showChooseBox("select min(oid), annee::text, 'Cahier des charges ' || annee from pmsi.t_etude_6 group by annee " + "union select -1, 'code', 'Sélectionnez une valeur...' order by 1", "Veuillez sélectionner le cahier des charges à visualiser", "Cancérologie soumise à seuil"); } else if (tableCode == "DG5") { showChooseBox("select min(oid), annee::text, 'Seuils ' || annee from pmsi.t_etude_7 group by annee " + "union select -1, 'code', 'Sélectionnez une valeur...' order by 1", "Veuillez sélectionner une année", "Dégressivité tarifaire"); } else { getData(); } } public function getData():void { /* if (tableCode == "MEP") { tableName = "t_provenances_entree"; title = "Interrogation Provenances entrée" titlePrint = "Provenances entrée" list_GUI = MEP_list_GUI detailBox_GUI = MEP_detailBox_GUI texte_GUI = MEP_texte_GUI MEP_mainBox.visible = true; } */ has_refsettings = false var urlVariables:URLVariables = new URLVariables() urlVariables.tableName = tableName; urlVariables.getOption = getOption; urlVariables.getParam = getParam; if (tableCode == "GHS") { urlVariables.GHS_date_tarif = GHS_date_tarif_GUI.text.substr(6, 4) + "-" + GHS_date_tarif_GUI.text.substr(3, 2) + "-" + GHS_date_tarif_GUI.text.substr(0, 2); urlVariables.GHS_type_tarif = GHS_type_tarif_GUI.selectedItem.data; } CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_getTableRecords.php", urlVariables, exec, true, this.parentApplication); function exec(resultatService:XML):void { if (list_collection != null) { list_collection.filterFunction = null; list_collection.refresh(); } if (MED_medecins_a_regrouper_GUI.dataProvider != null) { MED_medecins_a_regrouper_GUI.dataProvider.filterFunction = null; MED_medecins_a_regrouper_GUI.dataProvider.refresh(); } if (SGE_codes_a_regrouper_GUI.dataProvider != null) { SGE_codes_a_regrouper_GUI.dataProvider.filterFunction = null; SGE_codes_a_regrouper_GUI.dataProvider.refresh(); } list_collection.loadXMLList(resultatService.RECORD); if (tableCode == "MED") { MED_specialite_GUI.dataProvider = new CTI_ArrayCollection(); MED_specialite_GUI.dataProvider.loadXMLList(resultatService.COMBO_SPI.RECORD); MED_medecins_a_regrouper_GUI.dataProvider = new CTI_ArrayCollection(); MED_medecins_a_regrouper_GUI.dataProvider.loadXMLList(resultatService.LIST_MEDA.RECORD); MED_medecins_regroupes_GUI.dataProvider = new CTI_ArrayCollection(); for each (var item:Object in list_collection) { item.medecins_regroupes = ""; for each (var item2:Object in list_collection) { if (item2.medecin_reference_id.toString() == item.oid.toString()) { if (item.medecins_regroupes != "") { item.medecins_regroupes = item.medecins_regroupes + ","; } item.medecins_regroupes = item.medecins_regroupes + " " + item2.oid.toString() + " "; } } } MED_medecins_a_regrouper_searchChange(); } if (tableCode == "DMS") { if (DMS_ghm_list_GUI.dataProvider == null) { DMS_ghm_list_GUI.dataProvider = new CTI_ArrayCollection(); DMS_ghm_list_GUI.dataProvider.loadXMLList(resultatService.LIST_GHM.RECORD); DMS_ghm_list_GUI.dataProvider.filterFunction = DMS_ghm_list_filterFunction; DMS_ghm_list_GUI.dataProvider.refresh(); } } if (tableCode == "UMD") { UMD_type_autorisation_GUI.dataProvider = new CTI_ArrayCollection(); UMD_type_autorisation_GUI.dataProvider.loadXMLList(resultatService.COMBO_TAU.RECORD); UMD_medecin_par_defaut_id_GUI.dataProvider = new CTI_ArrayCollection(); UMD_medecin_par_defaut_id_GUI.dataProvider.loadXMLList(resultatService.COMBO_MED.RECORD); UMD_um_expedition_id_GUI.dataProvider = new CTI_ArrayCollection(); UMD_um_expedition_id_GUI.dataProvider.loadXMLList(resultatService.COMBO_UM.RECORD); } if (tableCode == "CPO") { CPO_departement_GUI.dataProvider = new CTI_ArrayCollection(); CPO_departement_GUI.dataProvider.loadXMLList(resultatService.COMBO_DEP.RECORD); } if (tableCode == "SGE") { SGE_codes_a_regrouper_GUI.dataProvider = new CTI_ArrayCollection(); SGE_codes_a_regrouper_GUI.dataProvider.loadXMLList(resultatService.LIST_CPO.RECORD); SGE_codes_regroupes_GUI.dataProvider = new CTI_ArrayCollection(); SGE_codes_a_regrouper_searchChange(); } if (tableCode == "EXC") { if (resultatService.GENERAL_SETTINGS[0].@EXPERT_ACTIVE == "1") { EXC_EXPERT_ACTIVE_GUI.selected = true; } else { EXC_EXPERT_ACTIVE_GUI.selected = false; } // Positionnement du choix de mode de sélection de la date de début de contrôle et traitement de cette date EXC_EXPERT_DATE_DEBUT_GUI.text = resultatService.GENERAL_SETTINGS[0].@EXPERT_DATE_DEBUT.toString(); setSelectedIndex(EXC_date_GUI, resultatService.GENERAL_SETTINGS[0].@EXPERT_DATE_SELECT.toString()); EXC_date_change(); if (resultatService.GENERAL_SETTINGS[0].@autorisation_neuro == "1") { EXC_autorisation_neuro_GUI.selected = true; } else { EXC_autorisation_neuro_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@autorisation_cardio == "1") { EXC_autorisation_cardio_GUI.selected = true; } else { EXC_autorisation_cardio_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@autorisation_rea == "1") { EXC_autorisation_rea_GUI.selected = true; } else { EXC_autorisation_rea_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@autorisation_rep == "1") { EXC_autorisation_rep_GUI.selected = true; } else { EXC_autorisation_rep_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@autorisation_nn == "1") { EXC_autorisation_nn_GUI.selected = true; } else { EXC_autorisation_nn_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@service_urgence == "1") { EXC_service_urgence_GUI.selected = true; } else { EXC_service_urgence_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@service_ssr == "1") { EXC_service_ssr_GUI.selected = true; } else { EXC_service_ssr_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@service_sld == "1") { EXC_service_sld_GUI.selected = true; } else { EXC_service_sld_GUI.selected = false; } if (resultatService.GENERAL_SETTINGS[0].@service_psy == "1") { EXC_service_psy_GUI.selected = true; } else { EXC_service_psy_GUI.selected = false; } ref_list_collection.loadXMLList(resultatService.REFRECORD); if (ref_list_collection.length > 0) { has_refsettings = true } } searchChange(); getOption = "refresh"; setTimeout(setBuildComplete, 1000); } } private function setBuildComplete():void { buildComplete = true; } private function resize():void { } private function searchChange():void { searchText = searchText_GUI.text.toUpperCase(); if (list_collection.filterFunction == null) { list_collection.filterFunction = filterFunction; } clearTimeout(searchtext_delay); searchtext_delay = setTimeout(list_collection.refresh, 1000); } // Filter function public function filterFunction(item:Object):Boolean { var result:Boolean = true; switch(tableCode) { case "TAG" : return result; case "TAU" : return result; case "CCR" : return result; case "GMA" : return result; case "MEN" : return result; case "MSO" : return result; case "MEP" : return result; case "MSD" : return result; case "ED1" : return result; // ED2 déprécié, remplacé par ED6 case "ED2" : return result; /* deprecated case "ED4" : return result; */ case "ED5" : return result; case "ED6" : return result; } if (Number(item.oid) >= 0) { if (refSearch_GUI.selected == true) { if (item.hasOwnProperty("nbref")) { if (Number(item.nbref.toString()) <= 0) { if (item.hasOwnProperty("nbref2")) { if (Number(item.nbref.toString()) <= 0) { result = false; } } else { result = false; } } } } if (result == true) { if (searchText_GUI.text != "") { result = false; for each (var attributeName:String in list_collection.attributesArray) { if (item[attributeName].toString().toUpperCase().indexOf(searchText) >= 0) { result = true; break; } } } } } return result; } private function MED_medecins_a_regrouper_searchChange():void { if (MED_medecins_a_regrouper_GUI.dataProvider.filterFunction == null) { MED_medecins_a_regrouper_GUI.dataProvider.filterFunction = MED_medecins_a_regrouper_filterFunction; } MED_medecins_a_regrouper_GUI.dataProvider.refresh(); } // Filter function public function MED_medecins_a_regrouper_filterFunction(item:Object):Boolean { var result:Boolean = true; if (MED_medecins_a_regrouper_searchText_GUI.text != "") { result = false; if (item.texte.toString().toUpperCase().indexOf(MED_medecins_a_regrouper_searchText_GUI.text.toUpperCase()) >= 0) { result = true; } } if (result == true && currendRecordItem != null) { if (item.oid.toString() == currendRecordItem.oid.toString()) { result = false; } } if (result == true) { if (MED_medecins_regroupes_oids_GUI.text.indexOf(" " + item.oid.toString() + " ") >= 0) { result = false; } } return result; } // Ajout dans regroupes private function MED_medecins_regroupes_add():void { for each (var item:Object in MED_medecins_a_regrouper_GUI.selectedItems) { MED_medecins_regroupes_GUI.dataProvider.addItem(item); } MED_medecins_regroupes_set_oids(); MED_medecins_a_regrouper_searchChange(); recordUpdated = true; } // enlever dans regroupes private function MED_medecins_regroupes_remove():void { for each (var item:Object in MED_medecins_regroupes_GUI.selectedItems) { var i:int = -1; for each (var item2:Object in MED_medecins_regroupes_GUI.dataProvider) { i++; if (item2 == item) { MED_medecins_regroupes_GUI.dataProvider.removeItemAt(i); break; } } } MED_medecins_regroupes_set_oids(); MED_medecins_a_regrouper_searchChange(); recordUpdated = true; } private function MED_medecins_regroupes_set_oids():void { MED_medecins_regroupes_oids_GUI.text = ""; for each (var item:Object in MED_medecins_regroupes_GUI.dataProvider) { if (MED_medecins_regroupes_oids_GUI.text != "") { MED_medecins_regroupes_oids_GUI.text = MED_medecins_regroupes_oids_GUI.text + ","; } MED_medecins_regroupes_oids_GUI.text = MED_medecins_regroupes_oids_GUI.text + " " + item.oid.toString() + " "; } } private function DMS_ghm_list_searchChange():void { if (DMS_ghm_list_GUI.dataProvider.filterFunction == null) { DMS_ghm_list_GUI.dataProvider.filterFunction = DMS_ghm_list_filterFunction; } DMS_ghm_list_GUI.dataProvider.refresh(); } // Filter function public function DMS_ghm_list_filterFunction(item:Object):Boolean { var result:Boolean = true; if (DMS_ghm_saisies_GUI.selected == true) { if (item.dms > 0) { return true; } else { return false; } } return result; } // Filter function public function GHS_tarifs_filterFunction(item:Object):Boolean { var result:Boolean = true; if (item.hasOwnProperty("date_debut")) { if (item.date_debut == "2099-12-31" || item.date_debut == "") { result = false; } } else { result = false; } return result; } private function SGE_codes_a_regrouper_searchChange():void { if (SGE_codes_a_regrouper_GUI.dataProvider.filterFunction == null) { SGE_codes_a_regrouper_GUI.dataProvider.filterFunction = SGE_codes_a_regrouper_filterFunction; } SGE_codes_a_regrouper_GUI.dataProvider.refresh(); } // Filter function public function SGE_codes_a_regrouper_filterFunction(item:Object):Boolean { var result:Boolean = true; if (SGE_codes_a_regrouper_searchText_GUI.text != "") { result = false; if (item.texte.toString().toUpperCase().indexOf(SGE_codes_a_regrouper_searchText_GUI.text.toUpperCase()) >= 0) { result = true; } } if (result == true && currendRecordItem != null) { if (item.oid.toString() == currendRecordItem.oid.toString()) { result = false; } } if (result == true) { if (SGE_codes_regroupes_oids_GUI.text.indexOf(" " + item.oid.toString() + " ") >= 0) { result = false; } } return result; } // Ajout dans regroupes private function SGE_codes_regroupes_add():void { for each (var item:Object in SGE_codes_a_regrouper_GUI.selectedItems) { SGE_codes_regroupes_GUI.dataProvider.addItem(item); } SGE_codes_regroupes_set_oids(); SGE_codes_a_regrouper_searchChange(); recordUpdated = true; } // enlever dans regroupes private function SGE_codes_regroupes_remove():void { for each (var item:Object in SGE_codes_regroupes_GUI.selectedItems) { var i:int = -1; for each (var item2:Object in SGE_codes_regroupes_GUI.dataProvider) { i++; if (item2 == item) { SGE_codes_regroupes_GUI.dataProvider.removeItemAt(i); break; } } } SGE_codes_regroupes_set_oids(); SGE_codes_a_regrouper_searchChange(); recordUpdated = true; } private function SGE_codes_regroupes_set_oids():void { SGE_codes_regroupes_oids_GUI.text = ""; for each (var item:Object in SGE_codes_regroupes_GUI.dataProvider) { if (SGE_codes_regroupes_oids_GUI.text != "") { SGE_codes_regroupes_oids_GUI.text = SGE_codes_regroupes_oids_GUI.text + ","; } SGE_codes_regroupes_oids_GUI.text = SGE_codes_regroupes_oids_GUI.text + " " + item.oid.toString() + " "; } } public function DMS_ghm_import():void { CTI_Utilitaires.inputBox(this, "DMS","Copier les DMS depuis Excel",responseFunction) function responseFunction(value:String):void { value = value.replace(",", "."); DMS_ghm_couples_array = value.split(String.fromCharCode(13)); DMS_ghm_currentImportIndex = 0; DMS_ghm_dms_count = 0; if (DMS_ghm_couples_array.length > 0) { progressBar = CTI_Progress(PopUpManager.createPopUp(currentDisplayObject, CTI_Progress, true)); progressBar.title = "Import des DMS"; progressBar.progBar.label = "0 %"; PopUpManager.centerPopUp(progressBar); DMS_ghm_list_GUI.dataProvider.filterFunction = null; DMS_ghm_list_GUI.dataProvider.refresh(); DMS_ghm_import_interval = setInterval(DMS_ghm_import_process, 0) ; } } } private function DMS_ghm_import_process():void { for (var i:Number = 0; i < 10; i++) { if (DMS_ghm_currentImportIndex < DMS_ghm_couples_array.length) { var DMS_ghm_couple_array:Array = DMS_ghm_couples_array[DMS_ghm_currentImportIndex].split(String.fromCharCode(9)); if (DMS_ghm_couple_array.length == 2) { var dms:Number = Number(DMS_ghm_couple_array[1].toString().replace(",", ".")); if (! isNaN(dms)) { for each (var item:Object in DMS_ghm_list_GUI.dataProvider) { if (DMS_ghm_couple_array[0].toString().toUpperCase().indexOf(item.code.toUpperCase()) >= 0) { item.dms = dms; DMS_ghm_dms_count = DMS_ghm_dms_count + 1; recordUpdated = true; break; } } } } DMS_ghm_currentImportIndex = DMS_ghm_currentImportIndex + 1; } } if (DMS_ghm_currentImportIndex >= DMS_ghm_couples_array.length) { clearInterval(DMS_ghm_import_interval); PopUpManager.removePopUp(progressBar); DMS_ghm_list_GUI.dataProvider.filterFunction = DMS_ghm_list_filterFunction; DMS_ghm_list_GUI.dataProvider.refresh(); CTI_Utilitaires.alert_info("Import des DMS", "DMS importées pour " + DMS_ghm_dms_count + " GHM"); } else { var percent:int = DMS_ghm_currentImportIndex / DMS_ghm_couples_array.length * 100; progressBar.progBar.label = percent.toString() + " % (" + DMS_ghm_dms_count + ')'; } } public function DMS_ghm_erase():void { CTI_Utilitaires.question_yesNo("DMS", "Confirmez vous l'effacement des DMS ?", responseFunction); function responseFunction(event:CloseEvent):void { if (event.detail != Alert.YES) { return; } DMS_ghm_list_GUI.dataProvider.filterFunction = null; DMS_ghm_list_GUI.dataProvider.refresh(); for each (var item:Object in DMS_ghm_list_GUI.dataProvider) { item.dms = 0; } DMS_ghm_list_GUI.dataProvider.filterFunction = DMS_ghm_list_filterFunction; DMS_ghm_list_GUI.dataProvider.refresh(); } } public function getRecord(event:ListEvent = null):void { // Spécial Controles Expert if (tableCode == "EXC") { if (event.columnIndex == 0) { return; } if (qimport) { return; } } if (recordUpdated == true) { return; } if (list_GUI.selectedIndex < 0) { return; } currendRecordItem = list_GUI.selectedItem as Object; showDetail(); } private function fillFields(fields:Array):void { var dobj:DisplayObject; var field:String; for each (field in fields) { dobj = findChild(detailBox_GUI, tableCode + "_" + field + "_GUI"); if (dobj is RichTextEditor) { if (currendRecordItem[field].toString() != "") { (dobj as RichTextEditor).htmlText = CTI_Utilitaires.uncompress64(currendRecordItem[field].toString()); } else { (dobj as RichTextEditor).htmlText = "" } } if (dobj is TextArea) { (dobj as TextArea).text = currendRecordItem[field].toString(); } else if (dobj is DateField) { (dobj as DateField).selectedDate = DateField.stringToDate(currendRecordItem[field].toString(), 'DD/MM/YYYY'); } else if (dobj is TextInput) { (dobj as TextInput).text = currendRecordItem[field].toString(); } else if (dobj is Label) { (dobj as Label).text = currendRecordItem[field].toString(); } else if (dobj is CheckBox) { (dobj as CheckBox).selected = currendRecordItem[field].toString() == "1" ? true : false; } } } private function fillGHS(type:String, number:int): void { var id:int = 9 - number; var letter:String; var ac:CTI_ArrayCollection = new CTI_ArrayCollection(); if (type == "prive") { ac = GHS_tarifs_prives; letter = "r"; } else { ac = GHS_tarifs_publics; letter = "p"; } ac[id].date_debut = currendRecordItem["ddp" + letter + String(number)].toString(); ac[id].date_fin = currendRecordItem["dfp" + letter + String(number)].toString(); ac[id].borne_basse = Number(currendRecordItem["bbp" + letter + String(number)].toString()); ac[id].borne_haute = Number(currendRecordItem["bhp" + letter + String(number)].toString()); ac[id].dms_nationale = Number(currendRecordItem["dmp" + letter + String(number)].toString()); ac[id].tarif_ghs = Number(currendRecordItem["tgp" + letter + String(number)].toString()); ac[id].tarif_exh = Number(currendRecordItem["txp" + letter + String(number)].toString()); ac[id].tarif_exb = Number(currendRecordItem["tbp" + letter + String(number)].toString()); ac[id].forfait_exb = Number(currendRecordItem["fbp" + letter + String(number)].toString()); } public function showDetail():void { var i:Number; var item:Object; if (currendRecordItem == null) { return; } switch (tableCode) { case "ETS" : fillFields(new Array("oid", "nbref", "code", "texte", "date_debut_coefficient_mco_1", "coefficient_mco_1", "coefficient_transition_1", "coefficient_ht_1", "coefficient_geo_1", "date_debut_coefficient_mco_2", "coefficient_mco_2", "coefficient_transition_2", "coefficient_ht_2", "coefficient_geo_2", "date_debut_coefficient_mco_3", "coefficient_mco_3", "coefficient_transition_3", "coefficient_ht_3", "coefficient_geo_3", "date_debut_coefficient_mco_4", "coefficient_mco_4", "coefficient_transition_4", "coefficient_ht_4", "coefficient_geo_4", "date_debut_coefficient_mco_5", "coefficient_mco_5", "coefficient_transition_5", "coefficient_ht_5", "coefficient_geo_5", "date_debut_coefficient_mco_6", "coefficient_mco_6", "coefficient_transition_6", "coefficient_ht_6", "coefficient_geo_6", "date_debut_coefficient_mco_7", "coefficient_mco_7", "coefficient_transition_7", "coefficient_ht_7", "coefficient_geo_7", "date_debut_coefficient_mco_8", "coefficient_mco_8", "coefficient_transition_8", "coefficient_ht_8", "coefficient_geo_8", "date_debut_coefficient_mco_9", "coefficient_mco_9", "coefficient_transition_9", "coefficient_ht_9", "coefficient_geo_9", "coefficient_mco_simulation_fg11", "tersante_id", "tersante_code", "tersante_texte", "date_debut_coefficient_pacte_resp_1", "coefficient_pacte_resp_1", "date_debut_coefficient_pacte_resp_2", "coefficient_pacte_resp_2", "date_debut_coefficient_pacte_resp_3", "coefficient_pacte_resp_3", "date_debut_coefficient_pacte_resp_4", "coefficient_pacte_resp_4", "date_debut_coefficient_pacte_resp_5", "coefficient_pacte_resp_5", "date_debut_coefficient_pacte_resp_6", "coefficient_pacte_resp_6", "date_debut_coefficient_pacte_resp_7", "coefficient_pacte_resp_7", "date_debut_coefficient_pacte_resp_8", "coefficient_pacte_resp_8", "date_debut_coefficient_pacte_resp_9", "coefficient_pacte_resp_9" )); break; case "SPE" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "SPI" : fillFields(new Array("oid", "nbref", "code", "texte", "specialite_defaut_code_1", "specialite_defaut_code_2", "specialite_defaut_code_3", "specialite_defaut_code_4", "specialite_defaut_code_5")); break; case "MED" : fillFields(new Array("oid", "nbref", "code", "nom", "identifiant_annuaire", "prenom", "specialite", "medecin_reference_id", "medecin_reference")); MED_specialite_GUI.selectedIndex = 0; i = -1; for each (item in MED_specialite_GUI.dataProvider) { i++; if (item.oid == currendRecordItem.specialite_id.toString()) { MED_specialite_GUI.selectedIndex = i; } } if (MED_medecins_a_regrouper_GUI.dataProvider != null) { MED_medecins_a_regrouper_GUI.dataProvider.filterFunction = null; MED_medecins_a_regrouper_GUI.dataProvider.refresh(); } MED_medecins_regroupes_GUI.dataProvider.removeAll(); if (currendRecordItem.medecins_regroupes.toString() != "") { for each (item in MED_medecins_a_regrouper_GUI.dataProvider) { if (currendRecordItem.medecins_regroupes.toString().indexOf(" " + item.oid.toString() + " ") >= 0) { MED_medecins_regroupes_GUI.dataProvider.addItem(item); } } } MED_medecins_regroupes_set_oids(); MED_medecins_a_regrouper_searchText_GUI.text = MED_nom_GUI.text.substr(0,5); MED_medecins_a_regrouper_searchChange(); break; case "TAG" : fillFields(new Array("oid", "code", "texte", "texte_court", "age_min", "age_max")); break; case "UMD" : fillFields(new Array("oid", "nbref", "code", "texte")); UMD_type_autorisation_GUI.selectedIndex = 0; i = -1; for each (item in UMD_type_autorisation_GUI.dataProvider) { i++; if (item.oid == currendRecordItem.type_autorisation_code.toString()) { UMD_type_autorisation_GUI.selectedIndex = i; } } UMD_medecin_par_defaut_id_GUI.selectedIndex = 0; i = -1; for each (item in UMD_medecin_par_defaut_id_GUI.dataProvider) { i++; if (item.oid == currendRecordItem.medecin_par_defaut_id.toString()) { UMD_medecin_par_defaut_id_GUI.selectedIndex = i; } } UMD_um_expedition_id_GUI.selectedIndex = 0; i = -1; for each (item in UMD_um_expedition_id_GUI.dataProvider) { i++; if (item.oid == currendRecordItem.um_expedition_id.toString()) { UMD_um_expedition_id_GUI.selectedIndex = i; } } UMD_type_ventilation_ca_GUI.selectedIndex = 0; i = -1; for each (item in UMD_type_ventilation_ca) { i++; if (item.data == currendRecordItem.type_ventilation_ca.toString()) { UMD_type_ventilation_ca_GUI.selectedIndex = i; } } UMD_type_eclatement_GUI.selectedIndex = 0; i = -1; for each (item in UMD_type_eclatement) { i++; if (item.data == currendRecordItem.type_eclatement.toString()) { UMD_type_eclatement_GUI.selectedIndex = i; } } UMD_type_sejour_GUI.selectedIndex = 0; i = -1; for each (item in UMD_type_sejour) { i++; if (item.data == currendRecordItem.type_sejour.toString()) { UMD_type_sejour_GUI.selectedIndex = i; } } UMD_mode_hospitalisation_GUI.selectedIndex = 0; i = -1; for each (item in UMD_mode_hospitalisation) { i++; if (item.data == currendRecordItem.mode_hospitalisation.toString()) { UMD_mode_hospitalisation_GUI.selectedIndex = i; } } UMD_nb_lits_GUI.data = null; if (currendRecordItem.nb_lits != null && currendRecordItem.nb_lits != "") { UMD_nb_lits_GUI.data = currendRecordItem.nb_lits.toString(); } UMD_date_effet_autorisation_GUI.selectedDate = null; if (currendRecordItem.date_effet_autorisation != null && currendRecordItem.date_effet_autorisation != "") { UMD_date_effet_autorisation_GUI.selectedDate = new Date(currendRecordItem.date_effet_autorisation.substr(0, 4), Number(currendRecordItem.date_effet_autorisation.substr(5, 2)) - 1, currendRecordItem.date_effet_autorisation.substr(8, 2)); } break; case "UFC" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "DMS" : fillFields(new Array("oid", "code", "texte")); DMS_ghm_list_GUI.dataProvider.filterFunction = null; DMS_ghm_list_GUI.dataProvider.refresh(); for each (item in DMS_ghm_list_GUI.dataProvider) { item.dms = 0; } var DMS_ghm_couples_array:Array = currendRecordItem.dms.toString().split(";"); for each (var DMS_ghm_couple:String in DMS_ghm_couples_array) { var DMS_ghm_couple_array:Array = DMS_ghm_couple.split("=") if (DMS_ghm_couple_array.length == 2) { for each (item in DMS_ghm_list_GUI.dataProvider) { if (item.oid.toString() == DMS_ghm_couple_array[0]) { item.dms = Number(DMS_ghm_couple_array[1]); break; } } } } DMS_ghm_list_GUI.dataProvider.filterFunction = DMS_ghm_list_filterFunction; DMS_ghm_list_GUI.dataProvider.refresh(); break; case "ASO" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "GHV" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "CMD" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); break; case "POA" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); break; case "LOA" : fillFields(new Array("oid", "nbref", "code", "texte", "pole_oap")); break; case "GAC" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); break; case "GHM" : fillFields(new Array("oid", "nbref", "code", "texte", "aso", "cas", "pole_oap", "ligne_oap", "groupe_activite")); break; case "GHS" : fillFields(new Array("oid", "nbref", "code", "texte")); GHS_tarifs_prives.filterFunction = null; GHS_tarifs_publics.filterFunction = null; GHS_tarifs_prives.refresh(); GHS_tarifs_publics.refresh(); for each (var tarif_item:Object in GHS_tarifs_prives) { tarif_item.date_debut = "2099-12-31"; } for each (tarif_item in GHS_tarifs_publics) { tarif_item.date_debut = "2099-12-31"; } if (currendRecordItem.hasOwnProperty("ddpr9")) { fillGHS("prive", 9); } if (currendRecordItem.hasOwnProperty("ddpr8")) { fillGHS("prive", 8); } if (currendRecordItem.hasOwnProperty("ddpr7")) { fillGHS("prive", 7); } if (currendRecordItem.hasOwnProperty("ddpr6")) { fillGHS("prive", 6); } if (currendRecordItem.hasOwnProperty("ddpr5")) { fillGHS("prive", 5); } if (currendRecordItem.hasOwnProperty("ddpr4")) { fillGHS("prive", 4); } if (currendRecordItem.hasOwnProperty("ddpr3")) { fillGHS("prive", 3); } if (currendRecordItem.hasOwnProperty("ddpr2")) { fillGHS("prive", 2); } if (currendRecordItem.hasOwnProperty("ddpr1")) { fillGHS("prive", 1); } if (currendRecordItem.hasOwnProperty("ddpp9")) { fillGHS("public", 9); } if (currendRecordItem.hasOwnProperty("ddpp8")) { fillGHS("public", 8); } if (currendRecordItem.hasOwnProperty("ddpp7")) { fillGHS("public", 7); } if (currendRecordItem.hasOwnProperty("ddpp6")) { fillGHS("public", 6); } if (currendRecordItem.hasOwnProperty("ddpp5")) { fillGHS("public", 5); } if (currendRecordItem.hasOwnProperty("ddpp4")) { fillGHS("public", 4); } if (currendRecordItem.hasOwnProperty("ddpp3")) { fillGHS("public", 3); } if (currendRecordItem.hasOwnProperty("ddpp2")) { fillGHS("public", 2); } if (currendRecordItem.hasOwnProperty("ddpp1")) { fillGHS("public", 1); } GHS_tarifs_prives.filterFunction = GHS_tarifs_filterFunction; GHS_tarifs_publics.filterFunction = GHS_tarifs_filterFunction; GHS_tarifs_prives.refresh(); GHS_tarifs_publics.refresh(); break; case "DIA" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "CCR" : fillFields(new Array("oid", "code", "texte", "texte_court")); break; case "GMA" : fillFields(new Array("oid", "code", "texte", "texte_court", "actes_codes")); break; case "ACT" : fillFields(new Array("oid", "nbref", "code", "texte", "classant", "icr_1", "icr_4", "regroupement_1", "regroupement_4", "geste_marqueur")); break; case "LPP" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); if (currendRecordItem.code_fg11.toString() == "1") { LPP_code_fg11_GUI.selected = true; } else { LPP_code_fg11_GUI.selected = false; } break; case "UCD" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court", "laboratoire_texte")); break; case "CMM" : fillFields(new Array("oid", "nbref", "code", "texte")); break; case "PRE" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); break; case "ED1" : fillFields(new Array("oid", "code", "texte", "texte_court", "ghm_1_texte", "ghm_2_texte", "ghm_3_texte", "taux_cible_2008", "taux_cible_2009", "taux_cible_2010", "taux_cible_2011")); break; // ED2 déprécié, remplacé par ED6 case "ED2" : fillFields(new Array("oid", "code", "texte", "texte_court", "seuil_2008", "seuil_2009", "seuil_2010", "seuil_2011")); break; /* deprecated case "ED4" : fillFields(new Array("oid", "code", "texte", "texte_court", "seuil_regional_2012", "seuil_regional_2009", "seuil_regional_2010", "seuil_regional_2011", "seuil_national_2012", "seuil_national_2009", "seuil_national_2010", "seuil_national_2011")); break; */ case "ED5" : fillFields(new Array("oid", "code", "texte", "liste", "taux_moyen_regional", "taux_moyen_national", "taux_cible_ars", "taux_cible_ets")); break; case "ED6" : fillFields(new Array("oid", "code", "texte", "annee", "moy_region", "moy_nat", "seuil_ets", "seuil_ars")); break; case "TAU" : fillFields(new Array("code", "texte", "texte_court")); break; case "MEN" : fillFields(new Array("code", "texte", "texte_court")); break; case "MSO" : fillFields(new Array("code", "texte", "texte_court")); break; case "MEP" : fillFields(new Array("code", "texte", "texte_court")); break; case "MSD" : fillFields(new Array("code", "texte", "texte_court")); break; case "DEP" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); break; case "CPO" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court", "code_geo_pmsi", "population")); CPO_departement_GUI.selectedIndex = 0; i = -1; for each (item in CPO_departement_GUI.dataProvider) { i++; if (item.oid == currendRecordItem.departement_id.toString()) { CPO_departement_GUI.selectedIndex = i; } } break; case "SGE" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court")); SGE_codes_regroupes_oids_GUI.text = currendRecordItem.codes.toString(); if (SGE_codes_a_regrouper_GUI.dataProvider != null) { SGE_codes_a_regrouper_GUI.dataProvider.filterFunction = null; SGE_codes_a_regrouper_GUI.dataProvider.refresh(); } SGE_codes_regroupes_GUI.dataProvider.removeAll(); if (currendRecordItem.codes.toString() != "") { for each (item in SGE_codes_a_regrouper_GUI.dataProvider) { if (currendRecordItem.codes.toString().indexOf(" " + item.oid.toString() + " ") >= 0) { SGE_codes_regroupes_GUI.dataProvider.addItem(item); } } } SGE_codes_regroupes_set_oids(); SGE_codes_a_regrouper_searchText_GUI.text = ""; SGE_codes_a_regrouper_searchChange(); break; case "CGP" : fillFields(new Array("oid", "nbref", "code", "texte", "texte_court", "population", "codes")); break; case "EXC" : fillFields(new Array("oid", "code", "texte", "texte_court", "texte_abrege", "description", "rule_oid1", "sqlcmd_where1", "sqlcmd_justificatif1", "rule_oid2", "sqlcmd_where2", "sqlcmd_justificatif2", "rule_oid3", "sqlcmd_where3", "sqlcmd_justificatif3" )); /* if (currendRecordItem.is_datim.toString() == "1") { EXC_is_datim_GUI.selected = true; } else { EXC_is_datim_GUI.selected = false; } */ if (currendRecordItem.is_hide.toString() == "1") { EXC_is_hide_GUI.selected = true; } else { EXC_is_hide_GUI.selected = false; } /* if (currendRecordItem.is_global.toString() == "1") { EXC_is_global_GUI.selected = true; } else { EXC_is_global_GUI.selected = false; } */ if (currendRecordItem.is_cti.toString() == "1") { EXC_is_cti_GUI.selected = true; } else { EXC_is_cti_GUI.selected = false; } if (currendRecordItem.hasOwnProperty("is_alert") && currendRecordItem.is_alert.toString() == "1") { EXC_alerte_GUI.selected = true; } else { EXC_alerte_GUI.selected = false; } setSelectedIndex(EXC_gravite_GUI, currendRecordItem.gravite_id.toString()); EXC_sqlcmd_where1_GUI.setStyle("backgroundColor", null) EXC_sqlcmd_justificatif1_GUI.setStyle("backgroundColor", null) EXC_sqlcmd_where2_GUI.setStyle("backgroundColor", null) EXC_sqlcmd_justificatif2_GUI.setStyle("backgroundColor", null) EXC_sqlcmd_where3_GUI.setStyle("backgroundColor", null) EXC_sqlcmd_justificatif3_GUI.setStyle("backgroundColor", null) if (currendRecordItem.last_execution_ok1.toString() == "0") { EXC_sqlcmd_where1_GUI.setStyle("backgroundColor", 0xD63E00) if (EXC_sqlcmd_justificatif1_GUI.text != "") { EXC_sqlcmd_justificatif1_GUI.setStyle("backgroundColor", 0xD63E00) } } if (currendRecordItem.last_execution_ok2.toString() == "0") { EXC_sqlcmd_where2_GUI.setStyle("backgroundColor", 0xD63E00) if (EXC_sqlcmd_justificatif2_GUI.text != "") { EXC_sqlcmd_justificatif2_GUI.setStyle("backgroundColor", 0xD63E00) } } if (currendRecordItem.last_execution_ok3.toString() == "0") { EXC_sqlcmd_where3_GUI.setStyle("backgroundColor", 0xD63E00) if (EXC_sqlcmd_justificatif3_GUI.text != "") { EXC_sqlcmd_justificatif3_GUI.setStyle("backgroundColor", 0xD63E00) } } break; case "XDC" : fillFields(new Array("oid", "nbref", "code", "texte", "datim")); break; case "XDD" : fillFields(new Array("oid", "nbref", "code", "texte", "datim")); break; case "XDG" : fillFields(new Array("oid", "nbref", "code", "texte", "datim")); break; case "DIV" : fillFields(new Array("oid", "code", "texte", "valeur", "description", "show_info_module")); break; case "DG5" : hideExcelImport_DG5(); fillFields(new Array("oid", "code", "texte", "annee", "seuil_degressivite", "taux_correction_avant_mars", "taux_correction_apres_mars")); break; } recordUpdated = false; if (detailBox_GUI.height == 0) { detailBox_GUI.height = (tableCode == "ED5" || tableCode == "ED6") ? 230 : 300; } detailBox_GUI.visible = true detailBox_GUI.includeInLayout = true } private function askCancel():void { if (recordUpdated == false) { hideRecord(); return; } Alert.yesLabel = "OUI"; Alert.noLabel = "NON"; var alert:Alert = Alert.show("Les données ont été changées, désirez vous les annuler ?", title, 3, this, alertClickHandler, question_class); function alertClickHandler(event:CloseEvent):void { if (event.detail==Alert.YES) { hideRecord(); } } } private function hideRecord():void { // Pour Expert, remettre en mode normal if (EXC_mode == 2) { EXC_mode = 0 } // Ne plus afficher le détail detailBox_GUI.visible = false detailBox_GUI.includeInLayout = false currendRecordItem = null; recordUpdated = false; } private function askDelete():void { Alert.yesLabel = "OUI"; Alert.noLabel = "NON"; var alert:Alert = Alert.show("Désirez vous vraiment supprimer " + texte_GUI.text + " ?", title, 3, this, alertClickHandler, question_class); function alertClickHandler(event:CloseEvent):void { if (event.detail == Alert.YES) { deleteRecord(); } } } public function deleteRecord():void { updateRecord("delete"); } private function askPurge():void { Alert.yesLabel = "OUI"; Alert.noLabel = "NON"; var alert:Alert = Alert.show("Désirez vous vraiment supprimer l'historique de " + texte_GUI.text + " ?", title, 3, this, alertClickHandler, question_class); function alertClickHandler(event:CloseEvent):void { if (event.detail == Alert.YES) { purgeHistory(); } } } public function purgeHistory():void { updateRecord("purge_history"); } public function copyRecord():void { updateRecord("copy"); } public function saveRecord():void { // Cas particulier des tables où les saises sont soumises à validation switch (tableCode) { case "ED5" : validateInputs(new Array(ED5_taux_cible_ars_GUI, ED5_taux_cible_ets_GUI)); break; case "ED6" : validateInputs(new Array(ED6_seuil_ets_GUI, ED6_seuil_ars_GUI)); break; // Dans tous les autres cas, on demande la sauvegarde des données modifiées default : updateRecord("save"); } } private function readFields(fields:Array, recordNode:XML):XML { var dobj:DisplayObject; var field:String; for each (field in fields) { dobj = findChild(detailBox_GUI, tableCode + "_" + field + "_GUI"); if (dobj is RichTextEditor) { if ((dobj as RichTextEditor).text != "") { recordNode.@[field] = CTI_Utilitaires.compress64((dobj as RichTextEditor).htmlText); } else { recordNode.@[field] = ""; } } if (dobj is TextArea) { recordNode.@[field] = (dobj as TextArea).text; } else if (dobj is DateField) { recordNode.@[field] = DateField.dateToString((dobj as DateField).selectedDate, 'DD/MM/YYYY'); } else if (dobj is TextInput) { recordNode.@[field] = (dobj as TextInput).text; } else if (dobj is Label) { recordNode.@[field] = (dobj as Label).text; } else if (dobj is CheckBox) { recordNode.@[field] = (dobj as CheckBox).selected ? "1" : "0"; } } return recordNode; } public function addRecord():void { if (currendRecordItem == null) { if (tableCode == "EXC") { currendRecordItem = new Object() currendRecordItem.oid = "-1" currendRecordItem.nbref = 0; currendRecordItem.code = ""; currendRecordItem.texte = ""; currendRecordItem.texte_court = ""; currendRecordItem.texte_abrege = ""; currendRecordItem.description = ""; currendRecordItem.is_datim = "0"; currendRecordItem.is_hide = "0"; currendRecordItem.is_global = "0"; currendRecordItem.is_cti = "0"; currendRecordItem.gravite_id = "0"; currendRecordItem.gravite_texte = ""; currendRecordItem.complement = ""; currendRecordItem.rule_oid1="0" currendRecordItem.sqlcmd_where1="" currendRecordItem.sqlcmd_justificatif1="" currendRecordItem.last_execution_date1="" currendRecordItem.last_execution_ok1="" currendRecordItem.rule_oid2="0" currendRecordItem.sqlcmd_where2="" currendRecordItem.sqlcmd_justificatif2="" currendRecordItem.last_execution_date2="" currendRecordItem.last_execution_ok2="" currendRecordItem.rule_oid3="0" currendRecordItem.sqlcmd_where3="" currendRecordItem.sqlcmd_justificatif3="" currendRecordItem.last_execution_date3="" currendRecordItem.last_execution_ok3="" currendRecordItem.last_execution_date="" currendRecordItem.last_execution_ok="" currendRecordItem.is_alert = "0"; showDetail() } if (tableCode == "LPP") { currendRecordItem = new Object() currendRecordItem.oid = "-1" currendRecordItem.nbref = 0; currendRecordItem.code = ""; currendRecordItem.texte = ""; currendRecordItem.texte_court = ""; currendRecordItem.code_fg11 = ""; currendRecordItem.code_fg11_label = ""; showDetail() } if (tableCode == "UCD") { currendRecordItem = new Object() currendRecordItem.oid = "-1" currendRecordItem.nbref = 0; currendRecordItem.code = ""; currendRecordItem.texte = ""; currendRecordItem.texte_court = ""; currendRecordItem.laboratoire_texte = ""; showDetail() } } } public function updateRecord(action:String):void { var urlVariables:URLVariables = new URLVariables(); urlVariables.tableName = tableName; urlVariables.action = action; var recordNode:XML = new XML(); switch (tableCode) { case "ETS" : recordNode = readFields(new Array("oid", "code", "texte", "tersante_id", "date_debut_coefficient_mco_1", "coefficient_mco_1", "coefficient_transition_1", "coefficient_ht_1", "coefficient_geo_1", "date_debut_coefficient_mco_2", "coefficient_mco_2", "coefficient_transition_2", "coefficient_ht_2", "coefficient_geo_2", "date_debut_coefficient_mco_3", "coefficient_mco_3", "coefficient_transition_3", "coefficient_ht_3", "coefficient_geo_3", "date_debut_coefficient_mco_4", "coefficient_mco_4", "coefficient_transition_4", "coefficient_ht_4", "coefficient_geo_4", "date_debut_coefficient_mco_5", "coefficient_mco_5", "coefficient_transition_5", "coefficient_ht_5", "coefficient_geo_5", "date_debut_coefficient_mco_6", "coefficient_mco_6", "coefficient_transition_6", "coefficient_ht_6", "coefficient_geo_6", "date_debut_coefficient_mco_7", "coefficient_mco_7", "coefficient_transition_7", "coefficient_ht_7", "coefficient_geo_7", "date_debut_coefficient_mco_8", "coefficient_mco_8", "coefficient_transition_8", "coefficient_ht_8", "coefficient_geo_8", "date_debut_coefficient_mco_9", "coefficient_mco_9", "coefficient_transition_9", "coefficient_ht_9", "coefficient_geo_9", "coefficient_mco_simulation_fg11", "date_debut_coefficient_pacte_resp_1", "coefficient_pacte_resp_1", "date_debut_coefficient_pacte_resp_2", "coefficient_pacte_resp_2", "date_debut_coefficient_pacte_resp_3", "coefficient_pacte_resp_3", "date_debut_coefficient_pacte_resp_4", "coefficient_pacte_resp_4", "date_debut_coefficient_pacte_resp_5", "coefficient_pacte_resp_5", "date_debut_coefficient_pacte_resp_6", "coefficient_pacte_resp_6", "date_debut_coefficient_pacte_resp_7", "coefficient_pacte_resp_7", "date_debut_coefficient_pacte_resp_8", "coefficient_pacte_resp_8", "date_debut_coefficient_pacte_resp_9", "coefficient_pacte_resp_9" ), recordNode); var regexp:RegExp = /,/gi recordNode.@coefficient_mco_simulation_fg11 = ETS_coefficient_mco_simulation_fg11_GUI.text.replace(regexp, "."); break; case "SPI" : recordNode = readFields(new Array("oid", "code", "texte", "specialite_defaut_code_1", "specialite_defaut_code_2", "specialite_defaut_code_3", "specialite_defaut_code_4", "specialite_defaut_code_5"), recordNode); break; case "MED" : recordNode = readFields(new Array("oid", "code", "nom", "identifiant_annuaire", "prenom", "medecins_regroupes_oids", "medecin_reference_id"), recordNode); recordNode.@specialite_id = MED_specialite_GUI.selectedItem.oid; break; case "TAG" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court", "age_min", "age_max"), recordNode); break; case "UMD" : recordNode = readFields(new Array("oid", "code", "texte"), recordNode); recordNode.@type_ventilation_ca = UMD_type_ventilation_ca_GUI.selectedItem.data; recordNode.@type_eclatement = UMD_type_eclatement_GUI.selectedItem.data; recordNode.@type_sejour = UMD_type_sejour_GUI.selectedItem.data; recordNode.@type_autorisation = UMD_type_autorisation_GUI.selectedItem.oid; recordNode.@medecin_par_defaut_id = UMD_medecin_par_defaut_id_GUI.selectedItem.oid; recordNode.@um_expedition_id = UMD_um_expedition_id_GUI.selectedItem.oid; if (UMD_date_effet_autorisation_GUI.selectedDate != null && UMD_type_autorisation_GUI.selectedItem.oid != 0) { recordNode.@date_effet_autorisation = UMD_date_effet_autorisation_GUI.selectedDate.toDateString(); } else { recordNode.@date_effet_autorisation = "null"; } if (UMD_type_autorisation_GUI.selectedItem.oid != 0) { recordNode.@nb_lits = UMD_nb_lits_GUI.data; } else { recordNode.@nb_lits = null; } if (UMD_type_autorisation_GUI.selectedItem.oid != 0) { recordNode.@mode_hospitalisation = UMD_mode_hospitalisation_GUI.selectedItem.data; } else { recordNode.@mode_hospitalisation = null; } break; case "UFC" : recordNode = readFields(new Array("oid", "code", "texte"), recordNode); break; case "DMS" : recordNode = readFields(new Array("oid", "code", "texte"), recordNode); recordNode.@dms = ""; for each (var item:Object in DMS_ghm_list_GUI.dataProvider) { recordNode.@dms = recordNode.@dms + item.oid + "=" + item.dms.toString() + ";" } break; case "PRE" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court"), recordNode); break; case "ED1" : recordNode = readFields(new Array("oid", "taux_cible_2008", "taux_cible_2009", "taux_cible_2010", "taux_cible_2011"), recordNode); break; case "ED2" : recordNode = readFields(new Array("oid", "seuil_2008", "seuil_2009", "seuil_2010", "seuil_2011"), recordNode); break; /* deprecated*/ case "ED4" : recordNode = readFields(new Array("oid", "seuil_regional_2009", "seuil_regional_2010", "seuil_regional_2011", "seuil_regional_2012", "seuil_national_2009", "seuil_national_2010", "seuil_national_2011", "seuil_national_2012"), recordNode); break; case "ED5" : recordNode = readFields(new Array("oid", "taux_cible_ars", "taux_cible_ets"), recordNode); break; case "ED6" : recordNode = readFields(new Array("oid", "seuil_ars", "seuil_ets"), recordNode); break; case "LPP" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court"), recordNode); if (LPP_code_fg11_GUI.selected == true) { recordNode.@code_fg11 = "1"; } else { recordNode.@code_fg11 = "0"; } break; case "UCD" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court", "laboratoire_texte"), recordNode); break; case "CMM" : recordNode = readFields(new Array("oid", "code", "texte"), recordNode); break; case "DEP" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court"), recordNode); break; case "CPO" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court", "code_geo_pmsi", "population"), recordNode); recordNode.@departement_id = CPO_departement_GUI.selectedItem.oid; break; case "SGE" : recordNode = readFields(new Array("oid", "code", "texte", "texte_court"), recordNode); recordNode.@codes = SGE_codes_regroupes_oids_GUI.text; break; case "MEN" : recordNode = readFields(new Array("code", "texte", "texte_court"), recordNode); break; case "MSO" : recordNode = readFields(new Array("code", "texte", "texte_court"), recordNode); break; case "MEP" : recordNode = readFields(new Array("code", "texte", "texte_court"), recordNode); break; case "MSD" : recordNode = readFields(new Array("code", "texte", "texte_court"), recordNode); break; case "DIA" : recordNode = readFields(new Array("oid", "code", "texte"), recordNode); break; case "EXC" : // Controles normaux if (EXC_mode == 0) { recordNode.@mode = EXC_mode recordNode = readFields(new Array( "oid", "code", "texte", "texte_court", "texte_abrege", "description", "rule_oid1", "sqlcmd_where1", "sqlcmd_justificatif1", "rule_oid2", "sqlcmd_where2", "sqlcmd_justificatif2", "rule_oid3", "sqlcmd_where3", "sqlcmd_justificatif3" ), recordNode); /* if (EXC_is_datim_GUI.selected == true) { recordNode.@is_datim = "1"; } else { recordNode.@is_datim = "0"; } */ if (EXC_is_hide_GUI.selected == true) { recordNode.@is_hide = "1"; } else { recordNode.@is_hide = "0"; } /* if (EXC_is_global_GUI.selected == true) { recordNode.@is_global = "1"; } else { recordNode.@is_global = "0"; } */ if (EXC_is_cti_GUI.selected == true) { recordNode.@is_cti = "1"; } else { recordNode.@is_cti = "0"; } if (EXC_alerte_GUI.selected == true) { recordNode.@is_alert = "1"; } else { recordNode.@is_alert = "0"; } recordNode.@gravite_id = EXC_gravite_GUI.selectedItem.data; } // Paramètres généraux if (EXC_mode == 2) { recordNode.@mode = EXC_mode if (EXC_EXPERT_ACTIVE_GUI.selected == true) { recordNode.@EXPERT_ACTIVE = "1"; } else { recordNode.@EXPERT_ACTIVE = "0"; } recordNode.@EXPERT_DATE_SELECT = EXC_date_GUI.selectedItem.data; recordNode.@EXPERT_DATE_DEBUT = EXC_EXPERT_DATE_DEBUT_GUI.text; if (EXC_autorisation_neuro_GUI.selected == true) { recordNode.@autorisation_neuro = "1"; } else { recordNode.@autorisation_neuro = "0"; } if (EXC_autorisation_cardio_GUI.selected == true) { recordNode.@autorisation_cardio = "1"; } else { recordNode.@autorisation_cardio = "0"; } if (EXC_autorisation_rea_GUI.selected == true) { recordNode.@autorisation_rea = "1"; } else { recordNode.@autorisation_rea = "0"; } if (EXC_autorisation_rep_GUI.selected == true) { recordNode.@autorisation_rep = "1"; } else { recordNode.@autorisation_rep = "0"; } if (EXC_autorisation_nn_GUI.selected == true) { recordNode.@autorisation_nn = "1"; } else { recordNode.@autorisation_nn = "0"; } if (EXC_service_urgence_GUI.selected == true) { recordNode.@service_urgence = "1"; } else { recordNode.@service_urgence = "0"; } if (EXC_service_ssr_GUI.selected == true) { recordNode.@service_ssr = "1"; } else { recordNode.@service_ssr = "0"; } if (EXC_service_sld_GUI.selected == true) { recordNode.@service_sld = "1"; } else { recordNode.@service_sld = "0"; } if (EXC_service_psy_GUI.selected == true) { recordNode.@service_psy = "1"; } else { recordNode.@service_psy = "0"; } } break; case "DIV" : recordNode = readFields(new Array("oid", "code", "valeur", "show_info_module"), recordNode); break; case "DG5" : if (action == "import") { recordNode = new XML(); urlVariables.importString = DG5_excel_textarea.text; } else { recordNode = readFields(new Array("oid", "taux_correction_avant_mars", "taux_correction_apres_mars", "annee"), recordNode); } break; } urlVariables.recordNode = recordNode.toXMLString(); CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_setTableRecord.php", urlVariables, exec, true, this.parentApplication); function exec(resultatService:XML):void { if (EXC_mode == 2) { EXC_mode = 0 } getData(); detailBox_GUI.visible = false detailBox_GUI.includeInLayout = false currendRecordItem = null; recordUpdated = false; } } public function EXC_show_generalSettings():void { EXC_mode = 2 detailBox_GUI.visible = true detailBox_GUI.includeInLayout = true } public function EXC_execute_rules(controle_id:String=null):void { var urlVariables:URLVariables = new URLVariables() urlVariables.tableName = tableName; urlVariables.action = 'execute_rules'; if (controle_id != null) { urlVariables.oids = controle_id } else { urlVariables.oids = ""; //for each (var item:Object in list_collection) { // if (item.selected == "1") { // if (urlVariables.oids != "") { // urlVariables.oids = urlVariables.oids + ", " // } // urlVariables.oids = urlVariables.oids + item.oid // } //} } CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/PMSI_setTableRecord.php", urlVariables, exec, true, this.parentApplication); function exec(resultatService:XML):void { if (resultatService.RETURN.@code.toString() != "KO") { CTI_Utilitaires.alert_info("Exécution règles Expert", "Exécution terminée : " + resultatService.RETURN.@message.toString()); } else { CTI_Utilitaires.alert_error("Exécution règles Expert", "Exécution terminée avec ERREURS : " + resultatService.RETURN.@message.toString()); } getData(); detailBox_GUI.visible = false detailBox_GUI.includeInLayout = false currendRecordItem = null; recordUpdated = false; } } public function EXC_getSQL(controle_id:String=null):void { var urlVariables:URLVariables = new URLVariables(); urlVariables.tableName = tableName; if (controle_id != null) { urlVariables.oids = controle_id } else { urlVariables.oids = ""; for each (var item:Object in list_collection) { if (item.selected == "1") { if (urlVariables.oids != "") { urlVariables.oids = urlVariables.oids + ", " } urlVariables.oids = urlVariables.oids + item.oid } } } if (urlVariables.oids == "") { CTI_Utilitaires.alert_error("Export SQL", "Vous devez d'abord choisir les contrôles à exporter"); return; } CTI_Utilitaires.openURL("modules/pmsi/php/httpService_PMSI_tableManager_getSqlScript.php",urlVariables,"iCTI_expert_controle.SQL") } private function EXC_date_change(event:ListEvent=null):void { if (event is ListEvent) { recordUpdated = true; } var now:Date = new Date(); var currentYear:Number = now.getFullYear(); switch (EXC_date_GUI.selectedItem.data) { case '0' : // année courante EXC_EXPERT_DATE_DEBUT_GUI.selectedDate = new Date(currentYear, 0, 1); break; case '1' : // année précédente var previousYear:Number = currentYear - 1; EXC_EXPERT_DATE_DEBUT_GUI.selectedDate = new Date(previousYear, 0, 1); break; case '2' : // 12 mois glissants var millisecondesParJour:int = 1000 * 60 * 60 * 24; var tweveMonthBefore:Date = new Date(now.getTime() - (365 * millisecondesParJour)); EXC_EXPERT_DATE_DEBUT_GUI.selectedDate = new Date(tweveMonthBefore.getFullYear(), tweveMonthBefore.getMonth(), 1); break; } var jourAAfficher:int = EXC_EXPERT_DATE_DEBUT_GUI.selectedDate.getDate(); var moisAAfficher:int = EXC_EXPERT_DATE_DEBUT_GUI.selectedDate.getMonth() + 1; EXC_label_GUI.text = 'Séjours sortis depuis le ' + ((jourAAfficher < 10 ) ? '0' + jourAAfficher.toString() : jourAAfficher.toString()) + '/' + ((moisAAfficher < 10 ) ? '0' + moisAAfficher.toString() : moisAAfficher.toString()) + '/' + EXC_EXPERT_DATE_DEBUT_GUI.selectedDate.getFullYear().toString(); } public function getRefSettings():void { detailBox_GUI.visible = false detailBox_GUI.includeInLayout = false qimport = true } public function hideRefSettings():void { detailBox_GUI.visible = true detailBox_GUI.includeInLayout = true qimport = false } public function copyRefSettings():void { var urlVariables:URLVariables = new URLVariables(); urlVariables.tableName = tableName; urlVariables.oids = ""; for each (var item:Object in ref_list_collection) { if (item.selected == "1") { if (urlVariables.oids != "") { urlVariables.oids = urlVariables.oids + ", " } urlVariables.oids = urlVariables.oids + item.oid } } if (urlVariables.oids == "") { CTI_Utilitaires.alert_error("Import de données", "Vous devez d'abord choisir les données à récupérer"); return } CTI_Utilitaires.startRequestHTTP("modules/pmsi/php/httpService_PMSI_tableManager_copyRef.php", urlVariables, exec, true, this.parentApplication); function exec(resultatService:XML):void { getData(); detailBox_GUI.visible = false detailBox_GUI.includeInLayout = false currendRecordItem = null; recordUpdated = false; } } public function print():void { var printReport:CTI_Print = new CTI_Print(); if (printReport.start("PMSI_TablesManager", titlePrint) == false) { return; } printReport.addDataGrid(list_GUI); printReport.print(); } public function exportExcel():void { exportExcel_xml = new XML(); var ongletNode:XML; var similiTabNode:XML; var selectionsNode:XML; var datagridNode:XML; var columnNode:XML; var rowNode:XML; exportExcel_xml.@viewName = this.viewName; exportExcel_xml.@title = this.title; selectionsNode = new XML(); selectionsNode.displayText = ""; if (tableCode == 'GHS') { selectionsNode.@displayText = "Tarifs " + GHS_type_tarif_GUI.selectedItem.label + " au " + GHS_date_tarif_GUI.text + ". "; } if (refSearch_GUI.selected == true) { selectionsNode.@displayText = selectionsNode.displayText + "Uniquement les codes référencés. "; } if (searchText_GUI.text != "") { selectionsNode.@displayText = selectionsNode.displayText + "(Filtre : " + searchText_GUI.text + ") "; } exportExcel_xml.appendChild(selectionsNode); ongletNode = new XML(); ongletNode.@excelLabel = tableCode; exportExcel_xml.appendChild(ongletNode); similiTabNode = new XML(); similiTabNode.@excelLabel = "Liste"; ongletNode.appendChild(similiTabNode); datagridNode = new XML(); datagridNode.@total = "false"; ongletNode.appendChild(datagridNode); for each (var column:DataGridColumn in list_GUI.columns) { columnNode = new XML(); columnNode.@dataField = column.dataField; columnNode.@headerText = column.headerText; if (column.getStyle("textAlign") != "right") { columnNode.@type = "Char"; } else { columnNode.@type = "Number"; columnNode.@outputFormat = ""; columnNode.@currency = ""; } columnNode.@textAlign = column.getStyle("textAlign"); datagridNode.appendChild(columnNode); } exportExcel_dataNode = new XML(); similiTabNode.appendChild(exportExcel_dataNode); if (list_collection.length > 1000) { progressBar = CTI_Progress(PopUpManager.createPopUp(this, CTI_Progress, true)); progressBar.title = "Préparation export Excel"; progressBar.progBar.label = "0 %"; PopUpManager.centerPopUp(progressBar); } exportExcel_currentIndex = 0; exportExcel_interval = setInterval(exportExcel_createXML, 0); } private function exportExcel_createXML():void { for (var i:Number = 0; i < 100; i++) { if (exportExcel_currentIndex < list_collection.length) { var itemNode:Object = list_collection[exportExcel_currentIndex]; if (itemNode.oid != "-1") { var rowNode:XML = new XML(); var c:int = 0; for each (var column:DataGridColumn in list_GUI.columns) { c++; rowNode.@["c" + c.toString()] = itemNode[column.dataField]; } exportExcel_dataNode.appendChild(rowNode); } exportExcel_currentIndex = exportExcel_currentIndex + 1; } } if (exportExcel_currentIndex >= list_collection.length) { clearInterval(exportExcel_interval); CTI_ExcelUtilitaires.exportExcel(exportExcel_xml); if (list_collection.length > 1000) { PopUpManager.removePopUp(progressBar); } } else { if (list_collection.length > 1000) { var percent:int = exportExcel_currentIndex / list_collection.length * 100; progressBar.progBar.label = percent.toString() + " %"; } } } public function exportPDF():void { var xml:XML = new XML(); var ongletNode:XML; var similiTabNode:XML; var selectionsNode:XML; var datagridNode:XML; var columnNode:XML; var dataNode:XML; var rowNode:XML; xml.@viewName = this.viewName; xml.@title = this.title; selectionsNode = new XML(); selectionsNode.displayText = ""; if (tableCode == 'GHS') { selectionsNode.displayText = "Tarifs " + GHS_type_tarif_GUI.selectedItem.label + " au " + GHS_date_tarif_GUI.text + ". "; } if (refSearch_GUI.selected == true) { selectionsNode.displayText = selectionsNode.displayText + "Uniquement les codes référencés. "; } if (searchText_GUI.text != "") { selectionsNode.displayText = selectionsNode.displayText + "(Filtre : " + searchText_GUI.text + ") "; } xml.appendChild(selectionsNode); ongletNode = new XML(); ongletNode.@excelLabel = tableCode; xml.appendChild(ongletNode); similiTabNode = new XML(); similiTabNode.@excelLabel = "Liste"; ongletNode.appendChild(similiTabNode); datagridNode = new XML(); datagridNode.@total = "false"; ongletNode.appendChild(datagridNode); for each (var column:DataGridColumn in list_GUI.columns) { columnNode = new XML(); columnNode.@dataField = column.dataField; columnNode.@headerText = column.headerText; columnNode.@type = "Char"; columnNode.@textAlign = column.getStyle("textAlign"); datagridNode.appendChild(columnNode); } dataNode = new XML(); similiTabNode.appendChild(dataNode); for each (var itemNode:Object in list_collection) { if (itemNode.oid != "-1") { rowNode = new XML(); var c:int = 0; for each (column in list_GUI.columns) { c++; rowNode.@["c" + c.toString()] = itemNode[column.dataField]; } dataNode.appendChild(rowNode); } } CTI_PDFUtilitaires.exportPDF(xml); xml = null; } /** * Lance la sauvegarde si toutes les validations ont été réalisées avec succès * * @param event Résultat (valide) d'une validation de saisie texte */ private function valueIsValid(event:ValidationResultEvent):void { validObjects++; // Tous les éléments à valider ont été vérifiés if (invalidObjects + validObjects == objectsToValidate) { // Si aucune erreur de validation, on lance la sauvegarde if (invalidObjects == 0) { updateRecord("save"); } // Remise à zéro des paramètres de validation realValidator.source = null; validObjects = 0; objectsToValidate = 0; invalidObjects = 0; } } /** * Affiche une erreur en cas d'échec de validation * * @param event Résultat (invalide) d'une validation de saisie texte */ private function valueIsInvalid(event:ValidationResultEvent):void { invalidObjects++; // Affiche un message indiquant quelle saisie texte n'est pas valide et pourquoi Alert.show(event.message, realValidator.source["toolTip"]); // Si tous les éléments à valider ont été vérifiés, on RAZ les paramètres de validation if (invalidObjects + validObjects == objectsToValidate) { realValidator.source = null; objectsToValidate = 0; invalidObjects = 0; validObjects = 0; } } /** * Lance la validation d'une liste de zones de texte * * @param inputs La liste de zones de texte à valider */ private function validateInputs(inputs:Array):void { // Initialise le nombre d'objets validés à 0 validObjects = 0; // Initialise le nombre d'objets à valider objectsToValidate = inputs.length; // Ajuste les paramètres du validator selon les tables traitées switch (tableCode) { case "ED5" : realValidator.precision = 2; realValidator.maxValue = 100; break; case "ED6" : realValidator.precision = 0; realValidator.maxValue = NaN; break; } var input:Object; // Lance la validation de chaque entrée présente dans la liste à vérifier for each (input in inputs) { realValidator.source = input; realValidator.validate(); } } /** * Ouvre une boîte de dialogue qui permettra de choisir le territoire de santé * du finess sélectionné */ private function chooseTersante():void { var query:String = "SELECT oid, texte, CASE WHEN oid = 0 THEN ' ' || texte ELSE texte END as tri " + " FROM base.t_territoires_sante " + " UNION SELECT -1 AS oid, 'Sélectionnez une valeur...' as texte, ' Sélectionnez une valeur...' as tri ORDER BY 3"; var info:String = "Veuillez sélectionner le territoire de santé de l'établissement"; var title:String = ETS_texte_GUI.text + " : Territoire de santé"; var chooseParamBox:CTI_ChooseParamBox = new CTI_ChooseParamBox(query, info, title); chooseParamBox.getChoices(); PopUpManager.addPopUp(chooseParamBox, this, true); PopUpManager.centerPopUp(chooseParamBox); chooseParamBox.addEventListener(CloseEvent.CLOSE, chooseTersante_handler); chooseParamBox.addEventListener(CTI_Event.SELECT, chooseTersante_handler); chooseParamBox.addEventListener(CTI_Event.READY, chooseTersante_handler); } /** * Gère les évènements provenant de la boîte de dialogue de choix du territoire de santé d'un finess. * * @param event Evènement provenant de la boîte de dialogue de choix du territoire de santé d'un finess */ private function chooseTersante_handler(event:Event):void { // Les données sont disponibles, on recentre uniquement la boite de dialogue if (event.type == CTI_Event.READY) { PopUpManager.centerPopUp(event.target as IFlexDisplayObject); } // Choix d'une donnée ou fermeture de la boîte de dialogue else { // Supprime les écouteurs event.target.removeEventListener(CTI_Event.SELECT, chooseTersante_handler); event.target.removeEventListener(CTI_Event.READY, chooseTersante_handler); event.target.removeEventListener(CloseEvent.CLOSE, chooseTersante_handler); // Dégage la boîte de dialogue PopUpManager.removePopUp(event.target as IFlexDisplayObject); CTI_ChooseParamBox(event.target).cleanUp(); // Si une valeur a été sélectionnée, met à jour les infos du territoire de santé du finess if (event.type == CTI_Event.SELECT) { ETS_tersante_texte_GUI.text = CTI_Event(event).arg["texte"]; ETS_tersante_id_GUI.text = CTI_Event(event).arg["oid"]; recordUpdated = true; } } } private function setSelectedIndex(cb:Object, str:String):void { for (var idx:int = 0, len:int = cb.dataProvider.length; idx < len; idx++){ if (cb.dataProvider.getItemAt(idx).data == str){ cb.selectedIndex = idx; } } } public function dateFormat1(pDate:Date): String { var lDf : DateFormatter=new DateFormatter(); lDf.formatString="DD/MM/YYYY"; var lDateFormatee : String=lDf.format(pDate); return lDateFormatee; } protected function dateLabelFunction(item:Object,column:DataGridColumn):String { if (item.date_effet_autorisation != null && item.date_effet_autorisation != "") { return dateFormat1(new Date(item.date_effet_autorisation.substr(0, 4), Number(item.date_effet_autorisation.substr(5, 2)) - 1, item.date_effet_autorisation.substr(8, 2))); } else { return ""; } } protected function pourcentLabelFunction(item:Object, column:DataGridColumn):String { var a:String = ""; switch (column.dataField) { case "seuil_degressivite" : a = Number(item.seuil_degressivite) + 0 == 0 ? "" : item.seuil_degressivite + " %"; break; case "taux_correction_avant_mars" : a = Number(item.taux_correction_avant_mars) + 0 == 0 ? "" : item.taux_correction_avant_mars + " %"; break; case "taux_correction_apres_mars" : a = Number(item.taux_correction_apres_mars) + 0 == 0 ? "" : item.taux_correction_apres_mars + " %"; break; default : a = "N/A"; } return a; } private function importExcel_DG5():void { if (DG5_excel_textarea.length > 0) { updateRecord("import"); hideExcelImport_DG5(); } } private function hideExcelImport_DG5():void { DG5_excel_box.width = 0; DG5_excel_box.visible = false; DG5_excel_box.includeInLayout = false; DG5_excel_textarea.text = ""; } private function showExcelImport_DG5():void { DG5_excel_box.width = 300; DG5_excel_box.visible = true; DG5_excel_box.includeInLayout = true; } ]]>