mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Löschen von Rechnungen
Speichern von Rechnungen Bugfix Rechnungssyncronisation
This commit is contained in:
@@ -376,7 +376,7 @@ class wawi_rechnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM wawi.tbl_rechnungsbetrag WHERe rechnung_id='".addslashes($rechnung_id)."'";
|
||||
$qry = "SELECT * FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id='".addslashes($rechnung_id)."' ORDER BY rechnungsbetrag_id";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -401,4 +401,87 @@ class wawi_rechnung extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Speichert einen Rechnungsbetrag
|
||||
*/
|
||||
public function save_betrag()
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'BEGIN;INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, bezeichnung) VALUES('.
|
||||
$this->addslashes($this->rechnung_id).','.
|
||||
$this->addslashes($this->mwst).','.
|
||||
$this->addslashes($this->betrag).','.
|
||||
$this->addslashes($this->bezeichnung).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE wawi.tbl_rechnungsbetrag SET'.
|
||||
' rechnung_id='.$this->addslashes($this->rechnung_id).','.
|
||||
' mwst='.$this->addslashes($this->mwst).','.
|
||||
' betrag='.$this->addslashes($this->betrag).','.
|
||||
' bezeichnung='.$this->addslashes($this->bezeichnung).
|
||||
" WHERE rechnungsbetrag_id='".addslashes($this->rechnungsbetrag_id)."'";
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "SELECT currval('wawi.seq_rechnungsbetrag_rechnungsbetrag_id') as id;";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->rechnugnsbetrag_id=$row->id;+
|
||||
$this->db_query('COMMIT;');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Eintrag aus der Tabelle rechnungsbetrag
|
||||
*
|
||||
* @param $rechnungsbetrag_id
|
||||
*/
|
||||
public function delete_betrag($rechnungsbetrag_id)
|
||||
{
|
||||
if(!is_numeric($rechnungsbetrag_id) || $rechnungsbetrag_id=='')
|
||||
{
|
||||
$this->errormsg = 'ungueltige ID';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM wawi.tbl_rechnungsbetrag where rechnungsbetrag_id='".addslashes($rechnungsbetrag_id)."'";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1344,7 +1344,8 @@ if(!@$db->db_query('SELECT * FROM wawi.tbl_konto LIMIT 1'))
|
||||
rechnung_id bigint,
|
||||
mwst numeric(4,2),
|
||||
betrag numeric(12,2),
|
||||
bezeichnung text
|
||||
bezeichnung text,
|
||||
ext_id integer
|
||||
);
|
||||
|
||||
CREATE SEQUENCE wawi.seq_rechnungsbetrag_rechnungsbetrag_id
|
||||
|
||||
@@ -142,16 +142,17 @@ if($result=pg_query($conn_wawi, $qry))
|
||||
if($row->$mwst!='')
|
||||
{
|
||||
$qry = "SELECT * FROM wawi.tbl_rechnungsbetrag
|
||||
WHERE rechnung_id=".$db->addslashes($row->r_id)." AND mwst=".$db->addslashes($row->$mwst);
|
||||
WHERE rechnung_id=".$db->addslashes($row->r_id)." AND ext_id='$i'";
|
||||
if($result_rbetrag = $db->db_query($qry))
|
||||
{
|
||||
if($row_rbetrag = $db->db_fetch_object($result_rbetrag))
|
||||
{
|
||||
//Update
|
||||
if($row_rbetrag->betrag!=$row->$betrag)
|
||||
if($row_rbetrag->betrag!=round($row->$betrag,2))
|
||||
{
|
||||
$qry = "UPDATE wawi.tbl_rechnungsbetrag
|
||||
SET betrag=".$db->addslashes($row->$betrag)."
|
||||
$qry = "UPDATE wawi.tbl_rechnungsbetrag SET
|
||||
betrag=".$db->addslashes($row->$betrag)."
|
||||
mwst=".$db->addslashes($row->$betrag)."
|
||||
WHERE rechnungsbetrag_id=".$db->addslashes($row_rbetrag->rechnungsbetrag_id);
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
@@ -163,14 +164,14 @@ if($result=pg_query($conn_wawi, $qry))
|
||||
else
|
||||
{
|
||||
//Insert
|
||||
$qry = "INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".
|
||||
$qry = "INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".
|
||||
$db->addslashes($row->r_id).",".
|
||||
$db->addslashes($row->$mwst).",".
|
||||
$db->addslashes($row->$betrag).");";
|
||||
$db->addslashes($row->$betrag).",'".$i."');";
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$anzahl_insert++;
|
||||
$update_log.="\nRechnungsbetrag hinzugefügt Mwst $row->$mwst Betrag $row->$betrag";
|
||||
$update_log.="\nRechnungsbetrag hinzugefügt Mwst ".$row->$mwst." Betrag ".$row->$betrag;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -225,11 +226,11 @@ if($result=pg_query($conn_wawi, $qry))
|
||||
.$db->addslashes($datum_obj->formatDatum($row->lupdate)).","
|
||||
.$db->addslashes($row->updatevon).");";
|
||||
if($row->mwst1!='')
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst1).",".$db->addslashes($row->betrag1).");";
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst1).",".$db->addslashes($row->betrag1).",1);";
|
||||
if($row->mwst2!='')
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->betrag2).");";
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->betrag2).",2);";
|
||||
if($row->mwst3!='')
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst3).",".$db->addslashes($row->betrag3).");";
|
||||
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst3).",".$db->addslashes($row->betrag3).",3);";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
|
||||
+128
-5
@@ -79,6 +79,11 @@ if(isset($_POST['getBetragRow']) && isset($_POST['id']))
|
||||
});
|
||||
}
|
||||
|
||||
function conf_del()
|
||||
{
|
||||
return confirm('Wollen Sie diese Rechnung wirklich löschen?');
|
||||
}
|
||||
|
||||
function formatItem(row)
|
||||
{
|
||||
return row[0] + " <br/>" + row[1];
|
||||
@@ -139,6 +144,9 @@ $kst->loadArray($rechte->getKostenstelle($berechtigung_kurzbz));
|
||||
|
||||
if($aktion == 'suche')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('wawi/rechnung',null,'s'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
if(!isset($_POST['submit']))
|
||||
{
|
||||
// Suchmaske anzeigen
|
||||
@@ -302,7 +310,9 @@ if($aktion == 'suche')
|
||||
{
|
||||
//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 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";
|
||||
@@ -323,18 +333,124 @@ if($aktion == 'suche')
|
||||
}
|
||||
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>';
|
||||
}
|
||||
elseif($aktion == 'save')
|
||||
{
|
||||
echo '<h1>Noch nicht implementiert</h1>';
|
||||
if(!$rechte->isBerechtigt('wawi/rechnung',null,'su'))
|
||||
die('Sie haben keine Berechtigung zum Speichern der Rechnungen');
|
||||
|
||||
if(isset($_POST['rechnung_id'])
|
||||
&& isset($_POST['rechnungsnummer'])
|
||||
&& isset($_POST['buchungstext'])
|
||||
&& isset($_POST['rechnungsdatum'])
|
||||
&& isset($_POST['bestellung_id'])
|
||||
&& isset($_POST['buchungsdatum']))
|
||||
{
|
||||
$rechnung_id = $_POST['rechnung_id'];
|
||||
$rechnungsnummer = $_POST['rechnungsnummer'];
|
||||
$buchungstext = $_POST['buchungstext'];
|
||||
$rechnungsdatum = $_POST['rechnungsdatum'];
|
||||
$bestellung_id = $_POST['bestellung_id'];
|
||||
$buchungsdatum = $_POST['buchungsdatum'];
|
||||
|
||||
foreach($_POST as $key=>$value)
|
||||
{
|
||||
if(mb_strstr($key, 'rechnungsbetrag_id_'))
|
||||
{
|
||||
$id = mb_substr($key, mb_strlen('rechnungsbetrag_id_'));
|
||||
$betraege[$id]['id']=$_POST['rechnungsbetrag_id_'.$id];
|
||||
$betraege[$id]['bezeichnung']=$_POST['bezeichnung_'.$id];
|
||||
$betraege[$id]['betrag']=$_POST['betrag_'.$id];
|
||||
$betraege[$id]['mwst']=$_POST['mwst_'.$id];
|
||||
}
|
||||
}
|
||||
|
||||
$rechnung = new wawi_rechnung();
|
||||
if(!$rechnung->load($rechnung_id))
|
||||
die('Rechnung wurde nicht gefunden');
|
||||
|
||||
$rechnung->rechnungsnr = $rechnungsnummer;
|
||||
$rechnung->buchungstext = $buchungstext;
|
||||
$rechnung->rechnungsdatum = $date->formatDatum($rechnungsdatum);
|
||||
$rechnung->buchungsdatum = $date->formatDatum($buchungsdatum);
|
||||
$rechnung->bestellung_id = $bestellung_id;
|
||||
$rechnung->updateamum = date('Y-m-d H:i:s');
|
||||
$rechnung->updatevon = $user;
|
||||
|
||||
if($rechnung->save())
|
||||
{
|
||||
foreach($betraege as $row)
|
||||
{
|
||||
if($row['id']=='' && $row['betrag']=='' && $row['mwst']=='' && $row['bezeichnung']=='')
|
||||
continue;
|
||||
|
||||
$rb = new wawi_rechnung();
|
||||
|
||||
//Leere Zeilen werden geloescht
|
||||
if($row['betrag']=='' && $row['mwst']=='' && $row['bezeichnung']=='')
|
||||
{
|
||||
$rb->delete_betrag($row['id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Speichern der Zeile
|
||||
$rb->rechnungsbetrag_id=$row['id'];
|
||||
$rb->rechnung_id = $rechnung_id;
|
||||
$rb->betrag = $row['betrag'];
|
||||
$rb->bezeichnung = $row['bezeichnung'];
|
||||
$rb->mwst = $row['mwst'];
|
||||
if($row['id']=='')
|
||||
$rb->new=true;
|
||||
else
|
||||
$rb->new=false;
|
||||
|
||||
$rb->save_betrag();
|
||||
}
|
||||
}
|
||||
|
||||
echo 'Daten wurden gespeichert!';
|
||||
$_GET['id']=$rechnung_id;
|
||||
$aktion = 'update';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler: '.$rechnung->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
die('Falsche Parameter uebergeben');
|
||||
}
|
||||
elseif($aktion=='delete')
|
||||
{
|
||||
echo '<h1>Noch nicht implementiert</h1>';
|
||||
if(!$rechte->isBerechtigt('wawi/rechnung',null,'suid'))
|
||||
die('Sie haben keine Berechtigung zum Loeschen von Rechnungen');
|
||||
|
||||
if(isset($_GET['id']))
|
||||
{
|
||||
echo '<h1>Rechnung Löschen</h1>';
|
||||
|
||||
$rechnung = new wawi_rechnung();
|
||||
if($rechnung->delete($_GET['id']))
|
||||
{
|
||||
echo 'Rechnung wurde erfolgreich geloescht';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler: '.$rechnung->errormsg.'</span>';
|
||||
}
|
||||
echo '<br /><br /><a href="javascript:history.back()">Zurück</a>';
|
||||
}
|
||||
}
|
||||
elseif($aktion=='update')
|
||||
|
||||
if($aktion=='update')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('wawi/rechnung',null,'su'))
|
||||
die('Sie haben keine Berechtigung zum Bearbeiten der Rechnungen');
|
||||
|
||||
echo '<h1>Rechnung Bearbeiten</h1>';
|
||||
if(isset($_GET['id']))
|
||||
{
|
||||
@@ -378,11 +494,13 @@ elseif($aktion=='update')
|
||||
</table>';
|
||||
|
||||
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>Rechnugnsdatum </td>
|
||||
<td>Rechnungsdatum </td>
|
||||
<td>Bestellung</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -397,6 +515,11 @@ elseif($aktion=='update')
|
||||
<input type="text" name="bestellung_id" size="8" value="'.$rechnung->bestellung_id.'">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
Buchungstext<br />
|
||||
|
||||
Reference in New Issue
Block a user