fhiiqm/inc/vertragtab_ins.inc.php
changeset 43 70cea8f0e807
parent 36 4411d3239444
--- a/fhiiqm/inc/vertragtab_ins.inc.php	Fri Jan 17 08:50:55 2014 +0100
+++ b/fhiiqm/inc/vertragtab_ins.inc.php	Wed Aug 06 09:42:40 2014 +0200
@@ -1,175 +1,182 @@
-<?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'];
-            }
-            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";
-                }
-            }
+<?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";
+                }
+            }
 ?>
\ No newline at end of file