WebInvioDatiTS

Vai ai contenuti

Menu principale:

credenziali.php PHP: "x", "login" => $login, "password" => $password, "authentication" => SOAP_AUTHENTICATION_BASIC, "trace" => false, "exceptions" => false ); ?> FattureGeneraFilesCFdaTXT.php PHP: "; while( !feof($file) ) { $row = fgets($file); $col = explode(";", $row); if ( !empty($col[_ColFiscalCode]) ) { $TotalEuro = $col[_ColTotalEuro] - $col[_ColNotRelevant1] - $col[_ColNotRelevant2] - $col[_ColNotRelevant3]; $myfile = fopen("x_".$col[_ColFiscalCode].".txt", "w") or die("Unable to open file : ".$col[_ColFiscalCode]); fwrite($myfile, $col[_ColFiscalCode]); fclose($myfile); $cf = codicefiscale($col[_ColFiscalCode]); echo ""; echo "".$col[_ColFiscalCode].""; echo "".$col[_ColDocNumber].""; echo "".$col[_ColDocDate].""; echo "".$TotalEuro.""; echo "".$cf.""; echo ""; } } echo ""; fclose($file); error_log("done ".$_SERVER['PHP_SELF'], 0); function codicefiscale($cf){ if( preg_match("/^[A-Z0-9]+\$/", $cf) != 1 ) return "Il codice fiscale contiene dei caratteri non validi (sono valide lettere e cifre)"; static $CFcalc = array( '0' => 1, '1' => 0, '2' => 5, '3' => 7, '4' => 9, '5' => 13, '6' => 15, '7' => 17, '8' => 19, '9' => 21, 'A' => 1, 'B' => 0, 'C' => 5, 'D' => 7, 'E' => 9, 'F' => 13, 'G' => 15, 'H' => 17, 'I' => 19, 'J' => 21, 'K' => 2, 'L' => 4, 'M' => 18, 'N' => 20, 'O' => 11, 'P' => 3, 'Q' => 6, 'R' => 8, 'S' => 12, 'T' => 14, 'U' => 16, 'V' => 10, 'W' => 22, 'X' => 25, 'Y' => 24, 'Z' => 23, 'end' => 'end' ); $s = 0; for( $i = 1; $i <= 13; $i += 2 ){ $c = $cf[$i]; if( strcmp($c, "0") >= 0 and strcmp($c, "9") <= 0 ) $s += ord($c) - ord('0'); else $s += ord($c) - ord('A'); } for( $i = 0; $i <= 14; $i += 2 ){ $c = $cf[$i]; $s += $CFcalc[$c]; } if( chr($s%26 + ord('A')) != $cf[15] ) return "Il codice fiscale NON è riconosciuto ". chr($s%26 + ord('A')); return ""; } ?> del %BegDir%\__OpenSSL.log 2>nul rem set MySource=%BegDir%\x_PROVAX00X00X000Y rem openssl.exe rsautl -encrypt -in %MySource%.txt -out %MySource%.enc -inkey %BegDir%\_SanitelCF.cer -certin -pkcs FOR /R %BegDir% %%D IN (x_*.txt) DO (call :OpenSSL %%D) pause exit /b :OpenSSL rem echo params: "%~0" "%~1" "%~n1" "%~2" "%~3" "%~nx0" "%~dpnx0%0" >>param.log set MySource=%BegDir%\%~n1 rem echo %MySource% >>%BegDir%\__OpenSSL.log echo %MySource% openssl.exe rsautl -encrypt -in %MySource%.txt -out %MySource%.enc -inkey %BegDir%\_SanitelCF.cer -certin -pkcs rem openssl enc -base64 -A -in %MySource%.enc -out %MySource%.b64 exit /b FattureGeneraXMLdaTXT.php PHP: '); $opzionale1 = $xml->addChild('opzionale1', 'text'); $opzionale2 = $xml->addChild('opzionale2', 'text'); $opzionale3 = $xml->addChild('opzionale3', 'text'); $proprietario = $xml->addChild('proprietario'); $cfProprietario = $proprietario->addChild('cfProprietario', $encFC); // $TotalDocs = 0; $TotalEuro = 0; while( !feof($file) ) { $row = fgets($file); $col = explode(";", $row); if ( !empty($col[_ColFiscalCode]) ) { $InvEuro = $col[_ColTotalEuro] - $col[_ColNotRelevant1] - $col[_ColNotRelevant2] - $col[_ColNotRelevant3]; $InvEuro = number_format($InvEuro, 2, ".", ""); $DocDate = DateTime::createFromFormat('d/m/Y', $col[_ColDocDate]); $DocDate = $DocDate->format('Y-m-d'); $encFC = GetEncFC($col[_ColFiscalCode]); $TotalDocs += 1; $TotalEuro += $InvEuro; $documentoSpesa = $xml->addChild('documentoSpesa'); $idSpesa = $documentoSpesa->addChild('idSpesa'); $pIva = $idSpesa->addChild('pIva', _piProprietario); $dataEmissione = $idSpesa->addChild('dataEmissione', $DocDate); $numDocumentoFiscale = $idSpesa->addChild('numDocumentoFiscale'); $dispositivo = $numDocumentoFiscale->addChild('dispositivo', '1'); $numDocumento = $numDocumentoFiscale->addChild('numDocumento', $col[_ColDocNumber]); // // $dataPagamento = $documentoSpesa->addChild('dataPagamento', $DocDate); $flagOperazione = $documentoSpesa->addChild('flagOperazione', 'I'); $cfCittadino = $documentoSpesa->addChild('cfCittadino', $encFC); $voceSpesa = $documentoSpesa->addChild('voceSpesa'); $tipoSpesa = $voceSpesa->addChild('tipoSpesa', 'SR'); $importo = $voceSpesa->addChild('importo', $InvEuro); // // } } // fclose($file); Header('Content-type: text/xml'); print ($xml->asXML(_Fatture730.'.xml')); error_log("Total Docs ".$TotalDocs, 0); error_log("Total Euro ".$TotalEuro, 0); error_log("done ".$_SERVER['PHP_SELF'], 0); function GetEncFC($encFile) { $encFC = file_get_contents( "C:/Web_Sites/__Test/PHP/TEST/XML/FC/x_".$encFile.".enc", FILE_USE_INCLUDE_PATH ); $encFC = base64_encode($encFC); return $encFC; } ?> FattureInviaWsdl.php PHP:

