<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 06/2011
*
* INSERT Vertragsdaten in n:m-Tabellen fuer INSERT und UPDATE Vertragsdaten
*/
// Loeschen der alten Bearbeiter, Hinzufuegen der neuen
$retb = true;
$sql = "DELETE FROM Vertrag_Bearbeiter WHERE contract_ID = $cid";
$retd = $dbc -> execute($sql);
if ($retd)
{
if (is_array($vtr['cpers']))
{
foreach ($vtr['cpers'] as $pers)
{
if ($pers != -1)
{
$sql = "INSERT INTO Vertrag_Bearbeiter VALUES($cid, $pers)";
// echo "INSERT Bearbeiter: $sql<br><br>\n";
$retb = $dbc -> execute($sql);
}
}
}
}
// Partner
$retp = true;
if ($vtr['partid'] != -1)
{
// Loeschen alter Partner, INSERT neuer
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid";
$retdp = $dbc -> execute($sql);
if ($retdp)
{
$sql = "INSERT INTO Vertrag_Partner VALUES($cid," . $vtr['partid'] .")";
$retp = $dbc -> execute($sql);
if (!$retp) echo "error INSERT Vertrag_Partner: " . $dbc -> error . " <br />\n";
}
$pid = $vtr['partid'];
}
else
{
// Loeschen alter Partner, INSERT neuer
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid";
$retdp = $dbc -> execute($sql);
if ($retdp) $retp=1;
}
if ($vtr['partner'])
{
// Test, ob Eintrag schon vorhanden
$sql = "SELECT part_ID, part_firma FROM Partner WHERE part_firma = '" . ltrim($vtr['partner']) . "'";
if ($res = $dbc -> queryObjectArray($sql))
{
foreach ($res as $row)
$pid = $row->part_ID;
}
else
{
// INSERT in Partner, ID INSERT in Vertrag_Partner
$sql = "INSERT INTO Partner (part_firma) VALUES (LEFT(TRIM('" . $vtr['partner'] . "'),50))";
$retp = $dbc -> execute($sql);
// echo "Partner INSERT: $sql<br />\n";
if ($retp) $pid = $dbc -> insertId();
}
if ($pid)
{
// Loeschen alter Partner, INSERT neuer
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid";
$retdp = $dbc -> execute($sql);
if ($retdp)
{
$sql = "INSERT INTO Vertrag_Partner VALUES($cid,$pid)";
$retp = $dbc -> execute($sql);
if (!$retp) echo "error INSERT Vertrag_Partner: " . $dbc -> error . " <br />\n";
}
}
}
// Produkt
$retd = true;
if ($vtr['prodid'] > 0 || $vtr['prodid'] = -1) // nur Produkte, keine Gruppen, Bereiche
{
// Loeschen altes Produkt, INSERT neues
$sql = "DELETE FROM Produkt_Vertrag WHERE contract_ID = $cid";
$retdd = $dbc -> execute($sql);
if ($retdd && $vtr['prodid'] > 0)
{
//INSERT in Produkt_Vertrag
$sql = "INSERT INTO Produkt_Vertrag VALUES(".$vtr['prodid'].",$cid)";
$retd = $dbc -> execute($sql);
if (!$retd) echo "error INSERT Produkt_Vertrag: " . $dbc -> error . " <br />\n";
}
}
// Kosten
$retk = true;
if ($vtr['kost'] && ($vtr['bjahr'] || $vtr['bdat'])) // Kosten fuer mindestens Startjahr
{
if ($vtr['bdat'])
{
$jahr = new DateTime($vtr['bdat']);
$bjahr = $jahr->format('Y');
}
else $bjahr = $vtr['bjahr'];
// alle bisherigen Angaben loeschen
$sql = "DELETE FROM Vertrag_Kosten WHERE contract_ID = $cid";
$retdk = $dbc -> execute($sql);
if ($retdk)
{
$j=0;
if ($vtr['ejahr'] || $vtr['edat'])
{
if ($vtr['ejahr']) $ejahr = $vtr['ejahr'];
else
{
$jahr = new DateTime($vtr['edat']);
$ejahr = $jahr->format('Y');
}
}
elseif ($vtr["cautoend"] && !$vtr['ejahr'] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
$ejahr = date("Y");
else
$ejahr = null;
// if ($vtr['ejahr']) // Endjahr angegeben
if ($ejahr) // Endjahr angegeben
{
for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++)
{
if ($vtr['kost'][$j])
{
// $kost = str_replace(',','.',$vtr['kost'][$j]);
$kost = dbformat_wert($vtr['kost'][$j]);
$sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,$i,$kost)";
$retk = $dbc -> execute($sql);
}
$j++;
}
}
else // nur fuer Startjahr
{
if ($vtr['kost'][0])
{
// $kost = str_replace(',','.',$vtr['kost'][0]);
$kost = dbformat_wert($vtr['kost'][0]);
$sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,".(int)$bjahr.",$kost)";
$retk = $dbc -> execute($sql);
}
}
if (!$retk) echo "error INSERT Vertrag_Kosten: " . $dbc -> error . "<br />$sql<br />\n";
}
}
// Vertragfile und Schlagwort
$retl = true;
if (is_array($vtr['cfname']) && count($vtr['cfname']) > 0)
{
// alle bisherigen Dokumente loeschen
$sql = "DELETE FROM Vertrag_File WHERE contract_ID = $cid";
$retdl = $dbc -> execute($sql);
if ($retdl)
{
foreach ($vtr['cfname'] as $key => $value)
{
if ($value)
{
if (!$vtr['swort'][$key] || $vtr['swort'][$key]<"!") $sw = "NULL"; else $sw = "'".$vtr['swort'][$key]."'";
if (substr($value,0,$len) != $cid . "_") $file = $cid . "_".$value; else $file = $value;
$sql = "INSERT INTO Vertrag_File (contract_ID,cf_filename,cf_schlagwort) VALUES ($cid,'$file',$sw)";
$retl = $retl && $dbc -> execute($sql);
}
}
if (!$retl) echo "error INSERT Vertrag_File: " . $dbc -> error . "<br />$sql<br />\n";
}
}
?>