Subversion Repositories Sigmater

Rev

Blame | Last modification | View Log | Download | RSS feed

<?php
function select_log_incrementali($form) {
 global $conn;
 foreach ($form as $k=>$v)
 $form[$k] = strtoupper(sql_adjust($v));

 $sql = "select TI05_ID, TI05_KEYERRORE, to_char(TI05_DATETIME, 'dd/mm/yyyy hh24.MI.ss'), TI05_PROGISCRIZIONE, TI05_KEYDETT,";
 $sql .= "to_char(TI05_PERIODO_DA, 'dd/mm/yyyy'), to_char(TI05_PERIODO_A, 'dd/mm/yyyy'), TI05_FLAG_ASS, TI05_PROGISCRIZIONEASS,";
 $sql .= "TI05_N_FILE, TI05_PROTOCOLLO from S3_TI05_ERRLOG where TI05_PROGISCRIZIONE IS NOT NULL AND TI05_KEYERRORE <> 40001 AND ";
 $sql .= "(TI05_PROGISCRIZIONE,TI05_KEYDETT,TI05_FLAG_ASS,TI05_PERIODO_DA,TI05_PERIODO_A) in(";
 $sql .= "  select c.ti04_progiscrizione ,c.ti04_keydett,c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a";
 $sql .= "  from s3_ti04_servizidettaglio c,s3_ti03_servizirichiesti s, s3_aa01g_comuni x,s3_ti02_servizi v,s3_ti09_catalogostato p";
 $sql .= "  where c.ti04_progiscrizione = s.ti03_progiscrizione and x.AA01_COD_COM = s.ti03_keycom";
 // se presente il periodo di scarico 
 if(($form['periodo_da'] !== '') && ($form['periodo_a'] !== '')){ 
        $sql .= "  and c.ti04_periodo_da =to_date('".$form['periodo_da']."','DD/MM/YYYY')"; 
        $sql .= "  and c.ti04_periodo_a =to_date('".$form['periodo_a']."','DD/MM/YYYY')";
 }
 $sql .= "  and v.ti02_keyservizio = s.ti03_keyservizio";
 $sql .= "  and c.ti04_codstato = p.ti09_codstato";
 $sql .= "  and (c.ti04_progiscrizione,c.ti04_keydett,c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a) in ("; 
 $sql .= "  select TI04_PROGISCRIZIONE,max(TI04_KEYDETT),TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A from S3_TI04_SERVIZIDETTAGLIO c"; 
 // se presente il periodo di scarico
 if(($form['periodo_da'] !== '') && ($form['periodo_a'] !== '')){
        $sql .= "  where TI04_PERIODO_DA = to_date('".$form['periodo_da']."','DD/MM/YYYY')";
        $sql .= "  and TI04_PERIODO_A = to_date('".$form['periodo_a']."','DD/MM/YYYY')"; 
 }
 $sql .= "  group by TI04_PROGISCRIZIONE,TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A)"; 
 $sql .= "  and c.ti04_codstato in (2,3,11) )";
         
  if ($form['data_da'] !== ''){
        $sql .= " and TI05_DATETIME >= to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
  }
  if ($form['data_a'] !== ''){
        $sql .= " and TI05_DATETIME <= to_date('".$form['data_a']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
  }
  if ($form['codice'] !== '')
        $sql .= " and TI05_KEYERRORE = ".$form['codice'];

  if ($form['prog'] !== '')
        $sql .= " and TI05_PROGISCRIZIONE = '".$form['prog']."'";

  if ($form['progass'] !== '')
        $sql .= " and TI05_PROGISCRIZIONEASS = '".$form['progass']."'";
   
  if ($form['periodo_da'] !== '')
        $sql .= " and  TI05_PERIODO_DA = to_date('".$form['periodo_da']."', 'dd/mm/yyyy')";

  if ($form['periodo_a'] !== '')
        $sql .= " and TI05_PERIODO_A = to_date('".$form['periodo_a']."', 'dd/mm/yyyy')"; 

  $sql .= " order by TI05_ID desc";
  $r = exec_select_format($conn, $sql);
  return $r;
}

