Subversion Repositories Sigmater

Rev

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

<?php

function extract_blob($progiscrizione, $periodo_da, $periodo_a, $flag_ass, $keydett, $idfile) {
        
        global $conn;
        
        $sql = "select TI11_BLOB from 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_FLAG_ASS = $flag_ass and TI11_KEYDETT = $keydett and TI11_IDFILE = $idfile";
        $r_select = exec_select_format($conn, $sql, 0);
        
        if (!$r_select)
                return array(false, 30002, '');

        if ($r_select == 'NODATA')
                return array(false, 30003, 'Blob non trovato');
        
        $blob = $r_select[0][0]->load();
        
        if (strlen($blob) == 0)
                return array(false, 30004, 'Blob vuoto');
                
        return array(true, $blob, '');
}

function insert_protocollo_staging($keyservizio, $keycom, $keysez, $periodo_da, $periodo_a, $protocollo, $autocommit = 0) {
        
        global $conn;
        
        if ($keyservizio > 6 && $keyservizio < 11) {
                $tipo_dato = 'C';
        }else if($keyservizio == 6){
                $tipo_dato = 'A';
        }else if($keyservizio == 5){
                $tipo_dato = 'M'; 
        }
        else if($keyservizio == 3){
                $tipo_dato = 'E'; 
        }else { 
                $tipo_dato = 'G';
        }
                
        $sql = "select TI07_PROTOCOLLO_STAGING from S3_TI07_PROTOCOLLI ";
        $sql .= "where TI07_KEYCOM = '$keycom' and TI07_KEYSEZ = '$keysez' and ";
        $sql .= "to_char(TI07_PERIODO_DA, 'dd/mm/yyyy') = '$periodo_da' and ";
        $sql .= "to_char(TI07_PERIODO_A, 'dd/mm/yyyy') = '$periodo_a'";
        
        $r_select = exec_select_format($conn, $sql, 0);
        
        if (!$r_select)
                return array(false, 30010);

        if ($r_select == 'NODATA') {
                
                $sql = "select TI07_STAGING_SEQ.nextval from dual";
                
                $r_select = exec_select_format($conn, $sql, 0);
                
                if (!$r_select)
                        return array(false, 30011);
                
                $protocollo_staging = $r_select[0][0];
        }       
        else {
                
                $protocollo_staging = $r_select[0][0];
        }       
                
        $sql = "insert into S3_TI07_PROTOCOLLI (TI07_PROTOCOLLO, TI07_PROTOCOLLO_STAGING, ";
        $sql .= "TI07_KEYCOM, TI07_KEYSEZ, TI07_PERIODO_DA, TI07_PERIODO_A, TI07_TIPO_FORNITURA, TI07_TIPO_PROCESSO) ";
        $sql .= "values($protocollo, $protocollo_staging, ";
        $sql .= "'$keycom', '$keysez', to_date('$periodo_da', 'dd/mm/yyyy'), ";
        $sql .= "to_date('$periodo_a', 'dd/mm/yyyy'), 'I', '$tipo_dato')";
        
        if (!exec_sql($conn, $sql, $autocommit))
                return array(false, 30012);
        else    
                return array(true, $protocollo_staging);
}

function check_fornitura($progiscrizione, $periodo_da, $periodo_a, $flag_ass, $keydett, $stato) {
        
        global $conn;
          
        $sql = "select TI04_N_FILE_TOT, TI04_PROTOCOLLO,TI04_KEYDETT from S3_TI04_SERVIZIDETTAGLIO ";
        $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_FLAG_ASS = $flag_ass and TI04_KEYDETT = $keydett and TI04_CODSTATO = $stato";
        $sql .= "TI04_FLAG_ASS = $flag_ass and TI04_CODSTATO = $stato";
        
        
        $r_select = exec_select_format($conn, $sql, 1);
        
        
        if (!$r_select)
                return array(false, '', '','');

        if ($r_select == 'NODATA')
                return array('NODATA', '', '','');

        return array(true, $r_select[0]['TI04_N_FILE_TOT'], $r_select[0]['TI04_PROTOCOLLO'], $r_select[0]['TI04_KEYDETT']);
}

function insert_blob_cart($filename, $protocollo_fornitura, $protocollo_staging, $progressivo) {

        global $conn;
        
        $sql = "insert into TCW24_BLOB_CART ";
        $sql .= "values($protocollo_fornitura, $progressivo, EMPTY_BLOB(), $protocollo_staging)";
        
        $OCI_OPT = array('INS_BLOB' => 'TCW24_FILE_BLOB');
        
        $ret = exec_sql_blob_file($conn, $sql, 0, $OCI_OPT,$filename);
        
        if(!$ret)
                return array(false, 30028, '');
                
        unlink($filename);
        return array(true, '', '');
}

// MM funzione per Apache 2
function insert_blob_plan($filename,$arr_riga,$protocollo_staging) {

        global $conn;

        //comune 
        $comune = "'".$arr_riga[1]."'";

        // sezione 
        if(strlen($arr_riga[2]) == 0)
         $sezione =  "'".'@'."'";
        else   
         $sezione = "'".$arr_riga[2]."'";
        // uiu
        $uiu = $arr_riga[3];  
        // mutazione iniziale
        $mutazione_in = $arr_riga[4]; 

        // mutazione finale 
        if(strlen($arr_riga[5]) == 0)
          $mutazione_fn=-1; 
        else
          $mutazione_fn = $arr_riga[5]; 
        
        $tipo =  "'".$arr_riga[6]."'"; 
        $nome =  "'".$arr_riga[7]."'"; 
        $pagina = $arr_riga[8]; 

        $sql = "insert into TCW22_BLOB ";
        $sql .= "values($comune,$sezione,$uiu,$mutazione_in,$mutazione_fn,$tipo,$nome,$pagina,EMPTY_BLOB(),$protocollo_staging)";
        
        $OCI_OPT = array('INS_BLOB' => 'FILE_BLOB');

        $ret = exec_sql_blob_file($conn, $sql, 0, $OCI_OPT,$filename);

        if(!$ret)
                return array(false, 30028, '');

        unlink($filename);

        return array(true, '', '');
}


?>