stellenantrag_neu/admin/zuweisung_mail.php
2023-05-23 11:30:38 +02:00

272 lines
9.3 KiB
PHP
Executable File

<?php
#include("kurs/datenbankanbindung.php"); // f&uuml;gt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
# Beim Button Mailversand muss es eine Schleife geben,
# die prüft, welche Dokumente versendet werden müssen:
/* ähnlich disesm select
SELECT a.saaid, b.uid, a.zuweisung, vorname, nachname,a.qid
FROM stan_printqueue_antrag a, stan_antrag b, stud c
WHERE (a.saaid=b.saaid or a.uid=b.uid)
AND b.uid=c.uid
AND b.uid='55200'
AND druckstatus ='N'
*/
# Dann wird mit funktion zuweisung_mail die jeweilige PDF erzeugt,
# darauf achten, dass Anträge an Student nur einmal erzeugt werden pro Art (EZS, AES)
# Returnwert ist der Dateiname der pdf
# Diese pdf an hinterlegte Mailadresse schicken.
# Wenn es keine Mailadresse gibt, dann Status neu und Briefdruck, damit es über alle offenen Zuweisungen gedruckt werden kann.
define('FPDF_FONTPATH','font/');
require_once('prints/as_utf_class.php');
function zuweisung_mail($hs, $zuweisung, $extid, $uid, $hist){
#user Admin um in stan_printqueue_antrag updates zu machen
$user_admin=$_COOKIE["user_admin"];
$pdf= new utfFPDF();
if($hs == 'K'){
require("prints/table_def_kehl.inc");
}
if($hs == 'L'){
require("prints/table_def.inc");
}
if($hs == 'L'){
$pagecount = $pdf->setSourceFile("anschreiben/briefkopf_blanko_2023.pdf");
}
if($hs == 'K'){
$pagecount = $pdf->setSourceFile("anschreiben_kehl/blanko_kehl.pdf");
}
$tplidx = $pdf->ImportPage(1);
# Briefe an den Student werden nur einmal gedruckt. Dort sind alle Praxisstellen darauf
$lnzaehler1 = 0;
$lnzaehler2 = 0;
$lnzaehler3 = 0;
$db = dbconnect();
if($zuweisung != 'SOZ'){
if(!isset($hist)){
$querya = "SELECT a.saaid, b.uid, vorname, nachname,a.qid
FROM stan_printqueue_antrag a, stan_antrag b, stud c
WHERE a.saaid=b.saaid
AND b.uid=c.uid
AND b.uid='$uid'
AND druckstatus ='N'
AND a.zuweisung = '$zuweisung'
AND a.saaid = $extid
ORDER BY uid,sort_order";
$resulta = $db->query ($querya)
or die ("Cannot execute query1");
}else{
$querya = "SELECT a.saaid, b.uid, vorname, nachname,a.qid
FROM stan_printqueue_hist a, stan_antrag b, stud c
WHERE a.saaid=b.saaid
AND b.uid=c.uid
AND b.uid='$uid'
AND druckstatus ='N'
AND a.zuweisung = '$zuweisung'
AND a.saaid = $extid
ORDER BY uid,sort_order";
$resulta = $db->query ($querya)
or die ("Cannot execute query1");
}
while ($row_cur_uid = $resulta->fetch_array()){
$resultakt = $db->query("SELECT saaid, aendid, status, zuweisung, uid
FROM stan_antrag
WHERE saaid ='$row_cur_uid[saaid]'
");
$row_akt = $resultakt->fetch_array(); // Prüfen ob schon Änderungsanträge vorhanden
# wird u.a für AEP benötigt
$res_alt = $db->query("SELECT saaid, aendid, status, zuweisung
FROM stan_antrag
WHERE saaid<'$row_cur_uid[saaid]'
AND aendid='$row_akt[aendid]'
AND zuweisung!='NA'
ORDER BY saaid DESC
LIMIT 1");
$row_alt = $res_alt->fetch_array();
if($lnzaehler1 < 1 AND $zuweisung == 'EZS'){
$pdf->addPage();
$pdf->useTemplate($tplidx,0,0,0);
$pdf->SetAutoPageBreak(true, 10);
if($hs == 'L'){
require("anschreiben/zuweisung_erstantrag_student.php");
}
if($hs == 'K'){
require("anschreiben_kehl/zuweisung_erstantrag_student.php");
}
# Dokumentenname sichern, auch bei Sammeldrucken EZS
if(!isset($hist)){
$resultpo = $db->query("SELECT printed_obj
FROM stan_printqueue_antrag
WHERE qid = '" . $row_cur_uid['qid'] . "'
");
$row_po = $resultpo->fetch_array(); // Prüfen ob schon Änderungsanträge vorhanden
$printed_obj = explode(',', substr(trim($row_po['printed_obj']), 0, -1));
for($k=0;$k < count($printed_obj);$k++){
$sql_queue = $db->query("UPDATE stan_printqueue_antrag
SET dokument='drucke_mailversand/zuweisung_".$extid."_".$hs."_".$uid."_".$zuweisung.".pdf'
WHERE saaid='" . $printed_obj[$k] . "'
");
}
}else{
# Historiendruck
}
$lnzaehler1 =1;
}
if($zuweisung == 'EZP'){
$pdf->addPage();
$pdf->useTemplate($tplidx,0,0,0);
$pdf->SetAutoPageBreak(true, 10);
if($hs == 'L'){
require("anschreiben/zuweisung_erstantrag_praxisstelle.php");
}
if($hs == 'K'){
require("anschreiben_kehl/zuweisung_erstantrag_praxisstelle.php");
}
# Dokumentenname sichern
if(!isset($hist)){
$sql_queue = $db->query("UPDATE stan_printqueue_antrag SET dokument='drucke_mailversand/zuweisung_".$extid."_".$hs."_".$uid."_".$zuweisung.".pdf' WHERE qid='$row_cur_uid[qid]'");
}else{
# Historiendruck
}
}
if($lnzaehler2 < 1 AND $zuweisung == 'AES'){
$pdf->addPage();
$pdf->useTemplate($tplidx,0,0,0);
$pdf->SetAutoPageBreak(true, 10);
if($hs == 'L'){
require("anschreiben/zuweisung_aenderung_student.php");
}
if($hs == 'K'){
require("anschreiben_kehl/zuweisung_aenderung_student.php");
}
# Dokumentenname sichern, auch bei Sammeldrucken AES
# Dokumentenname sichern, auch bei Sammeldrucken EZS
if(!isset($hist)){
$resultpo = $db->query("SELECT printed_obj
FROM stan_printqueue_antrag
WHERE qid = '" . $row_cur_uid['qid'] . "'
");
$row_po = $resultpo->fetch_array(); // Prüfen ob schon Änderungsanträge vorhanden
$printed_obj = explode(',', substr(trim($row_po['printed_obj']), 0, -1));
for($k=0;$k < count($printed_obj);$k++){
$sql_queue = $db->query("UPDATE stan_printqueue_antrag
SET dokument='drucke_mailversand/zuweisung_".$extid."_".$hs."_".$uid."_".$zuweisung.".pdf'
WHERE saaid='" . $printed_obj[$k] . "'
");
}
}else{
# Historiendruck
}
$lnzaehler2 =1;
}
if($zuweisung == 'AEP'){
$pdf->addPage();
$pdf->useTemplate($tplidx,0,0,0);
$pdf->SetAutoPageBreak(true, 10);
if($hs == 'L'){
require("anschreiben/zuweisung_aenderung_praxisstelle.php");
}
if($hs == 'K'){
require("anschreiben_kehl/zuweisung_aenderung_praxisstelle.php");
}
# Dokumentenname sichern
if(!isset($hist)){
$sql_queue = $db->query("UPDATE stan_printqueue_antrag SET dokument='drucke_mailversand/zuweisung_".$extid."_".$hs."_".$uid."_".$zuweisung.".pdf' WHERE qid='$row_cur_uid[qid]'");
}else{
# Historiendruck
}
}
#datum = date("Y-m-d H:i:s",time());
# 15.01.2010: Wurde innerhalb while schleife gezogen, da sonst der update mit Druckstatus=G nicht mehr funktionieren würde
$dok_output = "drucke_mailversand/zuweisung_".$extid."_".$hs."_".$uid."_".$zuweisung.".pdf";
$pdf->Output($dok_output,"F");
$pdf->close();
} // Ende While
}
# Standortzuweisung
if($zuweisung == 'SOZ'){
if(!isset($hist)){
$querya = "SELECT distinct uid, vorname, nachname
FROM stan_zuw_so_neu
WHERE uid='$uid'
ORDER BY uid";
$resulta = $db->query ($querya)
or die ("Cannot execute query1");
}else{
$querya = "SELECT a.UID, a.zuweisung, vorname, nachname, wagsid
FROM stan_printqueue_hist a, stud c
WHERE a.uid=c.uid
AND a.qid='$extid'
AND a.zuweisung = 'SOZ'
ORDER BY uid,sort_order";
$resulta = $db->query ($querya)
or die ("Cannot execute query1");
}
while ($row_cur_uid2 = $resulta->fetch_array()){
$pdf->addPage();
$pdf->useTemplate($tplidx,0,0,0);
$pdf->SetAutoPageBreak(true, 10);
if($row_cur_uid2['wagsid'] == ''){
$dok_output = "drucke_mailversand/zuweisung_".$hs."_".$uid."_".$zuweisung.".pdf";
}else{
$dok_output = "drucke_mailversand/zuweisung_".$hs."_".$row_cur_uid2['wagsid']."_".$uid."_".$zuweisung.".pdf";
}
if($hs == 'K' or $hs == 'k'){
require("anschreiben_kehl/zuweisung_ag_standort_neu.php");
}else{
require("anschreiben/zuweisung_ag_standort_neu.php");
}
$pdf->Output($dok_output,"F");
$pdf->close();
}
}
# return $output;
return $dok_output;
}
#echo zuweisung_mail('L', 'SOZ', NULL, 'abel_philipp', NULL);
?>