mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Logik Generierung MA-Nummer im Fas geändert
This commit is contained in:
@@ -1655,5 +1655,39 @@ class mitarbeiter extends benutzer
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generiert mitarbeiter_uid anhand sequence tbl_mitarbeiter_personalnummer_seq
|
||||
* @return string $mitarbeiter_uid im Formate maXXXX (zum Bsp. ma0207)
|
||||
*/
|
||||
public function getMitarbeiterMaNr()
|
||||
{
|
||||
$qry = "SELECT last_value FROM tbl_mitarbeiter_personalnummer_seq";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->last_value != '')
|
||||
{
|
||||
$maNr = $row->last_value;
|
||||
$maNr = $maNr - 9999;
|
||||
$maNr = 'ma'. $maNr;
|
||||
return $maNr;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage!';
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
* Funktionen zum Generieren der UIDs
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/../addon.class.php');
|
||||
require_once(dirname(__FILE__).'/../mitarbeiter.class.php');
|
||||
|
||||
// die aktiven Addons werden durchsucht, ob eines davon eine eigene UID Generierung vorsieht
|
||||
// falls ja, wird die Version des Addons genommen, ansonsten die Default Generierung
|
||||
@@ -109,5 +110,18 @@ if(!$generateuid_addon_found)
|
||||
return $uid;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Neue Logik Generierung Mitarbeiter UID
|
||||
* fortlaufende ma_number a la ma0200;
|
||||
* @return string $maNr maNr im Format maXXXX
|
||||
**/
|
||||
function generateMaNumberUID()
|
||||
{
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
$maNr = $mitarbeiter->getMitarbeiterMaNr();
|
||||
|
||||
return $maNr;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -5979,6 +5979,37 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_webservic
|
||||
}
|
||||
}
|
||||
|
||||
//ALTER Sequence tbl_mitarbeiter_personalnummer_seq
|
||||
if ($result = @$db->db_query("SELECT last_value FROM tbl_mitarbeiter_personalnummer_seq"))
|
||||
{
|
||||
$json = $db->db_getResultJSON($result);
|
||||
$last = json_decode($json);
|
||||
$last = $last[0]->{'last_value'};
|
||||
|
||||
if ($last <= 10000)
|
||||
{
|
||||
$count = @$db->db_query("
|
||||
SELECT personalnummer FROM public.tbl_mitarbeiter
|
||||
order by personalnummer DESC
|
||||
Limit 1
|
||||
");
|
||||
|
||||
$count = $db->db_getResultJSON($count);
|
||||
$count = json_decode($count);
|
||||
$count = $count[0]->{'personalnummer'} + 1;
|
||||
$qry = 'ALTER SEQUENCE tbl_mitarbeiter_personalnummer_seq restart with ';
|
||||
$qry .= $count;
|
||||
if (!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong> tbl_mitarbeiter_personalnummer_seq '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>tbl_mitarbeiter_personalnummer_seq auf neuen Startwert '. $count . ' geändert.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
* 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
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../../../config/vilesci.config.inc.php');
|
||||
@@ -621,7 +622,7 @@ if(isset($_POST['save']))
|
||||
$vorname_clean = mb_strtolower(convertProblemChars($vorname));
|
||||
$uid='';
|
||||
|
||||
$uid = generateMitarbeiterUID($vorname_clean, $nachname_clean, $lektor, $fixangestellt);
|
||||
$uid = generateMaNumberUID();
|
||||
|
||||
if ($wunschUid != '')
|
||||
{
|
||||
@@ -872,10 +873,10 @@ if(isset($_POST['save']))
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
if (!$error)
|
||||
{
|
||||
$db->db_query('COMMIT');
|
||||
die("<b>MitarbeiterIn $vorname $vornamen $nachname wurde erfolgreich angelegt</b><br><br><a href='mitarbeiterimport.php'>Neue Person anlegen</a><br>");
|
||||
die("<b>MitarbeiterIn $vorname $vornamen $nachname ($uid) wurde erfolgreich angelegt</b><br><br><a href='mitarbeiterimport.php'>Neue Person anlegen</a><br>");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -925,7 +926,8 @@ echo '<tr><td>Wunsch-UID</td><td><input type="text" name="wunschUid" id="wunschU
|
||||
echo '<span style="padding: 0 3px" id="checkUID"></span>';
|
||||
if ($showagain)
|
||||
echo '<br>';
|
||||
echo '<button type="button" title="Prüft, ob die UID schon vorhanden ist. Keine Sonderzeichen, Umlaute oder Leerzeichen in der UID" href="#" onclick="checkWunschUid()"> Check UID </button> (optional, max. 32)
|
||||
echo '<button type="button" title="Prüft, ob die UID schon vorhanden ist. Keine Sonderzeichen, Umlaute oder Leerzeichen in der UID"
|
||||
href="#" onclick="checkWunschUid()"> Check UID </button> (optional, max. 32)
|
||||
</td></tr>';
|
||||
echo '<tr><td>Anrede</td><td><input type="text" id="anrede" name="anrede" maxlength="16" size="30" value="'.$anrede.'" onblur="AnredeChange()"/></td></tr>';
|
||||
echo '<tr><td>Titel(Pre)</td><td><input type="text" id="titel" name="titel" maxlength="64" size="30" value="'.$titel.'" /></td></tr>';
|
||||
|
||||
Reference in New Issue
Block a user