10";
}
else {
$select = "AND jour_semaine IN (";
if ('[LUN]' == '1') { $select .= "1,"; }
if ('[MAR]' == '2') { $select .= "2,"; }
if ('[MER]' == '3') { $select .= "3,"; }
if ('[JEU]' == '4') { $select .= "4,"; }
if ('[VEN]' == '5') { $select .= "5,"; }
if ('[SAM]' == '6') { $select .= "6,"; }
if ('[DIM]' == '7') { $select .= "7,"; }
$select = substr($select, 0, -1) . ")";
}
}
return $select;
EVAL]]]>
EVAL]
]]>
annee_toperiode) {return 'MONTH';}
else if (annee_toperiode > annee_periode) {return 'QUARTER';}
else if (mois_toperiode > mois_periode || mois_periode > mois_toperiode) {return 'MONTH';}
else if (jour_toperiode - jour_periode > 7) {return 'WEEK2';}
else {return 'DAY';}
]]>
= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIM') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIM' || SELECT.GROUPBY_2 == 'TRIM') {
if (SELECT.GROUPBY == 'TRIM') {
annee = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (annee == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
annee = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEE' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIM' || SELECT.GROUPBY_2 == 'NUMEROTRIM') {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIM') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEE') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEE'|| SELECT.GROUPBY_2 == 'ANNEE') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEE') ? ROW.COD1 : ROW.COD2;
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}
else {
var to_periode_comparatif:String = SELECT.TOPERIODE;
if (COLUMN.NAME == 'D1_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'D1_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'D2_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'D2_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'CA_MOY_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'CA_MOY_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'F1') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F2') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F3') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F4') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F5') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F6') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F7') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F8') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F9') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F10') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F11') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F12') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F13') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F14') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F15') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'D1') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D2') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D3') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D4') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D5') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D6') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D7') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D8') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D9') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D10') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D11') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D12') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D13') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D14') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D15') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'L1') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L2') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L3') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L4') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L5') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L6') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L7') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L8') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L9') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L10') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L11') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L12') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L13') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L14') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L15') {to_periode_comparatif = VIEW.TOPERIODE_D2}
return to_periode_comparatif;
}
]]>
= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMEX') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
ANNEEEX = ROW.COD2.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEEX') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMEX') {
if (ROW.COD == ROW.COD2) {
return ANNEEEX + ROW.COD2;
}
else {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMEX') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD3) {
if (parseInt(ROW.COD3) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD3;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD3;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIMEX' || SELECT.GROUPBY_2 == 'TRIMEX' || SELECT.GROUPBY_3 == 'TRIMEX') {
if (SELECT.GROUPBY == 'TRIMEX') {
ANNEEEX = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ANNEEEX == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else if (SELECT.GROUPBY_2 == 'TRIMEX'){
ANNEEEX = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEEX' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else {
ANNEEEX = ROW.COD3.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEEX' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMEX' || SELECT.GROUPBY_2 == 'NUMEROTRIMEX' || SELECT.GROUPBY_3 == 'NUMEROTRIMEX' ) {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIMEX') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEEX') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROTRIMEX'){
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD3.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEEX'|| SELECT.GROUPBY_2 == 'ANNEEEX' || SELECT.GROUPBY_3 == 'ANNEEEX' ) {
if(SELECT.GROUPBY == 'ANNEEEX'|| SELECT.GROUPBY_2 == 'ANNEEEX') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEEEX') ? ROW.COD1 : ROW.COD2;
}else {
var row_cod:String = ROW.COD3;
}
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}
// FIN TRAITEMENT DATE D'EXPEDITION
// TRAITEMENT DATE D'ACTIVITE
if (SELECT.GROUPBY == 'SEMAINEANNEA' || SELECT.GROUPBY_2 == 'SEMAINEANNEA' || SELECT.GROUPBY_3 == 'SEMAINEANNEA' ) {
if(SELECT.GROUPBY == 'SEMAINEANNEA' || SELECT.GROUPBY_2 == 'SEMAINEANNEA'){
row_cod = (SELECT.GROUPBY == 'SEMAINEANNEA') ? ROW.COD1 : ROW.COD2;
}else {
row_cod = ROW.COD3;
}
if (SELECT.GROUPBY == 'ANNEEA' || SELECT.GROUPBY_2 == 'ANNEEA') {
var ANNEEEX:String = (SELECT.GROUPBY == 'SEMAINEANNEA') ? ROW.COD2.substr(0,4) : ROW.COD1.substr(0,4);
return getDateFromWeek(ANNEEEX+row_cod,6);
}
else{
var date:String = getDateFromWeek(annee_toperiode + row_cod,6);
var month:int = parseInt(date.substr(5,2));
var day:int = parseInt(date.substr(8,2));
var toDay:int = parseInt(SELECT.TOPERIODE.substr(8,2));
if (month <= parseInt(mois_toperiode) && day <= toDay) {
return getDateFromWeek(annee_toperiode+row_cod,6);
}
else {
return getDateFromWeek((parseInt(annee_toperiode)).toString()+row_cod,0);
}
}
}
if (SELECT.GROUPBY == 'JOURSA' || SELECT.GROUPBY_2 == 'JOURSA' || SELECT.GROUPBY_3 == 'JOURSA') {
if (SELECT.GROUPBY == 'JOURSA') {
return annee_periode+'-'+ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return annee_periode+'-'+ROW.COD2;
}else if(ROW.COD == ROW.COD3) {
return annee_periode+'-'+ROW.COD3;
}
}
if (SELECT.GROUPBY == 'JOURA' || SELECT.GROUPBY_2 == 'JOURA' || SELECT.GROUPBY_3 == 'JOURA') {
if (SELECT.GROUPBY == 'JOURA') {
return ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return ROW.COD2;
} else if(ROW.COD == ROW.COD3) {
return ROW.COD3;
}
}
if (SELECT.GROUPBY == 'MOISA' || SELECT.GROUPBY_2 == 'MOISA' || SELECT.GROUPBY_3 == 'MOISA') {
var mois:String = '';
if (SELECT.GROUPBY == 'MOISA') {
annee = ROW.COD1.substr(0,4);
mois = ROW.COD1.substr(-2);
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else if (SELECT.GROUPBY_2 == 'MOISA') {
annee = ROW.COD2.substr(0,4);
mois = ROW.COD2.substr(-2);
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEA' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else if (SELECT.GROUPBY_3 == 'MOISA'){
annee = ROW.COD3.substr(0,4);
mois = ROW.COD3.substr(-2);
if (ROW.COD == ROW.COD3) {
if (annee== annee_periode && mois == mois_periode) {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEA' && ROW.COD1 != annee_periode) {
return ROW.COD1 + '01';
}
else {
return SELECT.PERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROMOISA' || SELECT.GROUPBY_2 == 'NUMEROMOISA' || SELECT.GROUPBY_3 == 'NUMEROMOISA') {
if (SELECT.GROUPBY == 'NUMEROMOISA') {
if (parseInt(ROW.COD1) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD1;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD1;
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROMOISA'){
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
ANNEEEX = ROW.COD1.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEA') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMA') {
if (ROW.COD == ROW.COD2) {
return ANNEEEX + ROW.COD2;
}
else {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMA') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
ANNEEEX = ROW.COD2.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEA') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMA') {
if (ROW.COD == ROW.COD2) {
return ANNEEEX + ROW.COD2;
}
else {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMA') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD3) {
if (parseInt(ROW.COD3) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD3;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD3;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIMA' || SELECT.GROUPBY_2 == 'TRIMA' || SELECT.GROUPBY_3 == 'TRIMA') {
if (SELECT.GROUPBY == 'TRIMA') {
ANNEEEX = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ANNEEEX == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else if (SELECT.GROUPBY_2 == 'TRIMA'){
ANNEEEX = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEA' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else {
ANNEEEX = ROW.COD3.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (ANNEEEX == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEEX + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEA' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMA' || SELECT.GROUPBY_2 == 'NUMEROTRIMA' || SELECT.GROUPBY_3 == 'NUMEROTRIMA' ) {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIMA') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEA') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROTRIMA'){
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD3.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEA'|| SELECT.GROUPBY_2 == 'ANNEEA' || SELECT.GROUPBY_3 == 'ANNEEA' ) {
if(SELECT.GROUPBY == 'ANNEEA'|| SELECT.GROUPBY_2 == 'ANNEEA') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEEA') ? ROW.COD1 : ROW.COD2;
}else {
var row_cod:String = ROW.COD3;
}
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}
// FIN TRAITEMENT DATE D'ACTIVITE
// TRAITEMENT DATE SORTIE
if (SELECT.GROUPBY == 'SEMAINEANNE' || SELECT.GROUPBY_2 == 'SEMAINEANNE' || SELECT.GROUPBY_3 == 'SEMAINEANNE' ) {
if(SELECT.GROUPBY == 'SEMAINEANNE' || SELECT.GROUPBY_2 == 'SEMAINEANNE'){
row_cod = (SELECT.GROUPBY == 'SEMAINEANNE') ? ROW.COD1 : ROW.COD2;
}else {
row_cod = ROW.COD3;
}
if (SELECT.GROUPBY == 'ANNEE' || SELECT.GROUPBY_2 == 'ANNEE') {
var annee:String = (SELECT.GROUPBY == 'SEMAINEANNE') ? ROW.COD2.substr(0,4) : ROW.COD1.substr(0,4);
return getDateFromWeek(annee+row_cod,6);
}else{
var date:String = getDateFromWeek(annee_toperiode + row_cod,6);
var month:int = parseInt(date.substr(5,2));
var day:int = parseInt(date.substr(8,2));
var toDay:int = parseInt(SELECT.TOPERIODE.substr(8,2));
if (month <= parseInt(mois_toperiode) && day <= toDay) {
return getDateFromWeek(annee_toperiode+row_cod,6);
}
else {
return getDateFromWeek((parseInt(annee_toperiode)).toString()+row_cod,0);
}
}
}
if (SELECT.GROUPBY == 'JOURS' || SELECT.GROUPBY_2 == 'JOURS' || SELECT.GROUPBY_3 == 'JOURS') {
if (SELECT.GROUPBY == 'JOURS') {
return annee_periode+'-'+ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return annee_periode+'-'+ROW.COD2;
}else if(ROW.COD == ROW.COD3) {
return annee_periode+'-'+ROW.COD3;
}
}
if (SELECT.GROUPBY == 'JOUR' || SELECT.GROUPBY_2 == 'JOUR' || SELECT.GROUPBY_3 == 'JOUR') {
if (SELECT.GROUPBY == 'JOUR') {
return ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return ROW.COD2;
} else if(ROW.COD == ROW.COD3) {
return ROW.COD3;
}
}
if (SELECT.GROUPBY == 'MOIS' || SELECT.GROUPBY_2 == 'MOIS' || SELECT.GROUPBY_3 == 'MOIS') {
var mois:String = '';
if (SELECT.GROUPBY == 'MOIS') {
annee = ROW.COD1.substr(0,4);
mois = ROW.COD1.substr(-2);
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else if (SELECT.GROUPBY_2 == 'MOIS') {
annee = ROW.COD2.substr(0,4);
mois = ROW.COD2.substr(-2);
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEE' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else if (SELECT.GROUPBY_3 == 'MOIS'){
annee = ROW.COD3.substr(0,4);
mois = ROW.COD3.substr(-2);
if (ROW.COD == ROW.COD3) {
if (annee == annee_periode && mois == mois_periode) {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEE' && ROW.COD1 != annee_periode) {
return ROW.COD1 + '01';
}
else {
return SELECT.PERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROMOIS' || SELECT.GROUPBY_2 == 'NUMEROMOIS' || SELECT.GROUPBY_3 == 'NUMEROMOIS') {
if (SELECT.GROUPBY == 'NUMEROMOIS') {
if (parseInt(ROW.COD1) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD1;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD1;
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROMOIS'){
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
annee = ROW.COD1.substr(0,4);
if (SELECT.GROUPBY == 'ANNEE') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIM') {
if (ROW.COD == ROW.COD2) {
return annee + ROW.COD2;
}
else {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIM') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
annee = ROW.COD2.substr(0,4);
if (SELECT.GROUPBY == 'ANNEE') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIM') {
if (ROW.COD == ROW.COD2) {
return annee + ROW.COD2;
}
else {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIM') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD3) {
if (parseInt(ROW.COD3) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD3;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD3;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIM' || SELECT.GROUPBY_2 == 'TRIM' || SELECT.GROUPBY_3 == 'TRIM') {
if (SELECT.GROUPBY == 'TRIM') {
annee = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (annee == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else if (SELECT.GROUPBY_2 == 'TRIM'){
annee = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEE' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else {
annee = ROW.COD3.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEE' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIM' || SELECT.GROUPBY_2 == 'NUMEROTRIM' || SELECT.GROUPBY_3 == 'NUMEROTRIM' ) {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIM') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEE') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROTRIM'){
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD3.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEE'|| SELECT.GROUPBY_2 == 'ANNEE' || SELECT.GROUPBY_3 == 'ANNEE' ) {
if(SELECT.GROUPBY == 'ANNEE'|| SELECT.GROUPBY_2 == 'ANNEE') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEE') ? ROW.COD1 : ROW.COD2;
}else {
var row_cod:String = ROW.COD3;
}
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}
// FIN TRAITEMENT DATE SORTIE
//DATE DE VENTE
if (SELECT.GROUPBY == 'SEMAINEANNEV' || SELECT.GROUPBY_2 == 'SEMAINEANNEV' || SELECT.GROUPBY_3 == 'SEMAINEANNEV' ) {
if(SELECT.GROUPBY == 'SEMAINEANNEV' || SELECT.GROUPBY_2 == 'SEMAINEANNEV'){
row_cod = (SELECT.GROUPBY == 'SEMAINEANNEV') ? ROW.COD1 : ROW.COD2;
}else {
row_cod = ROW.COD3;
}
if (SELECT.GROUPBY == 'ANNEEV' || SELECT.GROUPBY_2 == 'ANNEEV') {
var annee:String = (SELECT.GROUPBY == 'SEMAINEANNEV') ? ROW.COD2.substr(0,4) : ROW.COD1.substr(0,4);
return getDateFromWeek(annee+row_cod,6);
}
else
{
var date:String = getDateFromWeek(annee_toperiode + row_cod,6);
var month:int = parseInt(date.substr(5,2));
var day:int = parseInt(date.substr(8,2));
var toDay:int = parseInt(SELECT.TOPERIODE.substr(8,2));
if (month <= parseInt(mois_toperiode) && day <= toDay) {
return getDateFromWeek(annee_toperiode+row_cod,6);
}
else {
return getDateFromWeek((parseInt(annee_toperiode) - 1).toString()+row_cod,6);
}
}
}
if (SELECT.GROUPBY == 'JOURSV' || SELECT.GROUPBY_2 == 'JOURSV' || SELECT.GROUPBY_3 == 'JOURSV') {
if (SELECT.GROUPBY == 'JOURSV') {
return annee_periode+'-'+ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return annee_periode+'-'+ROW.COD2;
}else if(ROW.COD == ROW.COD3) {
return annee_periode+'-'+ROW.COD3;
}
}
if (SELECT.GROUPBY == 'JOURV' || SELECT.GROUPBY_2 == 'JOURV' || SELECT.GROUPBY_3 == 'JOURV') {
if (SELECT.GROUPBY == 'JOURV') {
return ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return ROW.COD2;
} else if(ROW.COD == ROW.COD3) {
return ROW.COD3;
}
}
if (SELECT.GROUPBY == 'MOISV' || SELECT.GROUPBY_2 == 'MOISV' || SELECT.GROUPBY_3 == 'MOISV') {
var mois:String = '';
if (SELECT.GROUPBY == 'MOISV') {
annee = ROW.COD1.substr(0,4);
mois = ROW.COD1.substr(-2);
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else if (SELECT.GROUPBY_2 == 'MOISV') {
annee = ROW.COD2.substr(0,4);
mois = ROW.COD2.substr(-2);
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEV' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY_3 == 'MOISV'){
annee = ROW.COD3.substr(0,4);
mois = ROW.COD3.substr(-2);
if (ROW.COD == ROW.COD3) {
if (annee == annee_periode && mois == mois_periode) {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEV' && ROW.COD1 != annee_periode) {
return ROW.COD1 + '01';
}
else {
return SELECT.PERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROMOISV' || SELECT.GROUPBY_2 == 'NUMEROMOISV' || SELECT.GROUPBY_3 == 'NUMEROMOISV') {
if (SELECT.GROUPBY == 'NUMEROMOISV') {
if (parseInt(ROW.COD1) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD1;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD1;
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROMOISV'){
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
annee = ROW.COD1.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEV') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMV') {
if (ROW.COD == ROW.COD2) {
return annee + ROW.COD2;
}
else {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMV') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
annee = ROW.COD2.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEV') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMV') {
if (ROW.COD == ROW.COD2) {
return annee + ROW.COD2;
}
else {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMV') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD3) {
if (parseInt(ROW.COD3) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD3;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD3;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIMV' || SELECT.GROUPBY_2 == 'TRIMV' || SELECT.GROUPBY_3 == 'TRIMV') {
if (SELECT.GROUPBY == 'TRIMV') {
annee = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (annee == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else if (SELECT.GROUPBY_2 == 'TRIMV'){
annee = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEV' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else {
annee = ROW.COD3.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (annee == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return annee + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEV' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMV' || SELECT.GROUPBY_2 == 'NUMEROTRIMV' || SELECT.GROUPBY_3 == 'NUMEROTRIMV' ) {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIMV') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEV') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROTRIMV'){
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD3.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEV'|| SELECT.GROUPBY_2 == 'ANNEEV' || SELECT.GROUPBY_3 == 'ANNEEV' ) {
if(SELECT.GROUPBY == 'ANNEEV'|| SELECT.GROUPBY_2 == 'ANNEEV') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEEV') ? ROW.COD1 : ROW.COD2;
}else {
var row_cod:String = ROW.COD3;
}
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}
// FIN DE VENTE
// TRAITEMENT DATE FACTURE
if (SELECT.GROUPBY == 'SEMAINEANNEF' || SELECT.GROUPBY_2 == 'SEMAINEANNEF' || SELECT.GROUPBY_3 == 'SEMAINEANNEF' ) {
if(SELECT.GROUPBY == 'SEMAINEANNEF' || SELECT.GROUPBY_2 == 'SEMAINEANNEF'){
row_cod = (SELECT.GROUPBY == 'SEMAINEANNEF') ? ROW.COD1 : ROW.COD2;
}else {
row_cod = ROW.COD3;
}
if (SELECT.GROUPBY == 'ANNEEF' || SELECT.GROUPBY_2 == 'ANNEEF') {
var ANNEEF:String = (SELECT.GROUPBY == 'SEMAINEANNEF') ? ROW.COD2.substr(0,4) : ROW.COD1.substr(0,4);
return getDateFromWeek(ANNEEF+row_cod,6);
}
else{
var date:String = getDateFromWeek(annee_toperiode + row_cod,6);
var month:int = parseInt(date.substr(5,2));
var day:int = parseInt(date.substr(8,2));
var toDay:int = parseInt(SELECT.TOPERIODE.substr(8,2));
if (month <= parseInt(mois_toperiode) && day <= toDay) {
return getDateFromWeek(annee_toperiode+row_cod,6);
}
else {
return getDateFromWeek((parseInt(annee_toperiode)).toString()+row_cod,0);
}
}
}
if (SELECT.GROUPBY == 'JOURSF' || SELECT.GROUPBY_2 == 'JOURSF' || SELECT.GROUPBY_3 == 'JOURSF') {
if (SELECT.GROUPBY == 'JOURSF') {
return annee_periode+'-'+ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return annee_periode+'-'+ROW.COD2;
}else if(ROW.COD == ROW.COD3) {
return annee_periode+'-'+ROW.COD3;
}
}
if (SELECT.GROUPBY == 'JOURF' || SELECT.GROUPBY_2 == 'JOURF' || SELECT.GROUPBY_3 == 'JOURF') {
if (SELECT.GROUPBY == 'JOURF') {
return ROW.COD1;
}
else if (ROW.COD == ROW.COD2) {
return ROW.COD2;
} else if(ROW.COD == ROW.COD3) {
return ROW.COD3;
}
}
if (SELECT.GROUPBY == 'MOISF' || SELECT.GROUPBY_2 == 'MOISF' || SELECT.GROUPBY_3 == 'MOISF') {
var mois:String = '';
if (SELECT.GROUPBY == 'MOISF') {
annee = ROW.COD1.substr(0,4);
mois = ROW.COD1.substr(-2);
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else if (SELECT.GROUPBY_2 == 'MOISF') {
annee = ROW.COD2.substr(0,4);
mois = ROW.COD2.substr(-2);
if (ROW.COD == ROW.COD2) {
if (annee == annee_toperiode && mois == mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEF' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else if (SELECT.GROUPBY_3 == 'MOISF'){
annee = ROW.COD3.substr(0,4);
mois = ROW.COD3.substr(-2);
if (ROW.COD == ROW.COD3) {
if (annee== annee_periode && mois == mois_periode) {
return annee + mois;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEF' && ROW.COD1 != annee_periode) {
return ROW.COD1 + '01';
}
else {
return SELECT.PERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROMOISF' || SELECT.GROUPBY_2 == 'NUMEROMOISF' || SELECT.GROUPBY_3 == 'NUMEROMOISF') {
if (SELECT.GROUPBY == 'NUMEROMOISF') {
if (parseInt(ROW.COD1) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD1;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD1;
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROMOISF'){
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
ANNEEF = ROW.COD1.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEF') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMF') {
if (ROW.COD == ROW.COD2) {
return ANNEEF + ROW.COD2;
}
else {
if (ANNEEF == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEF + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMF') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
return SELECT.TOPERIODE;
}
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
ANNEEF = ROW.COD2.substr(0,4);
if (SELECT.GROUPBY == 'ANNEEF') {
if (ROW.COD == ROW.COD2) {
return ROW.COD1 + ROW.COD2;
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY == 'TRIMF') {
if (ROW.COD == ROW.COD2) {
return ANNEEF + ROW.COD2;
}
else {
if (ANNEEF == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEF + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMF') {
if (ROW.COD == ROW.COD2) {
if (parseInt(ROW.COD2) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD2
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD2;
}
}
else {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + mois_fin_string;
}
}
}
}
else {
if (ROW.COD == ROW.COD3) {
if (parseInt(ROW.COD3) <= parseInt(mois_toperiode)) {
return annee_toperiode + ROW.COD3;
}
else {
return (parseInt(annee_toperiode) - 1).toString() + ROW.COD3;
}
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'TRIMF' || SELECT.GROUPBY_2 == 'TRIMF' || SELECT.GROUPBY_3 == 'TRIMF') {
if (SELECT.GROUPBY == 'TRIMF') {
ANNEEF = ROW.COD1.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ANNEEF == annee_periode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEF + mois_fin_string;
}
}
else if (SELECT.GROUPBY_2 == 'TRIMF'){
ANNEEF = ROW.COD2.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD2) {
if (ANNEEF == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEF + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEF' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
} else {
ANNEEF = ROW.COD3.substr(0,4);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (ANNEEF == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ANNEEF + mois_fin_string;
}
}
else {
if (SELECT.GROUPBY == 'ANNEEF' && ROW.COD1 != annee_toperiode) {
return ROW.COD1 + '12';
}
else {
return SELECT.TOPERIODE;
}
}
}
}
else if (SELECT.GROUPBY == 'NUMEROTRIMF' || SELECT.GROUPBY_2 == 'NUMEROTRIMF' || SELECT.GROUPBY_3 == 'NUMEROTRIMF' ) {
mois_debut = 1 + 3 * (parseInt(ROW.COD2.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD2.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (SELECT.GROUPBY == 'NUMEROTRIMF') {
mois_debut = 1 + 3 * (parseInt(ROW.COD1.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD1.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEF') {
if (ROW.COD == ROW.COD2) {
if (ROW.COD1 == annee_toperiode && mois_fin >= parseInt(mois_toperiode)) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + mois_fin_string;
}
}
else {
if (ROW.COD1 == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return ROW.COD1 + '12';
}
}
}
else if (SELECT.GROUPBY_2 == 'NUMEROTRIMF'){
if (ROW.COD == ROW.COD2) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
} else {
mois_debut = 1 + 3 * (parseInt(ROW.COD3.substr(-1)) - 1);
mois_fin = 3 * parseInt(ROW.COD3.substr(-1));
mois_fin_string = mois_fin < 10 ? '0' + mois_fin.toString() : mois_fin.toString();
if (ROW.COD == ROW.COD3) {
if (mois_fin <= parseInt(mois_toperiode)) {
return annee_toperiode + mois_fin_string;
}
else {
if (mois_debut <= mois_toperiode) {
return SELECT.TOPERIODE;
}
else {
return (parseInt(annee_toperiode) -1).toString() + mois_fin_string;
}
}
}
else {
return SELECT.TOPERIODE;
}
}
}
else if (SELECT.GROUPBY == 'ANNEEF'|| SELECT.GROUPBY_2 == 'ANNEEF' || SELECT.GROUPBY_3 == 'ANNEEF' ) {
if(SELECT.GROUPBY == 'ANNEEF'|| SELECT.GROUPBY_2 == 'ANNEEF') {
var row_cod:String = (SELECT.GROUPBY == 'ANNEEF') ? ROW.COD1 : ROW.COD2;
}else {
var row_cod:String = ROW.COD3;
}
if (row_cod == annee_toperiode) {
return SELECT.TOPERIODE;
}
else {
return row_cod + '12';
}
}else {
var to_periode_comparatif:String = SELECT.TOPERIODE;
if (COLUMN.NAME == 'D1_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'D1_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'D2_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'D2_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'CA_MOY_OLD') {to_periode_comparatif = VIEW.TOPERIODE_D;}
if (COLUMN.NAME == 'CA_MOY_NOW') {to_periode_comparatif = SELECT.TOPERIODE;}
if (COLUMN.NAME == 'F1') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F2') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F3') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F4') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F5') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F6') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F7') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F8') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F9') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F10') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F11') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F12') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F13') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F14') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'F15') {to_periode_comparatif = SELECT.TOPERIODE}
if (COLUMN.NAME == 'D1') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D2') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D3') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D4') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D5') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D6') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D7') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D8') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D9') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D10') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D11') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D12') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D13') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D14') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'D15') {to_periode_comparatif = VIEW.TOPERIODE_D}
if (COLUMN.NAME == 'L1') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L2') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L3') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L4') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L5') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L6') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L7') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L8') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L9') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L10') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L11') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L12') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L13') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L14') {to_periode_comparatif = VIEW.TOPERIODE_D2}
if (COLUMN.NAME == 'L15') {to_periode_comparatif = VIEW.TOPERIODE_D2}
return to_periode_comparatif;
}
//FIN TRAITEMENT DATE FACTURE
]]>
= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA1) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA1) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA1) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA2 != '0' && (COLUMN.NAME == 'D2' || COLUMN.NAME == 'F2' || COLUMN.NAME == 'L2')){
if (valo_array.indexOf(SELECT.DATA2) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA2) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA2) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA2) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA3 != '0' && (COLUMN.NAME == 'D3' || COLUMN.NAME == 'F3' || COLUMN.NAME == 'L3')){
if (valo_array.indexOf(SELECT.DATA3) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA3) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA3) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA3) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA4 != '0' && (COLUMN.NAME == 'D4' || COLUMN.NAME == 'F4' || COLUMN.NAME == 'L4')){
if (valo_array.indexOf(SELECT.DATA4) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA4) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA4) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA4) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA5 != '0' && (COLUMN.NAME == 'D5' || COLUMN.NAME == 'F5' || COLUMN.NAME == 'L5')){
if (valo_array.indexOf(SELECT.DATA5) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA5) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA5) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA5) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA6 != '0' && (COLUMN.NAME == 'D6' || COLUMN.NAME == 'F6' || COLUMN.NAME == 'L6')){
if (valo_array.indexOf(SELECT.DATA6) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA6) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA6) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA6) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA7 != '0' && (COLUMN.NAME == 'D7' || COLUMN.NAME == 'F7' || COLUMN.NAME == 'L7')){
if (valo_array.indexOf(SELECT.DATA7) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA7) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA7) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA7) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}
}else if(SELECT.DATA8 != '0' && (COLUMN.NAME == 'D8' || COLUMN.NAME == 'F8' || COLUMN.NAME == 'L8')){
if (valo_array.indexOf(SELECT.DATA8) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA8) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA8) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA8) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA9 != '0' && (COLUMN.NAME == 'D9' || COLUMN.NAME == 'F9' || COLUMN.NAME == 'L9')){
if (valo_array.indexOf(SELECT.DATA9) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA9) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA9) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA9) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA10 != '0' && (COLUMN.NAME == 'D10' || COLUMN.NAME == 'F10' || COLUMN.NAME == 'L10')){
if (valo_array.indexOf(SELECT.DATA10) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA10) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA10) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA10) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA011 != '0' && (COLUMN.NAME == 'D11' || COLUMN.NAME == 'F11' || COLUMN.NAME == 'L11')){
if (valo_array.indexOf(SELECT.DATA011) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA011) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA011) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA011) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA012 != '0' && (COLUMN.NAME == 'D12' || COLUMN.NAME == 'F12' || COLUMN.NAME == 'L12')){
if (valo_array.indexOf(SELECT.DATA012) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA012) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA012) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA012) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA013 != '0' && (COLUMN.NAME == 'D13' || COLUMN.NAME == 'F13' || COLUMN.NAME == 'L13')){
if (valo_array.indexOf(SELECT.DATA013) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA013) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA013) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA013) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA014 != '0' && (COLUMN.NAME == 'D14' || COLUMN.NAME == 'F14' || COLUMN.NAME == 'L14')){
if (valo_array.indexOf(SELECT.DATA014) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA014) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA014) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA014) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.DATA015 != '0' && (COLUMN.NAME == 'D15' || COLUMN.NAME == 'F15' || COLUMN.NAME == 'L15')){
if (valo_array.indexOf(SELECT.DATA015) >= 0 ) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(SELECT.DATA015) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(SELECT.DATA015) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(SELECT.DATA015) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
}else if(SELECT.LS_DATA != '-1'){
var liste_indicateurs:String = SELECT.LS_DATA;
var my_array1:Array = liste_indicateurs.split("=");
var my_array:Array = my_array1[1].split(",");
var i:int;
for(i=0;i<=14;i++){
if(my_array[i] != '0' && COLUMN.NAME == 'F'+(i+1)){
if (valo_array.indexOf(my_array[i]) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'VAL';
}
else if (compta_array.indexOf(my_array[i]) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
else if (fact_valo_array.indexOf(my_array[i] ) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAV';
}
else if (fact_array.indexOf(my_array[i]) >= 0) {
LINKVARIABLES['QUELMONTANT'] = 'FAC';
}else {
LINKVARIABLES['QUELMONTANT'] = 'CPT';
}
}
}
}
]]>
= 1";
}
if ($selected_value_array[0] == '01') {
$tranche_fixe = "duree IN (0,1) ";
}
if ($selected_value_array[0] == '012') {
$tranche_fixe = "duree IN (0,1,2) ";
}
if ($selected_value_array[0] == '1X') {
$tranche_fixe = "duree > 1";
}
if ($selected_value_array[0] == 'X') {
$tranche_fixe = "duree > 2";
}
if ($tranche_fixe == "") {
// Intervalle de durées
if ($selected_value_array[0] == 'I') {
$select= "";
if ($selected_value_array[1] != '' ) {
$select .= ' AND duree >= ' . intval($selected_value_array[1]);
}
if ($selected_value_array[2] != '' ) {
$select .= ' AND duree <= ' . intval($selected_value_array[2]);
}
return $select;
}
// Durée explicite
else if (substr($selected_value, 0, 2) == "DU") {
$select .= ' AND duree = ' . intval(substr($selected_value, 2));
return $select;
}
// Autres (classes, ...)
else {
$selected_value = $selected_value_array[0];
}
}
else {
$select .= ' AND ' . $tranche_fixe;
return $select;
}
}
// Spécifique durée d'occupation
if ($field_prefixe == "duree_occupation") {
$selected_value_array = explode("|", $selected_value);
// Tranches fixes
$tranche_fixe = "";
if ($selected_value_array[0] === '0') {
$tranche_fixe = "duree_occ_eta = 0";
}
if ($selected_value_array[0] === '1') {
$tranche_fixe = "duree_occ_eta = 1";
}
if ($selected_value_array[0] === '2') {
$tranche_fixe = "duree_occ_eta = 2";
}
if ($selected_value_array[0] == '1EX') {
$tranche_fixe = "duree_occ_eta >= 1";
}
if ($selected_value_array[0] === '01') {
$tranche_fixe = "duree_occ_eta IN (0,1) ";
}
if ($selected_value_array[0] === '012') {
$tranche_fixe = "duree_occ_eta IN (0,1,2) ";
}
if ($selected_value_array[0] === '1X') {
$tranche_fixe = "duree_occ_eta > 1";
}
if ($selected_value_array[0] === 'X') {
$tranche_fixe = "duree_occ_eta > 2";
}
if ($tranche_fixe == "") {
// Intervalle de durées
if ($selected_value_array[0] == 'I') {
$select= "";
if ($selected_value_array[1] != '' ) {
$select .= ' AND duree_occ_eta >= ' . intval($selected_value_array[1]);
}
if ($selected_value_array[2] != '' ) {
$select .= ' AND duree_occ_eta <= ' . intval($selected_value_array[2]);
}
return $select;
}
// Durée explicite
else if (substr($selected_value, 0, 2) == "DU") {
$select .= ' AND duree_occ_eta = ' . intval(substr($selected_value, 2));
return $select;
}
// Autres (classes, ...)
else {
$selected_value = $selected_value_array[0];
}
}
else {
$select .= ' AND ' . $tranche_fixe;
return $select;
}
}
// Spécifique age
if ($field_prefixe == "age") {
$selected_value_array = explode("|", $selected_value);
$mode = substr($selected_value_array[0],0,2);
$oid = substr($selected_value_array[0],2);
if ($mode == 'LS') {
$section_id = ACTI_get_section_id($selected_value_array[0], 2, 2, 'age_section_id');
$oid = ACTI_get_classe_oid($selected_value_array[0]);
}
$subselect_select = '';
if ($mode == 'LI') {$subselect_select = " age_id = ANY (array(SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'SL') {$subselect_select = " age_id != ALL (array(SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'LS') {$subselect_select = " age_id = ANY (array(SELECT age_id FROM activite.v_ages_1 WHERE $section_id = $oid)::bigint[])";}
if ($mode == 'AG') {$subselect_select = " age_id = $oid ";}
if ($subselect_select != '') {
$select = $select. " AND $subselect_select ";
}
else {
// Anciennes codifications
if ($selected_value_array[0] == '0') {
$select = $select. ' AND age = 0';
}
if ($selected_value_array[0] == '1') {
$select = $select. ' AND age >= 1 AND age <= 5' ;
}
if ($selected_value_array[0] == '6') {
$select = $select. ' AND age >= 6 AND age <= 12' ;}
if ($selected_value_array[0] == '13') {
$select = $select. ' AND age >= 13 AND age <= 20' ;
}
if ($selected_value_array[0] == '21') {
$select = $select. ' AND age >= 21 AND age <= 30' ;
}
if ($selected_value_array[0] == '31') {
$select = $select. ' AND age >= 31 AND age <= 40' ;
}
if ($selected_value_array[0] == '41') {
$select = $select. ' AND age >= 41 AND age <= 50' ;
}
if ($selected_value_array[0] == '51') {
$select = $select. ' AND age >= 51 AND age <= 60' ;
}
if ($selected_value_array[0] == '61') {
$select = $select. ' AND age >= 61 AND age <= 70' ;
}
if ($selected_value_array[0] == '71') {
$select = $select. ' AND age >= 71 AND age <= 80' ;
}
if ($selected_value_array[0] == '81') {
$select = $select. ' AND age >= 81' ;
}
if ($selected_value_array[0] == 'I' && $selected_value_array[1] != '' && $selected_value_array[2] != '' ) {
$select = $select. ' AND age >= ' . intval($selected_value_array[1]) . ' AND age <= ' . intval($selected_value_array[2]);
}
else if ($selected_value_array[0] == 'I' && $selected_value_array[1] != '' ) {
$select = $select. ' AND age >= ' . intval($selected_value_array[1]);
}
else if ($selected_value_array[0] == 'I' && $selected_value_array[2] != '' ) {
$select = $select. ' AND age <= ' . intval($selected_value_array[2]);
}
}
return $select;
}
// Spécifique heure entrée
if ($field_prefixe == "heure_entree") {
$selected_value_array = explode("|", $selected_value);
if($selected_value_array[0] != '-1') {
$field1 = intval($selected_value_array[2]) * 10000;
$field2 = intval($selected_value_array[3]) * 10000;
switch ($selected_value_array[1]) {
case 1 :
$select = " AND v_sejours_1.heure_entree < $field1";
break;
case 2 :
$select = " AND v_sejours_1.heure_entree >= $field1";
break;
case 3 :
$select = " AND v_sejours_1.heure_entree BETWEEN $field1 AND $field2";
break;
}
}
return $select;
}
// Spécifique heure sortie
if ($field_prefixe == "heure_sortie") {
$selected_value_array = explode("|", $selected_value);
if($selected_value_array[0] != '-1') {
$field1 = intval($selected_value_array[2]) * 10000;
$field2 = intval($selected_value_array[3]) * 10000;
switch ($selected_value_array[1]) {
case 1 :
$select = " AND v_sejours_1.heure_sortie < $field1";
break;
case 2 :
$select = " AND v_sejours_1.heure_sortie >= $field1";
break;
case 3 :
$select = " AND v_sejours_1.heure_sortie BETWEEN $field1 AND $field2";
break;
}
}
return $select;
}
// Filtre avec prestation dans séjour
if ($selected_value != '-1' && ($field_prefixe == "prestation_avec" or $field_prefixe == "rubrique_facturation_avec" or $field_prefixe == "compte_produit_avec")) {
$mode = substr($selected_value,0,2);
$oid = $selected_value;
$field_code = '';
$view_join = '';
if ($selected_value == 'SAISIECODE') {
$mode = "CC";
$mode_cc = True;
}
if ($mode == 'LS') {
$section = substr($selected_value,2,2);
$oid = substr($selected_value,4);
}
if ($mode != 'LI' && $mode != 'SL' && $mode != 'LS' && $mode != 'CC' ) {
if ($mode != 'D2') {
$mode = 'DP';
}
$oid = substr($selected_value,2);
}
if($field_prefixe == "prestation_avec"){$field_id ="prestation_id"; $view_join = 'v_factures_lignes_prestation_1';}
if($field_prefixe == "rubrique_facturation_avec"){ $field_id ="rubrique_facturation_id"; $view_join = 'v_factures_lignes_rubrique_facturation_1';}
if($field_prefixe == "compte_produit_avec"){$field_id ="compte_produit_id"; $view_join = 'v_factures_lignes_compte_produit_1';}
if($field_prefixe == "prestation_avec" && $mode_cc ){$field_code ="prestation_code";}
if($field_prefixe == "rubrique_facturation_avec" && $mode_cc ){ $field_code ="rubrique_facturation_code";}
if($field_prefixe == "compte_produit_avec" && $mode_cc ){$field_code ="compte_produit_code";}
if ($mode == 'LI' || $mode == 'SL') {$oid = substr($selected_value,2);}
$subselect_select = '';
$field_section_id = str_replace("_avec","",$field_prefixe). "_section_id[" . $section . "]";
if ($mode == 'LI') {$subselect_select = "$field_id = ANY (array(SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'SL') {$subselect_select = "$field_id != ALL (array(SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'LS') {$subselect_select = "$field_section_id = $oid";}
if ($mode == 'DP') {$subselect_select = "$field_id = $oid";}
if ($mode == 'CC') {$subselect_select = "$field_code = '$selected_code' ";}
// Spécifique avec prestation
if ($selected_value != '-1') {
$select = "AND v_sejours_1.no_sejour = ANY(
SELECT v_factures_lignes_c_5.no_sejour
FROM activite.v_factures_lignes_c_5
JOIN activite.$view_join ON $view_join.oid = v_factures_lignes_c_5.$field_id
WHERE $subselect_select
GROUP BY 1
)";
}
return $select;
}
// Filtre passage
if ($selected_value != '-1' && ($field_prefixe == "lieu_service_passage" or $field_prefixe == "lieu_unite_fonctionnelle_passage" or $field_prefixe == "lieu_unite_medicale_passage" or $field_prefixe == "lieu_etage_passage" )) {
$mode = substr($selected_value,0,2);
$oid = $selected_value;
if ($selected_value == 'SAISIECODE') {
$mode = "CC";
$mode_cc = True;
}
if ($mode == 'LS') {
$section = substr($selected_value,2,2);
$oid = substr($selected_value,4);
}
if ($mode != 'LI' && $mode != 'SL' && $mode != 'LS' && $mode != 'CC' ) {
if ($mode != 'D2') {
$mode = 'DP';
}
$oid = substr($selected_value,2);
}
if($field_prefixe == "lieu_service_passage"){$field_id ="lieu_service_id";}
if($field_prefixe == "lieu_unite_fonctionnelle_passage"){ $field_id ="lieu_unite_fonctionnelle_id";}
if($field_prefixe == "lieu_unite_medicale_passage"){$field_id ="lieu_unite_medicale_id";}
if($field_prefixe == "lieu_etage_passage"){$field_id ="lieu_etage_id";}
if($field_prefixe == "lieu_service_passage" && $mode_cc ){$field_id ="lieu_service_code";}
if($field_prefixe == "lieu_unite_fonctionnelle_passage" && $mode_cc ){ $field_id ="lieu_unite_fonctionnelle_code";}
if($field_prefixe == "lieu_unite_medicale_passage" && $mode_cc ){$field_id ="lieu_unite_medicale_code";}
if($field_prefixe == "lieu_etage_passage" && $mode_cc ){$field_id ="lieu_etage_code";}
if ($mode == 'LI' || $mode == 'SL') {$oid = substr($selected_value,2);}
$subselect_select = '';
$field_section_id = str_replace("_passage","",$field_prefixe). "_section_id[" . $section . "]";
if ($mode == 'LI') {$subselect_select = "$field_id = ANY (SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)";}
if ($mode == 'SL') {$subselect_select = "$field_id != ALL (array(SELECT to_id FROM activite.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'LS') {$subselect_select = "$field_section_id = $oid";}
if ($mode == 'DP') {$subselect_select = "$field_id = $oid";}
if ($mode == 'CC') {$subselect_select = "$field_id = '$selected_code' ";}
// Spécifique lieu de passage service/UF/UM/etage
$lieux_passages = array(
"lieu_service_passage",
"lieu_unite_fonctionnelle_passage",
"lieu_unite_medicale_passage",
"lieu_etage_passage"
);
if(in_array($field_prefixe, $lieux_passages) && $selected_value != '-1')
{
$select = "AND EXISTS (
SELECT v_sejours_1.sejour_id
FROM activite.v_mouvements_sejour_2
WHERE activite.v_mouvements_sejour_2.$subselect_select
AND v_sejours_1.no_sejour = v_mouvements_sejour_2.no_sejour
GROUP BY 1
)";
}
return $select;
}
// GME
if ($selected_value != '-1' && $field_prefixe == 'v_sejours_gme_1.gme') {
$oid = substr($selected_value,2);
$mode = substr($selected_value,0,2);
switch ($mode) {
case 'LI' :
$select .= " AND gme_id IN (SELECT to_id FROM acivite.t_listes_contenu WHERE liste_id = $oid)";
break;
case 'SL' :
$select .= " AND gme_id NOT IN (SELECT to_id FROM acivite.t_listes_contenu WHERE liste_id = $oid)";
break;
case 'LS' :
$select .= " AND gme_id IN (SELECT oid FROM acivite.t_gme_c WHERE $section_id = $oid)";
break;
case 'CM' :
$select .= " AND v_sejours_gme_1.cm_id = $oid ";
break;
case 'GN' :
$select .= " AND v_sejours_gme_1.gn_id = $oid ";
break;
case 'RG' :
$oid = substr($selected_value,4);
$select .= " AND v_sejours_gme_1.rgme_id = $oid ";
break;
case 'GM' :
$oid = substr($selected_value,3);
$select .= " AND v_sejours_gme_1.gme_id = $oid ";
break;
}
return $select;
}
// standard
if ($selected_value != '-1') {
$mode = substr($selected_value,0,2);
$oid = $selected_value;
if ($selected_value == 'SAISIECODE') {
$mode = "C*";
$selected_value = "C*$selected_code";
}
if ($mode == 'LS') {
$section = ACTI_get_section_id($selected_value);
$oid = ACTI_get_classe_oid($selected_value);
}
// Pour champ GHM, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "ghm") {
if ($mode == "CM") {
$field_prefixe = "cmd";
}
if ($mode == "G5") {
$field_prefixe = "ghm5";
}
if ($mode == "SV") {
$field_prefixe = "severite_ghm";
}
}
// Pour champ GHM, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "v_sejours_ghmgme_1.ghmgme") {
if ($mode == "CM") {
$field_prefixe = "cmdcm";
}
if ($mode == "G5") {
$field_prefixe = "ghm5rgme";
}
}
// Pour champ GME, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "gme") {
if ($mode == "CM") {
$field_prefixe = "cm";
}
if ($mode == "GN") {
$field_prefixe = "gn";
}
if ($mode == "RG") {
$field_prefixe = "rgme";
}
}
// Pour champ code_postal, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "code_postal") {
if ($mode == 'CP' || $mode == 'LI' || $mode == 'LS') {
$field_prefixe = $table_name . ".code_postal";
}
if ($mode == 'DP' || $mode == 'DG') {
$field_prefixe = $table_name . ".departement";
}
if ($mode == 'GP') {
$field_prefixe = $table_name . ".code_geographique_pmsi";
}
if ($mode == 'TS') {
$field_prefixe = $table_name . ".territoire_sante";
}
}
// Pour champ ACTE, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "acte") {
if ($selected_value == "ACTEREGR") {
$field_prefixe = "ccam_regroupement";
}
if ($selected_value == "ACTECNOM") {
$field_prefixe = "acte_nomenclature";
}
}
// Pour champ LPP, pour les classifications
if ($field_prefixe == "lpp") {
if ($mode == "D1") {
$field_prefixe = "lpp_classification_atc_1";
$mode = "DT";
}
if ($mode == "D2") {
$field_prefixe = "lpp_classification_atc_2";
$mode = "DT";
}
if ($mode == "D3") {
$field_prefixe = "lpp_classification_atc_3";
$mode = "DT";
}
if ($mode == "D4") {
$field_prefixe = "lpp_classification_atc_4";
$mode = "DT";
}
}
// Pour champ UCD, pour les classifications
if ($field_prefixe == "ucd") {
if ($mode == "D1") {
$field_prefixe = "ucd_classification_atc_1";
$mode = "DT";
}
if ($mode == "D2") {
$field_prefixe = "ucd_classification_atc_2";
$mode = "DT";
}
if ($mode == "D3") {
$field_prefixe = "ucd_classification_atc_3";
$mode = "DT";
}
if ($mode == "D4") {
$field_prefixe = "ucd_classification_atc_4";
$mode = "DT";
}
}
// Pour champ TIERS, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "tiers_payant") {
if ($mode == "TT") {
$field_prefixe = "type_tiers_payant";
}
if ($mode == "RG") {
$field_prefixe = "tiers_payant_grand_regime";
}
}
if ($field_prefixe == "v_factures_reference_1.tiers_payant") {
if ($mode == "TT") {
$field_prefixe = "v_factures_reference_1.type_tiers_payant";
}
if ($mode == "RG") {
$field_prefixe = "v_factures_reference_1.tiers_payant_grand_regime";
}
}
// Medecin traitant
if ($field_prefixe == "medecin_traitant") {
$field_prefixe = "medecin_traitant";
}
// Pour champ Medecin, il y a plusieurs cas selon le préfixe
if ($field_prefixe == "medecin_adm_sejour") {
if ($mode == "MD") {
$field_prefixe = "medecin_sejour";
}
if ($mode == "SP") {
$field_prefixe = "medecin_sejour_specialite";
}
}
if ($field_prefixe == "medecin_adm_mouvement") {
if ($mode == "MD") {
$field_prefixe = "medecin_mouvement";
}
if ($mode == "SP") {
$field_prefixe = "medecin_mouvement_specialite";
}
}
if ($field_prefixe == "medecin_adm_facture") {
if ($mode == "MD") {
$field_prefixe = "medecin_facture";
}
if ($mode == "SP") {
$field_prefixe = "medecin_facture_specialite";
}
}
if ($field_prefixe == "medecin_adm_comptabilise") {
if ($mode == "MD") {
$field_prefixe = "medecin_comptabilise";
}
if ($mode == "SP") {
$field_prefixe = "medecin_comptabilise_specialite";
}
}
if ($mode != 'LI' && $mode != 'SL' && $mode != 'LS' && $mode != 'C*' ) {
if ($mode != 'D2') {
$mode = 'DT';
}
$oid = substr($selected_value,2);
}
if ($mode == 'LI' || $mode == 'SL') {$oid = substr($selected_value,2);}
// recherche dans des codes
if ($mode == 'C*') {
switch ($table_name) {
case 't_ghs_c':
$source_field_id = "ghs_id";
$where_codes = sql_codes_list_n(substr($selected_value,2), "to_number(ghs_code,'0000')");
break;
case 't_ghm_c':
$source_field_id = "ghm_id";
$where_codes = sql_codes_list_a(substr($selected_value,2), 'ghm_code');
break;
case 't_ghmgme_c':
$source_field_id = "ghmgme_id";
$where_codes = sql_codes_list_a(substr($selected_value,2), 'ghmgme_code');
break;
default:
$source_field_id = "oid";
$where_codes = sql_codes_list_a(substr($selected_value,2), 'code');
}
}
$subselect_select = '';
$field_id = $field_prefixe . "_id";
$field2_id = $field2_prefixe . "_id";
// ME/MS/PR/DE
if (in_array($field_prefixe, array('mode_entree', 'mode_sortie', 'destination', 'provenance'))) {
$field_id = $field_prefixe;
$oid = "'" . substr($selected_value,2) . "'";
}
if ($field_prefixe == 'etablissement_provenance' || $field_prefixe == 'etablissement_destination') $oid = $selected_value;
if ($field_prefixe == 'traitement_epmsi') $oid = $selected_value;
// actes CCAM ou NGAP
if ($field_prefixe == 'acte' and substr($selected_value,0,2) == 'NO') {
$field_id = 'acte_nomenclature';
$oid="'$oid'"; // sale mais evite de changer v_actes_3 (ne sait pas quelle conséquences)
}
// sections nouvelle mode
$field_section_id = $field_prefixe . "_" . $section;
if ($mode == 'LI') {$subselect_select = " $field_id = ANY (array(SELECT to_id FROM $module_name.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'SL') {$subselect_select = " $field_id != ALL (array(SELECT to_id FROM $module_name.t_listes_contenu WHERE liste_id = $oid)::bigint[])";}
if ($mode == 'LS') {$subselect_select = " $field_section_id = $oid";}
if ($mode == 'DT') {$subselect_select = " $field_id = $oid";}
// Spécifique type de séjour (s'adapte pour tout oid concatenant différents type de sejour ex 12 ou 125)
if ($field_prefixe == "type_sejour") {
if ($mode == 'DT') {
if (strlen($oid)==1) {
$subselect_select = " $field_id = $oid";
}
else {
$subselect_select = " $field_id IN (" . implode(',', str_split($oid)) . ")";
}
}
}
if (in_array($field_prefixe, array('mode_entree', 'mode_sortie', 'destination', 'provenance'))){
if ($mode == 'DT') {
if (substr($selected_value,1,1) == 'X'){
$subselect_select = " $field_id <> $oid";
}
else {
$subselect_select = " $field_id = $oid";
}
}
}
if ($mode == 'D2') {$subselect_select = " $field2_id = $oid";}
if ($mode == 'C*') {$subselect_select = " $field_id = ANY (array(SELECT $source_field_id FROM activite.$table_name WHERE $where_codes)::bigint[])";}
if ($field_prefixe == "severite_cti") {
$oid = $selected_value;
$subselect_select = " $field_id = $oid ";
}
if ($subselect_select != '') {$select = " AND $subselect_select ";}
}
return $select;
}
function ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT="", $CONTEXTE="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'TSE':
$field = "type_sejour";
break;
case 'TSECLS':
$field = "type_sejour_section";
break;
case 'EDS':
$field = "v_sejours_1.etat_sejour";
break;
case 'EDSCLS':
$field = "etat_sejour_section";
break;
case 'FOA':
$field = "forme_activite";
break;
case 'FOACLS':
$field = "forme_activite_section";
break;
case 'FSP':
$field = "filiere_soin_principale";
break;
case 'FSPCLS':
$field = "filiere_soin_principale_section";
break;
case 'POL':
$field = "pole";
break;
case 'POLCLS':
$field = "pole_section";
break;
case 'MTR':
$field = "mode_traitement";
break;
case 'ETAT_PMSI':
$field = "traitement_epmsi";
break;
case 'MCO':
$field = "mcos";
break;
case 'CAS':
$field = "cas";
break;
case 'CMD':
$field = "cmd";
break;
case 'GHS':
$field = "v_sejours_ghs_1.ghs";
break;
case 'GHM':
$field = "ghm";
break;
case 'GHMCLS':
$field = "ghm_section";
break;
case 'GHM5':
$field = "ghm5";
break;
case 'GHMSEV':
$field = "severite_ghm";
break;
case 'SEVCTI':
$field = "severite_cti";
break;
case 'GME':
$field = "v_sejours_gme_1.gme";
break;
case 'GMECLS':
$field = "gme_section";
break;
case 'GN':
$field = "v_sejours_gme_1.gn";
break;
case 'GNCLS':
$field = "gn_section";
break;
case 'CM':
$field = "v_sejours_gme_1.cm";
break;
case 'CMCLS':
$field = "cm_section";
break;
case 'RGME':
$field = "v_sejours_gme_1.rgme";
break;
case 'RGMECLS':
$field = "rgme_section";
break;
case 'HME':
$field = "v_sejours_ghmgme_1.ghmgme";
break;
case 'HMECLS':
$field = "ghmgme_section";
break;
case 'CCM':
$field = "v_sejours_ghmgme_1.cmdcm";
break;
case '5ME':
$field = "v_sejours_ghmgme_1.ghm5rgme";
break;
case 'ETAB_PROV':
$field = "etablissement_provenance";
break;
case 'ETAB_DEST':
$field = "etablissement_destination";
break;
case 'CPT':
if ($CONTEXTE != "OCCUPATION") {
$field = "compte_produit";
}
break;
case 'CPTCLS':
if ($CONTEXTE != "OCCUPATION") {
$field = "compte_produit_section";
}
break;
case 'CPA':
if ($CONTEXTE != "OCCUPATION") {
$field = "compte_produit_analytique";
}
break;
case 'CPACLS':
if ($CONTEXTE != "OCCUPATION") {
$field = "compte_produit_analytique_section";
}
break;
case 'BUC':
$field = "budget_cle";
break;
case 'BUCCLS':
$field = "budget_cle_section";
break;
case 'PS1':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_1";
break;
case 'PS1CLS':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_1_section";
break;
case 'PS2':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_2";
break;
case 'PS2CLS':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_2_section";
break;
case 'FIN':
$field = "finess";
break;
case 'FINCLS':
$field = "finess_section";
break;
case 'DUREE_SEJOUR':
$field = "duree_sejour";
break;
case 'DUREE_OCCUP':
$field = "duree_occupation";
break;
case 'MODE_ENTREE':
$field = "mode_entree";
break;
case 'MODE_SORTIE':
$field = "mode_sortie";
break;
case 'PROVENANCE':
$field = "provenance";
break;
case 'DESTINATION':
$field = "destination";
break;
case 'ETABLISSEMENT_PROVENANCE':
$field = "etablissement_provenance";
break;
case 'ETABLISSEMENT_DESTINATION':
$field = "etablissement_destination";
break;
case 'DSJCLS':
$field = "duree_sejour_section";
break;
// Si contexte "séjour", pour service sortie
case 'SER':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_service";
}
break;
case 'SERCLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_service_section";
}
break;
// Service de sortie pour l'occupation
case 'SOR':
$field = "lieu_sortie_service";
break;
case 'SORCLS':
$field = "lieu_sortie_service_section";
break;
case 'ACT':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_activite";
}
break;
case 'ETA':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_etage";
}
break;
case 'ETACLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_etage_section";
}
break;
case 'ESO':
$field = "lieu_sortie_etage";
break;
case 'ESOCLS':
$field = "lieu_sortie_etage_section";
break;
case 'LIT':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_lit";
}
break;
case 'LITCLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_lit_section";
}
break;
case 'GIR':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_gir";
}
else {
$field = "lieu_gir";
}
break;
case 'GIRCLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_gir_section";
}
else {
$field = "lieu_gir_section";
}
break;
case 'GRS':
$field = "lieu_sortie_gir";
break;
case 'GRSCLS':
$field = "lieu_sortie_gir_section";
break;
case 'UM':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_unite_medicale";
}
break;
case 'UMDCLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_unite_medicale_section";
}
break;
case 'UMS':
$field = "lieu_sortie_unite_medicale";
break;
case 'UMSCLS':
$field = "lieu_sortie_unite_medicale_section";
break;
case 'UF':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_unite_fonctionnelle";
}
break;
case 'UFTCLS':
if ($CONTEXTE != "OCCUPATION" && $CONTEXTE != "PRESTATION" && $CONTEXTE != "PRESTATION_H") {
$field = "lieu_sortie_unite_fonctionnelle_section";
}
break;
case 'UFS':
$field = "lieu_sortie_unite_fonctionnelle";
break;
case 'UFSCLS':
$field = "lieu_sortie_unite_fonctionnelle_section";
break;
case 'SEXE':
$field = "v_sejours_1.code_sexe";
break;
case 'AGE':
$field = "age";
break;
case 'AGECLS':
$field = "age_section";
break;
case 'CODEPOST':
$field = "v_codes_postaux_2.code_postal";
break;
case 'DEPARTEMENT':
$field = "v_codes_postaux_2.departement";
break;
case 'CDPCLS':
$field = "v_codes_postaux_2.code_postal_section";
break;
case 'TERSANTE':
$field = "v_codes_postaux_2.territoire_sante";
break;
case 'CODEGEOPMSI':
$field = "v_codes_postaux_2.code_geographique_pmsi";
break;
case 'EXC' :
$field = "expert_controle";
break;
case 'EXC_ANMO_SIGNAL' :
$field = "date_signalement_mois";
break;
case 'EXC_ANSE_SIGNAL' :
$field = "date_signalement_semaine";
break;
case 'EXC_DATE_SIGNAL' :
$field = "date_signalement";
break;
case 'EXC_ANMO_CORREC' :
$field = "date_correction_mois";
break;
case 'EXC_ANSE_CORREC' :
$field = "date_correction_semaine";
break;
case 'EXC_DATE_CORREC' :
$field = "date_correction";
break;
case 'EXCCLS' :
$field = "expert_controle_section";
break;
case 'SEJOUR' :
$field = "v_sejours_1.sejour";
break;
case 'RIS' :
$field = "v_risque_1.risque";
break;
// Occupation bloc
case 'BLODAT':
$field = "date";
break;
case 'BLOMOI':
$field = "mois";
break;
case 'BLS':
$field = "salle";
break;
case 'BLSCLS':
$field = "salle_section";
break;
case 'BLB':
$field = "bloc";
break;
case 'BLBCLS':
$field = "bloc_section";
break;
case 'BLC':
$field = "medecin_chirurgien_intervention";
break;
case 'BLCCLS':
$field = "medecin_chirurgien_adm_intervention";
break;
case 'BLCSPE':
$field = "medecin_chirurgien_intervention_specialite";
break;
case 'BLM':
$field = "motif_intervention";
break;
case 'BLMCLS':
$field = "motif_intervention";
break;
case 'LPP':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp";
}
break;
case 'LP1':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_classification_atc_1";
}
break;
case 'LP2':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_classification_atc_2";
}
break;
case 'LP3':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_classification_atc_3";
}
break;
case 'LP4':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_classification_atc_4";
}
break;
case 'LP5':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_classification_atc";
}
break;
case 'LPPCLS':
if ($CONTEXTE == "PRESTATION") {
$field = "lpp_section";
}
break;
case 'UCD':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd";
}
break;
case 'UC1':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_classification_atc_1";
}
break;
case 'UC2':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_classification_atc_2";
}
break;
case 'UC3':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_classification_atc_3";
}
break;
case 'UC4':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_classification_atc_4";
}
break;
case 'UC5':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_classification_atc";
}
break;
case 'UCDCLS':
if ($CONTEXTE == "PRESTATION") {
$field = "ucd_section";
}
break;
default:
$field = $DEFAULT;
}
return $field;
}
function ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'SER':
$field = "lieu_service";
break;
case 'SERCLS':
$field = "lieu_service_section";
break;
case 'ACT':
$field = "lieu_activite";
break;
case 'ACTCLS':
$field = "lieu_activite_section";
break;
case 'ETA':
$field = "lieu_etage";
break;
case 'ETACLS':
$field = "lieu_etage_section";
break;
case 'LIT':
$field = "lieu_lit";
break;
case 'LITCLS':
$field = "lieu_lit_section";
break;
case 'GIR':
$field = "lieu_gir";
break;
case 'GIRCLS':
$field = "lieu_gir_section";
break;
case 'UM':
$field = "lieu_unite_medicale";
break;
case 'UMDCLS':
$field = "lieu_unite_medicale_section";
break;
case 'UF':
$field = "lieu_unite_fonctionnelle";
break;
case 'UFTCLS':
$field = "lieu_unite_fonctionnelle_section";
break;
case 'SPM':
$field = "medecin_mouvement_specialite";
break;
case 'MED':
$field = "medecin_mouvement";
break;
case 'MDA':
$field = "medecin_adm_mouvement";
break;
case 'MDACLS':
$field = "medecin_adm_mouvement_section";
break;
case 'ANNEE':case 'ANNEEA':
$field = "CALC_ANNEE";
break;
case 'MOIS':case 'MOISA':
$field = "CALC_MOIS";
break;
case 'TRIM':case 'TRIMA':
$field = "CALC_TRIM";
break;
case 'JOUR':case 'JOURA':
$field = "CALC_JOUR";
break;
case 'JOURS':case 'JOURSA':
$field = "CALC_JOURS";
break;
case 'NUMEROSEMAINE':case 'NUMEROSEMAINEA':
$field = "CALC_NUMEROSEMAINE";
break;
case 'NUMEROTRIM':case 'NUMEROTRIMA':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':case 'NUMEROJOURA':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'NUMEROMOIS':case 'NUMEROMOISA':
$field = "CALC_NUMEROMOIS";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_MOUVEMENT_field_id($GROUPBY, $DEFAULT="") {
$field = "";
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT);
}
// Classes nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_id[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "v_sejours_1.duree" :
$field = $prefixe;
break;
case "v_sejours_1.code_sexe" :
$field = $prefixe;
break;
case "provenance" :
$field = "mode_entree_id + provenance_id";
break;
case "destination" :
$field = "mode_sortie_id + destination_id";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "v_mouvements_sejour_2.mois";
break;
case "CALC_TRIM":
$field = "(EXTRACT(YEAR FROM date) * 10) + EXTRACT(QUARTER FROM date)";
break;
case "CALC_JOUR":
$field = "EXTRACT(YEAR FROM date) * 10000 + EXTRACT(MONTH FROM date) * 100 + EXTRACT(DAY FROM date)";
break;
case "CALC_JOURS":
$field = "EXTRACT(MONTH FROM date) * 100 + EXTRACT(DAY FROM date)";
break;
case "CALC_NUMEROSEMAINE":
$field = "EXTRACT(WEEK FROM date)";
break;
case "CALC_NUMEROTRIM":
$field = "EXTRACT(QUARTER FROM date)";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "is_weekend";
break;
case "CALC_NUMEROMOIS":
$field = "EXTRACT(MONTH FROM date)";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_MOUVEMENT_field_code($GROUPBY, $DEFAULT="") {
$field = '';
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT="");
}
// Classes d'age nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_code[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "v_sejours_1.duree" :
$field = "lpad($prefixe, 4, '0')";
break;
case "v_sejours_1.code_sexe" :
$field = "v_sejours_1.sexe_texte_court";
break;
case "provenance" :
$field = "mode_entree_code::text || provenance_code::text";
break;
case "destination" :
$field = "mode_sortie_code::text || destination_code::text";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "v_mouvements_sejour_2.mois";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "v_mouvements_sejour_2.date::text";
break;
case "CALC_JOURS":
$field = "to_char(v_mouvements_sejour_2.date, 'MM') ||'-'|| to_char(v_mouvements_sejour_2.date, 'DD')";
break;
case "CALC_NUMEROTRIM":
$field = "'T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'WE' ELSE 'SEM' END)";
break;
case "CALC_NUMEROSEMAINE":
$field = "'S' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_CODE', date)";
break;
case "v_sejours_1.sejour" :
$field = "v_sejours_1.no_sejour";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_MOUVEMENT_field_texte($GROUPBY, $DEFAULT="") {
$field = '';
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT="");
}
// Classes d'age nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "v_sejours_1.duree" :
$field = $prefixe . " || CASE WHEN $prefixe < 2 THEN ' jour' ELSE ' jours' END";
break;
case "provenance" :
$field = "mode_entree_texte || ' - ' || provenance_texte";
break;
case "destination" :
$field = "mode_sortie_texte || ' - ' || destination_texte";
break;
case "v_sejours_1.code_sexe" :
$field = " CASE WHEN v_sejours_1.code_sexe = '1' THEN 'Masculin' WHEN v_sejours_1.code_sexe = '2' THEN 'Feminin' ELSE 'Autres' END ";
break;
case "medecin_mouvement":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_adm_mouvement":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "CASE substr(v_mouvements_sejour_2.mois , 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_mouvements_sejour_2.mois , 1 , 4)";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "base.cti_to_char(v_mouvements_sejour_2.date, 'FF')";
break;
case "CALC_JOURS":
$field = "to_char(v_mouvements_sejour_2.date, 'DD') ||' '||
CASE date_part('month',v_mouvements_sejour_2.date)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case "CALC_NUMEROTRIM":
$field = "'Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROSEMAINE":
$field = "'Semaine ' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROJOUR":
$field = "CASE
WHEN jour_semaine = 1 THEN 'Lundi'
WHEN jour_semaine = 2 THEN 'Mardi'
WHEN jour_semaine = 3 THEN 'Mercredi'
WHEN jour_semaine = 4 THEN 'Jeudi'
WHEN jour_semaine = 5 THEN 'Vendredi'
WHEN jour_semaine = 6 THEN 'Samedi'
WHEN jour_semaine = 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'Week-end' ELSE 'Semaine' END)";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_TEXT', date)";
break;
case "v_sejours_1.sejour" :
$field = "v_sejours_1.no_sejour";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_MOUVEMENT_param_data($LS_DATA, $LS_DATA_COL, $DATA, $DEFAULT="", $CASE="", $PERIODE,$TOPERIODE) {
$wdata = $DATA;
if ($LS_DATA != "-1") {
$wdata_array_1 = explode("=",$LS_DATA);
$wdata_array_2 = $wdata_array_1[1];
$wdata_array = explode(",",$wdata_array_2);
$wdata = $wdata_array[$LS_DATA_COL-1];
}
if($wdata != ""){
return ACTI_MOUVEMENT_data($wdata, $DEFAULT="", $CASE="", $PERIODE,$TOPERIODE);
}
}
function ACTI_MOUVEMENT_data($DATA, $DEFAULT="", $CASE="", $PERIODE, $TOPERIODE) {
$case_when = "";
$case_else = "";
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
switch ($DATA) {
case 'NED':
return "SUM($case_when nb_entrees_directes $case_else)";
break;
case 'NEM':
return "SUM($case_when nb_entrees_directes + nb_entrees_mutation_[VIEW.MUTATION_FIELD] $case_else)";
break;
case 'NSD':
return "SUM($case_when nb_sorties_directes $case_else)";
break;
case 'NSM':
return "SUM($case_when nb_sorties_directes + nb_sorties_mutation_[VIEW.MUTATION_FIELD] $case_else)";
break;
case 'NJN':
return "SUM($case_when [VIEW.JOURNEES_FIELD] $case_else)";
break;
case 'NJNS':
return "SUM($case_when nb_jour_sejour_sorti $case_else)";
break;
case 'NEX':
return "SUM($case_when nb_externes $case_else)";
break;
case 'NPX':
return "SUM($case_when nb_passage_externe $case_else)";
break;
case 'NAM':
return "SUM($case_when nb_ambulatoires $case_else)";
break;
case 'NEDA':
return "SUM($case_when nb_entrees_directes + nb_ambulatoires $case_else)";
break;
case 'NSDA':
return "SUM($case_when nb_sorties_directes + nb_ambulatoires $case_else)";
break;
case 'NEDXA':
return "SUM($case_when nb_entrees_directes + nb_externes + nb_ambulatoires $case_else)";
break;
case 'NSDAM':
return "SUM($case_when nb_sorties_directes + nb_sorties_mutation_[VIEW.MUTATION_FIELD] + nb_ambulatoires $case_else)";
break;
case 'NSDXA':
return "SUM($case_when nb_sorties_directes + nb_externes + nb_ambulatoires $case_else)";
break;
case 'NSDXBB':
return "SUM($case_when nb_sorties_directes + nb_bebes + nb_ambulatoires $case_else)";
break;
case 'NJNXA':
return "SUM($case_when [VIEW.JOURNEES_FIELD] + nb_externes + nb_ambulatoires $case_else)";
break;
case 'NEDXAS':
return "SUM($case_when nb_entrees_directes + nb_externes + nb_ambulatoires + nb_seances $case_else)";
break;
case 'NSDXAS':
return "SUM($case_when nb_sorties_directes + nb_externes + nb_ambulatoires + nb_seances_dans_taux $case_else)";
break;
case 'NSDXASSH':
return "SUM($case_when nb_sorties_directes + nb_externes + nb_ambulatoires + CASE WHEN type_sejour = '5' THEN nb_seances ELSE 0 END $case_else)";
break;
case 'NJNXAS':
return "SUM($case_when [VIEW.JOURNEES_FIELD] + nb_externes + nb_ambulatoires + nb_seances_dans_taux $case_else)";
break;
case 'NSE':
return "SUM($case_when nb_seances $case_else)";
break;
case 'NSEDIA':
return "SUM($case_when nb_seances_dialyse $case_else)";
break;
case 'NSECHM':
return "SUM($case_when nb_seances_chimio $case_else)";
break;
case 'NSEDIV':
return "SUM($case_when nb_seances_autre $case_else)";
break;
case 'NBB':
return "SUM($case_when nb_bebes $case_else)";
break;
case 'NBP':
return "COUNT(DISTINCT $case_when no_patient $case_else)";
break;
case 'NCP':
return "SUM($case_when [VIEW.CP_FIELD] $case_else)";
break;
case 'NJO':
return "COUNT(*)";
break;
case 'NJNM':
return "SUM($case_when [VIEW.JOURNEES_FIELD] $case_else)";
break;
case 'NEXM':
return "SUM($case_when nb_externes $case_else)";
break;
case 'NAMM':
return "SUM($case_when nb_ambulatoires $case_else)";
break;
case 'NSEM':
return "base.cti_division(SUM(nb_seances), MAX(date(date)) - MIN(date(date)) + 1)";
break;
case 'NSEMDIA':
return "base.cti_division(SUM(nb_seances_dialyse), MAX(date(date)) - MIN(date(date)) + 1)";
break;
case 'NSEMCHI':
return "base.cti_division(SUM(nb_seances_chimio), MAX(date(date)) - MIN(date(date)) + 1)";
break;
case 'NSEMAUT':
return "base.cti_division(SUM(nb_seances_autre), MAX(date(date)) - MIN(date(date)) + 1)";
break;
case 'NJNXAM':
return "SUM($case_when [VIEW.JOURNEES_FIELD] + nb_externes + nb_ambulatoires $case_else)";
break;
case 'TAU':
return "SUM($case_when [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux $case_else)";
break;
case 'TAUHOSPI':
return "SUM($case_when [VIEW.JOURNEES_FIELD] $case_else)";
break;
case 'TAUAMBU':
return "SUM($case_when nb_ambulatoires $case_else)";
break;
case 'NJNAS':
return "SUM($case_when [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux $case_else)";
break;
case 'NAD':
return "COUNT(DISTINCT $case_when CASE WHEN v_sejours_1.date_entree BETWEEN '$PERIODE'::date AND '$TOPERIODE'::date THEN v_sejours_1.no_sejour ELSE null END $case_else)";
break;
case 'NADPRE':
return "COUNT(DISTINCT $case_when CASE WHEN v_sejours_1.date_entree < '$PERIODE'::date THEN v_sejours_1.no_sejour ELSE null END $case_else)";
break;
case 'NSEJ':
return "COUNT(DISTINCT $case_when v_sejours_1.no_sejour $case_else)";
break;
case 'NNONSOR':
return "COUNT(DISTINCT $case_when CASE WHEN code_sorti = 0 THEN v_sejours_1.no_sejour ELSE null END $case_else)";
break;
case 'NSHP':
return "COUNT(DISTINCT $case_when CASE WHEN v_sejours_1.date_sortie > '$TOPERIODE'::date AND v_sejours_1.code_sorti = 1 THEN v_sejours_1.no_sejour ELSE null END $case_else)";
break;
case 'NFULL':
return "COUNT(DISTINCT $case_when CASE WHEN v_sejours_1.date_entree BETWEEN '$PERIODE'::date AND '$TOPERIODE'::date AND v_sejours_1.date_sortie BETWEEN '$PERIODE'::date AND '$TOPERIODE'::date THEN v_sejours_1.no_sejour ELSE null END $case_else)";
break;
case 'NSFAC':
return "COUNT(DISTINCT CASE WHEN date_sortie <= '$TOPERIODE'::date AND code_sorti = '1' AND v_mouvements_sejour_2.est_facture = '1' THEN v_sejours_1.no_sejour ELSE NULL END)";
break;
case 'NSNFAC':
return "COUNT(DISTINCT CASE WHEN date_sortie <= '$TOPERIODE'::date AND code_sorti = '1' AND v_mouvements_sejour_2.est_facture = '0' THEN v_sejours_1.no_sejour ELSE NULL END)";
break;
case 'JRNSORFAC':
return "SUM($case_when CASE WHEN date_sortie <= '$TOPERIODE'::date AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] ELSE null END $case_else)";
break;
case 'JRNSORHONFAC':
return "SUM($case_when CASE WHEN date_sortie <= '$TOPERIODE'::date AND v_mouvements_sejour_2.est_facture = '1' THEN [VIEW.JOURNEES_FIELD] + nb_ambulatoires + nb_seances_dans_taux ELSE null END $case_else)";
break;
case 'DMSHES':
return "base.cti_division(SUM($case_when CASE WHEN type_sejour = '1' AND nb_sorties_directes = 1 THEN duree ELSE 0 END $case_else), SUM($case_when nb_sorties_directes $case_else))";
break;
case 'DMSHON':
return "base.cti_division(SUM($case_when CASE WHEN type_sejour = '1' AND nb_sorties_directes = 1 THEN duree WHEN type_sejour = '2' THEN nb_ambulatoires WHEN type_sejour = '5' THEN nb_seances ELSE 0 END $case_else), SUM($case_when CASE WHEN v_sejours_1.date_sortie BETWEEN '$PERIODE'::date AND '$TOPERIODE'::date AND nb_sorties_directes + nb_ambulatoires + nb_seances_dans_taux > 0 THEN 1 ELSE 0 END $case_else))";
break;
case 'URG':
return "SUM($case_when nb_urgences $case_else)";
break;
case 'EMC':
return "SUM($case_when equivalent_malade_complet $case_else)";
break;
case 'PCP':
return "SUM($case_when [VIEW.CP_FIELD] $case_else)";
break;
case 'GMP':
return "base.cti_division(
SUM($case_when gir_gmp_base*gir_gmp_coefficient $case_else),
SUM($case_when gir_gmp_base $case_else)
)";
break;
default:
return "0";
}
}
function ACTI_PLACES_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'TSE':
$field = "type_sejour";
break;
case 'TSECLS':
$field = "type_sejour_section";
break;
case 'ETA':
$field = "etage";
break;
case 'ETACLS':
$field = "etage_section";
break;
case 'POL':
$field = "pole";
break;
case 'POLCLS':
$field = "pole_section";
break;
case 'SER':
$field = "service";
break;
case 'SERCLS':
$field = "service_section";
break;
case 'UF':
$field = "uf";
break;
case 'UFTCLS':
$field = "uf_section";
break;
case 'UM':
$field = "um";
break;
case 'UMDCLS':
$field = "um_section";
break;
case 'MTR':
$field = "mode_traitement";
break;
case 'FIN':
$field = "finess";
break;
case 'FINCLS':
$field = "finess_section";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROSEMAINE':
$field = "CALC_NUMEROSEMAINE";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
default:
$field = $DEFAULT;
}
return $field;
}
function ACTI_PLACES_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date) * 100 + EXTRACT(MONTH FROM date)";
break;
case "CALC_TRIM":
$field = "(EXTRACT(YEAR FROM date) * 10) + EXTRACT(QUARTER FROM date)";
break;
case "CALC_JOUR":
$field = "EXTRACT(YEAR FROM date) * 10000 + EXTRACT(MONTH FROM date) * 100 + EXTRACT(DAY FROM date)";
break;
case "CALC_NUMEROTRIM":
$field = "EXTRACT(QUARTER FROM date)";
break;
case "CALC_NUMEROSEMAINE":
$field = "EXTRACT(WEEK FROM date)";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "is_weekend";
break;
case "CALC_NUMEROMOIS":
$field = "EXTRACT(MONTH FROM date)";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_PLACES_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date) * 100 + EXTRACT(MONTH FROM date)";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "date::text";
break;
case "CALC_NUMEROTRIM":
$field = "'T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROSEMAINE":
$field = "'S' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'WE' ELSE 'SEM' END)";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_CODE', date)";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_PLACES_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "base.cti_extract('MONTH_TEXT', date)::text
|| ' ' || EXTRACT(YEAR FROM date)::text";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "base.cti_to_char(date, 'FF')";
break;
case "CALC_NUMEROTRIM":
$field = "'Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROSEMAINE":
$field = "'Semaine ' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROJOUR":
$field = "CASE
WHEN jour_semaine = 1 THEN 'Lundi'
WHEN jour_semaine = 2 THEN 'Mardi'
WHEN jour_semaine = 3 THEN 'Mercredi'
WHEN jour_semaine = 4 THEN 'Jeudi'
WHEN jour_semaine = 5 THEN 'Vendredi'
WHEN jour_semaine = 6 THEN 'Samedi'
WHEN jour_semaine = 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'Week-end' ELSE 'Semaine' END)";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_TEXT', date)";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_OCCUPATION_BLOC_field_id($GROUPBY, $DEFAULT="") {
$field = "";
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT);
}
// Classes nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_id[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_OCCUPATION_BLOC_field_code($GROUPBY, $DEFAULT="") {
$field = '';
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT="");
}
// Classes d'age nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_code[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_OCCUPATION_BLOC_field_texte($GROUPBY, $DEFAULT="") {
$field = '';
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, "", "OCCUPATION");
if ($prefixe == "") {
$prefixe = ACTI_MOUVEMENT_prefixe($GROUPBY, $DEFAULT="");
}
// Classes d'age nouvelle sauce (avec les tableaux d'oid, de codes et de textes)
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY,6);
$group = substr($GROUPBY,0,6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
if ($field == '') {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_OCCUPATION_BLOC_data($DATA, $DEFAULT="", $CASE="", $PERIODE="", $TOPERIODE="") {
$case_when = "";
$case_else = "";
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
switch ($DATA) {
case 'NBINT':
return "SUM($case_when nb_intervention $case_else)";
break;
case 'DUSAL':
return "SUM($case_when duree_salle $case_else)";
break;
case 'DURET':
return "SUM($case_when duree_remise_en_etat $case_else)";
break;
case 'DUTOT':
return "SUM($case_when duree_total $case_else)";
break;
case 'DUDBT':
return "SUM($case_when duree_debordement $case_else)";
break;
case 'DUDIS':
return "SUM($case_when duree_disponible $case_else)";
break;
case 'TXOCC':
return "base.cti_division(
SUM($case_when duree_occupation*100 $case_else),
SUM($case_when duree_disponible $case_else)
)";
break;
default:
return $DEFAULT;
}
}
function ACTI_PRESTATION_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'PRF':
$field = "prestation";
break;
case 'PRFCLS':
$field = "prestation_section";
break;
case 'RUF':
$field = "rubrique_facturation";
break;
case 'RUFCLS':
$field = "rubrique_facturation_section";
break;
case 'RUC':
$field = "rubrique_comptabilisation";
break;
case 'RUCCLS':
$field = "rubrique_comptabilisation_section";
break;
case 'SER':
$field = "lieu_ligne_service";
break;
case 'SERCLS':
$field = "lieu_ligne_service_section";
break;
case 'ACT':
$field = "lieu_ligne_activite";
break;
case 'ETA':
$field = "lieu_ligne_etage";
break;
case 'ETACLS':
$field = "lieu_ligne_etage_section";
break;
case 'LIT':
$field = "lieu_ligne_lit";
break;
case 'LITCLS':
$field = "lieu_ligne_lit_section";
break;
case 'UM':
$field = "lieu_ligne_unite_medicale";
break;
case 'UMDCLS':
$field = "lieu_ligne_unite_medicale_section";
break;
case 'UF':
$field = "lieu_ligne_unite_fonctionnelle";
break;
case 'UFTCLS':
$field = "lieu_ligne_unite_fonctionnelle_section";
break;
case 'SPM':
$field = "medecin_sejour_specialite";
break;
case 'MED':
$field = "medecin_sejour";
break;
case 'MDA':
$field = "medecin_adm_sejour";
break;
case 'MDACLS':
$field = "medecin_adm_sejour_section";
break;
case 'MTA':
$field = "medecin_traitant";
break;
case 'MTACLS':
$field = "medecin_traitant_section";
break;
case 'MOIA':
$field = "CALC_MOIA";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'JOURS':
$field = "CALC_JOURS";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'SEMAINEANNE':
$field = "CALC_SEMAINEANNE";
break;
case 'MOISF':
$field = "CALC_MOISF";
break;
case 'ANNEEF':
$field = "CALC_ANNEEF";
break;
case 'NUMEROMOISF':
$field = "CALC_NUMEROMOISF";
break;
case 'TRIMF':
$field = "CALC_TRIMF";
break;
case 'JOURF':
$field = "CALC_JOURF";
break;
case 'JOURSF':
$field = "CALC_JOURSF";
break;
case 'NUMEROTRIMF':
$field = "CALC_NUMEROTRIMF";
break;
case 'NUMEROJOURF':
$field = "CALC_NUMEROJOURF";
break;
case 'SEMAINEWEF':
$field = "CALC_SEMAINEWEF";
break;
case 'SEMAINEANNEF':
$field = "CALC_SEMAINEANNEF";
break;
case 'MOISA':
$field = "CALC_MOISA";
break;
case 'ANNEEA':
$field = "CALC_ANNEEA";
break;
case 'NUMEROMOISA':
$field = "CALC_NUMEROMOISA";
break;
case 'TRIMA':
$field = "CALC_TRIMA";
break;
case 'JOURA':
$field = "CALC_JOURA";
break;
case 'JOURSA':
$field = "CALC_JOURSA";
break;
case 'NUMEROTRIMA':
$field = "CALC_NUMEROTRIMA";
break;
case 'NUMEROJOURA':
$field = "CALC_NUMEROJOURA";
break;
case 'SEMAINEWEA':
$field = "CALC_SEMAINEWEA";
break;
case 'SEMAINEANNEA':
$field = "CALC_SEMAINEANNEA";
break;
case 'MOISV':
$field = "CALC_MOISV";
break;
case 'ANNEEV':
$field = "CALC_ANNEEV";
break;
case 'NUMEROMOISV':
$field = "CALC_NUMEROMOISV";
break;
case 'TRIMV':
$field = "CALC_TRIMV";
break;
case 'JOURV':
$field = "CALC_JOURV";
break;
case 'JOURSV':
$field = "CALC_JOURSV";
break;
case 'NUMEROTRIMV':
$field = "CALC_NUMEROTRIMV";
break;
case 'NUMEROJOURV':
$field = "CALC_NUMEROJOURV";
break;
case 'SEMAINEWEV':
$field = "CALC_SEMAINEWEV";
break;
case 'SEMAINEANNEV':
$field = "CALC_SEMAINEANNEV";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_PRESTATION_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_MOIA":
$field = "v_factures_lignes_c_4.mois_fin";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) END";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURS':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'MMDD')";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'WW')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_facture) END";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURSF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'MMDD')";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'WW')";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'MM')";
break;
case 'CALC_TRIMA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'Q')";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin) END";
break;
case 'CALC_JOURA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYYMMDD')";
break;
case 'CALC_JOURSA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'MMDD')";
break;
case 'CALC_SEMAINEWEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'W')";
break;
case 'CALC_SEMAINEANNEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'WW')";
break;
case "CALC_MOISA":
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYYMM')";
break;
case 'CALC_ANNEEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'MM')";
break;
case 'CALC_TRIMV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'Q')";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_vente) END";
break;
case 'CALC_JOURV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYYMMDD')";
break;
case 'CALC_JOURSV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'MMDD')";
break;
case 'CALC_SEMAINEWEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'W')";
break;
case 'CALC_SEMAINEANNEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'WW')";
break;
case "CALC_MOISV":
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_PRESTATION_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_MOIA":
$field = "v_factures_lignes_c_4.mois_fin";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYY') ||' T'|| to_char(v_factures_lignes_c_4.date_fin_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) END";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'WW')";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYY') ||'-'|| to_char(v_factures_lignes_c_4.date_fin_facture, 'MM') ||'-'||to_char(v_factures_lignes_c_4.date_fin_facture, 'DD')";
break;
case 'CALC_JOURS':
$field = " to_char(v_factures_lignes_c_4.date_fin_facture, 'MM') ||'-'|| to_char(v_factures_lignes_c_4.date_fin_facture, 'DD') ";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYY') ||' T'|| to_char(v_factures_lignes_c_4.date_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_facture) END";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'WW')";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYY') ||'-'|| to_char(v_factures_lignes_c_4.date_facture, 'MM') ||'-'||to_char(v_factures_lignes_c_4.date_facture, 'DD')";
break;
case 'CALC_JOURSF':
$field = " to_char(v_factures_lignes_c_4.date_facture, 'MM') ||'-'|| to_char(v_factures_lignes_c_4.date_facture, 'DD') ";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'MM')";
break;
case 'CALC_TRIMA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYY') ||' T'|| to_char(v_factures_lignes_c_4.date_fin, 'Q') ";
break;
case 'CALC_NUMEROTRIMA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'Q')";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin) END";
break;
case 'CALC_SEMAINEWEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'W')";
break;
case 'CALC_SEMAINEANNEA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'WW')";
break;
case 'CALC_JOURA':
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYY') ||'-'|| to_char(v_factures_lignes_c_4.date_fin, 'MM') ||'-'||to_char(v_factures_lignes_c_4.date_fin, 'DD')";
break;
case 'CALC_JOURSA':
$field = " to_char(v_factures_lignes_c_4.date_fin, 'MM') ||'-'|| to_char(v_factures_lignes_c_4.date_fin, 'DD') ";
break;
case "CALC_MOISA":
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYYMM')";
break;
case 'CALC_ANNEEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'MM')";
break;
case 'CALC_TRIMV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYY') ||' T'|| to_char(v_factures_lignes_c_4.date_vente, 'Q') ";
break;
case 'CALC_NUMEROTRIMV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'Q')";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE extract(DOW FROM v_factures_lignes_c_4.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_vente) END";
break;
case 'CALC_SEMAINEWEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'W')";
break;
case 'CALC_SEMAINEANNEV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'WW')";
break;
case 'CALC_JOURV':
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYY') ||'-'|| to_char(v_factures_lignes_c_4.date_vente, 'MM') ||'-'||to_char(v_factures_lignes_c_4.date_vente, 'DD')";
break;
case 'CALC_JOURSV':
$field = " to_char(v_factures_lignes_c_4.date_vente, 'MM') ||'-'|| to_char(v_factures_lignes_c_4.date_vente, 'DD') ";
break;
case "CALC_MOISV":
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_PRESTATION_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_traitant":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "to_char(v_factures_lignes_c_4.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "CASE date_part('month',v_factures_lignes_c_4.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIM':
$field = "date_part('year',v_factures_lignes_c_4.date_fin_facture) ||'-'||
CASE to_char(v_factures_lignes_c_4.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIM':
$field = "CASE to_char(v_factures_lignes_c_4.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUR':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_fin_facture, 'FF')";
break;
case 'CALC_JOURS':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_fin_facture, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_c_4.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNE':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_c_4.date_fin_facture, 'WW')
";
break;
case 'CALC_SEMAINEWE':
$field = "CASE to_char(v_factures_lignes_c_4.date_fin_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',v_factures_lignes_c_4.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_c_4.date_fin_facture)";
break;
case "CALC_ANNEEF":
$field = "to_char(v_factures_lignes_c_4.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "CASE date_part('month',v_factures_lignes_c_4.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMF':
$field = "date_part('year',v_factures_lignes_c_4.date_facture) ||'-'||
CASE to_char(v_factures_lignes_c_4.date_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMF':
$field = "CASE to_char(v_factures_lignes_c_4.date_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_c_4.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURF':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_facture, 'FF')";
break;
case 'CALC_JOURSF':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_facture, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_c_4.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEF':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_c_4.date_facture, 'WW')
";
break;
case 'CALC_SEMAINEWEF':
$field = "CASE to_char(v_factures_lignes_c_4.date_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISF":
$field = "CASE date_part('month',v_factures_lignes_c_4.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_c_4.date_facture)";
break;
case "CALC_ANNEEA":
$field = "to_char(v_factures_lignes_c_4.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "CASE date_part('month',v_factures_lignes_c_4.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMA':
$field = "date_part('year',v_factures_lignes_c_4.date_fin) ||'-'||
CASE to_char(v_factures_lignes_c_4.date_fin, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMA':
$field = "CASE to_char(v_factures_lignes_c_4.date_fin, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_c_4.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_fin) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURA':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_fin, 'FF')";
break;
case 'CALC_JOURSA':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_fin, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_c_4.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEA':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_c_4.date_fin, 'WW')
";
break;
case 'CALC_SEMAINEWEA':
$field = "CASE to_char(v_factures_lignes_c_4.date_fin, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISA":
$field = "CASE date_part('month',v_factures_lignes_c_4.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_c_4.date_fin)";
break;
case "CALC_MOIA":
$field = "CASE substr(v_factures_lignes_c_4.date_fin, 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_factures_lignes_c_4.date_fin, 1 , 4)";
break;
case "CALC_ANNEEV":
$field = "to_char(v_factures_lignes_c_4.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "CASE date_part('month',v_factures_lignes_c_4.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMV':
$field = "date_part('year',v_factures_lignes_c_4.date_vente) ||'-'||
CASE to_char(v_factures_lignes_c_4.date_vente, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMV':
$field = "CASE to_char(v_factures_lignes_c_4.date_vente, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_c_4.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_c_4.date_vente) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURV':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_vente, 'FF')";
break;
case 'CALC_JOURSV':
$field = "base.cti_to_char(v_factures_lignes_c_4.date_vente, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_c_4.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEV':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_c_4.date_vente, 'WW')
";
break;
case 'CALC_SEMAINEWEV':
$field = "CASE to_char(v_factures_lignes_c_4.date_vente, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISV":
$field = "CASE date_part('month',v_factures_lignes_c_4.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_c_4.date_vente)";
break;
case "CALC_MOIV":
$field = "CASE substr(v_factures_lignes_c_4.date_vente, 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_factures_lignes_c_4.date_vente, 1 , 4)";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_PRESTATION_2_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'RUF':
$field = "CALC_ANNEE";
break;
case 'ANNEE':case 'ANNEEA':
$field = "CALC_ANNEE";
break;
case 'MOIS':case 'MOISA':
$field = "CALC_MOIS";
break;
case 'TRIM':case 'TRIMA':
$field = "CALC_TRIM";
break;
case 'JOUR':case 'JOURA':
$field = "CALC_JOUR";
break;
case 'JOURS':case 'JOURSA':
$field = "CALC_JOURS";
break;
case 'NUMEROSEMAINE':case 'NUMEROSEMAINEA':
$field = "CALC_NUMEROSEMAINE";
break;
case 'NUMEROTRIM':case 'NUMEROTRIMA':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':case 'NUMEROJOURA':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'NUMEROMOIS':case 'NUMEROMOISA':
$field = "CALC_NUMEROMOIS";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_PRESTATION_2_field_id($GROUPBY, $DEFAULT="") {
$prefixe ='';
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_2_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "v_mouvements_sejour_2.mois";
break;
case "CALC_TRIM":
$field = "(EXTRACT(YEAR FROM date) * 10) + EXTRACT(QUARTER FROM date)";
break;
case "CALC_JOUR":
$field = "EXTRACT(YEAR FROM date) * 10000 + EXTRACT(MONTH FROM date) * 100 + EXTRACT(DAY FROM date)";
break;
case "CALC_JOURS":
$field = "EXTRACT(MONTH FROM date) * 100 + EXTRACT(DAY FROM date)";
break;
case "CALC_NUMEROSEMAINE":
$field = "EXTRACT(WEEK FROM date)";
break;
case "CALC_NUMEROTRIM":
$field = "EXTRACT(QUARTER FROM date)";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "is_weekend";
break;
case "CALC_NUMEROMOIS":
$field = "EXTRACT(MONTH FROM date)";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_PRESTATION_2_field_code($GROUPBY, $DEFAULT="") {
$prefixe = '';
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_2_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "v_mouvements_sejour_2.mois";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "v_mouvements_sejour_2.date::text";
break;
case "CALC_JOURS":
$field = "to_char(v_mouvements_sejour_2.date, 'MM') ||'-'|| to_char(v_mouvements_sejour_2.date, 'DD')";
break;
case "CALC_NUMEROTRIM":
$field = "'T' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROJOUR":
$field = "jour_semaine";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'WE' ELSE 'SEM' END)";
break;
case "CALC_NUMEROSEMAINE":
$field = "'S' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_CODE', date)";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_PRESTATION_2_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = '';
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_2_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date)";
break;
case "CALC_MOIS":
$field = "CASE substr(v_mouvements_sejour_2.mois , 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_mouvements_sejour_2.mois , 1 , 4)";
break;
case "CALC_TRIM":
$field = "EXTRACT(YEAR FROM date)::text || ' Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_JOUR":
$field = "base.cti_to_char(v_mouvements_sejour_2.date, 'FF')";
break;
case "CALC_JOURS":
$field = "to_char(v_mouvements_sejour_2.date, 'DD') ||' '||
CASE date_part('month',v_mouvements_sejour_2.date)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case "CALC_NUMEROTRIM":
$field = "'Trimestre ' || EXTRACT(QUARTER FROM date)::text";
break;
case "CALC_NUMEROSEMAINE":
$field = "'Semaine ' || lpad(EXTRACT(WEEK FROM date)::text, 2, '0')";
break;
case "CALC_NUMEROJOUR":
$field = "CASE
WHEN jour_semaine = 1 THEN 'Lundi'
WHEN jour_semaine = 2 THEN 'Mardi'
WHEN jour_semaine = 3 THEN 'Mercredi'
WHEN jour_semaine = 4 THEN 'Jeudi'
WHEN jour_semaine = 5 THEN 'Vendredi'
WHEN jour_semaine = 6 THEN 'Samedi'
WHEN jour_semaine = 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case "CALC_SEMAINEWE":
$field = "(CASE WHEN is_weekend = 1 THEN 'Week-end' ELSE 'Semaine' END)";
break;
case "CALC_NUMEROMOIS":
$field = "base.cti_extract('MONTH_TEXT', date)";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_PRESTATION_H_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'ACTE':
$field = "v_factures_lignes_h_3.acte";
break;
case 'ACXCLS':
$field = "v_factures_lignes_h_3.acte_section";
break;
case 'ACTEREGR':
$field = "v_factures_lignes_h_3.ccam_regroupement";
break;
case 'ACTECNOM':
$field = "v_factures_lignes_h_3.acte_nomenclature";
break;
case 'PROT':
$field = "protocole";
break;
case 'SPMF':
$field = "medecin_facture_specialite";
break;
case 'EXEC':
$field = "medecin_comptabilise";
break;
case 'EXAC':
$field = "medecin_adm_comptabilise";
break;
case 'EXEF':
$field = "medecin_facture";
break;
case 'EXAF':
$field = "medecin_adm_facture";
break;
case 'EXACLS':
$field = "medecin_adm_facture_section";
break;
case 'PRF':
$field = "v_factures_lignes_h_3.prestation";
break;
case 'PRFCLS':
$field = "v_factures_lignes_h_3.prestation_section";
break;
case 'RUF':
$field = "v_factures_lignes_h_3.rubrique_facturation";
break;
case 'RUFCLS':
$field = "v_factures_lignes_h_3.rubrique_facturation_section";
break;
case 'RUC':
$field = "v_factures_lignes_h_3.rubrique_comptabilisation";
break;
case 'RUCCLS':
$field = "v_factures_lignes_h_3.rubrique_comptabilisation_section";
break;
case 'SER':
$field = "lieu_ligne_service";
break;
case 'SERCLS':
$field = "lieu_ligne_service_section";
break;
case 'ACT':
$field = "lieu_ligne_activite";
break;
case 'ETA':
$field = "lieu_ligne_etage";
break;
case 'ETACLS':
$field = "lieu_ligne_etage_section";
break;
case 'LIT':
$field = "lieu_ligne_lit";
break;
case 'LITCLS':
$field = "lieu_ligne_lit_section";
break;
case 'UM':
$field = "lieu_ligne_unite_medicale";
break;
case 'UMDCLS':
$field = "lieu_ligne_unite_medicale_section";
break;
case 'UF':
$field = "lieu_ligne_unite_fonctionnelle";
break;
case 'UFTCLS':
$field = "lieu_ligne_unite_fonctionnelle_section";
break;
case 'SPM':
$field = "medecin_sejour_specialite";
break;
case 'MED':
$field = "medecin_sejour";
break;
case 'MDA':
$field = "medecin_adm_sejour";
break;
case 'MDACLS':
$field = "medecin_adm_sejour_section";
break;
case 'MOIA':
$field = "CALC_MOIA";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'JOURS':
$field = "CALC_JOURS";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'SEMAINEANNE':
$field = "CALC_SEMAINEANNE";
break;
case 'MOISF':
$field = "CALC_MOISF";
break;
case 'ANNEEF':
$field = "CALC_ANNEEF";
break;
case 'NUMEROMOISF':
$field = "CALC_NUMEROMOISF";
break;
case 'TRIMF':
$field = "CALC_TRIMF";
break;
case 'JOURF':
$field = "CALC_JOURF";
break;
case 'JOURSF':
$field = "CALC_JOURSF";
break;
case 'NUMEROTRIMF':
$field = "CALC_NUMEROTRIMF";
break;
case 'NUMEROJOURF':
$field = "CALC_NUMEROJOURF";
break;
case 'SEMAINEWEF':
$field = "CALC_SEMAINEWEF";
break;
case 'SEMAINEANNEF':
$field = "CALC_SEMAINEANNEF";
break;
case 'MOISA':
$field = "CALC_MOISA";
break;
case 'ANNEEA':
$field = "CALC_ANNEEA";
break;
case 'NUMEROMOISA':
$field = "CALC_NUMEROMOISA";
break;
case 'TRIMA':
$field = "CALC_TRIMA";
break;
case 'JOURA':
$field = "CALC_JOURA";
break;
case 'JOURSA':
$field = "CALC_JOURSA";
break;
case 'NUMEROTRIMA':
$field = "CALC_NUMEROTRIMA";
break;
case 'NUMEROJOURA':
$field = "CALC_NUMEROJOURA";
break;
case 'SEMAINEWEA':
$field = "CALC_SEMAINEWEA";
break;
case 'SEMAINEANNEA':
$field = "CALC_SEMAINEANNEA";
break;
case 'MOISV':
$field = "CALC_MOISV";
break;
case 'ANNEEV':
$field = "CALC_ANNEEV";
break;
case 'NUMEROMOISV':
$field = "CALC_NUMEROMOISV";
break;
case 'TRIMV':
$field = "CALC_TRIMV";
break;
case 'JOURV':
$field = "CALC_JOURV";
break;
case 'JOURSV':
$field = "CALC_JOURSV";
break;
case 'NUMEROTRIMV':
$field = "CALC_NUMEROTRIMV";
break;
case 'NUMEROJOURV':
$field = "CALC_NUMEROJOURV";
break;
case 'SEMAINEWEV':
$field = "CALC_SEMAINEWEV";
break;
case 'SEMAINEANNEV':
$field = "CALC_SEMAINEANNEV";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_PRESTATION_H_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION_H");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_MOIA":
$field = "v_factures_lignes_h_3.mois_fin";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) END";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURS':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'MMDD')";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'WW')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_facture) END";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURSF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'MMDD')";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'WW')";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'MM')";
break;
case 'CALC_TRIMA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'Q')";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin) END";
break;
case 'CALC_JOURA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYYMMDD')";
break;
case 'CALC_JOURSA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'MMDD')";
break;
case 'CALC_SEMAINEWEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'W')";
break;
case 'CALC_SEMAINEANNEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'WW')";
break;
case "CALC_MOISA":
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYYMM')";
break;
case 'CALC_ANNEEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'MM')";
break;
case 'CALC_TRIMV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'Q')";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_vente) END";
break;
case 'CALC_JOURV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYYMMDD')";
break;
case 'CALC_JOURSV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'MMDD')";
break;
case 'CALC_SEMAINEWEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'W')";
break;
case 'CALC_SEMAINEANNEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'WW')";
break;
case "CALC_MOISV":
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_PRESTATION_H_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION_H");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_MOIA":
$field = "v_factures_lignes_h_3.mois_fin";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYY') ||' T'|| to_char(v_factures_lignes_h_3.date_fin_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) END";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'WW')";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYY') ||'-'|| to_char(v_factures_lignes_h_3.date_fin_facture, 'MM') ||'-'||to_char(v_factures_lignes_h_3.date_fin_facture, 'DD')";
break;
case 'CALC_JOURS':
$field = " to_char(v_factures_lignes_h_3.date_fin_facture, 'MM') ||'-'|| to_char(v_factures_lignes_h_3.date_fin_facture, 'DD') ";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYY') ||' T'|| to_char(v_factures_lignes_h_3.date_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_facture) END";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'WW')";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYY') ||'-'|| to_char(v_factures_lignes_h_3.date_facture, 'MM') ||'-'||to_char(v_factures_lignes_h_3.date_facture, 'DD')";
break;
case 'CALC_JOURSF':
$field = " to_char(v_factures_lignes_h_3.date_facture, 'MM') ||'-'|| to_char(v_factures_lignes_h_3.date_facture, 'DD') ";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'MM')";
break;
case 'CALC_TRIMA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYY') ||' T'|| to_char(v_factures_lignes_h_3.date_fin, 'Q') ";
break;
case 'CALC_NUMEROTRIMA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'Q')";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin) END";
break;
case 'CALC_SEMAINEWEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'W')";
break;
case 'CALC_SEMAINEANNEA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'WW')";
break;
case 'CALC_JOURA':
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYY') ||'-'|| to_char(v_factures_lignes_h_3.date_fin, 'MM') ||'-'||to_char(v_factures_lignes_h_3.date_fin, 'DD')";
break;
case 'CALC_JOURSA':
$field = " to_char(v_factures_lignes_h_3.date_fin, 'MM') ||'-'|| to_char(v_factures_lignes_h_3.date_fin, 'DD') ";
break;
case "CALC_MOISA":
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYYMM')";
break;
case 'CALC_ANNEEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'MM')";
break;
case 'CALC_TRIMV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYY') ||' T'|| to_char(v_factures_lignes_h_3.date_vente, 'Q') ";
break;
case 'CALC_NUMEROTRIMV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'Q')";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE extract(DOW FROM v_factures_lignes_h_3.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_vente) END";
break;
case 'CALC_SEMAINEWEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'W')";
break;
case 'CALC_SEMAINEANNEV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'WW')";
break;
case 'CALC_JOURV':
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYY') ||'-'|| to_char(v_factures_lignes_h_3.date_vente, 'MM') ||'-'||to_char(v_factures_lignes_h_3.date_vente, 'DD')";
break;
case 'CALC_JOURSV':
$field = " to_char(v_factures_lignes_h_3.date_vente, 'MM') ||'-'|| to_char(v_factures_lignes_h_3.date_vente, 'DD') ";
break;
case "CALC_MOISV":
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_PRESTATION_H_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "PRESTATION_H");
if ($prefixe == "") {
$prefixe = ACTI_PRESTATION_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_adm_comptabilise":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_comptabilise":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_adm_facture":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_facture":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "to_char(v_factures_lignes_h_3.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "CASE date_part('month',v_factures_lignes_h_3.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIM':
$field = "date_part('year',v_factures_lignes_h_3.date_fin_facture) ||'-'||
CASE to_char(v_factures_lignes_h_3.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIM':
$field = "CASE to_char(v_factures_lignes_h_3.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUR':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_fin_facture, 'FF')";
break;
case 'CALC_JOURS':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_fin_facture, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_h_3.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNE':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_h_3.date_fin_facture, 'WW')
";
break;
case 'CALC_SEMAINEWE':
$field = "CASE to_char(v_factures_lignes_h_3.date_fin_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',v_factures_lignes_h_3.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_h_3.date_fin_facture)";
break;
case "CALC_ANNEEF":
$field = "to_char(v_factures_lignes_h_3.date_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "CASE date_part('month',v_factures_lignes_h_3.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMF':
$field = "date_part('year',v_factures_lignes_h_3.date_facture) ||'-'||
CASE to_char(v_factures_lignes_h_3.date_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMF':
$field = "CASE to_char(v_factures_lignes_h_3.date_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_h_3.date_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURF':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_facture, 'FF')";
break;
case 'CALC_JOURSF':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_facture, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_h_3.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEF':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_h_3.date_facture, 'WW')
";
break;
case 'CALC_SEMAINEWEF':
$field = "CASE to_char(v_factures_lignes_h_3.date_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISF":
$field = "CASE date_part('month',v_factures_lignes_h_3.date_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_h_3.date_facture)";
break;
case "CALC_ANNEEA":
$field = "to_char(v_factures_lignes_h_3.date_fin, 'YYYY')";
break;
case 'CALC_NUMEROMOISA':
$field = "CASE date_part('month',v_factures_lignes_h_3.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMA':
$field = "date_part('year',v_factures_lignes_h_3.date_fin) ||'-'||
CASE to_char(v_factures_lignes_h_3.date_fin, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMA':
$field = "CASE to_char(v_factures_lignes_h_3.date_fin, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURA':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_h_3.date_fin) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_fin) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURA':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_fin, 'FF')";
break;
case 'CALC_JOURSA':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_fin, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_h_3.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEA':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_h_3.date_fin, 'WW')
";
break;
case 'CALC_SEMAINEWEA':
$field = "CASE to_char(v_factures_lignes_h_3.date_fin, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISA":
$field = "CASE date_part('month',v_factures_lignes_h_3.date_fin)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_h_3.date_fin)";
break;
case "CALC_MOIA":
$field = "CASE substr(v_factures_lignes_h_3.date_fin, 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_factures_lignes_h_3.date_fin, 1 , 4)";
break;
case "CALC_ANNEEV":
$field = "to_char(v_factures_lignes_h_3.date_vente, 'YYYY')";
break;
case 'CALC_NUMEROMOISV':
$field = "CASE date_part('month',v_factures_lignes_h_3.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMV':
$field = "date_part('year',v_factures_lignes_h_3.date_vente) ||'-'||
CASE to_char(v_factures_lignes_h_3.date_vente, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMV':
$field = "CASE to_char(v_factures_lignes_h_3.date_vente, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURV':
$field = "CASE CASE extract(DOW FROM v_factures_lignes_h_3.date_vente) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_lignes_h_3.date_vente) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURV':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_vente, 'FF')";
break;
case 'CALC_JOURSV':
$field = "base.cti_to_char(v_factures_lignes_h_3.date_vente, 'DD') ||' '||
CASE date_part('month',v_factures_lignes_h_3.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEV':
$field = " 'Semaine '||' '|| to_char(v_factures_lignes_h_3.date_vente, 'WW')
";
break;
case 'CALC_SEMAINEWEV':
$field = "CASE to_char(v_factures_lignes_h_3.date_vente, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISV":
$field = "CASE date_part('month',v_factures_lignes_h_3.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_lignes_h_3.date_vente)";
break;
case "CALC_MOIV":
$field = "CASE substr(v_factures_lignes_h_3.date_vente, 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_factures_lignes_h_3.date_vente, 1 , 4)";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'TPY':
$field = "v_factures_reference_1.tiers_payant";
break;
case 'TRG':
$field = "v_factures_reference_1.tiers_payant_grand_regime";
break;
case 'TPYCLS':
$field = "v_factures_reference_1.tiers_payant_section";
break;
case 'TTP':
$field = "type_tiers_payant";
break;
case 'SPM':
$field = "medecin_sejour_specialite";
break;
case 'MED':
$field = "medecin_sejour";
break;
case 'MDA':
$field = "medecin_adm_sejour";
break;
case 'MDACLS':
$field = "medecin_adm_sejour_section";
break;
case 'MTA':
$field = "medecin_traitant";
break;
case 'MTACLS':
$field = "medecin_traitant_section";
break;
case 'MOIV':
$field = "CALC_MOIV";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'JOURS':
$field = "CALC_JOURS";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'SEMAINEANNE':
$field = "CALC_SEMAINEANNE";
break;
case 'MOISF':
$field = "CALC_MOISF";
break;
case 'ANNEEF':
$field = "CALC_ANNEEF";
break;
case 'NUMEROMOISF':
$field = "CALC_NUMEROMOISF";
break;
case 'TRIMF':
$field = "CALC_TRIMF";
break;
case 'JOURF':
$field = "CALC_JOURF";
break;
case 'JOURSF':
$field = "CALC_JOURSF";
break;
case 'NUMEROTRIMF':
$field = "CALC_NUMEROTRIMF";
break;
case 'NUMEROJOURF':
$field = "CALC_NUMEROJOURF";
break;
case 'SEMAINEWEF':
$field = "CALC_SEMAINEWEF";
break;
case 'SEMAINEANNEF':
$field = "CALC_SEMAINEANNEF";
break;
case 'MOISEX':
$field = "CALC_MOISEX";
break;
case 'ANNEEEX':
$field = "CALC_ANNEEEX";
break;
case 'NUMEROMOISEX':
$field = "CALC_NUMEROMOISEX";
break;
case 'TRIMEX':
$field = "CALC_TRIMEX";
break;
case 'JOUREX':
$field = "CALC_JOUREX";
break;
case 'JOURSEX':
$field = "CALC_JOURSEX";
break;
case 'NUMEROTRIMEX':
$field = "CALC_NUMEROTRIMEX";
break;
case 'NUMEROJOUREX':
$field = "CALC_NUMEROJOUREX";
break;
case 'SEMAINEWEEX':
$field = "CALC_SEMAINEWEEX";
break;
case 'SEMAINEANNEEX':
$field = "CALC_SEMAINEANNEEX";
break;
case 'SEXE':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_ETATDOSSIER_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ETATDOSSIER");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURS':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MMDD')";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'WW')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMMDD')";
break;
case 'CALC_JOURSF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MMDD')";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'WW')";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMM')";
break;
case "CALC_MOIC":
$field = "to_char(v_factures_reference_1.date_comptable, 'YYYYMM')";
break;
case 'CALC_ANNEEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYY')";
break;
case 'CALC_NUMEROMOISEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'MM')";
break;
case 'CALC_TRIMEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIMEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'Q')";
break;
case 'CALC_NUMEROJOUREX':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_expedition) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_expedition) END";
break;
case 'CALC_JOUREX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYYMMDD')";
break;
case 'CALC_JOURSEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'MMDD')";
break;
case 'CALC_SEMAINEWEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'W')";
break;
case 'CALC_SEMAINEANNEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'WW')";
break;
case "CALC_MOISEX":
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(v_factures_reference_1.date_vente, 'YYYYMM')";
break;
case 'v_sejours_1.code_sexe':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_ETATDOSSIER_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ETATDOSSIER");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case 'CALC_ANNEE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY') ||' T'|| to_char(v_factures_reference_1.date_fin_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'WW')";
break;
case 'CALC_JOUR':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY') ||'-'|| to_char(v_factures_reference_1.date_fin_facture, 'MM') ||'-'||to_char(v_factures_reference_1.date_fin_facture, 'DD')";
break;
case 'CALC_JOURS':
$field = " to_char(v_factures_reference_1.date_fin_facture, 'MM') ||'-'|| to_char(v_factures_reference_1.date_fin_facture, 'DD') ";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'MM')";
break;
case 'CALC_TRIMF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY') ||' T'|| to_char(v_factures_reference_1.date_fin_facture, 'Q') ";
break;
case 'CALC_NUMEROTRIMF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'Q')";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END";
break;
case 'CALC_SEMAINEWEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'W')";
break;
case 'CALC_SEMAINEANNEF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'WW')";
break;
case 'CALC_JOURF':
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY') ||'-'|| to_char(v_factures_reference_1.date_fin_facture, 'MM') ||'-'||to_char(v_factures_reference_1.date_fin_facture, 'DD')";
break;
case 'CALC_JOURSF':
$field = " to_char(v_factures_reference_1.date_fin_facture, 'MM') ||'-'|| to_char(v_factures_reference_1.date_fin_facture, 'DD') ";
break;
case "CALC_MOISF":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYYMM')";
break;
case 'CALC_ANNEEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYY')";
break;
case 'CALC_NUMEROMOISEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'MM')";
break;
case 'CALC_TRIMEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYY') ||' T'|| to_char(v_factures_reference_1.date_expedition, 'Q') ";
break;
case 'CALC_NUMEROTRIMEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'Q')";
break;
case 'CALC_NUMEROJOUREX':
$field = "CASE extract(DOW FROM v_factures_reference_1.date_expedition) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_expedition) END";
break;
case 'CALC_SEMAINEWEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'W')";
break;
case 'CALC_SEMAINEANNEEX':
$field = "to_char(v_factures_reference_1.date_expedition, 'WW')";
break;
case 'CALC_JOUREX':
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYY') ||'-'|| to_char(v_factures_reference_1.date_expedition, 'MM') ||'-'||to_char(v_factures_reference_1.date_expedition, 'DD')";
break;
case 'CALC_JOURSEX':
$field = " to_char(v_factures_reference_1.date_expedition, 'MM') ||'-'|| to_char(v_factures_reference_1.date_expedition, 'DD') ";
break;
case "CALC_MOISEX":
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYYMM')";
break;
case "CALC_MOIC":
$field = "to_char(v_factures_reference_1.date_comptable, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(v_factures_reference_1.date_vente, 'YYYYMM')";
break;
case 'v_sejours_1.code_sexe':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_ETATDOSSIER_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ETATDOSSIER");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_traitant":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIM':
$field = "date_part('year',v_factures_reference_1.date_fin_facture) ||'-'||
CASE to_char(v_factures_reference_1.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIM':
$field = "CASE to_char(v_factures_reference_1.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUR':
$field = "base.cti_to_char(v_factures_reference_1.date_fin_facture, 'FF')";
break;
case 'CALC_JOURS':
$field = "base.cti_to_char(v_factures_reference_1.date_fin_facture, 'DD') ||' '||
CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNE':
$field = " 'Semaine '||' '|| to_char(v_factures_reference_1.date_fin_facture, 'WW')
";
break;
case 'CALC_SEMAINEWE':
$field = "CASE to_char(v_factures_reference_1.date_fin_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_reference_1.date_fin_facture)";
break;
case "CALC_ANNEEF":
$field = "to_char(v_factures_reference_1.date_fin_facture, 'YYYY')";
break;
case 'CALC_NUMEROMOISF':
$field = "CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMF':
$field = "date_part('year',v_factures_reference_1.date_fin_facture) ||'-'||
CASE to_char(v_factures_reference_1.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMF':
$field = "CASE to_char(v_factures_reference_1.date_fin_facture, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOURF':
$field = "CASE CASE extract(DOW FROM v_factures_reference_1.date_fin_facture) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_fin_facture) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOURF':
$field = "base.cti_to_char(v_factures_reference_1.date_fin_facture, 'FF')";
break;
case 'CALC_JOURSF':
$field = "base.cti_to_char(v_factures_reference_1.date_fin_facture, 'DD') ||' '||
CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEF':
$field = " 'Semaine '||' '|| to_char(v_factures_reference_1.date_fin_facture, 'WW')
";
break;
case 'CALC_SEMAINEWEF':
$field = "CASE to_char(v_factures_reference_1.date_fin_facture, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISF":
$field = "CASE date_part('month',v_factures_reference_1.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_reference_1.date_fin_facture)";
break;
case "CALC_ANNEEEX":
$field = "to_char(v_factures_reference_1.date_expedition, 'YYYY')";
break;
case 'CALC_NUMEROMOISEX':
$field = "CASE date_part('month',v_factures_reference_1.date_expedition)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIMEX':
$field = "date_part('year',v_factures_reference_1.date_expedition) ||'-'||
CASE to_char(v_factures_reference_1.date_expedition, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIMEX':
$field = "CASE to_char(v_factures_reference_1.date_expedition, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUREX':
$field = "CASE CASE extract(DOW FROM v_factures_reference_1.date_expedition) WHEN 0 THEN 7 ELSE extract(DOW FROM v_factures_reference_1.date_expedition) END
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUREX':
$field = "base.cti_to_char(v_factures_reference_1.date_expedition, 'FF')";
break;
case 'CALC_JOURSEX':
$field = "base.cti_to_char(v_factures_reference_1.date_expedition, 'DD') ||' '||
CASE date_part('month',v_factures_reference_1.date_expedition)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNEEX':
$field = " 'Semaine '||' '|| to_char(v_factures_reference_1.date_expedition, 'WW')
";
break;
case 'CALC_SEMAINEWEEX':
$field = "CASE to_char(v_factures_reference_1.date_expedition, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOISEX":
$field = "CASE date_part('month',v_factures_reference_1.date_expedition)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_reference_1.date_expedition)";
break;
case "CALC_MOIC":
$field = "CASE date_part('month',v_factures_reference_1.date_comptable)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_reference_1.date_comptable)";
break;
case "CALC_MOIV":
$field = "CASE date_part('month',v_factures_reference_1.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_reference_1.date_vente)::text";
break;
case 'v_sejours_1.code_sexe':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_CLIENT_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'PRF':
$field = "prestation";
break;
case 'PRFCLS':
$field = "prestation_section";
break;
case 'RUC':
$field = "rubrique_comptabilisation";
break;
case 'RUCCLS':
$field = "rubrique_comptabilisation_section";
break;
case 'TPY':
$field = "tiers_payant";
break;
case 'TRG':
$field = "tiers_payant_grand_regime";
break;
case 'TPYCLS':
$field = "tiers_payant_section";
break;
case 'TTP':
$field = "type_tiers_payant";
break;
case 'MOIC':
$field = "CALC_MOIC";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'MOIV':
$field = "CALC_MOIV";
break;
case 'SPM':
$field = "medecin_sejour_specialite";
break;
case 'MED':
$field = "medecin_sejour";
break;
case 'MDA':
$field = "medecin_adm_sejour";
break;
case 'MDACLS':
$field = "medecin_adm_sejour_section";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_CLIENT_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_MOIC":
$field = "to_char(date_comptable, 'YYYYMM')";
break;
case "CALC_MOIS":
$field = "to_char(date_fin_facture, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_CLIENT_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_MOIC":
$field = "to_char(date_comptable, 'YYYYMM')";
break;
case "CALC_MOIS":
$field = "to_char(date_fin_facture, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_CLIENT_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_prefixe($GROUPBY, $DEFAULT);
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_MOIC":
$field = "CASE date_part('month',date_comptable)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',date_comptable)::text";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',date_fin_facture)::text";
break;
case "CALC_MOIV":
$field = "CASE date_part('month',date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',date_vente)::text";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_CLIENT_H_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'SPMC':
$field = "medecin_facture_specialite";
break;
case 'EXEC':
$field = "medecin_comptabilise";
break;
case 'EXAC':
$field = "medecin_adm_comptabilise";
break;
case 'EXACLS':
$field = "medecin_adm_facture_section";
break;
case 'TPY':
$field = "v_factures_soldes_h_3.tiers_payant";
break;
case 'TRG':
$field = "v_factures_soldes_h_3.tiers_payant_grand_regime";
break;
case 'TPYCLS':
$field = "v_factures_soldes_h_3.tiers_payant_section";
break;
case 'TTP':
$field = "type_tiers_payant";
break;
case 'MOIC':
$field = "CALC_MOIC";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'MOIV':
$field = "CALC_MOIV";
break;
case 'SPM':
$field = "medecin_sejour_specialite";
break;
case 'MED':
$field = "medecin_sejour";
break;
case 'MDA':
$field = "medecin_adm_sejour";
break;
case 'MDACLS':
$field = "medecin_adm_sejour_section";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_CLIENT_H_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT_H");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_MOIC":
$field = "to_char(v_factures_soldes_h_3.date_comptable, 'YYYYMM')";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_soldes_h_3.date_fin_facture, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(v_factures_soldes_h_3.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_CLIENT_H_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT_H");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_MOIC":
$field = "to_char(v_factures_soldes_h_3.date_comptable, 'YYYYMM')";
break;
case "CALC_MOIS":
$field = "to_char(v_factures_soldes_h_3.date_fin_facture, 'YYYYMM')";
break;
case "CALC_MOIV":
$field = "to_char(v_factures_soldes_h_3.date_vente, 'YYYYMM')";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_CLIENT_H_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "CLIENT_H");
if ($prefixe == "") {
$prefixe = ACTI_CLIENT_H_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_adm_comptabilise":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_comptabilise":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_MOIC":
$field = "CASE date_part('month',v_factures_soldes_h_3.date_comptable)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_soldes_h_3.date_comptable)::text";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',v_factures_soldes_h_3.date_fin_facture)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_soldes_h_3.date_fin_facture)::text";
break;
case "CALC_MOIV":
$field = "CASE date_part('month',v_factures_soldes_h_3.date_vente)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',v_factures_soldes_h_3.date_vente)::text";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_REJET_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'REJ':
$field = "rejet";
break;
case 'REJCLS':
$field = "rejet_section";
break;
case 'MOIA':
$field = "CALC_MOIA";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'MOIV':
$field = "CALC_MOIV";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_REJET_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "REJET");
if ($prefixe == "") {
$prefixe = ACTI_REJET_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_MOIS":
$field = "v_sejours_1.mois_sortie";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_REJET_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "REJET");
if ($prefixe == "") {
$prefixe = ACTI_REJET_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_MOIS":
$field = "v_sejours_1.mois_sortie";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_REJET_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "REJET");
if ($prefixe == "") {
$prefixe = ACTI_REJET_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "CALC_MOIS":
$field = "CASE substr(v_sejours_1.mois_sortie , 5 , 2)
WHEN '01' THEN 'Janvier'
WHEN '02' THEN 'Fevrier'
WHEN '03' THEN 'Mars'
WHEN '04' THEN 'Avril'
WHEN '05' THEN 'Mai'
WHEN '06' THEN 'Juin'
WHEN '07' THEN 'Juillet'
WHEN '08' THEN 'Aout'
WHEN '09' THEN 'Septembre'
WHEN '10' THEN 'Octobre'
WHEN '11' THEN 'Novembre'
WHEN '12' THEN 'Decembre'
ELSE '?'
END
|| ' ' || substr(v_sejours_1.mois_sortie , 1 , 4)";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_ETATDOSSIER_data($DATA, $DEFAULT="", $CASE="", $PERIODE_DUREE="") {
$case_when = "";
$case_else = "";
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
switch ($DATA) {
case 'NBFAC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_factures::text] $colsecend $case_else)";
break;
case 'NBREG':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_factures_regularisation::text] $colsecend $case_else)";
break;
case 'PRREG':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_factures::text] $colsecend $case_else),
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_factures_regularisation::text] $colsecend $case_else)
) * 100 ";
break;
case 'NBREJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_rejets::text] $colsecend $case_else)";
break;
case 'NBNGRP':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_non_groupe::text] $colsecend $case_else)";
break;
case 'DELGRP':
return "AVG($case_when v_factures_reference_1.delai_groupage $case_else)";
break;
case 'NBNFAC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_non_calcules::text] $colsecend $case_else)";
break;
case 'DELFAC':
return "AVG($case_when v_factures_reference_1.delai_facture $case_else)";
break;
case 'NBNEXP':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.nb_non_expedie[VIEW.CLIHON]::text] $colsecend $case_else)";
break;
case 'MTNEXP':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, v_factures_reference_1.montant_non_expedie[VIEW.CLIHON]::text] $colsecend $case_else)";
break;
case 'MTNEXPHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_non_expedie[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTNEXPHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN (type_sejour = '2' OR type_sejour = '5') THEN v_factures_reference_1.montant_non_expedie[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTNEXPA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_non_expedie[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTEXP':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_expedie[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTEXPHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' AND v_factures_reference_1.nb_non_expedie[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTEXPHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN (type_sejour = '2' OR type_sejour = '5') AND v_factures_reference_1.nb_non_expedie[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTEXPA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' AND v_factures_reference_1.nb_non_expedie[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'DELEXP':
return "AVG($case_when v_factures_reference_1.delai_expedition $case_else)";
break;
case 'NBNSOL':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.nb_non_solde[VIEW.CLIHON])::text] $colsecend $case_else)";
break;
case 'MTSOL':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_facture[VIEW.CLIHON])::text] $colsecend $case_else) - (base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_0[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_0[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_1[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_1[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_2[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_2[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else))";
break;
case 'MTSOLHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTSOLHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN (type_sejour = '2' OR type_sejour = '5') AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTSOLA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] <> 1 THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTNSOL':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_0[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_0[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_1[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_1[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN v_factures_reference_1.nb_non_solde_2[VIEW.CLIHON] <> 0 then v_factures_reference_1.montant_solde_2[VIEW.CLIHON] ELSE 0 END)::text] $colsecend $case_else)";
break;
case 'MTNSOLHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] = 1 THEN v_factures_reference_1.montant_solde[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTNSOLHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN (type_sejour = '2' OR type_sejour = '5') AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] = 1 THEN v_factures_reference_1.montant_solde[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MTNSOLA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' AND v_factures_reference_1.nb_non_solde[VIEW.CLIHON] = 1 THEN v_factures_reference_1.montant_solde[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'DELSOL':
return "AVG($case_when v_factures_reference_1.delai_solde[VIEW.CLIHON] $case_else)";
break;
case 'NBNCLO':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.nb_non_cloture[VIEW.CLIHON])::text] $colsecend $case_else)";
break;
case 'NSEJ':
return "COUNT(DISTINCT $case_when v_factures_reference_1.no_sejour $case_else)";
break;
case 'NSEJHC':
return "COUNT(DISTINCT $case_when CASE WHEN type_sejour = '1' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)";
break;
case 'NSEJHJ':
return "COUNT(DISTINCT $case_when CASE WHEN (type_sejour = '2' OR type_sejour = '5') THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)";
break;
case 'NSEJAUT':
return "COUNT(DISTINCT $case_when CASE WHEN type_sejour = '3' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)";
break;
case 'MFAC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_facture[VIEW.CLIHON])::text] $colsecend $case_else)";
break;
case 'CAMFAC':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_facture[VIEW.CLIHON])::text] $colsecend $case_else),
COUNT(DISTINCT $case_when v_factures_reference_1.no_sejour $case_else)
) ";
break;
case 'CAMFHC':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '1' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFHJ':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFA':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT($case_when CASE WHEN type_sejour = '3' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFV':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_facture[VIEW.CLIHON] + v_factures_reference_1.montant_encours[VIEW.CLIHON])::text] $colsecend $case_else),
COUNT(DISTINCT $case_when v_factures_reference_1.no_sejour $case_else)
) ";
break;
case 'CAMFVHC':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] + v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '1' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFVHJ':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] + v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFACA':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '3' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'CAMFVA':
return "base.cti_division(
base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] + v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else),
COUNT(DISTINCT $case_when CASE WHEN type_sejour = '3' THEN v_factures_reference_1.no_sejour ELSE NULL END $case_else)
) ";
break;
case 'MFACHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MFACHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MFACA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MNFAC':
break;
case 'MNFHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MNFHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MNFACA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MVFAC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_encours[VIEW.CLIHON])::text] $colsecend $case_else)";
break;
case 'MVFHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END )::text] $colsecend $case_else)";
break;
case 'MVFHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END )::text] $colsecend $case_else)";
break;
case 'MVFACA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_facture[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else) + base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_encours[VIEW.CLIHON] ELSE NULL END )::text] $colsecend $case_else)";
break;
case 'MCPT':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (v_factures_reference_1.montant_comptabilise[VIEW.CLIHON])::text] $colsecend $case_else)";
break;
case 'MCPTHC':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '1' THEN v_factures_reference_1.montant_comptabilise[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MCPTHJ':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '2' OR type_sejour = '5' THEN v_factures_reference_1.montant_comptabilise[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
case 'MCPTA':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_reference_1.no_sejour, (CASE WHEN type_sejour = '3' THEN v_factures_reference_1.montant_comptabilise[VIEW.CLIHON] ELSE NULL END)::text] $colsecend $case_else)";
break;
default:
return $DEFAULT;
break;
}
}
function ACTI_facturation_clinique_param_data($LS_DATA, $LS_DATA_COL, $DATA, $DEFAULT="", $CASE="", $PERIODE_DUREE="", $COL='0') {
$wdata = $DATA;
if ($LS_DATA != "-1") {
$wdata_array_1 = explode("=",$LS_DATA);
$wdata_array_2 = $wdata_array_1[1];
$wdata_array = explode(",",$wdata_array_2);
$wdata = $wdata_array[$LS_DATA_COL-1];
}
if($wdata != ""){
return ACTI_facturation_clinique_data($wdata, $DEFAULT, $CASE, $PERIODE_DUREE, $COL);
}
}
function ACTI_facturation_clinique_data($DATA, $DEFAULT="", $CASE="", $PERIODE_DUREE="",$COL='0') {
$case_when = "";
$case_else = "";
if($COL == '1'){
$colsec="CASE WHEN COLUMNCHECKSEQUENCE THEN";
$colsecend = "ELSE null END";
}else {
$colsec=" ";
$colsecend = " ";
}
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
if ($DATA == "NBPROTO" || $DATA == "NBPROTO2" ) {
if ($colsecend == "ELSE null END") {
$colsecend = "ELSE Array['','0'] END";
}
if ($case_else == "ELSE null END") {
$case_else = "ELSE Array['','0'] END";
}
}
switch ($DATA) {
case 'NBSEJ':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND v_sejours_1.type_sejour <> '9' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBFAC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN v_factures_lignes_c_4.no_facture $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJHC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJHJ':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour IN ('2','5') THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJAU':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour NOT IN ('1','2','5') THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'FACNS1':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN montant_facture_1 <> 0 THEN v_sejours_1.no_sejour $colsecend ELSE null END $case_else)";
break;
case 'FACNS2':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN montant_facture_2 + montant_facture_22 <> 0 THEN v_sejours_1.no_sejour $colsecend ELSE null END $case_else )";
break;
case 'FACNS0':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN montant_facture_0 <> 0 THEN v_sejours_1.no_sejour $colsecend ELSE null END $case_else )";
break;
case 'FAVNBS':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND v_sejours_1.type_sejour <> '9' THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUB':
return "SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPRE':
return "SUM( $case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPROTO':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_lignes_h_3.no_facture::text || '|' || protocole_id::text,CASE WHEN nb_prestation >= 0 THEN '1' ELSE '-1' END] $colsecend $case_else)";
break;
case 'NBPROTO2':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_lignes_h_3.no_facture::text || '|' || protocole_id::text,CASE WHEN protocole_id = 0 THEN '0' WHEN nb_prestation >= 0 THEN '1' ELSE '-1' END] $colsecend $case_else)";
break;
case 'MTFAC':
return "SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN montant_facture $colsecend ELSE NULL END $case_else)";
break;
case 'MMTFAC':
return "base.cti_division(SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN montant_facture $colsecend ELSE NULL END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FAVNBSHC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour = '1' THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'FAVNBSHJ':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour IN ('2','5') THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'FAVNBSHA':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour NOT IN ('1','2','5') THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'FAVMTTHC':
return "SUM($case_when $colsec CASE WHEN type_sejour = '1' THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'FAVMTTHJ':
return "SUM($case_when $colsec CASE WHEN type_sejour IN ('2','5') THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'FAVMTTHA':
return "SUM($case_when $colsec CASE WHEN type_sejour NOT IN ('1','2','5') THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'FACMTTHC':
return "SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour = '1' THEN montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMTFACHC':
return "base.cti_division(SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour = '1' THEN montant_facture $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FACMTTHJ':
return "SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour IN ('2','5') THEN montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMTFACHJ':
return "base.cti_division(SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour IN ('2','5') THEN montant_facture $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour IN ('2','5') THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FACMTTHA':
return "SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour NOT IN ('1','2','5') THEN montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMTFACAU':
return "base.cti_division(SUM($case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour NOT IN ('1','2','5') THEN montant_facture $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_facturee = '1' AND type_sejour NOT IN ('1','2','5') THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'VALMTHCGR':
return "SUM($case_when $colsec CASE WHEN type_sejour = '1' AND nb_non_groupe = 0 AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHCNG':
return "SUM($case_when $colsec CASE WHEN type_sejour = '1' AND (code_sorti <> '1' OR nb_non_groupe <> 0) AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHJGR':
return "SUM($case_when $colsec CASE WHEN type_sejour IN ('2','5') AND nb_non_groupe = 0 AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHCT':
return "SUM($case_when $colsec CASE WHEN type_sejour = '1' AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHJNG':
return "SUM($case_when $colsec CASE WHEN type_sejour IN ('2','5') AND (code_sorti <> '1' OR nb_non_groupe <> 0) AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHJT':
return "SUM($case_when $colsec CASE WHEN type_sejour IN ('2','5') AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'VALMTHA':
return "SUM($case_when $colsec CASE WHEN type_sejour NOT IN ('1', '2','5') AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'MTFACC':
return "SUM($case_when $colsec CASE WHEN COALESCE(origine_facturation_id,0) <= 1 THEN montant_facture $colsecend ELSE NULL END $case_else)";
break;
case 'MTFACH':
return "SUM($case_when $colsec CASE WHEN COALESCE(origine_facturation_id,0) = 2 THEN montant_facture $colsecend ELSE NULL END $case_else)";
break;
case 'MTFACHI':
return "SUM($case_when $colsec CASE WHEN COALESCE(origine_facturation_id,0) = 3 THEN montant_facture_actes_inclus_dans_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'MTFAC0':
return "SUM($case_when $colsec montant_facture_0 $colsecend $case_else)";
break;
case 'MTFAC1':
return "SUM($case_when $colsec montant_facture_1 $colsecend $case_else)";
break;
case 'MTFAC2':
return "SUM($case_when $colsec montant_facture_2 + montant_facture_22 $colsecend $case_else)";
break;
case 'MTCPT':
return "SUM($case_when $colsec montant_comptabilise + COALESCE(montant_comptabilise_budget_global_1,0) $colsecend $case_else)";
break;
case 'MTCPTHBG':
return "SUM($case_when $colsec montant_comptabilise $colsecend $case_else)";
break;
case 'MTCPT0':
return "SUM($case_when $colsec montant_comptabilise_0 $colsecend $case_else)";
break;
case 'MTCPT1':
return "SUM($case_when $colsec montant_comptabilise_1 + COALESCE(montant_comptabilise_budget_global_1,0) $colsecend $case_else)";
break;
case 'MTCPT1BG':
return "SUM($case_when $colsec COALESCE(montant_comptabilise_budget_global_1,0) $colsecend $case_else)";
break;
case 'MTCPT1HBG':
return "SUM($case_when $colsec montant_comptabilise_1 $colsecend $case_else)";
break;
case 'MTCPT2':
return "SUM($case_when $colsec montant_comptabilise_2 + montant_comptabilise_22 $colsecend $case_else)";
break;
case 'NBSEJENC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_encours = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else )";
break;
case 'NBRUBENC':
return "SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPREENC':
return "SUM( $case_when $colsec CASE WHEN est_ligne_encours = '1' THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'MTENC':
return "SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' THEN montant_encours ELSE NULL END $colsecend $case_else)";
break;
case 'NBSEJENC1':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe = 0 THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUBENC1':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe = 0 THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPREENC1':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe = 0 THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'MTENC1':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe = 0 THEN montant_encours $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJENC2':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe <> 0 THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUBENC2':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe <> 0 THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPREENC2':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe <> 0 THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'MTENC2':
return "SUM($case_when $colsec CASE WHEN code_sorti = '1' AND est_ligne_encours = '1' AND nb_non_groupe <> 0 THEN montant_encours $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJENC3':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN code_sorti <> '1' AND est_ligne_encours = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUBENC3':
return "SUM($case_when $colsec CASE WHEN code_sorti <> '1' AND est_ligne_encours = '1' THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPREENC3':
return "SUM($case_when $colsec CASE WHEN code_sorti <> '1' AND est_ligne_encours = '1' THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'MTENC3':
return "SUM($case_when $colsec CASE WHEN code_sorti <> '1' AND est_ligne_encours = '1' THEN montant_encours $colsecend ELSE NULL END $case_else)";
break;
case 'NBSEJFACENC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUBFACENC':
return "SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN nb_rubrique * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'NBPREFACENC':
return "SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN nb_prestation * coefficient $colsecend ELSE NULL END $case_else)";
break;
case 'MTFACENC':
return "SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN montant_encours ELSE NULL END + montant_facture $colsecend $case_else)";
break;
case 'MMTFACENC':
return "base.cti_division(SUM($case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN montant_encours ELSE NULL END + montant_facture $colsecend $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN est_ligne_encours = '1' OR est_ligne_facturee = '1' THEN v_factures_lignes_c_4.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FAVCAMHC':
return "base.cti_division(SUM($case_when $colsec CASE WHEN type_sejour = '1' THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour = '1' THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FAVCAMHJ':
return "base.cti_division(SUM($case_when $colsec CASE WHEN type_sejour IN ('2','5') THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour IN ('2','5') THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'FAVCAMAU':
return "base.cti_division(SUM($case_when $colsec CASE WHEN type_sejour NOT IN ('1','2','5') THEN montant_facture + montant_encours $colsecend ELSE 0 END $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN (est_ligne_facturee = '1' OR est_ligne_encours = '1') AND type_sejour NOT IN ('1','2','5') THEN v_sejours_1.no_sejour $colsecend ELSE NULL END $case_else))";
break;
case 'MFACEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture = '1' THEN v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MVALEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture = '0' AND est_ligne_encours = '1' THEN v_factures_lignes_c_4.montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'MFPVEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture IN ('0','1') THEN v_factures_lignes_c_4.montant_encours + v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMFPVEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture IN ('0','1') THEN v_factures_lignes_c_4.montant_encours + v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MFPVEMCHC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture IN ('0','1') AND type_sejour = '1' THEN v_factures_lignes_c_4.montant_encours + v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MFAVCAMHC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture IN ('0','1') AND type_sejour = '1' THEN v_factures_lignes_c_4.montant_encours + v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MFACMTTHC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture IN ('0','1') AND type_sejour = '1' THEN v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMFACEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture = '1' THEN v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case 'MMVALEMC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture = '0' AND est_ligne_encours = '1' THEN v_factures_lignes_c_4.montant_encours $colsecend ELSE 0 END $case_else)";
break;
case 'MFACEMCHC':
return "SUM($case_when $colsec CASE WHEN v_factures_lignes_c_4.code_facture = '1' and type_sejour='1' THEN v_factures_lignes_c_4.montant_facture $colsecend ELSE 0 END $case_else)";
break;
case '0':case 'EMC':case 'VALEMC':case 'FAVEMC':case 'FACNBJ':case 'VALNBJ':case 'FAVNBJ':case 'FAVDMS':case 'FAVNBEMCHC':case 'MFAVCAMHC':case 'MMFPVEMC':case 'MMFACEMC':case 'MMVALEMC':
return "0";
break;
default:
return $DEFAULT;
break;
}
}
function ACTI_facturation_clinique_data_col($DATA, $DEFAULT="", $CASE="", $PERIODE_DUREE="",$COL,$TOPERIODE) {
$case_when = "";
$case_else = "";
if($COL == '1'){
$colsec="CASE WHEN COLUMNCHECKSEQUENCE THEN";
$colsecend = "ELSE null END";
}else {
$colsec=" ";
$colsecend = " ";
}
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
switch ($DATA) {
case 'EMC':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '1' THEN equivalent_malade_complet $colsecend ELSE 0 END)";
break;
case 'MMFACEMC':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '1' THEN equivalent_malade_complet $colsecend ELSE 0 END)";
break;
case 'MMVALEMC':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '0' THEN equivalent_malade_complet $colsecend ELSE 0 END)";
break;
case 'VALEMC':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '0' THEN equivalent_malade_complet $colsecend ELSE 0 END)";
break;
case 'FAVEMC':
return "SUM($colsec equivalent_malade_complet $colsecend)";
break;
case 'MMFPVEMC':
return "SUM($colsec equivalent_malade_complet $colsecend)";
break;
case 'FACNBJ':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '1' THEN nb_jours_f + nb_ambulatoires + CASE WHEN type_sejour = '5' THEN nb_seances ELSE 0 END $colsecend ELSE 0 END)";
break;
case 'VALNBJ':
return "SUM($colsec CASE WHEN p_factures_reference.code_facture = '0' THEN nb_jours_f + nb_ambulatoires + CASE WHEN type_sejour = '5' THEN nb_seances ELSE 0 END $colsecend ELSE 0 END)";
break;
case 'FAVNBJ':
return "SUM($colsec nb_jours_f + nb_ambulatoires + CASE WHEN type_sejour = '5' THEN nb_seances ELSE 0 END $colsecend)";
break;
case 'FAVNBEMCHC':
return "SUM($colsec CASE WHEN type_sejour = '1' then equivalent_malade_complet ELSE 0 END $colsecend)";
break;
case 'MFAVCAMHC':
return "SUM($colsec CASE WHEN type_sejour = '1' then equivalent_malade_complet ELSE 0 END $colsecend)";
break;
case 'MFACMTTHC':
return "SUM($colsec CASE WHEN type_sejour = '1' then equivalent_malade_complet ELSE 0 END $colsecend)";
break;
case 'FAVDMS':
return "base.cti_division(SUM($colsec CASE WHEN (v_sejours_1.date_sortie <='$TOPERIODE'::date ) AND v_sejours_1.code_sorti = 1 then [VIEW.JOURNEES_FIELD] $colsecend ELSE null END),SUM($colsec nb_sorties_directes $colsecend))";
break;
default:
return $DEFAULT;
break;
}
}
function ACTI_facturation_honoraires_data($DATA, $DEFAULT="", $CASE="", $PERIODE_DUREE="",$COL) {
$case_when = "";
$case_else = "";
if($COL == '1'){
$colsec="CASE WHEN COLUMNCHECKSEQUENCE THEN";
$colsecend = "ELSE null END";
}else {
$colsec=" ";
$colsecend = " ";
}
if ($CASE != "") {
$case_when = "CASE WHEN $CASE THEN";
$case_else = "ELSE null END";
}
if ($DATA == "NBPROTO" || $DATA == "NBPROTO2") {
if ($colsecend == "ELSE null END") {
$colsecend = "ELSE Array['','0'] END";
}
if ($case_else == "ELSE null END") {
$case_else = "ELSE Array['','0'] END";
}
}
switch ($DATA) {
case 'NBSEJ':
return "COUNT(DISTINCT $case_when $colsec v_factures_lignes_h_3.no_sejour $colsecend $case_else)";
break;
case 'SEJPAT':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0) and (tiers_payant_0_id <> 0 and montant_facture_0 != 0) then v_factures_lignes_h_3.sejour_id $colsecend else NULL end $case_else)";
break;
case 'SEJAMO':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0) and (tiers_payant_1_id <> 0 and montant_facture_1 != 0) then v_factures_lignes_h_3.sejour_id $colsecend else null end $case_else)";
break;
case 'SEJAMC':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN (montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0) and (tiers_payant_2_id <> 0 and montant_facture_2 != 0) then v_factures_lignes_h_3.sejour_id $colsecend else null end $case_else)";
break;
case 'NBDEP':
return "COUNT(DISTINCT $case_when $colsec CASE WHEN montant_depassement <> 0 THEN v_factures_lignes_h_3.sejour_id $colsecend ELSE NULL END $case_else)";
break;
case 'NBRUB':
return "SUM($case_when $colsec nb_rubrique * coefficient $colsecend $case_else)";
break;
case 'NBPRE':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then nb_prestation $colsecend ELSE NULL END $case_else)";
break;
case 'NBPROTO':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_lignes_h_3.no_facture::text || '|' || protocole_id::text,CASE WHEN nb_prestation >= 0 THEN '1' ELSE '-1' END] $colsecend $case_else)";
break;
case 'NBPROTO2':
return "base.cti_sum_distinct_on(DISTINCT $case_when $colsec array[v_factures_lignes_h_3.no_facture::text || '|' || protocole_id::text,CASE WHEN protocole_id = 0 THEN '0' WHEN nb_prestation >= 0 THEN '1' ELSE '-1' END] $colsecend $case_else)";
break;
case 'NBCOEPRE':
return "SUM($case_when $colsec nb_prestation * coefficient $colsecend $case_else)";
break;
case 'MTFAC':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_facture $colsecend ELSE NULL END $case_else)";
break;
case 'MTFACI':
return "SUM($case_when $colsec case when (montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 OR montant_facture_actes_inclus_dans_sejour <> 0) then montant_facture + COALESCE(montant_facture_actes_inclus_dans_sejour,0) $colsecend ELSE NULL END $case_else)";
break;
case 'MTI':
return "SUM($case_when $colsec case when montant_facture_actes_inclus_dans_sejour <> 0 then COALESCE(montant_facture_actes_inclus_dans_sejour,0) $colsecend ELSE NULL END $case_else)";
break;
case 'MTFAC0':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_facture_0 $colsecend ELSE NULL END $case_else)";
break;
case 'MTFAC1':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_facture_1 $colsecend ELSE NULL END $case_else)";
break;
case 'MTFAC2':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_facture_2 $colsecend ELSE NULL END $case_else)";
break;
case 'MTDEP':
return "SUM($case_when $colsec montant_depassement $colsecend $case_else)";
break;
case 'MTCPT':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_comptabilise $colsecend ELSE NULL END $case_else)";
break;
case 'MTCPT0':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_comptabilise_0 $colsecend ELSE NULL END $case_else)";
break;
case 'MTCPT1':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_comptabilise_1 $colsecend ELSE NULL END $case_else)";
break;
case 'MTCPT2':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 then montant_comptabilise_2 $colsecend ELSE NULL END $case_else)";
break;
case 'MTCONV':
return "SUM($case_when $colsec montant_facture $colsecend $case_else) - SUM($case_when $colsec montant_depassement $colsecend $case_else)";
break;
case 'MMTFAC':
return "base.cti_division(SUM($case_when $colsec montant_facture $colsecend $case_else),COUNT(DISTINCT $case_when $colsec v_factures_lignes_h_3.sejour_id $colsecend $case_else))";
break;
case 'MMTFAC0':
return "base.cti_division(SUM($case_when $colsec montant_facture_0 $colsecend $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN tiers_payant_0_id <> 0 then v_factures_lignes_h_3.sejour_id $colsecend else 0 end $case_else))";
break;
case 'MMTFAC1':
return "base.cti_division(SUM($case_when $colsec montant_facture_1 $colsecend $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN tiers_payant_1_id <> 0 then v_factures_lignes_h_3.sejour_id $colsecend else 0 end $case_else))";
break;
case 'MMTFAC2':
return "base.cti_division(SUM($case_when $colsec montant_facture_2 $colsecend $case_else),COUNT(DISTINCT $case_when $colsec CASE WHEN tiers_payant_2_id <> 0 then v_factures_lignes_h_3.sejour_id $colsecend else 0 end $case_else))";
break;
case 'MTNNFACT':
return "SUM($case_when $colsec case when montant_non_facture <> 0 then montant_non_facture $colsecend ELSE NULL END $case_else)";
break;
case 'MTFACVAL':
return "SUM($case_when $colsec case when montant_facture <> 0 OR montant_depassement <> 0 OR montant_non_facture <> 0 OR montant_facture_actes_inclus_dans_sejour <> 0 then coalesce(montant_facture, 0) + coalesce(montant_non_facture, 0) + coalesce(montant_facture_actes_inclus_dans_sejour, 0) $colsecend ELSE NULL END $case_else)";
break;
default:
return $DEFAULT;
break;
}
}
function ACTI_RAPPORT_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'TSE':
$field = "type_sejour";
break;
case 'TSECLS':
$field = "type_sejour_section";
break;
case 'FOA':
$field = "forme_activite";
break;
case 'FOACLS':
$field = "forme_activite_section";
break;
case 'FSP':
$field = "filiere_soin_principale";
break;
case 'FSPCLS':
$field = "filiere_soin_principale_section";
break;
case 'MTR':
$field = "mode_traitement";
break;
case 'SER':
$field = "lieu_reference_service";
break;
case 'SERCLS':
$field = "lieu_reference_service_section";
break;
case 'ACT':
$field = "lieu_reference_activite";
break;
case 'ETA':
$field = "lieu_reference_etage";
break;
case 'ETACLS':
$field = "lieu_reference_etage_section";
break;
case 'LIT':
$field = "lieu_reference_lit";
break;
case 'LITCLS':
$field = "lieu_reference_lit_section";
break;
case 'UM':
$field = "lieu_reference_unite_medicale";
break;
case 'UMDCLS':
$field = "lieu_reference_unite_medicale_section";
break;
case 'UF':
$field = "lieu_reference_unite_fonctionnelle";
break;
case 'UFTCLS':
$field = "lieu_reference_unite_fonctionnelle_section";
break;
case 'SPM':
$field = "medecin_reference_specialite";
break;
case 'MED':
$field = "medecin_reference";
break;
case 'MDA':
$field = "medecin_adm_reference";
break;
case 'MDACLS':
$field = "medecin_adm_reference_section";
break;
case 'MCO':
$field = "mcos";
break;
case 'CAS':
$field = "cas";
break;
case 'CMD':
$field = "cmd";
break;
case 'GHS':
$field = "ghs";
break;
case 'GHM':
$field = "ghm";
break;
case 'GHMCLS':
$field = "ghm_section";
break;
case 'GHM5':
$field = "ghm5";
break;
case 'GHMSEV':
$field = "severite_ghm";
break;
case 'SEVCTI':
$field = "severite_cti";
break;
case 'PS1':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_1";
break;
case 'PS1CLS':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_1_section";
break;
case 'PS2':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_2";
break;
case 'PS2CLS':
$field = "v_sejours_parametres_personnalises_1.parametre_personnalise_2_section";
break;
case 'BUC':
$field = "budget_cle";
break;
case 'BUCCLS':
$field = "budget_cle_section";
break;
case 'MCO':
$field = "mcos";
break;
case 'FIN':
$field = "finess";
break;
case 'FINCLS':
$field = "finess_section";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_RAPPORT_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_prefixe($GROUPBY, $DEFAULT="");
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
case "CALC_NUMEROJOUR":
$field = "EXTRACT(DOW FROM date_reference)";
break;
case "CALC_NUMEROMOIS":
$field = "EXTRACT(MONTH FROM date_reference)";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_RAPPORT_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_prefixe($GROUPBY, $DEFAULT="");
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
case "CALC_NUMEROJOUR":
$field = "CASE WHEN EXTRACT(DOW FROM date_reference) > 0 THEN EXTRACT(DOW FROM date_reference) ELSE 7 END";
break;
case "CALC_NUMEROMOIS":
$field = "CASE
WHEN EXTRACT(MONTH FROM date_reference) = 1 THEN '01'
WHEN EXTRACT(MONTH FROM date_reference) = 2 THEN '02'
WHEN EXTRACT(MONTH FROM date_reference) = 3 THEN '03'
WHEN EXTRACT(MONTH FROM date_reference) = 4 THEN '04'
WHEN EXTRACT(MONTH FROM date_reference) = 5 THEN '05'
WHEN EXTRACT(MONTH FROM date_reference) = 6 THEN '06'
WHEN EXTRACT(MONTH FROM date_reference) = 7 THEN '07'
WHEN EXTRACT(MONTH FROM date_reference) = 8 THEN '08'
WHEN EXTRACT(MONTH FROM date_reference) = 9 THEN '09'
WHEN EXTRACT(MONTH FROM date_reference) = 10 THEN '10'
WHEN EXTRACT(MONTH FROM date_reference) = 11 THEN '11'
WHEN EXTRACT(MONTH FROM date_reference) = 12 THEN '12'
ELSE '?'
END";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_RAPPORT_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_prefixe($GROUPBY, $DEFAULT="");
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_reference":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_adm_reference":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "CASE EXTRACT(MONTH FROM date_reference)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || EXTRACT(YEAR FROM date_reference)::text";
break;
case "CALC_NUMEROJOUR":
$field = "CASE WHEN EXTRACT(DOW FROM date_reference) = 0 THEN 'Dimanche'
WHEN EXTRACT(DOW FROM date_reference) = 1 THEN 'Lundi'
WHEN EXTRACT(DOW FROM date_reference) = 2 THEN 'Mardi'
WHEN EXTRACT(DOW FROM date_reference) = 3 THEN 'Mercredi'
WHEN EXTRACT(DOW FROM date_reference) = 4 THEN 'Jeudi'
WHEN EXTRACT(DOW FROM date_reference) = 5 THEN 'Vendredi'
WHEN EXTRACT(DOW FROM date_reference) = 6 THEN 'Samedi'
ELSE '?'
END";
break;
case "CALC_NUMEROMOIS":
$field = "CASE
WHEN EXTRACT(MONTH FROM date_reference) = 1 THEN 'Janv'
WHEN EXTRACT(MONTH FROM date_reference) = 2 THEN 'Fev'
WHEN EXTRACT(MONTH FROM date_reference) = 3 THEN 'Mars'
WHEN EXTRACT(MONTH FROM date_reference) = 4 THEN 'Avr'
WHEN EXTRACT(MONTH FROM date_reference) = 5 THEN 'Mai'
WHEN EXTRACT(MONTH FROM date_reference) = 6 THEN 'Juin'
WHEN EXTRACT(MONTH FROM date_reference) = 7 THEN 'Juil'
WHEN EXTRACT(MONTH FROM date_reference) = 8 THEN 'Aout'
WHEN EXTRACT(MONTH FROM date_reference) = 9 THEN 'Sept'
WHEN EXTRACT(MONTH FROM date_reference) = 10 THEN 'Oct'
WHEN EXTRACT(MONTH FROM date_reference) = 11 THEN 'Nov'
WHEN EXTRACT(MONTH FROM date_reference) = 12 THEN 'Dec'
ELSE '?'
END";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_RAPPORT_PLACES_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'TSE':
$field = "type_sejour";
break;
case 'TSECLS':
$field = "type_sejour_section";
break;
case 'ETA':
$field = "etage";
break;
case 'ETACLS':
$field = "etage_section";
break;
case 'SER':
$field = "service";
break;
case 'SERCLS':
$field = "service_section";
break;
case 'UF':
$field = "uf";
break;
case 'UFTCLS':
$field = "uf_section";
break;
case 'UM':
$field = "um";
break;
case 'UMDCLS':
$field = "um_section";
break;
case 'FIN':
$field = "finess";
break;
case 'FINCLS':
$field = "finess_section";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'JOURS':
$field = "CALC_JOURS";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'SEMAINEANNE':
$field = "CALC_SEMAINEANNE";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_RAPPORT_PLACES_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(date_reference, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(date_reference, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(date_reference, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "date_reference.jour_semaine";
break;
case 'CALC_JOUR':
$field = "to_char(date_reference, 'YYYYMMDD')";
break;
case 'CALC_JOURS':
$field = "to_char(date_reference, 'MMDD')";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(date_reference, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(date_reference, 'WW')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_RAPPORT_PLACES_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(date_reference, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(date_reference, 'YYYY') ||' T'|| to_char(date_reference, 'Q') ";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(date_reference, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "date_reference.jour_semaine::text";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(date_reference, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(date_reference, 'WW')";
break;
case 'CALC_JOUR':
$field = "to_char(date_reference, 'YYYY') ||'-'|| to_char(date_reference, 'MM') ||'-'||to_char(date_reference, 'DD')";
break;
case 'CALC_JOURS':
$field = " to_char(date_reference, 'MM') ||'-'|| to_char(date_reference, 'DD') ";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_RAPPORT_PLACES_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_PLACES_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "CASE EXTRACT(MONTH FROM date_reference)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || EXTRACT('YEAR' FROM date_reference)::text";
break;
case 'CALC_NUMEROMOIS':
$field = "CASE date_part('month',date_reference)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIM':
$field = "date_part('year',date_reference) ||'-'||
CASE to_char(date_reference, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIM':
$field = "CASE to_char(date_reference, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE p_calendrier.jour_semaine
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUR':
$field = "base.cti_to_char(date_reference, 'FF')";
break;
case 'CALC_JOURS':
$field = "base.cti_to_char(date_reference, 'DD') ||' '||
CASE date_part('month',date_reference)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNE':
$field = " 'Semaine '||' '|| to_char(date_reference, 'WW')
";
break;
case 'CALC_SEMAINEWE':
$field = "CASE to_char(date_reference, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_RAPPORT_BUDGET_prefixe($GROUPBY, $DEFAULT="") {
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'BUC':
$field = "budget_cle";
break;
case 'BUCCLS':
$field = "budget_cle_section";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'MOIS':
$field = "CALC_MOIS";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_RAPPORT_BUDGET_field_id($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_BUDGET_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_RAPPORT_BUDGET_field_code($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_BUDGET_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "EXTRACT(YEAR FROM date_reference) * 100 + EXTRACT(MONTH FROM date_reference)";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_RAPPORT_BUDGET_field_texte($GROUPBY, $DEFAULT="") {
$prefixe = ACTI_RAPPORT_BUDGET_prefixe($GROUPBY, $DEFAULT);
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case '-111':
$field = "-111";
break;
case "CALC_ANNEE":
$field = "EXTRACT(YEAR FROM date_reference)";
break;
case "CALC_MOIS":
$field = "CASE EXTRACT(MONTH FROM date_reference)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || EXTRACT('YEAR' FROM date_reference)::text";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
function ACTI_ANALYSE_TT_field_prefixe($GROUPBY, $DEFAULT=""){
if (substr($GROUPBY,3,3) == 'CLS') {
$GROUPBY = substr($GROUPBY,0,6);
}
$field = '';
$field_id = '';
$field_code = '';
$field_texte = '';
switch ($GROUPBY) {
case '*TAB':
$field = "*TAB";
break;
case '-1':
$field = "";
break;
case 'ANNEE':
$field = "CALC_ANNEE";
break;
case 'NUMEROMOIS':
$field = "CALC_NUMEROMOIS";
break;
case 'CALC_MOIS':
$field = "CALC_MOIS";
break;
case 'TRIM':
$field = "CALC_TRIM";
break;
case 'JOUR':
$field = "CALC_JOUR";
break;
case 'JOURS':
$field = "CALC_JOURS";
break;
case 'NUMEROTRIM':
$field = "CALC_NUMEROTRIM";
break;
case 'NUMEROJOUR':
$field = "CALC_NUMEROJOUR";
break;
case 'SEMAINEWE':
$field = "CALC_SEMAINEWE";
break;
case 'SEMAINEANNE':
$field = "CALC_SEMAINEANNE";
break;
default:
$field = $DEFAULT;
}
return $field;
$prefixe = '';
$groupby = '[GROUPBY]';
if ($groupby == '-1') {$groupby = '[GROUPBY_2]';}
$cls6 = substr($groupby, 0 , 6);
$cls7 = substr($groupby, 6 , 1);
}
function ACTI_ANALYSE_TT_field_id($GROUPBY, $DEFAULT=""){
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ANALYSE_TT");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_id[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "0";
break;
case "*TAB":
$field = "-9999999";
break;
case 'CALC_ANNEE':
$field = "to_char(p_calendrier.date, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(p_calendrier.date, 'MM')";
break;
case 'CALC_MOIS':
$field = "to_char(p_calendrier.date, 'YYYYMM')";
break;
case 'CALC_TRIM':
$field = "to_char(p_calendrier.date, 'YYYYQ')";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(p_calendrier.date, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "p_calendrier.jour_semaine";
break;
case 'CALC_JOUR':
$field = "to_char(p_calendrier.date, 'YYYYMMDD')";
break;
case 'CALC_JOURS':
$field = "to_char(p_calendrier.date, 'MMDD')";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(p_calendrier.date, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(p_calendrier.date, 'WW')";
break;
default:
$field = "$prefixe" . "_id";
}
}
return $field;
}
function ACTI_ANALYSE_TT_field_code($GROUPBY, $DEFAULT=""){
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ANALYSE_TT");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_code[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "' Résumé'";
break;
case 'CALC_ANNEE':
$field = "to_char(p_calendrier.date, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "to_char(p_calendrier.date, 'MM')";
break;
case 'CALC_TRIM':
$field = "to_char(p_calendrier.date, 'YYYY') ||' T'|| to_char(p_calendrier.date, 'Q') ";
break;
case 'CALC_NUMEROTRIM':
$field = "to_char(p_calendrier.date, 'Q')";
break;
case 'CALC_NUMEROJOUR':
$field = "p_calendrier.jour_semaine::text";
break;
case 'CALC_SEMAINEWE':
$field = "to_char(p_calendrier.date, 'W')";
break;
case 'CALC_SEMAINEANNE':
$field = "to_char(p_calendrier.date, 'WW')";
break;
case 'CALC_JOUR':
$field = "to_char(p_calendrier.date, 'YYYY') ||'-'|| to_char(p_calendrier.date, 'MM') ||'-'||to_char(p_calendrier.date, 'DD')";
break;
case 'CALC_JOURS':
$field = " to_char(p_calendrier.date, 'MM') ||'-'|| to_char(p_calendrier.date, 'DD') ";
break;
case "CALC_MOIS":
$field = "to_char(p_calendrier.date, 'YYYYMM')";
break;
case 'v_sejours_1.code_sexe':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = "$prefixe" . "_code";
}
}
return $field;
}
function ACTI_ANALYSE_TT_field_texte($GROUPBY, $DEFAULT=""){
$prefixe = ACTI_STANDARD_prefixe($GROUPBY, $DEFAULT, "ANALYSE_TT");
if ($prefixe == "") {
$prefixe = ACTI_ETATDOSSIER_prefixe($GROUPBY, $DEFAULT="");
}
if (substr($GROUPBY, 3, 3) == 'CLS' && $prefixe != $DEFAULT) {
$section = substr($GROUPBY, 6);
$field = "$prefixe" . "_texte[" . $section . "]";
}
else {
switch ($prefixe) {
case "":
$field = "''";
break;
case "*TAB":
$field = "'Résumé'";
break;
case "medecin_adm_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "medecin_sejour":
$field = "$prefixe" . "_nom_prenom";
break;
case "CALC_ANNEE":
$field = "to_char(p_calendrier.date, 'YYYY')";
break;
case 'CALC_NUMEROMOIS':
$field = "CASE date_part('month',p_calendrier.date)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END";
break;
case 'CALC_TRIM':
$field = "date_part('year',p_calendrier.date) ||'-'||
CASE to_char(p_calendrier.date, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROTRIM':
$field = "CASE to_char(p_calendrier.date, 'Q')
WHEN 1 THEN 'Trimestre 1'
WHEN 2 THEN 'Trimestre 2'
WHEN 3 THEN 'Trimestre 3'
WHEN 4 THEN 'Trimestre 4'
ELSE '?'
END";
break;
case 'CALC_NUMEROJOUR':
$field = "CASE p_calendrier.jour_semaine
WHEN 1 THEN 'Lundi'
WHEN 2 THEN 'Mardi'
WHEN 3 THEN 'Mercredi'
WHEN 4 THEN 'Jeudi'
WHEN 5 THEN 'Vendredi'
WHEN 6 THEN 'Samedi'
WHEN 7 THEN 'Dimanche'
ELSE '?'
END";
break;
case 'CALC_JOUR':
$field = "base.cti_to_char(p_calendrier.date, 'FF')";
break;
case 'CALC_JOURS':
$field = "base.cti_to_char(p_calendrier.date, 'DD') ||' '||
CASE date_part('month',p_calendrier.date)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
";
break;
case 'CALC_SEMAINEANNE':
$field = " 'Semaine '||' '|| to_char(p_calendrier.date, 'WW')
";
break;
case 'CALC_SEMAINEWE':
$field = "CASE to_char(p_calendrier.date, 'W')
WHEN 1 THEN 'Semaine 1'
WHEN 2 THEN 'Semaine 2'
WHEN 3 THEN 'Semaine 3'
WHEN 4 THEN 'Semaine 4'
WHEN 5 THEN 'Semaine 5'
ELSE '?'
END";
break;
case "CALC_MOIS":
$field = "CASE date_part('month',p_calendrier.date)
WHEN 01 THEN 'Janvier'
WHEN 02 THEN 'Fevrier'
WHEN 03 THEN 'Mars'
WHEN 04 THEN 'Avril'
WHEN 05 THEN 'Mai'
WHEN 06 THEN 'Juin'
WHEN 07 THEN 'Juillet'
WHEN 08 THEN 'Aout'
WHEN 09 THEN 'Septembre'
WHEN 10 THEN 'Octobre'
WHEN 11 THEN 'Novembre'
WHEN 12 THEN 'Decembre'
ELSE '?'
END
|| ' ' || date_part('year',p_calendrier.date)";
break;
case 'v_sejours_1.code_sexe':
$field = "v_sejours_1.code_sexe";
break;
default:
$field = "$prefixe" . "_texte";
}
}
return $field;
}
]]>