TRASFERIMENTO DELLE FATTURE PER IL 730 PRECOMPILATO AL MINISTERO

"; error_log("carico in memoria il file "._FileDaInviare, 0); $zipfile = implode("", file(_FileDaInviare)); $ws = 'InvioTelematicoSpeseSanitarie730p.wsdl'; error_log("definisco il file wsdl ".$ws, 0); echo $ws."

"; $SoapClientParam["location"] = $InvioTelematico; error_log("definisco the soap server location ".$SoapClientParam["location"], 0); echo $SoapClientParam["location"]."

"; echo "

INIZIO LA CONNESSIONE

"; $client = new SoapClient($ws, $SoapClientParam); error_log("ottengo la funzione da utilizzare per l'invio", 0); $output = $client->__getFunctions(); //var_dump($output); echo "

"; if(!empty($output)) echo "

CONNESSIONE POSSIBILE

"; echo "

INIZIO TRASFERIMENTO DEL FILE

"; error_log("inizio trasferimento del file", 0); $output = $client->inviaFileMtom(Array ( "nomeFileAllegato" => _FileDaInviare, "pincodeInvianteCifrato" => $pincodeInvianteCifrato, "documento" => $zipfile, "datiProprietario" => ( Array( "cfProprietario" => $cfProprietario ) ) )) ; if(empty($output)) { error_log("trasferimento terminato con errori", 0); echo "

TRASFERIMENTO TERMINATO CON ERRORI

"; var_dump($output); echo "

"; } else { error_log("trasferimento terminato", 0); echo "

TRASFERIMENTO TERMINATO

"; $protocollo = $output->return->protocollo; echo $protocollo."

"; ReportOutput("protocollo"); ReportOutput("dataAccoglienza"); ReportOutput("nomeFileAllegato"); ReportOutput("dimensioneFileAllegato"); ReportOutput("codiceEsito"); ReportOutput("descrizioneEsito"); ReportOutput("idErrore"); } error_log("done ".$_SERVER['PHP_SELF'], 0); echo "

FINE DEL LAVORO

"; function ReportOutput($var) { global $output; error_log($var." = ".$output->return->{$var}, 0); echo $var." = ".$output->return->{$var}."
"; } ?>
 
Torna ai contenuti | Torna al menu