function select_log_impianto($form) {
 global $conn;

 foreach ($form as $k=>$v)
        $form[$k] = strtoupper(sql_adjust($v));

 $sql = "select TI05_ID,TI05_KEYERRORE,to_char(TI05_DATETIME,'dd/mm/yyyy hh24.MI.ss'),TI05_PROGISCRIZIONE, TI05_KEYDETT,";
 $sql.= "to_char(TI05_PERIODO_DA,'dd/mm/yyyy'),to_char(TI05_PERIODO_A,'dd/mm/yyyy'),TI05_FLAG_ASS,TI05_PROGISCRIZIONEASS,";
 $sql.= " TI05_N_FILE,TI05_PROTOCOLLO from S3_TI05_ERRLOG where TI05_PROGISCRIZIONE IS NULL AND TI05_ID_RICHIESTA IS NULL";

 if ($form['data_da'] !== ''){
        $sql .= " and TI05_DATETIME >= to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
 }
 if ($form['data_a'] !== ''){
        $sql .= " and TI05_DATETIME <= to_date('".$form['data_a']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
 }
 $sql.= " and TI05_KEYERRORE = 40001";
 $sql .= " order by TI05_ID desc";
 
 $r = exec_select_format($conn, $sql);
 return $r;
}


function select_modulo_plus_log($form) {
        
 global $conn;
        
 foreach ($form as $k=>$v)
  $form[$k] = strtoupper(sql_adjust($v));
        
 $sql = "select TI05_ID, TI05_KEYERRORE, to_char(TI05_DATETIME, 'dd/mm/yyyy hh24.MI.ss'), TI05_ID_RICHIESTA, TI05_ID_RICHIESTA_ORI ";
 $sql .= "from S3_TI05_ERRLOG where TI05_ID_RICHIESTA IS NOT NULL";
                        
 if ($form['data_da'] !== ''){
        $sql .= " and TI05_DATETIME >= to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
 }
 if ($form['data_a'] !== ''){
        $sql .= " and TI05_DATETIME <= to_date('".$form['data_a']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";
 }
        
 if ($form['codice'] !== '') 
  $sql .= " and TI05_KEYERRORE = ".$form['codice'];
        
 if ($form['ric_orig'] !== '') 
  $sql .= " and TI05_ID_RICHIESTA_ORI =".$form['ric_orig'];
                
 if ($form['ric_src'] !== '') 
  $sql .= " and TI05_ID_RICHIESTA =".$form['ric_src'];
        
 $sql .= " order by TI05_ID desc";
 
 $r = exec_select_format($conn, $sql);
        
 return $r;
}

function select_scheduler($form) {
        
 global $conn;
 foreach ($form as $k=>$v)
   $form[$k] = strtoupper(sql_adjust($v));

 $sql = "select TI04_PROGISCRIZIONE||'~'||TI04_KEYDETT||'~'||to_char(TI04_PERIODO_DA, 'dd/mm/yyyy')||'~'";
 $sql .= "||to_char(TI04_PERIODO_A, 'dd/mm/yyyy')||'~'||TI04_FLAG_ASS||'~'||TI04_CODSTATO||'~'||TI04_PROGISCRIZIONEASS, ";
 $sql .= "to_char(TI04_DATATIME_SCHED, 'dd/mm/yyyy hh24.MI.ss'), TI04_CODSTATO, TI04_PROGISCRIZIONE, ";
 $sql .= "TI04_KEYDETT, to_char(TI04_PERIODO_DA, 'dd/mm/yyyy'), to_char(TI04_PERIODO_A, 'dd/mm/yyyy'),";
 $sql .=" TI04_FLAG_ASS, TI04_PROGISCRIZIONEASS, TI04_PROTOCOLLO ";
 $sql .= "from S3_TI04_SERVIZIDETTAGLIO where";
 $sql .= " (ti04_progiscrizione,ti04_keydett,ti04_flag_ass,ti04_periodo_da,ti04_periodo_a) in(";
 $sql .= " select TI04_PROGISCRIZIONE,max(TI04_KEYDETT),TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A"; 
 $sql .= " from S3_TI04_SERVIZIDETTAGLIO c group by TI04_PROGISCRIZIONE,TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A)";

 if ($form['data_da'] !== '') 
  $sql .= " and TI04_DATATIME_SCHED > to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";

 if ($form['data_a'] !== '') 
  $sql .= " and TI04_DATATIME_SCHED < to_date('".$form['data_a']." 23.59.59', 'dd/mm/yyyy hh24.MI.ss')";
                        
 if ($form['stato'] !== '') 
  $sql .= " and TI04_CODSTATO = ".$form['stato'];
        
 if ($form['prog'] !== '') 
   $sql .= " and TI04_PROGISCRIZIONE = '".$form['prog']."'";
        
 if ($form['per_da'] !== '') 
   $sql .= " and TI04_PERIODO_DA = to_date('".$form['per_da']."', 'dd/mm/yyyy')";

 if ($form['per_a'] !== '') 
   $sql .= " and TI04_PERIODO_A = to_date('".$form['per_a']."', 'dd/mm/yyyy')";

 $sql .= " order by TI04_DATATIME_SCHED,TI04_CODSTATO";

 $r = exec_select_format($conn, $sql);
        
 return $r;
}

