mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
WaWi Rechnungen:
Bestellnummern werden farblich markiert Kostenstelle beim Anlegen von Rechnungen auswählbar
This commit is contained in:
@@ -167,7 +167,7 @@ class wawi_bestellung extends basis_db
|
||||
* @param $mitarbeiter_uid
|
||||
* @param $rechnung
|
||||
*/
|
||||
public function getAllSearch($bestellnr, $titel, $evon, $ebis, $bvon, $bbis, $firma_id, $oe_kurzbz, $konto_id, $mitarbeiter_uid, $rechnung, $filter_firma)
|
||||
public function getAllSearch($bestellnr, $titel, $evon, $ebis, $bvon, $bbis, $firma_id, $oe_kurzbz, $konto_id, $mitarbeiter_uid, $rechnung, $filter_firma, $kostenstelle_id=null)
|
||||
{
|
||||
$first = true;
|
||||
$qry = "SELECT distinct on (bestellung.bestellung_id) *, status.updateamum as update, bestellung.updatevon as update_von, bestellung.insertamum as insert, bestellung.insertvon as insert_von
|
||||
@@ -176,141 +176,48 @@ class wawi_bestellung extends basis_db
|
||||
|
||||
LEFT JOIN wawi.tbl_bestellung_bestellstatus status USING (bestellung_id)
|
||||
LEFT JOIN wawi.tbl_kostenstelle kostenstelle USING (kostenstelle_id)
|
||||
LEFT JOIN public.tbl_organisationseinheit orgaeinheit ON (orgaeinheit.oe_kurzbz = kostenstelle.oe_kurzbz) ";
|
||||
LEFT JOIN public.tbl_organisationseinheit orgaeinheit ON (orgaeinheit.oe_kurzbz = kostenstelle.oe_kurzbz)
|
||||
WHERE 1=1 ";
|
||||
|
||||
if ($bestellnr != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= " UPPER(bestellung.bestell_nr) LIKE UPPER('%$bestellnr%')";
|
||||
}
|
||||
if ($titel != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= " UPPER(bestellung.titel) LIKE UPPER('%$titel%')";
|
||||
}
|
||||
if ($evon != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' bestellung.insertamum > date('.$this->addslashes($evon).')';
|
||||
}
|
||||
if ($ebis != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' bestellung.insertamum < '.$this->addslashes($ebis);
|
||||
}
|
||||
if ($bvon != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= " status.bestellstatus_kurzbz = 'Bestellung' and status.insertamum > ".$this->addslashes($bvon);
|
||||
}
|
||||
if ($bbis != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= " status.bestellstatus_kurzbz = 'Bestellung' and status.insertamum < ".$this->addslashes($bbis);
|
||||
}
|
||||
if ($firma_id != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' bestellung.firma_id = '.$this->addslashes($firma_id);
|
||||
}
|
||||
if ($filter_firma != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' or ';
|
||||
$qry.= ' bestellung.firma_id = '.$this->addslashes($filter_firma);
|
||||
}
|
||||
if ($oe_kurzbz != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' orgaeinheit.oe_kurzbz = '.$this->addslashes($oe_kurzbz);
|
||||
}
|
||||
if ($konto_id != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' bestellung.konto_id = '.$this->addslashes($konto_id);
|
||||
}
|
||||
if ($mitarbeiter_uid != '')
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' bestellung.updatevon = '.$this->addslashes($mitarbeiter_uid);
|
||||
}
|
||||
if($rechnung)
|
||||
{
|
||||
if($first == true)
|
||||
{
|
||||
$qry.= 'where ';
|
||||
$first = false;
|
||||
}
|
||||
else
|
||||
$qry.= ' and ';
|
||||
$qry.= ' not exists (Select bestellung.bestellung_id from wawi.tbl_rechnung rechnung where rechnung.bestellung_id=bestellung.bestellung_id)';
|
||||
}
|
||||
$qry.= " AND UPPER(bestellung.bestell_nr) LIKE UPPER('%".addslashes($bestellnr)."%')";
|
||||
|
||||
if ($titel != '')
|
||||
$qry.= " AND UPPER(bestellung.titel) LIKE UPPER('%".addslashes($titel)."%')";
|
||||
|
||||
if ($evon != '')
|
||||
$qry.= ' AND bestellung.insertamum > date('.$this->addslashes($evon).')';
|
||||
|
||||
if ($ebis != '')
|
||||
$qry.= ' AND bestellung.insertamum < '.$this->addslashes($ebis);
|
||||
|
||||
if ($bvon != '')
|
||||
$qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum > ".$this->addslashes($bvon);
|
||||
|
||||
if ($bbis != '')
|
||||
$qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum < ".$this->addslashes($bbis);
|
||||
|
||||
if ($firma_id != '')
|
||||
$qry.= ' AND bestellung.firma_id = '.$this->addslashes($firma_id);
|
||||
|
||||
if ($filter_firma != '')
|
||||
$qry.= ' AND bestellung.firma_id = '.$this->addslashes($filter_firma);
|
||||
|
||||
if ($oe_kurzbz != '')
|
||||
$qry.= ' AND orgaeinheit.oe_kurzbz = '.$this->addslashes($oe_kurzbz);
|
||||
|
||||
if ($konto_id != '')
|
||||
$qry.= ' AND bestellung.konto_id = '.$this->addslashes($konto_id);
|
||||
|
||||
if ($mitarbeiter_uid != '')
|
||||
$qry.= ' AND bestellung.updatevon = '.$this->addslashes($mitarbeiter_uid);
|
||||
|
||||
if($rechnung)
|
||||
$qry.= ' AND not exists (Select bestellung.bestellung_id from wawi.tbl_rechnung rechnung where rechnung.bestellung_id=bestellung.bestellung_id)';
|
||||
|
||||
if($kostenstelle_id!='')
|
||||
$qry.= ' AND kostenstelle_id='.$this->addslashes($kostenstelle_id);
|
||||
echo $qry;
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Datenbankabfrage.";
|
||||
|
||||
@@ -129,7 +129,7 @@ class wawi_rechnung extends basis_db
|
||||
$first = true;
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct on (tbl_rechnung.rechnung_id) tbl_rechnung.*
|
||||
distinct on (tbl_rechnung.rechnung_id) tbl_rechnung.*, tbl_bestellung.bestell_nr
|
||||
FROM
|
||||
wawi.tbl_rechnung
|
||||
LEFT JOIN wawi.tbl_bestellung USING (bestellung_id)
|
||||
@@ -206,6 +206,8 @@ class wawi_rechnung extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
$obj->bestell_nr = $row->bestell_nr;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -508,4 +510,44 @@ class wawi_rechnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Anzahl der Rechnungen zu einer Bestellung
|
||||
*
|
||||
* @param $bestellung_id
|
||||
* @return Anzahl der Rechnungen oder false im Fehlerfall
|
||||
*/
|
||||
public function count($bestellung_id)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM wawi.tbl_rechnung WHERE bestellung_id='".addslashes($bestellung_id)."'";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
return $row->anzahl;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function getBrutto($rechnung_id)
|
||||
{
|
||||
$this->loadBetraege($rechnung_id);
|
||||
$brutto=0;
|
||||
foreach($this->result as $row)
|
||||
{
|
||||
$brutto += ($row->betrag*($row->mwst+100)/100);
|
||||
}
|
||||
return $brutto;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
/* tables */
|
||||
table.tablesorter {
|
||||
font-family:arial;
|
||||
background-color: white;
|
||||
/*background-color: white;*/
|
||||
margin:10px 0pt 15px;
|
||||
font-size: 8pt;
|
||||
width: 100%;
|
||||
|
||||
+17
-1
@@ -114,4 +114,20 @@ table.dark td
|
||||
.number
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
option.rechnung_nichtfreigegeben
|
||||
{
|
||||
background-color: lightred;
|
||||
}
|
||||
|
||||
option.rechnung_freigegebenvorhanden
|
||||
{
|
||||
background-color: lightyellow;
|
||||
}
|
||||
|
||||
option.rechnung_freigegeben
|
||||
{
|
||||
background-color: lightgreen;
|
||||
}
|
||||
|
||||
+238
-196
@@ -298,31 +298,45 @@ if($aktion == 'suche')
|
||||
echo "<tr>
|
||||
<th></th>
|
||||
<th>Rechnungsnr.</th>
|
||||
<th>Bestell_ID</th>
|
||||
<th>Typ</th>
|
||||
<th>Bestell_Nr</th>
|
||||
<th>Rechnungsdatum</th>
|
||||
<th>Buchungstext</th>
|
||||
<th>Brutto</th>
|
||||
<th>Freigegeben</th>
|
||||
<th>Letzte Änderung</th>
|
||||
</tr></thead><tbody>\n";
|
||||
|
||||
$brutto_gesamt=0;
|
||||
foreach($rechnung->result as $row)
|
||||
{
|
||||
$obj = new wawi_rechnung();
|
||||
$brutto = $obj->getBrutto($row->rechnung_id);
|
||||
$brutto = round($brutto,2);
|
||||
$brutto_gesamt +=$brutto;
|
||||
//Zeilen der Tabelle ausgeben
|
||||
echo "<tr>\n";
|
||||
echo "<td nowrap>
|
||||
<a href= \"rechnung.php?method=update&id=$row->rechnung_id\" title=\"Bearbeiten\"> <img src=\"../skin/images/edit.gif\"> </a>
|
||||
<a href=\"rechnung.php?method=delete&id=$row->rechnung_id\" onclick='return conf_del()' title='Löschen'> <img src=\"../skin/images/delete.gif\"></a>";
|
||||
echo '<td>'.$row->rechnungsnr."</td>\n";
|
||||
echo '<td>'.$row->bestellung_id."</td>\n";
|
||||
echo '<td>'.$row->rechnungstyp_kurzbz."</td>\n";
|
||||
echo '<td>'.$row->bestell_nr."</td>\n";
|
||||
echo '<td>'.$date->formatDatum($row->rechnungsdatum, 'd.m.Y')."</td>\n";
|
||||
echo '<td>'.$row->buchungstext."</td>\n";
|
||||
echo '<td class="number">'.number_format($brutto,2,".","")."</td>\n";
|
||||
echo '<td>'.$freigegeben=($row->freigegeben=='t')?'ja':'nein'."</td>\n";
|
||||
echo '<td>'.$date->formatDatum($row->updateamum,'d.m.Y H:i:s').' '.$row->updatevon ."</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</tbody></table>\n";
|
||||
echo '</tbody>
|
||||
<tfoot>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>Summe</th>
|
||||
<th class="number">'.number_format($brutto_gesamt,2).'</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</table>';
|
||||
}
|
||||
else
|
||||
echo "Fehler bei der Abfrage!";
|
||||
@@ -335,28 +349,21 @@ elseif($aktion == 'new')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('wawi/rechnung',null,'sui'))
|
||||
die('Sie haben keine Berechtigung zum Anlegen von Rechnungen');
|
||||
|
||||
echo '<h1>Rechnung Neu</h1>';
|
||||
echo '<form action="rechnung.php" method="GET">';
|
||||
echo '<input type="hidden" name="method" value="update"/>';
|
||||
echo '<SELECT name="kostenstelle_id">';
|
||||
$kostenstelle = new wawi_kostenstelle();
|
||||
$kostenstelle->loadArray($rechte->getKostenstelle('wawi/rechnung'));
|
||||
|
||||
if(isset($_GET['oe_kurzbz']))
|
||||
foreach($kostenstelle->result as $row)
|
||||
{
|
||||
$aktion='update';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<h1>Rechnung Neu</h1>';
|
||||
echo '<form action="rechnung.php" method="GET">';
|
||||
echo '<input type="hidden" name="method" value="new"/>';
|
||||
echo '<SELECT name="oe_kurzbz">';
|
||||
$oe = new organisationseinheit();
|
||||
$oe->loadArray($rechte->getOEkurzbz('wawi/rechnung'));
|
||||
|
||||
foreach($oe->result as $row)
|
||||
{
|
||||
echo '<option value="'.$row->oe_kurzbz.'">'.$row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung.'</option>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
echo '<input type="submit" name="submit" value="Weiter"/>';
|
||||
echo '</form>';
|
||||
echo '<option value="'.$row->kostenstelle_id.'">'.$row->bezeichnung.'</option>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
echo '<input type="submit" name="submit" value="Weiter"/>';
|
||||
echo '</form>';
|
||||
|
||||
}
|
||||
elseif($aktion == 'save')
|
||||
@@ -505,16 +512,17 @@ if($aktion=='update')
|
||||
|
||||
if(!$bestellung->load($rechnung->bestellung_id))
|
||||
die('Diese Rechnung ist keiner gueltigen Bestellung zugeordnet');
|
||||
$bestellung_id=$bestellung->bestellung_id;
|
||||
|
||||
if(!$kostenstelle->load($bestellung->kostenstelle_id))
|
||||
die('Die Rechnung bzw Bestellung ist keiner gueltigen Kostenstelle zugeordnet');
|
||||
|
||||
|
||||
if(!$konto->load($bestellung->konto_id))
|
||||
die('Die Rechnung bzw Bestellung ist keim gueltigen Konto zugeordnet');
|
||||
|
||||
if(!$firma->load($bestellung->firma_id))
|
||||
die('Die Rechnung bzw Bestellung ist keiner gueltigen Firma zugeordnet');
|
||||
$oe_kurzbz=$kostenstelle->oe_kurzbz;
|
||||
$kostenstelle_id=$bestellung->kostenstelle_id;
|
||||
|
||||
echo '<table>
|
||||
<tr>
|
||||
@@ -531,195 +539,229 @@ if($aktion=='update')
|
||||
</tr>
|
||||
</table>';
|
||||
}
|
||||
elseif(isset($_GET['oe_kurzbz']))
|
||||
elseif(isset($_GET['kostenstelle_id']))
|
||||
{
|
||||
echo '<h1>Rechnung Neu</h1>';
|
||||
$rechnung_id='';
|
||||
$oe_kurzbz = $_GET['oe_kurzbz'];
|
||||
$rechnung_id='';
|
||||
$bestellung_id='';
|
||||
$kostenstelle_id = $_GET['kostenstelle_id'];
|
||||
}
|
||||
elseif(isset($_GET['bestellung_id']))
|
||||
{
|
||||
echo '<h1>Rechnung Neu</h1>';
|
||||
$bestellung_id=$_GET['bestellung_id'];
|
||||
$rechnung_id='';
|
||||
if(!$bestellung->load($bestellung_id))
|
||||
die('Bestellung existiert nicht');
|
||||
$kostenstelle_id=$bestellung->kostenstelle_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
die('ungueltige parameter');
|
||||
}
|
||||
echo '
|
||||
<br />
|
||||
<form action="'.$_SERVER['PHP_SELF'].'?method=save" method="POST">
|
||||
<input type="hidden" name="rechnung_id" value="'.$rechnung->rechnung_id.'">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Rechnungsnummer</td>
|
||||
<td>Rechnungsdatum </td>
|
||||
<td>Bestellung</td>
|
||||
<td>Typ</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="rechnungsnummer" value="'.$rechnung->rechnungsnr.'"></td>
|
||||
<td>
|
||||
<input type="text" name="rechnungsdatum" size="10" id="rechnungsdatum" value="'.$date->formatDatum($rechnung->rechnungsdatum,'d.m.Y').'">
|
||||
<script type="text/javascript">
|
||||
$("#rechnungsdatum" ).datepicker($.datepicker.regional["de"]);
|
||||
</script>
|
||||
</td>
|
||||
<td>
|
||||
<SELECT name="bestellung_id">
|
||||
';
|
||||
$bestellung = new wawi_bestellung();
|
||||
$bestellung->getAllSearch(null, null, null, null, null, null, null, $oe_kurzbz, null, null, TRUE, null);
|
||||
|
||||
foreach($bestellung->result as $row)
|
||||
echo '
|
||||
<br />
|
||||
<form action="'.$_SERVER['PHP_SELF'].'?method=save" method="POST">
|
||||
<input type="hidden" name="rechnung_id" value="'.$rechnung->rechnung_id.'">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Rechnungsnummer</td>
|
||||
<td>Rechnungsdatum (tt.mm.JJJJ) </td>
|
||||
<td>Bestellung</td>
|
||||
<td>Typ</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="rechnungsnummer" value="'.$rechnung->rechnungsnr.'"></td>
|
||||
<td>
|
||||
<input type="text" name="rechnungsdatum" size="10" id="rechnungsdatum" value="'.$date->formatDatum($rechnung->rechnungsdatum,'d.m.Y').'">
|
||||
<script type="text/javascript">
|
||||
$("#rechnungsdatum" ).datepicker($.datepicker.regional["de"]);
|
||||
</script>
|
||||
</td>
|
||||
<td>
|
||||
<SELECT name="bestellung_id">
|
||||
';
|
||||
$bestellung = new wawi_bestellung();
|
||||
$vondatum = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y')-2));
|
||||
|
||||
$bestellung->getAllSearch(null, null, null, null, $vondatum, null, null, null, null, null, null, null, $kostenstelle_id);
|
||||
|
||||
$vorhanden=false;
|
||||
foreach($bestellung->result as $row)
|
||||
{
|
||||
if($bestellung_id==$row->bestellung_id)
|
||||
{
|
||||
if($rechnung->bestellung_id==$row->bestellung_id)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
$selected='selected';
|
||||
$vorhanden=true;
|
||||
}
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<option value="'.$row->bestellung_id.'" '.$selected.'>'.$row->bestell_nr.'</option>';
|
||||
$anzahl=0;
|
||||
if(!$row->freigegeben)
|
||||
$class='rechnung_nichtfreigegeben';
|
||||
else
|
||||
{
|
||||
$anzahl = $rechnung->count($row->bestellung_id);
|
||||
if($anzahl>0)
|
||||
$class='rechnung_freigegebenvorhanden';
|
||||
else
|
||||
$class='rechnung_freigegeben';
|
||||
}
|
||||
|
||||
echo '</SELECT>
|
||||
</td>
|
||||
<td>
|
||||
<SELECT name="rechnungstyp_kurzbz">';
|
||||
$rtyp = new wawi_rechnung();
|
||||
$rtyp->getRechnungstyp();
|
||||
echo '<option value="'.$row->bestellung_id.'" '.$selected.' class="'.$class.'">'.$row->bestell_nr.' ('.$anzahl.')</option>';
|
||||
}
|
||||
if($bestellung_id!='' && !$vorhanden)
|
||||
{
|
||||
$bestell_obj = new wawi_bestellung();
|
||||
$bestell_obj->load($bestellung_id);
|
||||
$anzahl = $rechnung->count($bestellung_id);
|
||||
echo '<option value="'.$bestell_obj->bestellung_id.'" selected>'.$bestell_obj->bestell_nr.' ('.$anzahl.')</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
</td>
|
||||
<td>
|
||||
<SELECT name="rechnungstyp_kurzbz">';
|
||||
$rtyp = new wawi_rechnung();
|
||||
$rtyp->getRechnungstyp();
|
||||
|
||||
foreach($rtyp->result as $row)
|
||||
{
|
||||
if($row->rechnungstyp_kurzbz==$rechnung->rechnungstyp_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
foreach($rtyp->result as $row)
|
||||
{
|
||||
if($row->rechnungstyp_kurzbz==$rechnung->rechnungstyp_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$row->rechnungstyp_kurzbz.'" '.$selected.'>'.$row->beschreibung.'</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
Buchungstext<br />
|
||||
<textarea name="buchungstext" rows="4" cols="35">'.$rechnung->buchungstext.'</textarea>
|
||||
</td>
|
||||
<td valign="top">
|
||||
Buchungsdatum (tt.mm.JJJJ)<br />
|
||||
<input type="text" name="buchungsdatum" size="10" id="buchungsdatum" value="'.$date->formatDatum($rechnung->buchungsdatum,'d.m.Y').'">
|
||||
<script type="text/javascript">
|
||||
$("#buchungsdatum" ).datepicker($.datepicker.regional["de"]);
|
||||
</script>
|
||||
</td>
|
||||
<td valign="top" colspan="2">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Bezeichnung</td>
|
||||
<td>Betrag Netto</td>
|
||||
<td>MwSt</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="betrag_table">';
|
||||
|
||||
|
||||
//Vorhandenen Betraege anzeigen
|
||||
$betraege = new wawi_rechnung();
|
||||
$betraege->loadBetraege($rechnung->rechnung_id);
|
||||
|
||||
$i=0;
|
||||
foreach($betraege->result as $row)
|
||||
{
|
||||
echo getBetragRow($i, $row->rechnungsbetrag_id, $row->bezeichnung, $row->betrag, $row->mwst);
|
||||
$i++;
|
||||
}
|
||||
|
||||
//Unten eine Leere Zeile hinzufuegen
|
||||
echo getBetragRow($i);
|
||||
|
||||
echo '
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td>Summe Netto:</td>
|
||||
<td class="number" ><span id="netto"></span> €</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Summe Brutto:</td>
|
||||
<td class="number" ><span id="brutto"></span> €</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var anzahlRows='.$i.';
|
||||
|
||||
echo '<option value="'.$row->rechnungstyp_kurzbz.'" '.$selected.'>'.$row->beschreibung.'</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
Buchungstext<br />
|
||||
<textarea name="buchungstext" rows="4" cols="35">'.$rechnung->buchungstext.'</textarea>
|
||||
</td>
|
||||
<td valign="top">
|
||||
Buchungsdatum<br />
|
||||
<input type="text" name="buchungsdatum" size="10" id="buchungsdatum" value="'.$date->formatDatum($rechnung->buchungsdatum,'d.m.Y').'">
|
||||
<script type="text/javascript">
|
||||
$("#buchungsdatum" ).datepicker($.datepicker.regional["de"]);
|
||||
</script>
|
||||
</td>
|
||||
<td valign="top" colspan="2">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Bezeichnung</td>
|
||||
<td>Betrag Netto</td>
|
||||
<td>MwSt</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="betrag_table">';
|
||||
|
||||
|
||||
//Vorhandenen Betraege anzeigen
|
||||
$betraege = new wawi_rechnung();
|
||||
$betraege->loadBetraege($rechnung->rechnung_id);
|
||||
|
||||
$i=0;
|
||||
foreach($betraege->result as $row)
|
||||
{
|
||||
echo getBetragRow($i, $row->rechnungsbetrag_id, $row->bezeichnung, $row->betrag, $row->mwst);
|
||||
$i++;
|
||||
}
|
||||
|
||||
//Unten eine Leere Zeile hinzufuegen
|
||||
echo getBetragRow($i);
|
||||
|
||||
echo '
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td>Summe Netto:</td>
|
||||
<td class="number" ><span id="netto"></span> €</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Summe Brutto:</td>
|
||||
<td class="number" ><span id="brutto"></span> €</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var anzahlRows='.$i.';
|
||||
/**
|
||||
* Fuegt eine neue Zeile fuer den Betrag hinzu wenn die
|
||||
* uebergebene id, die der letzte Zeile ist
|
||||
* und der Betrag eingetragen wurde
|
||||
*/
|
||||
function checkNewRow(id)
|
||||
{
|
||||
var betrag="";
|
||||
betrag = $("#betrag_"+id).val();
|
||||
|
||||
/**
|
||||
* Fuegt eine neue Zeile fuer den Betrag hinzu wenn die
|
||||
* uebergebene id, die der letzte Zeile ist
|
||||
* und der Betrag eingetragen wurde
|
||||
*/
|
||||
function checkNewRow(id)
|
||||
// Wenn der betrag nicht leer ist,
|
||||
// und die letzte reihe ist,
|
||||
// dann eine neue Zeile hinzufuegen
|
||||
if(betrag.length>0 && anzahlRows==id)
|
||||
{
|
||||
var betrag="";
|
||||
betrag = $("#betrag_"+id).val();
|
||||
$.post("rechnung.php", {id: id+1, getBetragRow: "true"},
|
||||
function(data){
|
||||
$("#betrag_table").append(data);
|
||||
anzahlRows=anzahlRows+1;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Brutto und Netto Summen berechnen
|
||||
*/
|
||||
function summe()
|
||||
{
|
||||
var i=0;
|
||||
var netto=0;
|
||||
var brutto=0;
|
||||
while(i<=anzahlRows)
|
||||
{
|
||||
var betrag = $("#betrag_"+i).val();
|
||||
var mwst = $("#mwst_"+i).val();
|
||||
|
||||
// Wenn der betrag nicht leer ist,
|
||||
// und die letzte reihe ist,
|
||||
// dann eine neue Zeile hinzufuegen
|
||||
if(betrag.length>0 && anzahlRows==id)
|
||||
if(betrag!="" && mwst!="")
|
||||
{
|
||||
$.post("rechnung.php", {id: id+1, getBetragRow: "true"},
|
||||
function(data){
|
||||
$("#betrag_table").append(data);
|
||||
anzahlRows=anzahlRows+1;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Brutto und Netto Summen berechnen
|
||||
*/
|
||||
function summe()
|
||||
{
|
||||
var i=0;
|
||||
var netto=0;
|
||||
var brutto=0;
|
||||
while(i<=anzahlRows)
|
||||
{
|
||||
var betrag = $("#betrag_"+i).val();
|
||||
var mwst = $("#mwst_"+i).val();
|
||||
betrag = parseFloat(betrag);
|
||||
mwst = parseFloat(mwst);
|
||||
|
||||
if(betrag!="" && mwst!="")
|
||||
{
|
||||
betrag = parseFloat(betrag);
|
||||
mwst = parseFloat(mwst);
|
||||
|
||||
netto = netto + betrag;
|
||||
|
||||
brutto = brutto + (betrag+(betrag*mwst/100));
|
||||
}
|
||||
i=i+1;
|
||||
netto = netto + betrag;
|
||||
|
||||
brutto = brutto + (betrag+(betrag*mwst/100));
|
||||
}
|
||||
netto = Math.round(netto*100)/100;
|
||||
brutto = Math.round(brutto*100)/100;
|
||||
$("#netto").html(netto);
|
||||
$("#brutto").html(brutto);
|
||||
i=i+1;
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
summe();
|
||||
});
|
||||
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="submit" value="Speichern"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
';
|
||||
netto = Math.round(netto*100)/100;
|
||||
brutto = Math.round(brutto*100)/100;
|
||||
$("#netto").html(netto);
|
||||
$("#brutto").html(brutto);
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
summe();
|
||||
});
|
||||
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="submit" value="Speichern"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
';
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user