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;
}
]]>