function sql_schedulazione($progiscrizione, $periodo_da, $periodo_a, $flag_ass, $progiscrizioneass) {
        
        global $conn, $ocierr;
        
        include_once (APP_PATH.'include/LSTM_scheduler_sql.inc');
        
        $maxkeydett = get_max_keydett($progiscrizione, $periodo_da, $periodo_a, $flag_ass);
        
        if ($maxkeydett === false)
                return array(false, 'Errore - '.$ocierr['message']);

        /////////////////////////////////////////////////
        // CONTROLLO STATO e DATA SCHEDULAZIONE
        /////////////////////////////////////////////////
        list($stato, $data_sched) = check_dettaglio($progiscrizione, $periodo_da, $periodo_a, $flag_ass, $maxkeydett);
        
        if ($stato === false)
                return array(false, 'Errore - '.$ocierr['message']);
        
        if ($stato != '1' && $stato != '2' && $stato != '3')
                return array(true, 'La schedulazione di recupero non è stata eseguita:\n una schedulazione valida è già presente.');
                                                        
        /////////////////////////////////////////////////
        // INCREMENTO DEL KEYDETT
        /////////////////////////////////////////////////                       
        $keydett = $maxkeydett + 1;
        
        /////////////////////////////////////////////////////////////
        // INSERT IN S3_TI04_SERVIZIDETTAGLIO - SERVIZIO SCHEDULATO
        /////////////////////////////////////////////////////////////                                           
        $sql = "insert into S3_TI04_SERVIZIDETTAGLIO (TI04_PROGISCRIZIONE, ";
        $sql .= "TI04_KEYDETT, TI04_FLAG_ASS, TI04_CODSTATO, TI04_PROTOCOLLO, TI04_PERIODO_DA, TI04_PERIODO_A, ";
        $sql .= "TI04_DATATIME_SCHED, TI04_DATATIME_INIZIO, TI04_DATATIME_FINE, TI04_PROGISCRIZIONEASS, ";
        $sql .= "TI04_N_FILE, TI04_N_FILE_TOT, TI04_PRESENZA_FILE, TI04_RIAVVIO)";
        $sql .= "values ('$progiscrizione', $keydett, $flag_ass, 0, NULL, to_date('$periodo_da', 'dd/mm/yyyy'), ";
        $sql .= "to_date('$periodo_a', 'dd/mm/yyyy'), sysdate, NULL, NULL, '$progiscrizioneass', ";
        $sql .= "0, 0, 0, 0)";
        
        $insert = exec_sql($conn, $sql, 1);
        
        if ($insert === false)
                return array(false, 'Errore - '.$ocierr['message']);
                
        return array(true, 'Schedulazione eseguita correttamente.');
}       

