Subversion Repositories Sigmater

Rev

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

<?php

function insert_TI11(&$file_blob) {
        
    global $conn, $ocierr, $progiscrizione, $periodo_da, $periodo_a, $keydett, $progiscrizioneass, $flag_ass, $idfile;
        
    $lob   = OCINewDescriptor($conn, OCI_D_LOB);
        
    $sql = "INSERT INTO S3_TI11_FILEINTERSCAMBIO ".
    $sql .= "(TI11_PROGISCRIZIONE, TI11_PERIODO_DA, TI11_PERIODO_A, TI11_FLAG_ASS, ";
    $sql .= "TI11_BLOB, TI11_KEYDETT, TI11_IDFILE, TI11_TIPODATO, TI11_PROGISCRIZIONEASS) values (";
    $sql .= "'$progiscrizione', to_date('$periodo_da', 'dd/mm/yyyy'), to_date('$periodo_a', 'dd/mm/yyyy'), ";
    $sql .= "$flag_ass, EMPTY_BLOB(), $keydett, $idfile, NULL, '$progiscrizioneass') ";
    $sql .= "returning TI11_BLOB into :doc";                          

    $stmt = OCIParse($conn, $sql);
    if ($stmt === false) {
        $msg = ' OCIParse fallita';
        $ocierr = array('message' => $msg, 'code' => 'OCIPARSE', 'sqltext' => $sql);
       return false;
    }
        
        OCIBindByName($stmt, ':doc', $lob, -1, OCI_B_BLOB);
         
    $ret = @OCIExecute($stmt, OCI_DEFAULT);
    
    if(!$ret) {
                                
        $ocierr = OCIError($stmt);
        return false;
    }    
    
    if (!$lob->save($file_blob)) {
        $msg = ' Salvataggio Blob fallito';
        $ocierr = array('message' => $msg, 'code' => 'SAVEBLOB', 'sqltext' => $sql);
       return false;    
    }   
   
    $lob->free(); 
    return true;
}

function update_servizidettaglio($opt, $keyerrore = 0, $autocommit = 1) {

        global $conn, $progiscrizione, $periodo_da, $periodo_a, $keydett, $flag_ass;
        global $idfile, $n_file_tot, $presenza_file;
        
        $up_TI04 = 1;
        
        $sql = "update S3_TI04_SERVIZIDETTAGLIO set ";
        
        if ($opt == 'LOG') {
                
                $up_TI04 = 0;
                        
                $riavviabile = select_catalogoerrori($keyerrore);
                
                if ($riavviabile === false) {
                        wlog(20025, 1);
                        $codstato = 2;
                }
                elseif ($riavviabile == '1') {
                        $codstato = 3;
                }
                else {
                        $codstato = 2;
                }
                 
                $sql .= "TI04_CODSTATO = $codstato, TI04_N_FILE = $idfile, ";
                if((!empty($n_file_tot))&& ($n_file_tot <>'')) 
                        $sql .= "TI04_N_FILE_TOT = $n_file_tot, TI04_PRESENZA_FILE = $presenza_file ";
                else
                        $sql .= "TI04_N_FILE_TOT = NULL, TI04_PRESENZA_FILE = $presenza_file ";
                $err = 20004;
        }
        elseif ($opt == 'NFILE') {
                $sql .= "TI04_N_FILE = $idfile, TI04_PRESENZA_FILE = 1 ";
                $err = 20021;
        }
        elseif ($opt == 'RIAVVIO') {
                $sql .= "TI04_PRESENZA_FILE = 0 ";
                $err = 20024;
        }       
        elseif ($opt == 'NFILETOT') {
                $sql .= "TI04_N_FILE_TOT = $n_file_tot ";
                $err = 20022;
        }
        
        $sql .= "where TI04_PROGISCRIZIONE = '$progiscrizione' and ";
        $sql .= "to_char(TI04_PERIODO_DA, 'dd/mm/yyyy') = '$periodo_da' and ";
        $sql .= "to_char(TI04_PERIODO_A, 'dd/mm/yyyy') = '$periodo_a' and ";
        $sql .= "TI04_KEYDETT = $keydett and TI04_FLAG_ASS = $flag_ass";
        
        if (!exec_sql($conn, $sql, $autocommit)) {
                
                OCIRollback($conn);
                wlog($err, 1, '', $up_TI04);
                return false;
        }
        else {
        
                return true;    
        }       
}

function select_dati_servizio($progiscrizione) {
        
        global $conn;
        
        $sql = "select distinct TI03_KEYSERVIZIO, TI02_NOME_XSD ";
        $sql .= ", (select TI02_NOME_XSD from S3_TI02_SERVIZI where TI02_KEYSERVIZIO = 8) INC_TER_XSD ";
        $sql .= ", TI03_PERIODICITA from S3_TI04_SERVIZIDETTAGLIO, S3_TI03_SERVIZIRICHIESTI, S3_TI02_SERVIZI ";
        $sql .= "where TI03_PROGISCRIZIONE = TI04_PROGISCRIZIONE and TI02_KEYSERVIZIO = TI03_KEYSERVIZIO ";
        $sql .= "and TI03_PROGISCRIZIONE = '$progiscrizione'";
                        
        $r_ks = exec_select_format($conn, $sql, 1);
        
        if (!$r_ks || $r_ks == 'NODATA') {
                
                return false;
        }
        else {
                
                return array($r_ks[0]['TI03_KEYSERVIZIO'], $r_ks[0]['TI02_NOME_XSD'], $r_ks[0]['INC_TER_XSD'], $r_ks[0]['TI03_PERIODICITA']);
        }       
}               

function select_catalogoerrori($keyerrore) {
        
        global $conn;
        
        $sql = "select TI08_RIAVVIO from S3_TI08_CATALOGOERRORI ";
        $sql .= "where TI08_KEYERRORE = $keyerrore";
                        
        $r = exec_select_format($conn, $sql, 1);
        
        if (!$r || $r == 'NODATA') {
                
                return false;
        }
        else {
                
                return $r[0]['TI08_RIAVVIO'];
        }       
}       

function delete_TI11($T11_file) {
        
        global $conn, $progiscrizione, $periodo_da, $periodo_a, $keydett, $flag_ass;
        
        $sql = "delete S3_TI11_FILEINTERSCAMBIO ";
        $sql .= "where TI11_PROGISCRIZIONE = '$progiscrizione' and ";
        $sql .= "to_char(TI11_PERIODO_DA, 'dd/mm/yyyy') = '$periodo_da' and ";
        $sql .= "to_char(TI11_PERIODO_A, 'dd/mm/yyyy') = '$periodo_a' and ";
        $sql .= "TI11_KEYDETT = $keydett and TI11_FLAG_ASS = $flag_ass and ";
        $sql .= "TI11_IDFILE = $T11_file";
        
        // NO AUTOCOMMIT                
        if (!exec_sql($conn, $sql, 0)) {
                
                return false;
        }       
        
        return true;

}       
?>