mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-01-12 06:41:14 +01:00
mahnwesen added e-mail
This commit is contained in:
parent
1c1c7034f1
commit
9fbd0eb85a
@ -33,16 +33,19 @@ class Mahnwesen {
|
|||||||
$extended_mysql55 = ",'de_DE'";
|
$extended_mysql55 = ",'de_DE'";
|
||||||
|
|
||||||
$allowed['mahnwesen_list'] = array('list');
|
$allowed['mahnwesen_list'] = array('list');
|
||||||
$heading = array('', '', 'Rechnung', 'Vom', 'Kd-Nr.', 'Kunde', 'Land', 'Projekt', 'Zahlung', 'Betrag (brutto)', 'Währung', 'Zahlstatus', 'Differenz', 'Status','Fällig am','Tage','Mahnstufe','Gemahnt','Mahn-Datum','Sperre','Interne Bemerkung','Menü');
|
$heading = array('', '', 'Rechnung', 'Vom', 'Kd-Nr.', 'Kunde', 'Land', 'Projekt', 'Zahlung', 'Betrag (brutto)', 'Währung', 'Zahlstatus', 'Differenz', 'Status','Fällig am','Tage','Mahnstufe','Brief','E-Mail','Gemahnt','Mahn-Datum','Sperre','Interne Bemerkung','Menü');
|
||||||
$width = array('1%','1%','01%', '01%', '01%', '05%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '20%', '1%'); // Fill out manually later
|
$width = array('1%','1%','01%', '01%', '01%', '05%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '01%', '20%', '1%'); // Fill out manually later
|
||||||
|
|
||||||
// columns that are aligned right (numbers etc)
|
// columns that are aligned right (numbers etc)
|
||||||
// $alignright = array(4,5,6,7,8);
|
// $alignright = array(4,5,6,7,8);
|
||||||
|
|
||||||
$faellig_datum = $app->erp->FormatDateShort("DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)");
|
$faellig_datum = $app->erp->FormatDateShort("DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)");
|
||||||
$faellig_tage = "if(DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)) > 0,DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)),'')";
|
$faellig_tage = "if(DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)) > 0,DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)),'')";
|
||||||
|
$mahn_druck = "if(m.druck,'Ja','')";
|
||||||
|
$mahn_mail = "if(m.mail,'Ja','')";
|
||||||
|
$mahn_versendet = "if(r.versendet_mahnwesen,'Ja','')";
|
||||||
|
|
||||||
$findcols = array('r.id','r.id','r.belegnr', $app->erp->FormatDateShort('r.datum'), 'r.kundennummer','r.name', 'r.land','p.abkuerzung','r.zahlungsweise','r.soll','r.waehrung','r.zahlungsstatus','r.soll','r.status',$faellig_datum,$faellig_tage,'r.name');
|
$findcols = array('r.id','r.id','r.belegnr', $app->erp->FormatDateShort('r.datum'), 'r.kundennummer','r.name', 'r.land','p.abkuerzung','r.zahlungsweise','r.soll','r.waehrung','r.zahlungsstatus','r.soll','r.status',$faellig_datum,$faellig_tage,'m.name',$mahn_druck,$mahn_mail,$mahn_versendet,'mahnwesen_datum');
|
||||||
$searchsql = array('belegnr', 'kunde', 'datum');
|
$searchsql = array('belegnr', 'kunde', 'datum');
|
||||||
|
|
||||||
$defaultorder = 1;
|
$defaultorder = 1;
|
||||||
@ -70,8 +73,10 @@ class Mahnwesen {
|
|||||||
".$faellig_datum." as faellig_datum,
|
".$faellig_datum." as faellig_datum,
|
||||||
".$faellig_tage." as faellig_tage,
|
".$faellig_tage." as faellig_tage,
|
||||||
m.name,
|
m.name,
|
||||||
if(r.versendet_mahnwesen,'Ja','') as versendet_mahnwesen,
|
".$mahn_druck.",
|
||||||
if(mahnwesen_datum <> '0000-00-00',".$app->erp->FormatDateShort('mahnwesen_datum').",'') as mahnwesen_datum,
|
".$mahn_mail.",
|
||||||
|
".$mahn_versendet.",
|
||||||
|
if(mahnwesen_datum <> '0000-00-00',".$app->erp->FormatDateShort('mahnwesen_datum').",''),
|
||||||
if(r.mahnwesen_gesperrt,'Ja',''),
|
if(r.mahnwesen_gesperrt,'Ja',''),
|
||||||
REPLACE(r.mahnwesen_internebemerkung,'\r\n','<br> '),
|
REPLACE(r.mahnwesen_internebemerkung,'\r\n','<br> '),
|
||||||
r.id
|
r.id
|
||||||
@ -268,9 +273,15 @@ class Mahnwesen {
|
|||||||
$drucke = 0;
|
$drucke = 0;
|
||||||
foreach ($auswahl as $rechnung_id) {
|
foreach ($auswahl as $rechnung_id) {
|
||||||
$mahnung = $this->MahnwesenMessage($rechnung_id);
|
$mahnung = $this->MahnwesenMessage($rechnung_id);
|
||||||
|
|
||||||
|
// Check first
|
||||||
if (empty($mahnung)) {
|
if (empty($mahnung)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ($mahnung['mail'] && empty($mahnung['rechnung']['email'])) {
|
||||||
|
$msg .= "<div class=\"error\">Keine E-Mail-Adresse hinterlegt bei Rechnung ".$mahnung['rechnung']['belegnr'].".</div>";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if ($mahnung['druck']) {
|
if ($mahnung['druck']) {
|
||||||
$drucker = $this->app->Secure->GetPOST('seldrucker');
|
$drucker = $this->app->Secure->GetPOST('seldrucker');
|
||||||
if($drucker > 0) {
|
if($drucker > 0) {
|
||||||
@ -278,27 +289,53 @@ class Mahnwesen {
|
|||||||
} else {
|
} else {
|
||||||
$msg .= "<div class=\"error\">Kein Drucker gewählt.</div>";
|
$msg .= "<div class=\"error\">Kein Drucker gewählt.</div>";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(class_exists('RechnungPDFCustom')) {
|
}
|
||||||
$Brief = new RechnungPDFCustom($this->app,$projekt);
|
|
||||||
}
|
// Create PDF
|
||||||
else {
|
if(class_exists('RechnungPDFCustom')) {
|
||||||
$Brief = new RechnungPDF($this->app,$projekt);
|
$Brief = new RechnungPDFCustom($this->app,$projekt);
|
||||||
}
|
}
|
||||||
$Brief->GetRechnung($rechnung_id,$mahnung['betreff'],0,null,$mahnung['body']);
|
else {
|
||||||
$tmpfile = $Brief->displayTMP();
|
$Brief = new RechnungPDF($this->app,$projekt);
|
||||||
$this->app->printer->Drucken($drucker,$tmpfile);
|
}
|
||||||
$this->MahnungCRM($mahnung['rechnung'], $mahnung['betreff'], $mahnung['body'],$tmpfile,$Brief->filename);
|
$Brief->GetRechnung($rechnung_id,$mahnung['betreff'],0,null,$mahnung['body']);
|
||||||
unlink($tmpfile);
|
$tmpfile = $Brief->displayTMP();
|
||||||
|
|
||||||
|
$fileid = $this->app->erp->CreateDatei($Brief->filename,$mahnung['betreff'],"","",$tmpfile,$this->app->User->GetName());
|
||||||
|
|
||||||
|
if ($mahnung['druck']) {
|
||||||
|
$this->app->printer->Drucken($drucker,$tmpfile);
|
||||||
|
$this->MahnungCRM('brief',$mahnung['rechnung'], $mahnung['betreff'], $mahnung['body'],$fileid,$Brief->filename);
|
||||||
$this->app->erp->RechnungProtokoll($rechnung_id,'Mahnung gedruckt');
|
$this->app->erp->RechnungProtokoll($rechnung_id,'Mahnung gedruckt');
|
||||||
$drucke++;
|
$drucke++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($mahnung['mail']) {
|
if ($mahnung['mail']) {
|
||||||
|
$senderName = $this->app->User->GetName()." (".$this->app->erp->GetFirmaAbsender().")";
|
||||||
|
$senderAddress = $this->app->erp->GetFirmaMail();
|
||||||
|
// function MailSend($from,$from_name,$to,$to_name,$betreff,$text,$files="",$projekt="",$signature=true,$cc="",$bcc="", $system = false)
|
||||||
|
$this->app->erp->MailSend(
|
||||||
|
$senderAddress,
|
||||||
|
$senderName,
|
||||||
|
$mahnung['rechnung']['email'],
|
||||||
|
$mahnung['rechnung']['email'],
|
||||||
|
htmlentities($mahnung['betreff']),
|
||||||
|
htmlentities($mahnung['body']),
|
||||||
|
[$tmpfile],
|
||||||
|
$mahnung['rechnung']['projekt'],
|
||||||
|
true,
|
||||||
|
$cc,
|
||||||
|
'',
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$this->MahnungCRM('email',$mahnung['rechnung'], $mahnung['betreff'], $mahnung['body'],$fileid,$Brief->filename);
|
||||||
$this->app->erp->RechnungProtokoll($rechnung_id,'Mahnung versendet');
|
$this->app->erp->RechnungProtokoll($rechnung_id,'Mahnung versendet');
|
||||||
$mails++;
|
$mails++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unlink($tmpfile);
|
||||||
|
|
||||||
$sql = "UPDATE rechnung set mahnwesen_datum = CURRENT_DATE, versendet_mahnwesen = 1";
|
$sql = "UPDATE rechnung set mahnwesen_datum = CURRENT_DATE, versendet_mahnwesen = 1";
|
||||||
$this->app->DB->Update($sql);
|
$this->app->DB->Update($sql);
|
||||||
|
|
||||||
@ -652,10 +689,12 @@ class Mahnwesen {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Create CRM entry for mahnung
|
* Create CRM entry for mahnung
|
||||||
|
* typ = brief, email
|
||||||
*/
|
*/
|
||||||
function MahnungCRM(array $rechnung, $betreff, $text, $file, $filename) {
|
function MahnungCRM(string $typ, array $rechnung, $betreff, $text, $fileid, $filename) {
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$data['typ'] = 'brief';
|
$data['typ'] = $typ;
|
||||||
$data['projekt'] = $rechnung['projekt'];
|
$data['projekt'] = $rechnung['projekt'];
|
||||||
$data['datum'] = date('Y-m-d');
|
$data['datum'] = date('Y-m-d');
|
||||||
$data['uhrzeit'] = date('Y-m-d H:i:s');
|
$data['uhrzeit'] = date('Y-m-d H:i:s');
|
||||||
@ -666,14 +705,12 @@ class Mahnwesen {
|
|||||||
$data['ort'] = $rechnung['ort'];
|
$data['ort'] = $rechnung['ort'];
|
||||||
$data['betreff'] = $betreff;
|
$data['betreff'] = $betreff;
|
||||||
$data['content'] = $text;
|
$data['content'] = $text;
|
||||||
|
$data['email_an'] = $rechnung['email'];
|
||||||
$data['sent'] = 1;
|
$data['sent'] = 1;
|
||||||
|
|
||||||
|
|
||||||
/* $data['email'] = $this->app->Secure->GetPOST('email');
|
|
||||||
$data['printer'] = $this->app->Secure->GetPOST('printer');*/
|
|
||||||
|
|
||||||
$crm_id = $this->app->erp->DokumentCreate($data,$this->app->User->GetAdresse());
|
$crm_id = $this->app->erp->DokumentCreate($data,$this->app->User->GetAdresse());
|
||||||
$this->app->erp->CreateDateiWithStichwort($filename,$mahnung['betreff'],"","",$file,$this->app->User->GetName() ,'anhang','dokument',$crm_id);
|
$this->app->erp->AddDateiStichwort($fileid,'anhang','dokument',$crm_id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user