function sql_tabulazione($cod_com,$giorno_in,$giorno_fn){
 
  global $conn, $ocierr;
  
  $sql  = "select distinct v.ti03_inislot,v.ti03_keyservizio,v.ti03_keycom,";
  $sql .= " h.ti01_denominazione,j.ti06_descrizione,v.ti03_progiscrizione,";
  $sql .= " DECODE(v.ti03_progiscrizioneass,NULL,'-',ti03_progiscrizioneass) as PROGRESSIVO_ASSOCIATO";
  $sql .= " from s3_ti03_servizirichiesti v,s3_ti01_comuni h,s3_ti06_periodicita j";
  $sql .= " where v.ti03_keycom = h.ti01_keycom and j.ti06_periodicita = v.ti03_periodicita and v.ti03_datafineiscrizione is null";
  // controllo i parametri di input
  if((!empty($giorno_in))&&(empty($giorno_fn))){
    $sql .= " and  v.ti03_inislot =".$giorno_in;     
  }
  // controllo i parametri di input
   if((!empty($giorno_fn))&&(empty($giorno_in))){
     $sql .= " and  v.ti03_inislot =".$giorno_fn;
  }
  if((!empty($giorno_fn))&&(!empty($giorno_in))){
     $sql .= " and  v.ti03_inislot >= ".$giorno_in." and  v.ti03_inislot <=".$giorno_fn;;
  } 
  if(!empty($cod_com)){
         $sql .= " and  v.ti03_keycom =UPPER('".$cod_com."')";
  } 
  $sql .= " group by v.ti03_inislot,v.ti03_keyservizio,v.ti03_keycom,";
  $sql .= " h.ti01_denominazione,j.ti06_descrizione,v.ti03_progiscrizione,";
  $sql .= " DECODE(v.ti03_progiscrizioneass,NULL,'-',ti03_progiscrizioneass) ";
  $sql .= " order by v.ti03_inislot,v.ti03_keycom  ";
    
  $r = exec_select_format($conn, $sql);
  return $r;

}

function extract_log_incrementali($form) {
 global $conn;
 foreach ($form as $k=>$v)
 $form[$k] = strtoupper(sql_adjust($v));

 $sql = "select TI05_KEYERRORE,TI05_ERROREDETT,TI05_PROGISCRIZIONE,";
 $sql.= "to_char(TI05_PERIODO_DA, 'dd/mm/yyyy'), to_char(TI05_PERIODO_A, 'dd/mm/yyyy'), TI05_FLAG_ASS, TI05_PROGISCRIZIONEASS,";
 $sql .= "TI05_N_FILE from S3_TI05_ERRLOG where TI05_PROGISCRIZIONE IS NOT NULL AND TI05_KEYERRORE <> 40001 AND ";
 $sql .= "(TI05_PROGISCRIZIONE,TI05_KEYDETT,TI05_FLAG_ASS,TI05_PERIODO_DA,TI05_PERIODO_A) in(";
 $sql .= "  select c.ti04_progiscrizione ,c.ti04_keydett,c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a";
 $sql .= "  from s3_ti04_servizidettaglio c,s3_ti03_servizirichiesti s, s3_aa01g_comuni x,s3_ti02_servizi v,s3_ti09_catalogostato p";
 $sql .= "  where c.ti04_progiscrizione = s.ti03_progiscrizione and x.AA01_COD_COM = s.ti03_keycom";
 // se presente il periodo di scaricoo
 if(($form['periodo_da'] !== '') && ($form['periodo_a'] !== '')){
        $sql .= "  and c.ti04_periodo_da =to_date('".$form['periodo_da']."','DD/MM/YYYY')";
        $sql .= "  and c.ti04_periodo_a =to_date('".$form['periodo_a']."','DD/MM/YYYY')";
 }
 $sql .= "  and v.ti02_keyservizio = s.ti03_keyservizio";
 $sql .= "  and c.ti04_codstato = p.ti09_codstato";
 $sql .= "  and (c.ti04_progiscrizione,c.ti04_keydett,c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a) in (";
 $sql .= "  select TI04_PROGISCRIZIONE,max(TI04_KEYDETT),TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A from S3_TI04_SERVIZIDETTAGLIO c";
 // se presente il periodo di scarico
 if(($form['periodo_da'] !== '') && ($form['periodo_a'] !== '')){
        $sql .= "  where TI04_PERIODO_DA = to_date('".$form['periodo_da']."','DD/MM/YYYY')";
        $sql .= "  and TI04_PERIODO_A = to_date('".$form['periodo_a']."','DD/MM/YYYY')";
 }
 $sql .= "  group by TI04_PROGISCRIZIONE,TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A)";
 $sql .= "  and c.ti04_codstato in (2,3,11) )";


  if ($form['data_da'] !== '')
   $sql .= " and TI05_DATETIME > to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";

  if ($form['data_a'] !== '')
   $sql .= " and TI05_DATETIME < to_date('".$form['data_a']." 23.59.59', 'dd/mm/yyyy hh24.MI.ss')";

  if ($form['codice'] !== '')
        $sql .= " and TI05_KEYERRORE = ".$form['codice'];

  if ($form['prog'] !== '')
        $sql .= " and TI05_PROGISCRIZIONE = '".$form['prog']."'";

  if ($form['progass'] !== '')
        $sql .= " and TI05_PROGISCRIZIONEASS = '".$form['progass']."'";

  if ($form['periodo_da'] !== '')
        $sql .= " and  TI05_PERIODO_DA = to_date('".$form['periodo_da']."', 'dd/mm/yyyy')";

  if ($form['periodo_a'] !== '')
        $sql .= " and TI05_PERIODO_A = to_date('".$form['periodo_a']."', 'dd/mm/yyyy')";

  $sql .= " order by TI05_ID desc";

  //echo $sql;
  $r = exec_select_format($conn, $sql);
  return $r;
}

