";
$htmlcampioni .= "
Resoconto caricamento CAMPIONI
";
$htmlcampioni .= "Id | Data | Material | Qta | SD document | Scarto |
";
$htmlcampioni .= "Errore durante il caricamento dei record CAMPIONI |
";
$htmlcampioni .= "
";
}
// ------------------- CONTROLLI SUI CAMPIONI EX FILEMAKER ---------------- //
if (!file_exists($temp.$campionicheck)) {
$Query = "SELECT Id,Document_date,upper(Material),Billing_qty_in_SKU,SD_Document,upper(PO_Number),Ship_to_party,Motivo_Scarto FROM FATTURATO2_CONTAINER";
$stmt = $db->prepare($Query);
$stmt->execute();
while ($row = $stmt->fetch()) {
$Id = $row[0];
$Document_date = $row[1];
$Material = $row[2];
$Billing = $row[3];
$SD_document = $row[4];
$PO_number = $row[5];
$Ship_to_party = $row[6];
$Scarto = $row[7];
$Motivo = "";
if ($Billing === null || $Billing == 0 || strlen($Billing) == 0) {
$Motivo = $Scarto." Quantita mancante";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
$severity = 1;
}
if ($Material === null || $Material == 0 || strlen($Material) == 0) {
$Motivo = $Scarto." Articolo mancante";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
$severity = 1;
}
if ($PO_number === null || strlen($PO_number) == 0 || substr($PO_number,0,4) != "CAM/") {
$Motivo = $Scarto." Protocollo non conforme";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
}
else {
$Query = "SELECT count(Id) FROM GARE WHERE upper(Protocollo) = '".$PO_number."' fetch first 1 row only";
$stme = $db->prepare($Query);
$stme->execute();
$pro = $stmt->fetch();
if($pro[0] == 0) {
$Motivo = $Scarto." Protocollo non trovato";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
$severity = 1;
}
}
}
if ($severity == 0) {
// --------------- ESECUZIONE CONTROLLI BLOCCANTI --------------- //
$Query = "SELECT Id,Document_date,upper(Material),Billing_qty_in_SKU,SD_Document,upper(PO_Number),Ship_to_party,Motivo_Scarto FROM FATTURATO2_CONTAINER WHERE Motivo_Scarto IS NULL";
$stmt = $db->prepare($Query);
$stmt->execute();
while ($row = $stmt->fetch()) {
$Id = $row[0];
$Document_date = $row[1];
$Material = $row[2];
$Billing = $row[3];
$SD_document = $row[4];
$PO_number = $row[5];
$Ship_to_party = $row[6];
$Scarto = $row[7];
$Motivo = "";
$Query = "SELECT MagazzinoUtente FROM GARE WHERE upper(Protocollo) = '".$PO_number."'";
$stme = $db->prepare($Query);
$stme->execute();
if ($stme->RowCount() == 0) {
$Motivo = $Scarto." Magazzino non trovato";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
$severity = 2;
}
$Query = "SELECT CODARTICOLO FROM MASTERFILE WHERE UPPER(CODARTICOLO) = '".$Material."'";
$stme = $db->prepare($Query);
$stme->execute();
if ($stme->RowCount() == 0) {
$Motivo = $Scarto." Articolo non in Masterfile";
$Scarto = $Motivo;
$Query = "UPDATE FATTURATO2_CONTAINER SET Motivo_Scarto = '".$Motivo."' WHERE Id = ".$Id;
$stme = $db->prepare($Query);
$stme->execute();
$severity = 2;
}
}
}
}
// ------------------- SCRIPT FILEMAKER CAMPIONI ---------------- //
if ($severity == 0) {
$MagAziendale = "MAG/624/2018";
$CausCarico = "CARMAG";
$CausScarico = "SCAMAG";
$Operatore = "system";
// Movimenti magazzino giacenza //
$Query = "SELECT DISTINCT(PO_number) FROM FATTURATO2_CONTAINER WHERE upper(PO_number) LIKE 'CAM/%' AND Motivo_Scarto IS NULL";
$stmt = $db->prepare($Query);
$stmt->execute();
while ($row = $stmt->fetch()) {
$Protocollo = $row[0];
$Query = "SELECT MagazzinoUtente,SHCustomer,IdCodClienteSAP FROM GARE WHERE Protocollo ='$Protocollo'";
$stmg = $db->prepare($Query);
$stmg->execute();
$row = $stmg->fetch();
$MagPartenza = $row[0];
$ShCustomer = $row[1];
$CodClienteSap = $row[2];
if ($ShCustomer != $CodClienteSap) $CaricoScarico = 1; else $CaricoScarico = 0;
$y = 0;
$CodiceArticolo = array();
$CodiceShort = array();
$Descrizione = array();
$Hyperion1 = array();
$Hyperion2 = array();
$Hyperion3 = array();
$StratPack = array();
$CodSC = array();
$ArtHcHo = array();
$PrezzoUnitario = array();
$QtaRichiesta = array();
$Query = "SELECT Material,Billing_qty_in_SKU FROM FATTURATO2_CONTAINER WHERE PO_Number = '$Protocollo'";
$stmc = $db->prepare($Query);
$stmc->execute();
while ($row = $stmc->fetch()) {
$Material = $row[0];
$Qta = $row[1];
$Query = "SELECT ShortProductCode,DESCRIZIONE,Hyperion1,Hyperion2,Hyperion3,StratPack,SC,Hospital_HomeCare,Prezzi_ MEDI FROM MASTERFILE WHERE CODARTICOLO = '$Material'";
$stmm = $db->prepare($Query);
$stmm->execute();
while ($row = $stmm->fetch()) {
$CodiceArticolo[$y] = $Material;
$CodiceShort[$y] = $row[0];
$Descrizione[$y] = $row[1];
$Hyperion1[$y] = $row[2];
$Hyperion2[$y] = $row[3];
$Hyperion3[$y] = $row[4];
$StratPack[$y] = $row[5];
$CodSC[$y] = $row[6];
$ArtHcHo[$y] = $row[7];
$PrezzoUnitario[$y] = strlen($row[8] == 0) ? 0 : $row[8];
$QtaRichiesta[$y] = $Qta;
$y++;
}
}
for ($z = 0; $z < count($CodiceArticolo); $z++) {
$Articolo = $CodiceArticolo[$z];
$Query = "SELECT Id FROM MOVIMENTI_MAGAZZINO_GIACENZA WHERE CodiceArticoloSAP = '$Articolo' AND MagazzinoIn = '$MagPartenza'";
$stmm = $db->prepare($Query);
$stmm->execute();
$row = $stmm->fetch();
if (count($row) == 0) {
$Query = "INSERT INTO MOVIMENTI_MAGAZZINO_GIACENZA (CodiceArticoloSAP,CodiceArticoloShort,DescrizioneArticolo,Hyperion1,Hyperion2,Hyperion3,StratPack,ArticoloHospital_HomeCare,
ValoreGiacenza,QtaGiacenza,Operatore) VALUES ('$CodiceArticolo[$z]','$CodiceShort[$z],'$Descrizione[$z]','$Hyperion1[$z]','$Hyperion2[$z]','$Hyperion3[$z]','$StratPack[$z]',
$ArtHcHo[$z],$PrezzoUnitario[$z],$QtaRichiesta[$z],'$Operatore'";
}
else {
$Query = "UPDATE MOVIMENTI_MAGAZZINO_GIACENZA SET ValoreGiacenza = ValoreGiacenza + $PrezzoUnitario[$z]) / 2, QtaGiacenza = QtaGiacenza + $QtaRichiesta[$z],Operatore = '$Operatore'
WHERE CodiceArticoloSAP = '$Articolo' AND MagazzinoIn = '$MagPartenza'";
}
$stmg = $db->prepare($Query);
$stmg->execute();
}
if ($CaricoScarico == 1) {
for ($z = 0; $z < count($CodiceArticolo); $z++) {
$Articolo = $CodiceArticolo[$z];
$Query = "SELECT Id FROM MOVIMENTI_MAGAZZINO_GIACENZA WHERE CodiceArticoloSAP = '$Articolo' AND MagazzinoIn = '$MagPartenza'";
$stmm = $db->prepare($Query);
$stmm->execute();
$row = $stmm->fetch();
if (count($row) <> 0) {
$Query = "UPDATE MOVIMENTI_MAGAZZINO_GIACENZA SET ValoreGiacenza = ValoreGiacenza + $PrezzoUnitario[$z]) / 2, QtaGiacenza = QtaGiacenza + $QtaRichiesta[$z],Operatore = '$Operatore'
WHERE CodiceArticoloSAP = '$Articolo' AND MagazzinoIn = '$MagPartenza'";
$stmg = $db->prepare($Query);
$stmg->execute();
}
}
}
}
}
// Movimenti di carico e scarico
$Query = "SELECT DISTINCT(PO_number) FROM FATTURATO2_CONTAINER WHERE upper(PO_number) LIKE 'CAM/%' AND Motivo_Scarto IS NULL";
$stmt = $db->prepare($Query);
$stmt->execute();
while ($row = $stmt->fetch()) {
$Protocollo = $row[0];
$Query = "SELECT UtenteCreatore,DataBando,Protocollo,IdCodClienteSAP,SHCustomer,DenominazioneStazione,IndirizzoCliente,LocalitaCliente,CapCliente,ProvinciaCliente,RegioneCliente,
ImportoGara,SHCity,SHStreet,SHCountry,SHRegione,SHRegion,SHPostalCode,SHName,SHQualifica,MagazzinoUtente,DA_Qualifica,DA_Titolo,DA_Descrizione,DA_Email,DA_Stanza,DA_Reparto,DA_Localita,
DA_Provincia,DA_Cap,DA_Telefono,Da_Mobile,DA_Id,Tipo_Campioni FROM GARE WHERE Protocollo = '$Protocollo'";
$stmg = $db->prepare($Query);
$stmg->execute();
while ($row = $stmg->fetch()) {
$UtenteCreatore = $row[0];
$DataBando = $row[1];
$Protocollo = $row[2]
$CodSold = $row[3];
$CodShip = $row[4];
$RagioneSociale = $row[5];
$Indirizzo = $row[6];
$Localita = $row[7];
$Cap = $row[8];
$Provincia = $row[9];
$RegioneCliente = $row[10];
$ImportoGara = $row[11];
$ShCity = $row[12];
$ShStreet = $row[13];
$ShCountry = $row[14];
$ShRegione = $row[15];
$ShRegion = $row[16];
$ShPostalCode = $row[17];
$ShName = $row[18];
$ShQualifica = $row[19];
$MagUtente = $row[20];
$DA_Qualifica = $row[21];
$DA_Titolo = $row[22];
$DA_Descrizione = $row[23];
$DA_Email = $row[24];
$DA_Stanza = $row[25];
$DA_Reparto = $row[26];
$DA_Localita = $row[27];
$DA_Provincia = $row[28];
$DA_Cap = $row[29];
$DA_Telefono = $row[30];
$DA_Mobile = $row[31];
$DA_Id = $row[32];
$TipoCampioni = $row[33];
$Query = "SELECT Id FROM UTENTI WHERE CodMagazzino = '$MagUtente' FETCH FIRST 1 ROW ONLY";
$stmu = $db->prepare($Query);
$stmu->execute();
$row = $stmu->fetch();
$IdUtente = $row[0];
if ($CodSold <> $CodShip) {
$Query = "SELECT Id FROM MAGAZZINI WHERE TipoMagazzino = 'c/ Visione' AND CodClienteMagazzino = '$CodShip' AND DA_Id = ''";
$stmz = $db->prepare($Query);
$stmz->execute();
$row = $stmz->fetch();
if (count($row) == 0) {
$DescrizioneMagazzino = "Magazzino ".$ShName;
$Query = "INSERT INTO MAGAZZINI (DescrizioneMagazzino,IndirizzoMagazzino,LocalitaMagazzino,NazioneMagazzino,CapMagazzino,ProvinciaMagazzino,TipoMagazzino,
CodClienteMagazzino,RagioneSocialeMagazzino) VALUES ('$DescrizioneMagazzino','$ShStreet','$ShCity','$ShCountry','$ShPostalCode','$ShRegion','c/ Visione',
'$CodShip','$ShName')";
$stmz = $db->prepare($Query);
$stmz->execute();
$Query = "SELECT Id FROM MAGAZZINI WHERE TipoMagazzino = 'c/ Visione' AND CodClienteMagazzino = '$CodShip' AND DA_Id = ''";
$stmz = $db->prepare($Query);
$stmz->execute();
$row = $stmz->fetch();
}
$MagCliente = $row[0];
if (strlen($DA_Id) > 0) {
$Query = "SELECT Id FROM MAGAZZINI WHERE TipoMagazzino = 'c/ Visione' AND CodClienteMagazzino = '$CodShip' AND DA_Id = '$DA_Id'";
$stmz = $db->prepare($Query);
$stmz->execute();
if (count($row) == 0) {
$Query = "INSERT INTO MAGAZZINI (Id,DescrizioneMagazzino,IndirizzoMagazzino,LocalitaMagazzino,NazioneMagazzino,CapMagazzino,ProvinciaMagazzino,TipoMagazzino,
CodClienteMagazzino,RagioneSocialeMagazzino,DA_Descrizione,DA_Email,DA_Id,DA_Mobile,DA_Qualifica,DA_Reparto,DA_Stanza,DA_Telefono,DA_Titolo) VALUES (
'$MagCliente','$DescrizioneMagazzino','$ShStreet','$ShCity','$ShCountry','$ShPostalCode','$ShRegion','c/ Visione','$CodShip','$ShName','$DA_Descrizione',
'$DA_Email','$DA_Id','$DA_Mobile','$DA_Qualifica','$DA_Reparto','$DA_Stanza',$DA_Telefono','$DA_Titolo')";
$stmz = $db->prepare($Query);
$stmz->execute();
}
}
}
}
// ------------------- PRODUZIONE OUTPUT ---------------- //
if (!file_exists($temp.$campionicheck)) {
$Query = "select Id,Document_date,Material,Billing_qty_in_SKU,SD_Document,PO_Number,Ship_to_party,Motivo_Scarto from FATTURATO2_CONTAINER";
$stmt = $db->prepare($Query);
$stmt->execute();
if ($stmt->Rowcount() > 0) {
$htmlcampioni .= "";
$htmlcampioni .= "Resoconto caricamento CAMPIONI
";
$htmlcampioni .= "Id | Data | Material | Qta | SD document | PO number | Ship | Scarto |
";
$countcampioni = 0;
while ($row = $stmt->fetch()) {
$htmlcampioni .= "".$row[0]." | ".$row[1]." | ".$row[2]." | ".$row[3]." | ".$row[4]." | ".$row[5]." | ".$row[6]." | ".$row[7]." |
";
if ($row[7] == null) $countcampioni++;
}
$htmlcampioni .= "
Movimenti validi caricati: ".$countcampioni."
";
}
else {
$htmlcampioni .= "";
$htmlcampioni .= "Resoconto caricamento CAMPIONI
";
$htmlcampioni .= "Id | Data | Material | Qta | SD document | PO number | Ship | Scarto |
";
$htmlcampioni .= "Nessuna record CAMPIONI caricato |
";
$htmlcampioni .= "
";
}
}
else {
$htmlcampioni .= "";
$htmlcampioni .= "Resoconto caricamento campioni
";
$htmlcampioni .= "Id | Data | Material | Qta | SD document | Scarto |
";
$htmlcampioni .= "Errore durante il caricamento dei campioni |
";
$htmlcampioni .= "
";
}
// ------------------- CONCLUSIONE SCRIPT - EMAIL ---------------- //
$oggetto = "DATAFLEX Tender - Caricamento CAMPIONI del ".date("d/m/Y H:i:s");
$corpo = "Operazioni di caricamento campioni da SAP
".$htmlcampioni."
";
$corpo .= "";
$corpo .= "Questa mail รจ stata generata automaticamente da un indirizzo di posta elettronica non presidiato. Si chiede pertanto non rispondere al messaggio. Grazie.
";
$corpo .= "
";
try {
$ma = new MAILprog;
$mail = new PHPMailer(true);
$mail->CharSet = $ma->char;
$mail->SMTPDebug = 2;
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPOptions = array ('ssl' => array ('verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true));
$mail->Username = $ma->user;
$mail->Password = $ma->pass;
$mail->SMTPSecure = $ma->secu;
$mail->Host = $ma->host;
$mail->Port = $ma->port;
$mail->From = $ma->from;
$mail->FromName = $ma->name;
for ($x=0; $xAddAddress($destinatari[$x]);
}
for ($x=0; $xaddBCC($conoscenza[$x]);
}
$mail->Subject = $oggetto;
$mail->IsHTML(true);
$mail->Body = $corpo;
if(!$mail->Send()) $send = 1;
$mail->clearAllRecipients();
}
catch (Exception $e) {
echo $e;
}
$db = null;
?>