author | Bettina Schwarzer |
Fri, 05 Feb 2016 14:03:40 +0100 | |
changeset 44 | d652bbba2d43 |
parent 43 | 70cea8f0e807 |
permissions | -rw-r--r-- |
43 | 1 |
<?php |
2 |
||
3 |
/** |
|
4 |
* @author Bettina Schwarzer, Fritz-Haber-Institut |
|
5 |
* @copyright 06/2011 |
|
6 |
* |
|
7 |
* INSERT Vertragsdaten in n:m-Tabellen fuer INSERT und UPDATE Vertragsdaten |
|
8 |
*/ |
|
9 |
||
10 |
// Loeschen der alten Bearbeiter, Hinzufuegen der neuen |
|
11 |
$retb = true; |
|
12 |
$sql = "DELETE FROM Vertrag_Bearbeiter WHERE contract_ID = $cid"; |
|
13 |
$retd = $dbc -> execute($sql); |
|
14 |
if ($retd) |
|
15 |
{ |
|
16 |
if (is_array($vtr['cpers'])) |
|
17 |
{ |
|
18 |
foreach ($vtr['cpers'] as $pers) |
|
19 |
{ |
|
20 |
if ($pers != -1) |
|
21 |
{ |
|
22 |
$sql = "INSERT INTO Vertrag_Bearbeiter VALUES($cid, $pers)"; |
|
23 |
// echo "INSERT Bearbeiter: $sql<br><br>\n"; |
|
24 |
$retb = $dbc -> execute($sql); |
|
25 |
} |
|
26 |
} |
|
27 |
} |
|
28 |
||
29 |
} |
|
30 |
||
31 |
// Partner |
|
32 |
$retp = true; |
|
33 |
if ($vtr['partid'] != -1) |
|
34 |
{ |
|
35 |
// Loeschen alter Partner, INSERT neuer |
|
36 |
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid"; |
|
37 |
$retdp = $dbc -> execute($sql); |
|
38 |
if ($retdp) |
|
39 |
{ |
|
40 |
$sql = "INSERT INTO Vertrag_Partner VALUES($cid," . $vtr['partid'] .")"; |
|
41 |
$retp = $dbc -> execute($sql); |
|
42 |
if (!$retp) echo "error INSERT Vertrag_Partner: " . $dbc -> error . " <br />\n"; |
|
43 |
} |
|
44 |
$pid = $vtr['partid']; |
|
45 |
} |
|
46 |
else |
|
47 |
{ |
|
48 |
// Loeschen alter Partner, INSERT neuer |
|
49 |
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid"; |
|
50 |
$retdp = $dbc -> execute($sql); |
|
51 |
if ($retdp) $retp=1; |
|
52 |
} |
|
53 |
if ($vtr['partner']) |
|
54 |
{ |
|
55 |
// Test, ob Eintrag schon vorhanden |
|
56 |
$sql = "SELECT part_ID, part_firma FROM Partner WHERE part_firma = '" . ltrim($vtr['partner']) . "'"; |
|
57 |
if ($res = $dbc -> queryObjectArray($sql)) |
|
58 |
{ |
|
59 |
foreach ($res as $row) |
|
60 |
$pid = $row->part_ID; |
|
61 |
} |
|
62 |
else |
|
63 |
{ |
|
64 |
// INSERT in Partner, ID INSERT in Vertrag_Partner |
|
65 |
$sql = "INSERT INTO Partner (part_firma) VALUES (LEFT(TRIM('" . $vtr['partner'] . "'),50))"; |
|
66 |
$retp = $dbc -> execute($sql); |
|
67 |
// echo "Partner INSERT: $sql<br />\n"; |
|
68 |
if ($retp) $pid = $dbc -> insertId(); |
|
69 |
} |
|
70 |
if ($pid) |
|
71 |
{ |
|
72 |
// Loeschen alter Partner, INSERT neuer |
|
73 |
$sql = "DELETE FROM Vertrag_Partner WHERE contract_ID = $cid"; |
|
74 |
$retdp = $dbc -> execute($sql); |
|
75 |
if ($retdp) |
|
76 |
{ |
|
77 |
$sql = "INSERT INTO Vertrag_Partner VALUES($cid,$pid)"; |
|
78 |
$retp = $dbc -> execute($sql); |
|
79 |
if (!$retp) echo "error INSERT Vertrag_Partner: " . $dbc -> error . " <br />\n"; |
|
80 |
} |
|
81 |
} |
|
82 |
} |
|
83 |
||
84 |
// Produkt |
|
85 |
$retd = true; |
|
86 |
if ($vtr['prodid'] > 0 || $vtr['prodid'] = -1) // nur Produkte, keine Gruppen, Bereiche |
|
87 |
{ |
|
88 |
// Loeschen altes Produkt, INSERT neues |
|
89 |
$sql = "DELETE FROM Produkt_Vertrag WHERE contract_ID = $cid"; |
|
90 |
$retdd = $dbc -> execute($sql); |
|
91 |
if ($retdd && $vtr['prodid'] > 0) |
|
92 |
{ |
|
93 |
//INSERT in Produkt_Vertrag |
|
94 |
$sql = "INSERT INTO Produkt_Vertrag VALUES(".$vtr['prodid'].",$cid)"; |
|
95 |
$retd = $dbc -> execute($sql); |
|
96 |
if (!$retd) echo "error INSERT Produkt_Vertrag: " . $dbc -> error . " <br />\n"; |
|
97 |
} |
|
98 |
||
99 |
} |
|
100 |
||
101 |
// Kosten |
|
102 |
$retk = true; |
|
103 |
if ($vtr['kost'] && ($vtr['bjahr'] || $vtr['bdat'])) // Kosten fuer mindestens Startjahr |
|
104 |
{ |
|
105 |
if ($vtr['bdat']) |
|
106 |
{ |
|
107 |
$jahr = new DateTime($vtr['bdat']); |
|
108 |
$bjahr = $jahr->format('Y'); |
|
109 |
} |
|
110 |
else $bjahr = $vtr['bjahr']; |
|
111 |
||
112 |
// alle bisherigen Angaben loeschen |
|
113 |
$sql = "DELETE FROM Vertrag_Kosten WHERE contract_ID = $cid"; |
|
114 |
$retdk = $dbc -> execute($sql); |
|
115 |
if ($retdk) |
|
116 |
{ |
|
117 |
$j=0; |
|
118 |
if ($vtr['ejahr'] || $vtr['edat']) |
|
119 |
{ |
|
120 |
if ($vtr['ejahr']) $ejahr = $vtr['ejahr']; |
|
121 |
else |
|
122 |
{ |
|
123 |
$jahr = new DateTime($vtr['edat']); |
|
124 |
$ejahr = $jahr->format('Y'); |
|
125 |
} |
|
126 |
} |
|
127 |
elseif ($vtr["cautoend"] && !$vtr['ejahr'] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben |
|
128 |
$ejahr = date("Y"); |
|
129 |
else |
|
130 |
$ejahr = null; |
|
131 |
// if ($vtr['ejahr']) // Endjahr angegeben |
|
132 |
if ($ejahr) // Endjahr angegeben |
|
133 |
{ |
|
134 |
for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++) |
|
135 |
{ |
|
136 |
if ($vtr['kost'][$j]) |
|
137 |
{ |
|
138 |
// $kost = str_replace(',','.',$vtr['kost'][$j]); |
|
139 |
$kost = dbformat_wert($vtr['kost'][$j]); |
|
140 |
$sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,$i,$kost)"; |
|
141 |
$retk = $dbc -> execute($sql); |
|
142 |
} |
|
143 |
$j++; |
|
144 |
} |
|
145 |
} |
|
146 |
else // nur fuer Startjahr |
|
147 |
{ |
|
148 |
if ($vtr['kost'][0]) |
|
149 |
{ |
|
150 |
// $kost = str_replace(',','.',$vtr['kost'][0]); |
|
151 |
$kost = dbformat_wert($vtr['kost'][0]); |
|
152 |
$sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,".(int)$bjahr.",$kost)"; |
|
153 |
$retk = $dbc -> execute($sql); |
|
154 |
} |
|
155 |
} |
|
156 |
if (!$retk) echo "error INSERT Vertrag_Kosten: " . $dbc -> error . "<br />$sql<br />\n"; |
|
157 |
} |
|
158 |
} |
|
159 |
||
160 |
// Vertragfile und Schlagwort |
|
161 |
$retl = true; |
|
162 |
if (is_array($vtr['cfname']) && count($vtr['cfname']) > 0) |
|
163 |
{ |
|
164 |
// alle bisherigen Dokumente loeschen |
|
165 |
$sql = "DELETE FROM Vertrag_File WHERE contract_ID = $cid"; |
|
166 |
$retdl = $dbc -> execute($sql); |
|
167 |
if ($retdl) |
|
168 |
{ |
|
169 |
foreach ($vtr['cfname'] as $key => $value) |
|
170 |
{ |
|
171 |
if ($value) |
|
172 |
{ |
|
173 |
if (!$vtr['swort'][$key] || $vtr['swort'][$key]<"!") $sw = "NULL"; else $sw = "'".$vtr['swort'][$key]."'"; |
|
174 |
if (substr($value,0,$len) != $cid . "_") $file = $cid . "_".$value; else $file = $value; |
|
175 |
$sql = "INSERT INTO Vertrag_File (contract_ID,cf_filename,cf_schlagwort) VALUES ($cid,'$file',$sw)"; |
|
176 |
$retl = $retl && $dbc -> execute($sql); |
|
177 |
} |
|
178 |
} |
|
179 |
if (!$retl) echo "error INSERT Vertrag_File: " . $dbc -> error . "<br />$sql<br />\n"; |
|
180 |
} |
|
181 |
} |
|
1
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
182 |
?> |