function extract_log_modulo_plus($form) {
global $conn;

 foreach ($form as $k=>$v)
  $form[$k] = strtoupper(sql_adjust($v));

 $sql = "select TI05_KEYERRORE,TI05_ERROREDETT, to_char(TI05_DATETIME, 'dd/mm/yyyy hh24.MI.ss'), TI05_ID_RICHIESTA, TI05_ID_RICHIESTA_ORI ";
 $sql .= "from S3_TI05_ERRLOG where TI05_ID_RICHIESTA IS NOT NULL";

 if ($form['data_da'] !== '')
   $sql .= " and TI05_DATETIME > to_date('".$form['data_da']." 00.00.00', 'dd/mm/yyyy hh24.MI.ss')";

 if ($form['data_a'] !== '')
   $sql .= " and TI05_DATETIME < to_date('".$form['data_a']." 23.59.59', 'dd/mm/yyyy hh24.MI.ss')";

 if ($form['codice'] !== '')
  $sql .= " and TI05_KEYERRORE = ".$form['codice'];

 if ($form['ric_orig'] !== '')
  $sql .= " and TI05_ID_RICHIESTA_ORI =".$form['ric_orig'];

 if ($form['ric_src'] !== '')
  $sql .= " and TI05_ID_RICHIESTA =".$form['ric_src'];

 $sql .= " order by TI05_ID desc";

 $r = exec_select_format($conn, $sql);

 return $r;
}

function extract_log_incr_report($form) {
 global $conn;
 foreach ($form as $k=>$v)
 $form[$k] = strtoupper(sql_adjust($v));

  $sql = "select TI05_KEYERRORE,TI05_ERROREDETT,TI05_PROGISCRIZIONE,";
  $sql.= "to_char(TI05_PERIODO_DA, 'dd/mm/yyyy'), to_char(TI05_PERIODO_A, 'dd/mm/yyyy'), TI05_FLAG_ASS, TI05_PROGISCRIZIONEASS,";
  $sql.= "TI05_N_FILE from S3_TI05_ERRLOG where TI05_PROGISCRIZIONE IS NOT NULL AND TI05_KEYERRORE <> 40001";
  $sql.= "AND (TI05_PROGISCRIZIONE,TI05_KEYDETT,TI05_FLAG_ASS,TI05_PERIODO_DA,TI05_PERIODO_A) in";
  $sql.= "(select c.ti04_progiscrizione,max(c.ti04_keydett),c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a ";
  $sql.= " from s3_ti04_servizidettaglio c where c.ti04_codstato in (2,3,11) ";
  $sql.= " group by c.ti04_progiscrizione,c.ti04_flag_ass,c.ti04_periodo_da,c.ti04_periodo_a)";

  if ($form['codice'] !== '')
        $sql .= " and TI05_PROGISCRIZIONE like '".$form['codice']."%'";

  if ($form['periodo_da'] !== '')
        $sql .= " and  TI05_PERIODO_DA = to_date('".$form['periodo_da']."', 'dd/mm/yyyy')";

  if ($form['periodo_a'] !== '')
        $sql .= " and TI05_PERIODO_A = to_date('".$form['periodo_a']."', 'dd/mm/yyyy')";

  $sql .= " order by TI05_ID desc";

  $r = exec_select_format($conn, $sql);
  return $r;
}

