- Neue Tabelle Geschaeftsjahr

- Tags Auswertung für Rechnungen
This commit is contained in:
Andreas Österreicher
2010-12-14 16:28:37 +00:00
parent 9cf61740c9
commit d00f682b85
4 changed files with 723 additions and 97 deletions
+228
View File
@@ -0,0 +1,228 @@
<?php
/* Copyright (C) 2010 FH Technikum Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
require_once('basis_db.class.php');
class geschaeftsjahr extends basis_db
{
public $new; // boolean
public $result = array(); // studiensemester Objekt
//Tabellenspalten
public $geschaeftsjahr_kurzbz; // varchar(32)
public $start; // date
public $ende; // date
public $bezeichnung;
/**
* Konstruktor - Laedt optional ein Geschaeftsjahr
*
* @param $geschaeftsjahr_kurzbz Geschaeftsjahr das geladen werden soll (default=null)
*/
public function __construct($geschaeftsjahr_kurzbz=null)
{
parent::__construct();
if($geschaeftsjahr_kurzbz != null)
$this->load($geschaeftsjahr_kurzbz);
}
/**
* Laedt das Geschaeftsjahr mit der uebergebenen Kurzbz
*
* @param $geschaeftsjahr_kurzbz Geschaeftsjahr das geladen werden soll
*/
public function load($geschaeftsjahr_kurzbz)
{
$qry = "SELECT * FROM public.tbl_geschaeftsjahr WHERE geschaeftsjahr_kurzbz='".addslashes($geschaeftsjahr_kurzbz)."'";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
}
if($row = $this->db_fetch_object())
{
$this->geschaeftsjahr_kurzbz = $row->geschaeftsjahr_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
$this->bezeichnung = $row->bezeichnung;
}
else
{
$this->errormsg = "Geschaeftsjahr nicht gefunden";
return false;
}
return true;
}
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
*
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
{
if(mb_strlen($this->geschaeftsjahr_kurzbz)>32)
{
$this->errormsg = 'Geschaeftsjahr Kurzbezeichnung darf nicht laenger als 32 Zeichen sein';
return false;
}
if($this->geschaeftsjahr_kurzbz=='')
{
$this->errormsg = 'Es muss eine Kurzbezeichnung eingegeben werden';
return false;
}
return true;
}
/**
* Speichert das Geschaeftsjahr in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
*
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($this->new)
{
$qry = "INSERT INTO public.tbl_geschaeftsjahr (geschaeftsjahr_kurzbz, start, ende, bezeichnung)
VALUES('".addslashes($this->geschaeftsjahr_kurzbz)."',".
$this->addslashes($this->start).','.
$this->addslashes($this->ende).'.'.
$this->addslashes($this->bezeichnung).');';
}
else
{
$qry = 'UPDATE public.tbl_geschaeftsjahr SET'.
' start='.$this->addslashes($this->start).','.
' ende='.$this->addslashes($this->ende).','.
' bezeichnung='.$this->addslashes($this->bezeichnung).
" WHERE geschaeftsjahr_kurzbz='$this->geschaeftsjahr_kurzbz'";
}
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Geschaeftsjahres';
return false;
}
}
/**
* Liefert das aktuelle Geschaeftsjahr
*
* @return aktuelles Geschaeftsjahr oder false wenn es keines gibt
*/
public function getakt()
{
$qry = "SELECT geschaeftsjahr_kurzbz FROM public.tbl_geschaeftsjahr WHERE start <= now() AND ende >= now()";
if(!$this->db_query($qry))
{
$this->errormsg = $this->db_last_error();
return false;
}
if($this->db_num_rows()>0)
{
$erg = $this->db_fetch_object();
return $erg->geschaeftsjahr_kurzbz;
}
else
{
$this->errormsg = "Kein aktuelles Geschaeftsjahr vorhanden";
return false;
}
}
/**
* Liefert alle Geschaeftsjahre
*
* @return true wenn ok, sonst false
*/
public function getAll()
{
$qry = "SELECT * FROM public.tbl_geschaeftsjahr ORDER BY ende";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new geschaeftsjahr();
$obj->geschaeftsjahr_kurzbz = $row->geschaeftsjahr_kurzbz;
$obj->start = $row->start;
$obj->ende = $row->ende;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Geschaeftsjahre';
return false;
}
}
/**
* Liefert das vorige Geschaeftsjahr
*
* @return geschaeftsjahr_kurzbz oder false wenn keines vorhanden
*/
public function getPrevious()
{
$qry = "SELECT geschaeftsjahr_kurzbz FROM public.tbl_geschaeftsjahr WHERE ende<now() ORDER BY ende DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->geschaeftsjahr_kurzbz;
}
else
{
$this->errormsg = 'Es wurde kein vorangegangenes Geschaeftsjahr gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Ermitteln des vorangegangenen Geschaeftsjahr';
return false;
}
}
}
?>
+321 -2
View File
@@ -91,7 +91,7 @@
<Top>1550</Top>
<Left>3643</Left>
<z>0</z>
<Width>454</Width>
<Width>455</Width>
<Height>200</Height>
<dz>0</dz>
<RecalculateSizes>1</RecalculateSizes>
@@ -7776,6 +7776,41 @@
<DisplayGraphicalKeys>0</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
<WorkSpaceShapePEREntityPG83 ObjectType="2502" CSAOName="WorkSpaceShapePEREntityPG83">
<Id>{DA4765B0-8A56-43B0-ADAF-403C0BBD9B56}</Id>
<Name>tbl_geschaeftsjahr</Name>
<Ordinal>0</Ordinal>
<HistoryID>{68400B45-FE73-4771-9800-49D239FF603E}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<ParentBaseID>{7F5F6EFF-296C-4D3A-9362-1F4622D3133C}</ParentBaseID>
<PenWidth>1</PenWidth>
<PenColor>0</PenColor>
<BrushColor>15780518</BrushColor>
<FontCharset>238</FontCharset>
<FontColor>0</FontColor>
<FontName>Arial</FontName>
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<Top>2670</Top>
<Left>6653</Left>
<z>0</z>
<Width>476</Width>
<Height>200</Height>
<dz>0</dz>
<RecalculateSizes>1</RecalculateSizes>
<UseWorkSpaceRecalculateSizes>1</UseWorkSpaceRecalculateSizes>
<Shadow>1</Shadow>
<FullBackground>0</FullBackground>
<LineList/>
<DisplayIndexes>0</DisplayIndexes>
<AlignInColumns>0</AlignInColumns>
<DisplayMode>2</DisplayMode>
<DisplayTypes>0</DisplayTypes>
<DisplayDictTypesAsDataTypes>0</DisplayDictTypesAsDataTypes>
<DisplayGraphicalKeys>0</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
</ShapeList>
<LineList>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
@@ -23962,6 +23997,41 @@
<DisplayGraphicalKeys>1</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
<WorkSpaceShapePEREntityPG83 ObjectType="2502" CSAOName="WorkSpaceShapePEREntityPG83">
<Id>{F82E315A-7B86-4F36-9EF6-8A166767F55E}</Id>
<Name>tbl_geschaeftsjahr</Name>
<Ordinal>0</Ordinal>
<HistoryID>{E1901CE4-5FBD-4803-97FF-3927BDD8D112}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<ParentBaseID>{7F5F6EFF-296C-4D3A-9362-1F4622D3133C}</ParentBaseID>
<PenWidth>1</PenWidth>
<PenColor>0</PenColor>
<BrushColor>15780518</BrushColor>
<FontCharset>238</FontCharset>
<FontColor>0</FontColor>
<FontName>Arial</FontName>
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<Top>2573</Top>
<Left>6448</Left>
<z>0</z>
<Width>872</Width>
<Height>200</Height>
<dz>0</dz>
<RecalculateSizes>1</RecalculateSizes>
<UseWorkSpaceRecalculateSizes>1</UseWorkSpaceRecalculateSizes>
<Shadow>1</Shadow>
<FullBackground>1</FullBackground>
<LineList/>
<DisplayIndexes>1</DisplayIndexes>
<AlignInColumns>1</AlignInColumns>
<DisplayMode>5</DisplayMode>
<DisplayTypes>1</DisplayTypes>
<DisplayDictTypesAsDataTypes>1</DisplayDictTypesAsDataTypes>
<DisplayGraphicalKeys>1</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
</ShapeList>
<LineList>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
@@ -38949,7 +39019,7 @@
<Company>Technikum Wien</Company>
<Version>2.0</Version>
<CreatedDate>2009-04-17T10:15:21.000+01:00</CreatedDate>
<ModifiedDate>2010-11-11T17:23:58.690+01:00</ModifiedDate>
<ModifiedDate>2010-12-14T17:26:36.808+01:00</ModifiedDate>
<Project>FH-Complete 2.0</Project>
<Description></Description>
</ModelTitlePG83>
@@ -39255,6 +39325,7 @@
<Id>{52B7832E-AC7C-45AE-88E4-CE0E95E8562D}</Id>
<Id>{9D209B5E-2E56-42D5-8B4F-DF396720777B}</Id>
<Id>{0F28ACD0-AA94-46D7-82F7-F3205CE46105}</Id>
<Id>{7F5F6EFF-296C-4D3A-9362-1F4622D3133C}</Id>
</SelectedObjects>
<ParentSetNullDelete>0</ParentSetNullDelete>
<ParentSetDefaultUpdate>0</ParentSetDefaultUpdate>
@@ -124550,6 +124621,253 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a
<FillFactor></FillFactor>
<Sequences/>
</PEREntityPG83>
<PEREntityPG83 ObjectType="2002" CSAOName="PEREntityPG83">
<Id>{7F5F6EFF-296C-4D3A-9362-1F4622D3133C}</Id>
<Name>tbl_geschaeftsjahr</Name>
<Ordinal>0</Ordinal>
<HistoryID>{1B2DA2E0-A052-403D-B2AE-89F74D87B7A9}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<Caption>tbl_geschaeftsjahr</Caption>
<Size>0</Size>
<Relations/>
<Attributes>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{18C01AA0-418C-480F-8624-CAC8BC21D82F}</Id>
<Name>geschaeftsjahr_kurzbz</Name>
<Ordinal>0</Ordinal>
<HistoryID>{5B3D6A72-6C3B-484A-98AA-B46BEF84FC73}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1>32</DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>1</NotNull>
<Migrated>0</Migrated>
<Caption>geschaeftsjahr_kurzbz</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems>
<Id>{55C4947A-5433-4777-8435-6AA34C6A15FB}</Id>
</KeyConstraintItems>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{ECB8F02F-B683-4252-8508-ED9D064C9AF3}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{D6FEFC40-C52F-4A3E-B18A-6C5B8C06C6CD}</Id>
<Name>start</Name>
<Ordinal>0</Ordinal>
<HistoryID>{64B8C515-C449-4E34-8312-F0264C35F355}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1></DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>0</NotNull>
<Migrated>0</Migrated>
<Caption>start</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems/>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{5EBD99F4-5263-4410-9892-11DB7C2DF84B}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{41621C7E-C02E-4A4A-9A61-565E8C384643}</Id>
<Name>ende</Name>
<Ordinal>0</Ordinal>
<HistoryID>{CED66231-FAFB-41B8-847D-A4835176B2F2}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1></DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>0</NotNull>
<Migrated>0</Migrated>
<Caption>ende</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems/>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{5EBD99F4-5263-4410-9892-11DB7C2DF84B}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{6A9571CA-DEE0-4A76-84FC-B5324E7147EF}</Id>
<Name>bezeichnung</Name>
<Ordinal>0</Ordinal>
<HistoryID>{F44830EE-B476-4970-BA55-AE756DD372C5}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1>256</DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>0</NotNull>
<Migrated>0</Migrated>
<Caption>bezeichnung</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems/>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{ECB8F02F-B683-4252-8508-ED9D064C9AF3}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
</Attributes>
<Keys>
<PERKeyConstraintPG83 ObjectType="2010" CSAOName="PERKeyConstraintPG83">
<Id>{397A22FD-7A0F-4743-84B1-0D755B98AC6A}</Id>
<Name>pk_tbl_geschaeftsjahr</Name>
<Ordinal>0</Ordinal>
<HistoryID>{A504FE3E-7216-4B54-98C9-479459AAFEEE}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<Caption>pk_tbl_geschaeftsjahr</Caption>
<KeyItems>
<PERKeyConstraintItemPG83 ObjectType="2011" CSAOName="PERKeyConstraintItemPG83">
<Id>{55C4947A-5433-4777-8435-6AA34C6A15FB}</Id>
<Name>geschaeftsjahr_kurzbz</Name>
<Ordinal>0</Ordinal>
<HistoryID>{9FDF7D79-7C2C-4888-89C1-BCA5A0692DB8}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<SortDescending>0</SortDescending>
<Attribute>
<Id>{18C01AA0-418C-480F-8624-CAC8BC21D82F}</Id>
</Attribute>
<ForeignKeys/>
</PERKeyConstraintItemPG83>
</KeyItems>
<Relations/>
<Attribute/>
<Tablespace/>
<FillFactor></FillFactor>
</PERKeyConstraintPG83>
</Keys>
<PK>
<Id>{397A22FD-7A0F-4743-84B1-0D755B98AC6A}</Id>
</PK>
<Indexes/>
<CheckConstraints/>
<Category/>
<Triggers/>
<ToDoItems/>
<DbOwner/>
<Schema>
<Id>{2DF1C1D4-044F-4F45-BF9D-A4E740C9639E}</Id>
</Schema>
<NoteLines/>
<WithOids>0</WithOids>
<Inherited></Inherited>
<TempTable>0</TempTable>
<Tablespace/>
<RewriteRules/>
<FillFactor></FillFactor>
<Sequences/>
</PEREntityPG83>
</Entities>
<Domains/>
<DictTypes/>
@@ -177622,6 +177940,7 @@ SELECT tbl_pruefling.prestudent_id, tbl_pruefling.pruefling_id, tbl_pruefling.st
<Id>{160F5B5C-748A-4C37-9556-9EF3603D6484}</Id>
<Id>{D32D445A-EA32-47E7-B47F-33536C384C8F}</Id>
<Id>{0F28ACD0-AA94-46D7-82F7-F3205CE46105}</Id>
<Id>{7F5F6EFF-296C-4D3A-9362-1F4622D3133C}</Id>
</Objects>
<UserDataTypes>
<Id>{B0AA6162-F612-46E0-B58F-64E0CFE8C816}</Id>
+39 -1
View File
@@ -1730,6 +1730,43 @@ if(!@$db->db_query("SELECT content FROM public.tbl_sprache LIMIT 1"))
echo ' public.tbl_sprache: Spalte content hinzugefuegt!<br>';
}
// tbl_geschaeftsjahr hinzufuegen
if(!@$db->db_query("SELECT 1 FROM public.tbl_geschaeftsjahr LIMIT 1"))
{
$qry = "
CREATE TABLE public.tbl_geschaeftsjahr
(
geschaeftsjahr_kurzbz varchar(32) NOT NULL,
start date,
ende date,
bezeichnung varchar(256)
);
ALTER TABLE public.tbl_geschaeftsjahr ADD CONSTRAINT pk_tbl_geschaeftsjahr PRIMARY KEY (geschaeftsjahr_kurzbz);
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2003-2004','2003-09-01','2004-08-31','Geschäftsjahr 2003-2004');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2004-2005','2004-09-01','2005-08-31','Geschäftsjahr 2004-2005');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2005-2006','2005-09-01','2006-08-31','Geschäftsjahr 2005-2006');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2006-2007','2006-09-01','2007-08-31','Geschäftsjahr 2006-2007');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2007-2008','2007-09-01','2008-08-31','Geschäftsjahr 2007-2008');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2008-2009','2008-09-01','2009-08-31','Geschäftsjahr 2008-2009');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2009-2010','2009-09-01','2010-08-31','Geschäftsjahr 2009-2010');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2010-2011','2010-09-01','2011-08-31','Geschäftsjahr 2010-2011');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2011-2012','2011-09-01','2012-08-31','Geschäftsjahr 2011-2012');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2012-2013','2012-09-01','2013-08-31','Geschäftsjahr 2012-2013');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2013-2014','2013-09-01','2014-08-31','Geschäftsjahr 2013-2014');
INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2014-2015','2014-09-01','2015-08-31','Geschäftsjahr 2014-2015');
GRANT SELECT ON public.tbl_geschaeftsjahr TO web;
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_geschaeftsjahr TO vilesci;
GRANT SELECT ON public.tbl_geschaeftsjahr TO wawi;
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_geschaeftsjahr: '.$db->db_last_error().'</strong><br>';
else
echo 'Tabelle public.tbl_geschaeftsjahr hinzugefuegt!<br>';
}
echo '<br>';
$tabellen=array(
@@ -1834,6 +1871,7 @@ $tabellen=array(
"public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"),
"public.tbl_firmatag" => array("firma_id","tag","insertamum","insertvon"),
"public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"),
"public.tbl_geschaeftsjahr" => array("geschaeftsjahr_kurzbz","start","ende","bezeichnung"),
"public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid"),
"public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
"public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"),
@@ -1899,7 +1937,7 @@ $tabellen=array(
"wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
"wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
"wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
"wawi.tbl_rechnungstyp" => array("rechnungstyp_kurzbz","beschreibung"),
"wawi.tbl_rechnungstyp" => array("rechnungstyp_kurzbz","beschreibung","berechtigung_kurzbz","ext_id"),
"wawi.tbl_rechnung" => array("rechnung_id","bestellung_id","buchungsdatum","rechnungsnr","rechnungsdatum","transfer_datum","buchungstext","insertamum","insertvon","updateamum","updatevon","rechnungstyp_kurzbz","freigegeben","freigegebenvon","freigegebenamum"),
"wawi.tbl_rechnungsbetrag" => array("rechnungsbetrag_id","rechnung_id","mwst","betrag","bezeichnung"),
"wawi.tbl_aufteilung" => array("aufteilung_id","bestellung_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
+135 -94
View File
@@ -20,7 +20,7 @@
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/**
* Auswertung der Bestellungen auf Kostenstellen und Tags
* Auswertung der Bestellungen und Rechnungen auf Kostenstellen und Tags
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
@@ -30,6 +30,7 @@ require_once('../../include/wawi_bestellung.class.php');
require_once('../../include/wawi_kostenstelle.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/tags.class.php');
require_once('../../include/geschaeftsjahr.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
@@ -52,15 +53,6 @@ if(count($kst_array)==0)
<script type="text/javascript" src="../../include/js/jquery.metadata.js"></script>
<script type="text/javascript" src="../../include/js/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTable").tablesorter(
{
sortList: [[1,0]],
widgets: ['zebra']
});
});
function alleMarkieren(checked)
{
inputs = document.getElementsByTagName('input');
@@ -86,29 +78,22 @@ if(isset($_POST['show']))
$db = new basis_db();
//Vom Studiensemester
$studiensemester = $_POST['studiensemester'];
$stsem = new studiensemester();
$stsem->load($studiensemester);
$beginn = $stsem->start;
$studiensemester2 = $stsem->getNextFrom($stsem->getNextFrom($studiensemester));
$ende = $stsem->start;
if($beginn==$ende)
$ende = $stsem->ende;
$geschaeftsjahr = $_POST['geschaeftsjahr'];
$gj= new geschaeftsjahr();
$gj->load($geschaeftsjahr);
$kst_tags=array();
$tags_array=array();
//Tabelle auf Basis der Bestellungen
$qry = "SELECT
(menge*preisprove*(100+mwst)/100) as brutto, tbl_bestellung.bestellung_id,
tbl_bestellung.kostenstelle_id, tbl_bestelldetail.bestelldetail_id
FROM
wawi.tbl_bestellung
JOIN wawi.tbl_bestellung_bestellstatus USING(bestellung_id)
JOIN wawi.tbl_bestelldetail USING(bestellung_id)
WHERE
tbl_bestellung_bestellstatus.bestellstatus_kurzbz='Bestellung'
AND tbl_bestellung_bestellstatus.datum>='$beginn' AND tbl_bestellung_bestellstatus.datum<'$ende'
AND tbl_bestellung.freigegeben
tbl_bestellung.insertamum>='$gj->start' AND tbl_bestellung.insertamum<'$gj->ende'
AND
(
EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE bestellung_id=tbl_bestellung.bestellung_id)
@@ -145,10 +130,133 @@ if(isset($_POST['show']))
}
else
die('Fehler bei Datenbankzugriff');
//$tags_array = array_unique($tags_array);
//var_dump($tags_array);
//var_dump($kst_tags);
echo '<table class="tablesorter" id="myTable">
echo '<H2>Bestellungen</H2>';
draw_tag_table($tags_array, $kst_tags,'bestellung');
//Tabelle auf Basis der Rechnungen
$kst_tags=array();
$tags_array=array();
$qry = "SELECT
(betrag*(100+mwst)/100) as brutto, tbl_bestellung.bestellung_id,
tbl_bestellung.kostenstelle_id
FROM
wawi.tbl_bestellung
JOIN wawi.tbl_rechnung USING(bestellung_id)
JOIN wawi.tbl_rechnungsbetrag USING(rechnung_id)
WHERE
tbl_bestellung.insertamum>='$gj->start' AND tbl_bestellung.insertamum<'$gj->ende'
AND EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE bestellung_id=tbl_bestellung.bestellung_id)
AND tbl_rechnung.freigegeben
";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
//Bestelldetailtags laden
$tags = new tags();
$tags->GetTagsByBestellung($row->bestellung_id);
foreach($tags->result as $tag)
{
if(!isset($tags_array[$tag->tag]))
$tags_array[$tag->tag]=0;
if(isset($kst_tags[$row->kostenstelle_id]) && isset($kst_tags[$row->kostenstelle_id][$tag->tag]))
$kst_tags[$row->kostenstelle_id][$tag->tag]+=$row->brutto;
else
$kst_tags[$row->kostenstelle_id][$tag->tag]=$row->brutto;
}
}
}
else
die('Fehler bei Datenbankzugriff');
echo '<H2>Rechnungen</H2>';
draw_tag_table($tags_array, $kst_tags,'rechnung');
}
else
{
$kostenstelle = new wawi_kostenstelle();
$kostenstelle->loadArray($kst_array);
echo 'Bitte markieren sie die Kostenstellen die auf der Auswertung aufscheinen sollen:<br /><br />
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<table>
<tbody>';
$anzahl=0;
$gesamt = count($kst_array);
echo '<td valign="top"><table>';
foreach($kostenstelle->result as $kst)
{
if($anzahl%(($gesamt/3)+1)==0)
{
echo '</table></td><td valign="top"><table>';
}
echo '<tr>
<td><input type="checkbox" name="kst[]" value="'.$kst->kostenstelle_id.'"></td>
<td nowrap>'.$kst->bezeichnung.'</td>
</tr>';
$anzahl++;
}
echo '</table></td>';
echo '</tbody>
<tfoot>
<tr>
<td><input type="checkbox" name="allemarkieren" onclick="alleMarkieren(this.checked)"></td>
<td>Alle markieren</td>
</tr>
</tfoot>
</table>
<br />
Geschäftsjahr
<SELECT name="geschaeftsjahr" >';
$gj = new geschaeftsjahr();
$geschaeftsjahr = $gj->getakt();
$gj->getAll();
foreach ($gj->result as $gjahr)
{
if($gjahr->geschaeftsjahr_kurzbz==$geschaeftsjahr)
$selected='selected';
else
$selected='';
echo '<option value="'.$gjahr->geschaeftsjahr_kurzbz.'" '.$selected.'>'.$gjahr->geschaeftsjahr_kurzbz.'</option>';
}
echo '
</SELECT>
<br />
<br />
<input type="submit" value="Anzeigen" name="show">
</form>';
}
?>
<br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>
<?php
/**
* Zeichnet eine Tabelle mit Kostenstellen und Tags
* @param $tags_array Array mit allen vorkommenden Tags
* @param $kst_tags 2 Dimensionales Array mit Kostenstellen, Tags und Bruttobetrag
*/
function draw_tag_table($tags_array, $kst_tags, $table_id)
{
echo '
<script type="text/javascript">
$(document).ready(function()
{
$("#'.$table_id.'").tablesorter(
{
sortList: [[0,0]],
widgets: [\'zebra\']
});
});
</script>
<table class="tablesorter" id="'.$table_id.'">
<thead>
<tr>
<th>Kostenstelle</th>';
@@ -204,71 +312,4 @@ if(isset($_POST['show']))
</tfoot>
</table>';
}
else
{
$kostenstelle = new wawi_kostenstelle();
$kostenstelle->loadArray($kst_array);
echo 'Bitte markieren sie die Kostenstellen die auf der Auswertung aufscheinen sollen:<br /><br />
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<table>
<tbody>';
$anzahl=0;
$gesamt = count($kst_array);
echo '<td valign="top"><table>';
foreach($kostenstelle->result as $kst)
{
if($anzahl%(($gesamt/3)+1)==0)
{
echo '</table></td><td valign="top"><table>';
}
echo '<tr>
<td><input type="checkbox" name="kst[]" value="'.$kst->kostenstelle_id.'"></td>
<td nowrap>'.$kst->bezeichnung.'</td>
</tr>';
$anzahl++;
}
echo '</table></td>';
echo '</tbody>
<tfoot>
<tr>
<td><input type="checkbox" name="allemarkieren" onclick="alleMarkieren(this.checked)"></td>
<td>Alle markieren</td>
</tr>
</tfoot>
</table>
<br />
Studienjahr
<SELECT name="studiensemester" >';
$studsem = new studiensemester();
$ws = $studsem->getaktorNext(1);
$studsem->getAll();
foreach ($studsem->studiensemester as $stsemester)
{
if($stsemester->studiensemester_kurzbz==$ws)
$selected='selected';
else
$selected='';
if(substr($stsemester->studiensemester_kurzbz, 0, 2)=='WS')
{
$stsem_obj = new studiensemester();
$ss1 = $stsem_obj->getNextFrom($stsemester->studiensemester_kurzbz);
$ws1 = $stsemester->studiensemester_kurzbz;
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$ws1.'/'.$ss1.'</option>';
}
}
echo '
</SELECT>
<br />
<br />
<input type="submit" value="Anzeigen" name="show">
</form>';
}
?>
<br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>
?>