Neue Rechnung anlegen

This commit is contained in:
Andreas Österreicher
2010-11-26 13:58:46 +00:00
parent 156340995b
commit 822b6094dd
3 changed files with 126 additions and 26 deletions
+1 -1
View File
@@ -848,7 +848,7 @@ class benutzerberechtigung extends basis_db
if(!$all)
{
if(count($kst_id)==0)
if(count($kst_id)==0 && count($oe_kurzbz)==0)
return array();
$qry.="
WHERE
+28 -4
View File
@@ -28,7 +28,7 @@ class wawi_rechnung extends basis_db
{
public $rechnung_id; // serial
public $bestellung_id; // int
public $rechnungstyp_kurzbz;// varchar
public $rechnungstyp_kurzbz='Zahlung';// varchar
public $buchungsdatum; // date
public $rechnungsnr; // varchar
public $rechnungsdatum; // date
@@ -291,12 +291,12 @@ class wawi_rechnung extends basis_db
if($this->new)
{
$qry = 'BEGIN; INSERT INTO wawi.tbl_rechnung (bestellung_id,rechnungstyp_kurzbz, buchungsdatum,
rechnungsnr, rechnugsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum,
rechnungsnr, rechnungsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum,
updateamum, updatevon, insertamum, insertvon) VALUES ('.
$this->addslashes($this->bestellung_id).', '.
$this->addslashes($this->rechnungstyp_kurzbz).', '.
$this->addslashes($this->buchungsdatum).', '.
"currval('wawi.seq_rechnung_rechnung_id'), ".
($this->rechnungsnr==''?"currval('wawi.seq_rechnung_rechnung_id')":$this->addslashes($this->rechnungsnr)).", ".
$this->addslashes($this->rechnungsdatum).', '.
$this->addslashes($this->transfer_datum).", ".
$this->addslashes($this->buchungstext).', '.
@@ -338,7 +338,8 @@ class wawi_rechnung extends basis_db
if($row = $this->db_fetch_object())
{
$this->rechnung_id = $row->id;
$this->rechnungsnr = $row->rechnungsnr;
if($this->rechnungsnr=='')
$this->rechnungsnr = $row->id;
$this->db_query('COMMIT');
}
else
@@ -484,4 +485,27 @@ class wawi_rechnung extends basis_db
}
}
/**
* Laedt alle Rechnungstypen
*/
public function getRechnungstyp()
{
$qry = 'SELECT * FROM wawi.tbl_rechnungstyp ORDER BY beschreibung';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new wawi_rechnung();
$obj->rechnungstyp_kurzbz = $row->rechnungstyp_kurzbz;
$obj->beschreibung = $row->beschreibung;
$this->result[] = $obj;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
+97 -21
View File
@@ -336,7 +336,28 @@ elseif($aktion == 'new')
if(!$rechte->isBerechtigt('wawi/rechnung',null,'sui'))
die('Sie haben keine Berechtigung zum Anlegen von Rechnungen');
echo '<h1>Noch nicht implementiert</h1>';
if(isset($_GET['oe_kurzbz']))
{
$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>';
}
}
elseif($aktion == 'save')
{
@@ -348,6 +369,7 @@ elseif($aktion == 'save')
&& isset($_POST['buchungstext'])
&& isset($_POST['rechnungsdatum'])
&& isset($_POST['bestellung_id'])
&& isset($_POST['rechnungstyp_kurzbz'])
&& isset($_POST['buchungsdatum']))
{
$rechnung_id = $_POST['rechnung_id'];
@@ -356,6 +378,7 @@ elseif($aktion == 'save')
$rechnungsdatum = $_POST['rechnungsdatum'];
$bestellung_id = $_POST['bestellung_id'];
$buchungsdatum = $_POST['buchungsdatum'];
$rechnungstyp_kurzbz = $_POST['rechnungstyp_kurzbz'];
foreach($_POST as $key=>$value)
{
@@ -370,9 +393,20 @@ elseif($aktion == 'save')
}
$rechnung = new wawi_rechnung();
if(!$rechnung->load($rechnung_id))
die('Rechnung wurde nicht gefunden');
if($rechnung_id!='')
{
//Update
if(!$rechnung->load($rechnung_id))
die('Rechnung wurde nicht gefunden');
}
else
{
//Neue Rechnung
$rechnung->new = true;
$rechnung->insertamum = date('Y-m-d');
$rechnung->insertvon = $user;
$rechnung->freigegeben = false;
}
$rechnung->rechnungsnr = $rechnungsnummer;
$rechnung->buchungstext = $buchungstext;
$rechnung->rechnungsdatum = $date->formatDatum($rechnungsdatum);
@@ -380,6 +414,7 @@ elseif($aktion == 'save')
$rechnung->bestellung_id = $bestellung_id;
$rechnung->updateamum = date('Y-m-d H:i:s');
$rechnung->updatevon = $user;
$rechnung->rechnungstyp_kurzbz = $rechnungstyp_kurzbz;
if($rechnung->save())
{
@@ -399,7 +434,7 @@ elseif($aktion == 'save')
{
//Speichern der Zeile
$rb->rechnungsbetrag_id=$row['id'];
$rb->rechnung_id = $rechnung_id;
$rb->rechnung_id = $rechnung->rechnung_id;
$rb->betrag = $row['betrag'];
$rb->bezeichnung = $row['bezeichnung'];
$rb->mwst = $row['mwst'];
@@ -413,7 +448,7 @@ elseif($aktion == 'save')
}
echo 'Daten wurden gespeichert!';
$_GET['id']=$rechnung_id;
$_GET['id']=$rechnung->rechnung_id;
$aktion = 'update';
}
else
@@ -451,32 +486,35 @@ if($aktion=='update')
if(!$rechte->isBerechtigt('wawi/rechnung',null,'su'))
die('Sie haben keine Berechtigung zum Bearbeiten der Rechnungen');
echo '<h1>Rechnung Bearbeiten</h1>';
$rechnung = new wawi_rechnung();
$bestellung = new wawi_bestellung();
$kostenstelle = new wawi_kostenstelle();
$konto = new wawi_konto();
$firma = new firma();
$oe_kurzbz='';
if(isset($_GET['id']))
{
echo '<h1>Rechnung Bearbeiten</h1>';
$rechnung_id = $_GET['id'];
if(!is_numeric($rechnung_id))
die('RechnungID ist ungueltig');
$rechnung = new wawi_rechnung();
if(!$rechnung->load($rechnung_id))
die('Rechnung wurde nicht gefunden');
$bestellung = new wawi_bestellung();
if(!$bestellung->load($rechnung->bestellung_id))
die('Diese Rechnung ist keiner gueltigen Bestellung zugeordnet');
$kostenstelle = new wawi_kostenstelle();
if(!$kostenstelle->load($bestellung->kostenstelle_id))
die('Die Rechnung bzw Bestellung ist keiner gueltigen Kostenstelle zugeordnet');
$konto = new wawi_konto();
if(!$konto->load($bestellung->konto_id))
die('Die Rechnung bzw Bestellung ist keim gueltigen Konto zugeordnet');
$firma = new firma();
if(!$firma->load($bestellung->firma_id))
die('Die Rechnung bzw Bestellung ist keiner gueltigen Firma zugeordnet');
$oe_kurzbz=$kostenstelle->oe_kurzbz;
echo '<table>
<tr>
@@ -492,7 +530,17 @@ if($aktion=='update')
<td>'.$firma->name.'</td>
</tr>
</table>';
}
elseif(isset($_GET['oe_kurzbz']))
{
echo '<h1>Rechnung Neu</h1>';
$rechnung_id='';
$oe_kurzbz = $_GET['oe_kurzbz'];
}
else
{
die('ungueltige parameter');
}
echo '
<br />
<form action="'.$_SERVER['PHP_SELF'].'?method=save" method="POST">
@@ -502,6 +550,7 @@ if($aktion=='update')
<td>Rechnungsnummer</td>
<td>Rechnungsdatum&nbsp;&nbsp;&nbsp;</td>
<td>Bestellung</td>
<td>Typ</td>
</tr>
<tr>
<td><input type="text" name="rechnungsnummer" value="'.$rechnung->rechnungsnr.'"></td>
@@ -512,7 +561,38 @@ if($aktion=='update')
</script>
</td>
<td>
<input type="text" name="bestellung_id" size="8" value="'.$rechnung->bestellung_id.'">
<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)
{
if($rechnung->bestellung_id==$row->bestellung_id)
$selected='selected';
else
$selected='';
echo '<option value="'.$row->bestellung_id.'" '.$selected.'>'.$row->bestell_nr.'</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='';
echo '<option value="'.$row->rechnungstyp_kurzbz.'" '.$selected.'>'.$row->beschreibung.'</option>';
}
echo '</SELECT>
</td>
</tr>
<tr>
@@ -532,7 +612,7 @@ if($aktion=='update')
$("#buchungsdatum" ).datepicker($.datepicker.regional["de"]);
</script>
</td>
<td valign="top">
<td valign="top" colspan="2">
<table>
<thead>
<tr>
@@ -640,11 +720,7 @@ if($aktion=='update')
</tr>
</table>
';
}
else
{
echo 'Sie haben keine ID uebergeben';
}
}
/**