function select_job_interrotti() {

 global $conn;

 $sql = "select TI04_PROGISCRIZIONE||'~'||TI04_KEYDETT||'~'||to_char(TI04_PERIODO_DA, 'dd/mm/yyyy')||'~'";
 $sql .= "||to_char(TI04_PERIODO_A, 'dd/mm/yyyy')||'~'||TI04_FLAG_ASS||'~'||TI04_CODSTATO||'~'||TI04_PROGISCRIZIONEASS, ";
 $sql .= "to_char(TI04_DATATIME_SCHED, 'dd/mm/yyyy hh24.MI.ss'), TI04_CODSTATO, TI04_PROGISCRIZIONE, ";
 $sql .= "TI04_KEYDETT, to_char(TI04_PERIODO_DA, 'dd/mm/yyyy'), to_char(TI04_PERIODO_A, 'dd/mm/yyyy'),";
 $sql .=" TI04_FLAG_ASS, TI04_PROGISCRIZIONEASS, TI04_PROTOCOLLO ";
 $sql .= "from S3_TI04_SERVIZIDETTAGLIO where";
 $sql .= " (ti04_progiscrizione,ti04_keydett,ti04_flag_ass,ti04_periodo_da,ti04_periodo_a) in(";
 $sql .= " select TI04_PROGISCRIZIONE,max(TI04_KEYDETT),TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A";
 $sql .= " from S3_TI04_SERVIZIDETTAGLIO c group by TI04_PROGISCRIZIONE,TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A)";
 $sql .= " and TI04_CODSTATO = 1";
 $sql .= " order by TI04_PERIODO_A desc";

 $r = exec_select_format($conn, $sql);

 return $r;
}

// funzione per estrarre le statistiche
function select_statistics($periodo_da,$periodo_a){

 global $conn;

 $sql  ="select distinct count(*),to_char(TI04_PERIODO_DA, 'dd/mm/yyyy'),to_char(TI04_PERIODO_A, 'dd/mm/yyyy'),";
 $sql .="DECODE(TI04_CODSTATO,0,'WEB SERVICE SCHEDULATO',1,'WEB SERVICE RUNNING',2,'ERRORE WEB SERVICE',3,'ERRORE WEB SERVICE',11,";
 $sql .="'ERRORE PARSING',4,'RITIRATI MA INCOMPLETI',12,'COMPLETO'),TI04_PERIODO_DA,TI04_PERIODO_A";
 $sql .=" from S3_TI04_SERVIZIDETTAGLIO h";
 $sql .=" where (h.ti04_progiscrizione,h.ti04_keydett,h.ti04_flag_ass,h.ti04_periodo_da,h.ti04_periodo_a) in";
 $sql .=" (select TI04_PROGISCRIZIONE,max(TI04_KEYDETT),TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A";
 $sql .=" from S3_TI04_SERVIZIDETTAGLIO c";
 $sql .=" group by TI04_PROGISCRIZIONE,TI04_FLAG_ASS,TI04_PERIODO_DA,TI04_PERIODO_A)";
 if ($periodo_da !== '')
  $sql .= " and  TI04_PERIODO_DA >= to_date('".$periodo_da."', 'dd/mm/yyyy')";
 if ($periodo_a !== '')
  $sql .= " and TI04_PERIODO_A <= to_date('".$periodo_a."', 'dd/mm/yyyy')";
 $sql .=" group by  to_char(TI04_PERIODO_DA, 'dd/mm/yyyy'),to_char(TI04_PERIODO_A, 'dd/mm/yyyy'),TI04_CODSTATO,";
 $sql .="DECODE(TI04_CODSTATO,0,'WEB SERVICE SCHEDULATO',1,'WEB SERVICE RUNNING',2,'ERRORE WEB SERVICE',3,'ERRORE WEB SERVICE',11,";
 $sql .="'ERRORE PARSING',4,'RITIARTI MA INCOMPLETI',12,'COMPLETO'),TI04_PERIODO_DA,TI04_PERIODO_A"; 
 $sql .=" order by  TI04_PERIODO_DA,TI04_PERIODO_A";

 $r = exec_select_format($conn, $sql);

 return $r;

}

?>