mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-03-05 22:49:48 +01:00
Merge branch 'master' into mirakl
This commit is contained in:
commit
99b6a7c671
@ -850,9 +850,9 @@ class TicketImportHelper
|
||||
if (
|
||||
$this->mailAccount->isAutoresponseEnabled()
|
||||
&& $this->mailAccount->getAutoresponseText() !== ''
|
||||
&& (
|
||||
// $this->erpApi->AutoresponderBlacklist($from) !== 1 ||
|
||||
$this->mailAccount->isAutoresponseLimitEnabled() === false
|
||||
&& !(
|
||||
$this->CheckAutoresponderBlacklist($from) &&
|
||||
$this->mailAccount->isAutoresponseLimitEnabled()
|
||||
)
|
||||
) {
|
||||
|
||||
@ -867,20 +867,38 @@ class TicketImportHelper
|
||||
$betreff = str_replace('{TICKET}', $ticketNumber, $betreff);
|
||||
$betreff = str_replace('{BETREFF}', $subject, $betreff);
|
||||
|
||||
|
||||
if (!$this->erpApi->isHTML($text)) {
|
||||
$text = str_replace("\r\n", '<br>', $text);
|
||||
}
|
||||
|
||||
$this->SetAutoresponderBlacklist($from);
|
||||
|
||||
$this->erpApi->MailSend(
|
||||
$this->mailAccount->getSenderEmailAddress(),
|
||||
'',
|
||||
$this->mailAccount->getSenderName(),
|
||||
$from,
|
||||
$from,
|
||||
$name_sender,
|
||||
$betreff,
|
||||
$text
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
// Check if the given address has already been autoresponded to
|
||||
// True if blocked
|
||||
function CheckAutoresponderBlacklist(string $mailaddress) : bool {
|
||||
$blocked = $this->db->Select("SELECT * FROM autoresponder_blacklist WHERE mailaddress = '".$mailaddress."' AND cachetime > DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -24 HOUR)");
|
||||
|
||||
$this->logger->debug('Blacklist',['address' => $mailaddress, 'result' => $blocked]);
|
||||
|
||||
return(!empty($blocked));
|
||||
}
|
||||
|
||||
function SetAutoresponderBlacklist(string $mailaddress) {
|
||||
$this->db->Insert("INSERT INTO autoresponder_blacklist (mailaddress) VALUES ('".$mailaddress."')");
|
||||
$this->db->Delete("DELETE FROM autoresponder_blacklist WHERE cachetime < DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -24 HOUR)");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1313,6 +1313,7 @@ Allow from all
|
||||
}
|
||||
|
||||
function refresh_githash() {
|
||||
$gitinfo = array();
|
||||
$path = '../.git/';
|
||||
if (!is_dir($path)) {
|
||||
return;
|
||||
@ -1321,12 +1322,13 @@ Allow from all
|
||||
$refs = trim(substr($head,0,4));
|
||||
if ($refs == 'ref:') {
|
||||
$ref = substr($head,5);
|
||||
$hash = trim(file_get_contents($path . $ref));
|
||||
$gitinfo['hash'] = trim(file_get_contents($path . $ref));
|
||||
$gitinfo['branch'] = basename($path . $ref);
|
||||
} else {
|
||||
$hash = $head;
|
||||
$gitinfo['hash'] = $head;
|
||||
}
|
||||
if (!empty($hash)) {
|
||||
file_put_contents("../githash.txt", $hash);
|
||||
if (!empty($gitinfo)) {
|
||||
file_put_contents("../gitinfo.json", json_encode($gitinfo));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,11 +84,9 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
}
|
||||
|
||||
public function PLACEHOLDER_DELETE() {
|
||||
$id = (int) $this->app->Secure->GetGET('id');
|
||||
|
||||
$id = (int) $this->app->Secure->GetGET('id');
|
||||
$this->app->DB->Delete("DELETE FROM `PLACEHOLDER_MODULENAME` WHERE `id` = '{$id}'");
|
||||
$this->app->Tpl->Set('MESSAGE', "<div class=\"error\">Der Eintrag wurde gelöscht.</div>");
|
||||
|
||||
$this->app->Tpl->addMessage('error', 'Der Eintrag wurde gelöscht');
|
||||
$this->PLACEHOLDER_LIST();
|
||||
}
|
||||
|
||||
@ -112,6 +110,10 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
$this->app->erp->MenuEintrag("index.php?module=PLACEHOLDER_MODULENAME&action=list", "Zurück zur Übersicht");
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
$input = $this->GetInput();
|
||||
|
||||
// Convert here
|
||||
// $input['prio'] = !empty($this->app->Secure->GetPOST('prio'))?"1":"0";
|
||||
|
||||
$submit = $this->app->Secure->GetPOST('submit');
|
||||
|
||||
if (empty($id)) {
|
||||
@ -156,23 +158,26 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
$msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>");
|
||||
header("Location: index.php?module=PLACEHOLDER_MODULENAME&action=list&msg=$msg");
|
||||
} else {
|
||||
$this->app->Tpl->Set('MESSAGE', "<div class=\"success\">Die Einstellungen wurden erfolgreich übernommen.</div>");
|
||||
$this->app->Tpl->addMessage('success', 'Die Einstellungen wurden erfolgreich übernommen.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Load values again from database
|
||||
$dropnbox = "PLACEHOLDER_DROPNBOX";
|
||||
$result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id");
|
||||
if ($id != 'NULL') {
|
||||
|
||||
foreach ($result[0] as $key => $value) {
|
||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||
}
|
||||
$dropnbox = "PLACEHOLDER_DROPNBOX";
|
||||
$result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id");
|
||||
|
||||
if (!empty($result)) {
|
||||
$PLACEHOLDER_MODULENAME_from_db = $result[0];
|
||||
} else {
|
||||
return;
|
||||
foreach ($result[0] as $key => $value) {
|
||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||
}
|
||||
|
||||
if (!empty($result)) {
|
||||
$PLACEHOLDER_MODULENAME_from_db = $result[0];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@ -184,6 +189,8 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
$this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
|
||||
|
||||
$this->app->YUI->AutoComplete("artikel", "artikelnummer");
|
||||
$this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$PLACEHOLDER_MODULENAME_from_db['projekt'],false));
|
||||
$this->app->Tpl->Set('PRIO', $PLACEHOLDER_MODULENAME_from_db['prio']==1?"checked":"");
|
||||
|
||||
*/
|
||||
|
||||
|
@ -3660,6 +3660,28 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "etikettautodruck",
|
||||
"Type": "int(1)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "etikett",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
|
16
version.php
16
version.php
@ -2,9 +2,19 @@
|
||||
|
||||
$version="OSS";
|
||||
$version_revision="1.11";
|
||||
$githash = file_get_contents("../githash.txt");
|
||||
if (!empty($githash)) {
|
||||
$version_revision .= " (".substr($githash,0,8).")";
|
||||
$gitinfo = file_get_contents("../gitinfo.json");
|
||||
if (!empty($gitinfo)) {
|
||||
$gitinfo = json_decode($gitinfo);
|
||||
|
||||
if ($gitinfo->branch != 'master') {
|
||||
$version_revision .= " (".substr($gitinfo->hash,0,8)." - ".$gitinfo->branch.")";
|
||||
}
|
||||
else {
|
||||
$version_revision .= " (".substr($gitinfo->hash,0,8).")";
|
||||
}
|
||||
|
||||
} else {
|
||||
$version_revision .= " (?)";
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -4318,39 +4318,6 @@ title: 'Abschicken',
|
||||
$result[0]['lieferemail'] = $auftragArr['lieferemail'];
|
||||
}
|
||||
|
||||
if($type==='bestellung' || $type==='angebot' || $type==='proformarechnung' || $type==='retoure')
|
||||
{
|
||||
$typeArr = $this->app->DB->SelectRow("SELECT * FROM $type WHERE id = '$id' LIMIT 1");
|
||||
$result[0]['abweichendelieferadresse']=$typeArr['abweichendelieferadresse'];
|
||||
$result[0]['liefername']=$typeArr['liefername'];
|
||||
$result[0]['lieferabteilung']=$typeArr['lieferabteilung'];
|
||||
$result[0]['lieferunterabteilung']=$typeArr['lieferunterabteilung'];
|
||||
$result[0]['lieferadresszusatz']=$typeArr['lieferadresszusatz'];
|
||||
$result[0]['liefertitel']=$typeArr['liefertitel'];
|
||||
$result[0]['lieferansprechpartner']=$typeArr['lieferansprechpartner'];
|
||||
$result[0]['lieferstrasse']=$typeArr['lieferstrasse'];
|
||||
$result[0]['lieferplz']=$typeArr['lieferplz'];
|
||||
$result[0]['lieferland']=$typeArr['lieferland'];
|
||||
$result[0]['lieferort'] = $typeArr['lieferort'];
|
||||
$result[0]['liefergln'] = $typeArr['liefergln'];
|
||||
$result[0]['lieferemail'] = $typeArr['lieferemail'];
|
||||
if($type === 'proformarechnung')
|
||||
{
|
||||
$result[0]['verzollungadresse']=$typeArr['verzollungadresse'];
|
||||
$result[0]['verzollungname']=$typeArr['verzollungname'];
|
||||
$result[0]['verzollungabteilung']=$typeArr['verzollungabteilung'];
|
||||
$result[0]['verzollungunterabteilung']=$typeArr['verzollungunterabteilung'];
|
||||
$result[0]['verzollungadresszusatz']=$typeArr['verzollungadresszusatz'];
|
||||
$result[0]['verzollungtitel']=$typeArr['verzollungtitel'];
|
||||
$result[0]['verzollungansprechpartner']=$typeArr['verzollungansprechpartner'];
|
||||
$result[0]['verzollungstrasse']=$typeArr['verzollungstrasse'];
|
||||
$result[0]['verzollungplz']=$typeArr['verzollungplz'];
|
||||
$result[0]['verzollungland']=$typeArr['verzollungland'];
|
||||
$result[0]['verzollungort'] = $typeArr['verzollungort'];
|
||||
$result[0]['verzollunginformationen'] = $typeArr['verzollunginformationen'];
|
||||
}
|
||||
}
|
||||
|
||||
if($type=="angebot" || $type=="auftrag")
|
||||
{
|
||||
$soll = $result[0]['gesamtsumme'];
|
||||
@ -4586,7 +4553,7 @@ title: 'Abschicken',
|
||||
$text = str_replace('{NETTOGEWICHT}',number_format((float)$nettogewicht,2,",",""),$text);
|
||||
$zahlungsweise = '';
|
||||
if($type !== 'lieferschein'){
|
||||
$zahlungsweise = $this->app->DB->Select("SELECT zahlungsweise FROM $type WHERE id='$id' LIMIT 1");
|
||||
$zahlungsweise = $result[0]['zahlungsweise'];
|
||||
}
|
||||
$text = str_replace("{ZAHLUNGSWEISE}",$zahlungsweise,$text);
|
||||
} else {
|
||||
@ -4600,8 +4567,6 @@ title: 'Abschicken',
|
||||
$result[0][$key]=str_replace('NONBLOCKINGZERO','',$result[0][$key]);
|
||||
}
|
||||
|
||||
$result[0]['anschreiben'] = $this->app->DB->Select("SELECT anschreiben FROM `$type` WHERE id='".$id."' LIMIT 1");
|
||||
|
||||
if($type === 'adresse') {
|
||||
$tmpAddr = $result[0];
|
||||
}
|
||||
@ -4663,7 +4628,7 @@ title: 'Abschicken',
|
||||
|
||||
if($type=="rechnung" || $type=="lieferschein")
|
||||
{
|
||||
$tmpauftragid = $this->app->DB->Select("SELECT auftragid FROM $type WHERE id='$id' LIMIT 1");
|
||||
$tmpauftragid =$result[0]['auftragid'];
|
||||
$result[0]['lieferdatum'] = $this->app->DB->Select("SELECT lieferdatum FROM auftrag WHERE id='$tmpauftragid' LIMIT 1");
|
||||
$result[0]['tatsaechlicheslieferdatum'] = $this->app->DB->Select("SELECT tatsaechlicheslieferdatum FROM auftrag WHERE id='$tmpauftragid' LIMIT 1");
|
||||
}
|
||||
@ -4872,7 +4837,7 @@ title: 'Abschicken',
|
||||
|
||||
if($type=="rechnung" || $type=="lieferschein")
|
||||
{
|
||||
$tmpauftragid = $this->app->DB->Select("SELECT auftragid FROM $type WHERE id='$id' LIMIT 1");
|
||||
$tmpauftragid = $resul[0]['auftragid'];
|
||||
$auftragsadresse = $this->app->DB->SelectRow("SELECT * FROM auftrag WHERE id='$tmpauftragid' LIMIT 1");
|
||||
if(!empty($auftragsadresse)){
|
||||
$auftragsadressetext = '';
|
||||
|
@ -18,7 +18,7 @@ abstract class Versanddienstleister
|
||||
protected int $projectId;
|
||||
protected ?int $labelPrinterId;
|
||||
protected ?int $documentPrinterId;
|
||||
protected bool $shippingMail;
|
||||
protected int $shippingMail;
|
||||
protected ?int $businessLetterTemplateId;
|
||||
protected ?object $settings;
|
||||
|
||||
@ -453,6 +453,17 @@ abstract class Versanddienstleister
|
||||
$countries = Array();
|
||||
$this->app->Tpl->addMessage('error', 'Länderliste ist leer. Siehe Einstellungen -> Länderliste.', false, 'PAGE');
|
||||
}
|
||||
|
||||
switch ($this->shippingMail) {
|
||||
case -1:
|
||||
$address['email'] = '';
|
||||
break;
|
||||
case 1:
|
||||
// User text template (not implemented)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$json['form'] = $address;
|
||||
$json['countries'] = $countries;
|
||||
@ -469,6 +480,7 @@ abstract class Versanddienstleister
|
||||
$json['form']['services'] = [
|
||||
Product::SERVICE_PREMIUM => false
|
||||
];
|
||||
|
||||
$this->app->Tpl->Set('JSON', json_encode($json));
|
||||
$this->app->Tpl->Set('CARRIERNAME', $this->GetName());
|
||||
$this->app->Tpl->Parse($target, 'createshipment.tpl');
|
||||
|
@ -187,6 +187,8 @@ class ObjGenAdresse
|
||||
private $freifeld9;
|
||||
private $freifeld10;
|
||||
private $rechnung_papier;
|
||||
private $etikettautodruck;
|
||||
private $etikett;
|
||||
private $angebot_cc;
|
||||
private $auftrag_cc;
|
||||
private $rechnung_cc;
|
||||
@ -440,6 +442,8 @@ $result = $result[0];
|
||||
$this->freifeld9=$result['freifeld9'];
|
||||
$this->freifeld10=$result['freifeld10'];
|
||||
$this->rechnung_papier=$result['rechnung_papier'];
|
||||
$this->etikettautodruck=$result['etikettautodruck'];
|
||||
$this->etikett=$result['etikett'];
|
||||
$this->angebot_cc=$result['angebot_cc'];
|
||||
$this->auftrag_cc=$result['auftrag_cc'];
|
||||
$this->rechnung_cc=$result['rechnung_cc'];
|
||||
@ -693,6 +697,8 @@ $result = $result[0];
|
||||
`freifeld9`='{$this->freifeld9}',
|
||||
`freifeld10`='{$this->freifeld10}',
|
||||
`rechnung_papier`='{$this->rechnung_papier}',
|
||||
`etikettautodruck`='{$this->etikettautodruck}',
|
||||
`etikett`='{$this->etikett}',
|
||||
`angebot_cc`='{$this->angebot_cc}',
|
||||
`auftrag_cc`='{$this->auftrag_cc}',
|
||||
`rechnung_cc`='{$this->rechnung_cc}',
|
||||
@ -946,6 +952,8 @@ $result = $result[0];
|
||||
$this->freifeld9='';
|
||||
$this->freifeld10='';
|
||||
$this->rechnung_papier='';
|
||||
$this->etikettautodruck='';
|
||||
$this->etikett='';
|
||||
$this->angebot_cc='';
|
||||
$this->auftrag_cc='';
|
||||
$this->rechnung_cc='';
|
||||
@ -1392,6 +1400,10 @@ $result = $result[0];
|
||||
public function GetFreifeld10() { return $this->freifeld10; }
|
||||
public function SetRechnung_Papier($value) { $this->rechnung_papier=$value; }
|
||||
public function GetRechnung_Papier() { return $this->rechnung_papier; }
|
||||
public function SetEtikettautodruck($value) { $this->etikettautodruck=$value; }
|
||||
public function GetEtikettautodruck() { return $this->etikettautodruck; }
|
||||
public function SetEtikett($value) { $this->etikett=$value; }
|
||||
public function GetEtikett() { return $this->etikett; }
|
||||
public function SetAngebot_Cc($value) { $this->angebot_cc=$value; }
|
||||
public function GetAngebot_Cc() { return $this->angebot_cc; }
|
||||
public function SetAuftrag_Cc($value) { $this->auftrag_cc=$value; }
|
||||
|
@ -665,7 +665,7 @@ class Auftrag extends GenAuftrag
|
||||
$menu .= "</a>";
|
||||
|
||||
$moreinfo = true; // Minidetail active
|
||||
$menucol = 11; // For minidetail
|
||||
$menucol = 13; // For minidetail
|
||||
|
||||
break;
|
||||
case 'auftraegeoffeneautowartend':
|
||||
@ -5778,29 +5778,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
if($kommissionierverfahren==='lieferschein' && $lieferschein > 0)
|
||||
{
|
||||
//FALL 1 Lieferschein mit Lagerplatz
|
||||
|
||||
$sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'";
|
||||
$vorkommissionierung = $this->app->DB->Select($sql);
|
||||
|
||||
if(!$vorkommissionierung)
|
||||
{
|
||||
$kommissionierung = $this->app->erp->GetNextKommissionierung();
|
||||
} else {
|
||||
$kommissionierung = false;
|
||||
}
|
||||
|
||||
if($kommissionierung){
|
||||
$this->app->DB->Update(
|
||||
sprintf(
|
||||
"UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = %d WHERE id = %d LIMIT 1",
|
||||
$lieferschein,
|
||||
$id,
|
||||
$adresse,
|
||||
$kommissionierung
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$auslagernresult =
|
||||
$this->app->erp->LieferscheinAuslagern(
|
||||
$lieferschein,
|
||||
@ -5811,40 +5789,33 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
false,
|
||||
$nurRestmenge
|
||||
);
|
||||
|
||||
$sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'";
|
||||
$vorkommissionierung = $this->app->DB->Select($sql);
|
||||
|
||||
if (!$vorkommissionierung)
|
||||
{
|
||||
$kommissionierung = $this->app->erp->GetNextKommissionierung();
|
||||
|
||||
$druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1');
|
||||
$etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_drucker');
|
||||
|
||||
$sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$adresse;
|
||||
$settings = $this->app->DB->SelectRow($sql);
|
||||
|
||||
if($kommissionierung){
|
||||
$this->app->DB->Update(
|
||||
sprintf(
|
||||
"UPDATE kommissionierung SET ausgelagert = 1 WHERE id = %d LIMIT 1",
|
||||
$kommissionierung
|
||||
)
|
||||
);
|
||||
|
||||
foreach ($auslagernresult['storageMovements'] as $storageMovement) {
|
||||
$this->app->DB->Update(
|
||||
sprintf(
|
||||
"INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)",
|
||||
$kommissionierung,
|
||||
$storageMovement['artikel'],
|
||||
$storageMovement['lager_platz'],
|
||||
$storageMovement['menge']
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Kommissionierschein drucken?
|
||||
if ($projektarr['autodruckkommissionierscheinstufe1']) {
|
||||
$Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true));
|
||||
$Brief->GetKommissionierung($kommissionierung);
|
||||
$tmpfile = $Brief->displayTMP();
|
||||
for($mengedruck=$projektarr['autodruckkommissionierscheinstufe1menge'];$mengedruck > 0;$mengedruck--) {
|
||||
$druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1');
|
||||
$this->app->printer->Drucken($druckercode, $tmpfile);
|
||||
}
|
||||
unlink($tmpfile);
|
||||
}
|
||||
$this->Kommissionieren(
|
||||
kommissionierung : $kommissionierung,
|
||||
auftrag: $id,
|
||||
lieferschein: $lieferschein,
|
||||
ausgelagert: true,
|
||||
lagerplatzliste: $auslagernresult,
|
||||
mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0,
|
||||
druckercode: $druckercode,
|
||||
mengeetiketten: $settings['etikettautodruck']?1:0,
|
||||
etikett: $settings['etikettautodruck']?$settings['etikett']:0,
|
||||
etikettendrucker: $etikettendrucker);
|
||||
}
|
||||
|
||||
|
||||
// Prozesse ohne Versandzentrum
|
||||
$this->app->erp->BriefpapierHintergrundDisable($druckercode);
|
||||
|
||||
@ -5975,9 +5946,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
|
||||
// Check for override in adresse
|
||||
$sql = "SELECT rechnung_anzahlpapier, rechnung_anzahlpapier_abweichend FROM adresse WHERE id =".$adresse;
|
||||
$rechnung_anzahlpapier = $this->app->DB->SelectArr($sql);
|
||||
if ($rechnung_anzahlpapier[0]['rechnung_anzahlpapier_abweichend']) {
|
||||
$autodruckrechnungstufe1menge = $rechnung_anzahlpapier[0]['rechnung_anzahlpapier'];
|
||||
$adresse_settings = $this->app->DB->SelectArr($sql);
|
||||
if ($adresse_settings[0]['rechnung_anzahlpapier_abweichend']) {
|
||||
$autodruckrechnungstufe1menge = $adresse_settings[0]['rechnung_anzahlpapier'];
|
||||
}
|
||||
|
||||
if($exportdruckrechnungstufe1)
|
||||
@ -6542,6 +6513,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'vorkommissionieren_ohne_etiketten':
|
||||
$vorkommissionieren_ohne_etiketten = true;
|
||||
// break ommitted
|
||||
case 'vorkommissionieren':
|
||||
|
||||
if (!empty($auftraegemarkiert)) {
|
||||
@ -6577,9 +6551,6 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
|
||||
$kid = $this->app->erp->GetNextKommissionierung();
|
||||
|
||||
$sql = "UPDATE kommissionierung SET auftrag = $v, adresse = (SELECT adresse FROM auftrag WHERE id = ".$v.") WHERE id = $kid";
|
||||
$this->app->DB->Update($sql);
|
||||
|
||||
$auslagernresult =
|
||||
$this->app->erp->LieferscheinAuslagern(
|
||||
lieferschein: $v,
|
||||
@ -6592,33 +6563,35 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
simulieren: true
|
||||
);
|
||||
|
||||
foreach ($auslagernresult['storageMovements'] as $storageMovement) {
|
||||
$this->app->DB->Update(
|
||||
sprintf(
|
||||
"INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)",
|
||||
$kid,
|
||||
$storageMovement['artikel'],
|
||||
$storageMovement['lager_platz'],
|
||||
$storageMovement['menge']
|
||||
)
|
||||
);
|
||||
}
|
||||
$projekt = $this->app->DB->Select("SELECT projekt FROM auftrag WHERE id='$v' LIMIT 1");
|
||||
$druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1');
|
||||
|
||||
$this->app->erp->AuftragProtokoll($v,'Auftrag vorkommissioniert, Kommissionierung '.$kid);
|
||||
$settings = $this->app->DB->SelectRow("
|
||||
SELECT
|
||||
projekt.autodruckkommissionierscheinstufe1,
|
||||
projekt.autodruckkommissionierscheinstufe1menge,
|
||||
adresse.etikett,
|
||||
adresse.etikettautodruck,
|
||||
projekt.id as projekt
|
||||
FROM projekt
|
||||
INNER JOIN auftrag ON projekt.id = auftrag.projekt
|
||||
INNER JOIN adresse ON adresse.id = auftrag.adresse
|
||||
WHERE auftrag.id = '".$v."'"
|
||||
);
|
||||
|
||||
$projektarr = $this->app->DB->SelectRow("SELECT projekt.* FROM projekt INNER JOIN auftrag ON projekt.id = auftrag.projekt WHERE auftrag.id = '".$v."'");
|
||||
$etikettendrucker = $this->app->erp->Projektdaten($settings['projekt'],'etiketten_drucker');
|
||||
|
||||
// Kommissionierschein drucken?
|
||||
if ($projektarr['autodruckkommissionierscheinstufe1']) {
|
||||
$Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true));
|
||||
$Brief->GetKommissionierung($kid);
|
||||
$tmpfile = $Brief->displayTMP();
|
||||
for($mengedruck=$projektarr['autodruckkommissionierscheinstufe1menge'];$mengedruck > 0;$mengedruck--) {
|
||||
$druckercode = $this->app->erp->Projektdaten($projektarr['id'],'druckerlogistikstufe1');
|
||||
$this->app->printer->Drucken($druckercode, $tmpfile);
|
||||
}
|
||||
unlink($tmpfile);
|
||||
}
|
||||
$this->Kommissionieren(
|
||||
kommissionierung : $kid,
|
||||
auftrag: $v,
|
||||
lieferschein: 0,
|
||||
ausgelagert: false,
|
||||
lagerplatzliste: $auslagernresult,
|
||||
mengedruck: $settings['autodruckkommissionierscheinstufe1']?$settings['autodruckkommissionierscheinstufe1menge']:0,
|
||||
druckercode: $druckercode,
|
||||
mengeetiketten: $settings['etikettautodruck']?1:0,
|
||||
etikett: $vorkommissionieren_ohne_etiketten?0:($settings['etikettautodruck']?$settings['etikett']:0),
|
||||
etikettendrucker: $etikettendrucker);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -7345,5 +7318,66 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
||||
$this->app->YUI->TableSearch('TAB1','offenepositionen',"show","","",basename(__FILE__), __CLASS__);
|
||||
$this->app->Tpl->Parse('PAGE',"tabview.tpl");
|
||||
}
|
||||
|
||||
function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, $druckercode, int $mengeetiketten, $etikett, $etikettendrucker) {
|
||||
|
||||
$sql = sprintf(
|
||||
"UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = IF (%d != 0,(SELECT adresse FROM lieferschein WHERE id = %d LIMIT 1),(SELECT adresse FROM auftrag WHERE id = %d LIMIT 1)), ausgelagert = %d WHERE id = %d LIMIT 1",
|
||||
$lieferschein,
|
||||
$auftrag,
|
||||
$lieferschein,
|
||||
$lieferschein,
|
||||
$auftrag,
|
||||
$adresse,
|
||||
$kommissionierung,
|
||||
$ausgelager
|
||||
);
|
||||
|
||||
$this->app->DB->Update(
|
||||
$sql
|
||||
);
|
||||
|
||||
foreach ($lagerplatzliste['storageMovements'] as $storageMovement) {
|
||||
$this->app->DB->Update(
|
||||
sprintf(
|
||||
"INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)",
|
||||
$kommissionierung,
|
||||
$storageMovement['artikel'],
|
||||
$storageMovement['lager_platz'],
|
||||
$storageMovement['menge']
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Kommissionierschein
|
||||
if ($mengedruck > 0) {
|
||||
$this->app->erp->BriefpapierHintergrunddisable = true; // Disable background
|
||||
$Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true));
|
||||
$Brief->GetKommissionierung($kommissionierung);
|
||||
$tmpfile = $Brief->displayTMP();
|
||||
for($drucklauf = 0; $drucklauf < $mengedruck;$drucklauf++) {
|
||||
$spooler_id = $this->app->printer->Drucken($druckercode, $tmpfile);
|
||||
}
|
||||
unlink($tmpfile);
|
||||
$this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings
|
||||
}
|
||||
|
||||
// Etiketten
|
||||
if ($mengeetiketten > 0) {
|
||||
foreach ($lagerplatzliste['storageMovements'] as $storageMovement) {
|
||||
$this->app->erp->EtikettenDrucker(
|
||||
kennung: $etikett,
|
||||
anzahl: $mengeetiketten*$storageMovement['menge'],
|
||||
tabelle: 'artikel',
|
||||
id: $storageMovement['artikel'],
|
||||
variables: null,
|
||||
druckercode: $etikettendrucker
|
||||
);
|
||||
}
|
||||
|
||||
//function EtikettenDrucker($kennung,$anzahl,$tabelle,$id,$variables="",$xml="",$druckercode="",$filenameprefix="",$xmlaspdf=false,$adresse=0,$verwendenals="")
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,8 @@
|
||||
<option value="">{|bitte wählen|} ...</option>
|
||||
<option value="versandstarten">Auto-Versand</option>
|
||||
<option value="versandstartenmit">Auto-Versand (mit Kommissionierbez.)</option>
|
||||
<option value="vorkommissionieren">Vorkommissionieren</option>
|
||||
<option value="vorkommissionieren_ohne_etiketten">Vorkommissionieren (ohne Etiketten)</option>
|
||||
<option value="vorkommissionieren">Vorkommissionieren (mit Etiketten)</option>
|
||||
<option value="drucken">drucken</option>
|
||||
</select>
|
||||
<span id="druckerauswahl" style="display: none;">{|Drucker|}: <select name="seldruckerversand" id="seldruckerversand">[SELDRUCKERVERSAND]</select></span><input type="submit" class="btnBlue" name="ausfuehren" value="{|ausführen|}" />
|
||||
|
@ -226,7 +226,7 @@ class Kommissionierung {
|
||||
|
||||
public function kommissionierung_print() {
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
$Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true));
|
||||
$Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true, 'hintergrund' => 'none'));
|
||||
$Brief->GetKommissionierung($id);
|
||||
$Brief->displayDocument(false);
|
||||
exit();
|
||||
|
@ -1643,7 +1643,7 @@ class Shopimport
|
||||
$this->drawShopOrderTable($deletedRows);
|
||||
} else
|
||||
{
|
||||
return $count+(isset($gesamtanzahl)?$gesamtanzahl:0);
|
||||
return $count+(is_numeric($gesamtanzahl)?$gesamtanzahl:0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1703,9 +1703,9 @@ class Shopimport
|
||||
$adresseprojekt = '';
|
||||
}
|
||||
|
||||
$checkid = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE `name`='".$this->app->erp->ReadyForPDF($warenkorb['name'])."' AND abteilung='".$this->app->erp->ReadyForPDF($warenkorb['abteilung'])."'
|
||||
AND strasse='".$this->app->erp->ReadyForPDF($warenkorb['strasse'])."' AND plz='".$this->app->erp->ReadyForPDF($warenkorb['plz'])."' AND ort='".$this->app->erp->ReadyForPDF($warenkorb['ort'])."' AND kundennummer <> '' AND geloescht!=1 $adresseprojekt
|
||||
ORDER BY email='".$this->app->erp->ReadyForPDF($warenkorb['email'])."' DESC
|
||||
$checkid = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE `name`='".$this->app->DB->real_escape_string($warenkorb['name'])."' AND abteilung='".$this->app->DB->real_escape_string($warenkorb['abteilung'])."'
|
||||
AND strasse='".$this->app->DB->real_escape_string($warenkorb['strasse'])."' AND plz='".$this->app->DB->real_escape_string($warenkorb['plz'])."' AND ort='".$this->app->DB->real_escape_string($warenkorb['ort'])."' AND kundennummer <> '' AND geloescht!=1 $adresseprojekt
|
||||
ORDER BY email='".$this->app->DB->real_escape_string($warenkorb['email'])."' DESC
|
||||
LIMIT 1");
|
||||
|
||||
|
||||
@ -1719,7 +1719,7 @@ class Shopimport
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name LIKE '" . $warenkorb['name'] . "' AND ort LIKE '" . $warenkorb['ort'] . "' AND geloescht!=1 $adresseprojekt AND kundennummer <> '' LIMIT 1");
|
||||
}
|
||||
}else{
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name='".$this->app->erp->ReadyForPDF($warenkorb['name'])."' AND strasse='".$this->app->erp->ReadyForPDF($warenkorb['strasse'])."' AND plz='".$this->app->erp->ReadyForPDF($warenkorb['plz'])."' AND ort='".$this->app->erp->ReadyForPDF($warenkorb['ort'])."' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1");
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name='".$this->app->DB->real_escape_string($warenkorb['name'])."' AND strasse='".$this->app->DB->real_escape_string($warenkorb['strasse'])."' AND plz='".$this->app->DB->real_escape_string($warenkorb['plz'])."' AND ort='".$this->app->DB->real_escape_string($warenkorb['ort'])."' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1");
|
||||
}
|
||||
|
||||
if($warenkorb['kundennummer']!='' && !empty($validkundennummer) && $validkundennummer==$warenkorb['kundennummer'])
|
||||
@ -1871,9 +1871,9 @@ class Shopimport
|
||||
$adresseprojekt = '';
|
||||
}
|
||||
|
||||
$checkid = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE `name`='".$this->app->erp->ReadyForPDF($warenkorb['name'])."' AND abteilung='".$this->app->erp->ReadyForPDF($warenkorb['abteilung'])."'
|
||||
AND strasse='".$this->app->erp->ReadyForPDF($warenkorb['strasse'])."' AND plz='".$this->app->erp->ReadyForPDF($warenkorb['plz'])."' AND ort='".$this->app->erp->ReadyForPDF($warenkorb['ort'])."' AND kundennummer <> '' AND geloescht!=1 $adresseprojekt
|
||||
ORDER BY email='".$this->app->erp->ReadyForPDF($warenkorb['email'])."' DESC
|
||||
$checkid = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE `name`='".$this->app->DB->real_escape_string($warenkorb['name'])."' AND abteilung='".$this->app->DB->real_escape_string($warenkorb['abteilung'])."'
|
||||
AND strasse='".$this->app->DB->real_escape_string($warenkorb['strasse'])."' AND plz='".$this->app->DB->real_escape_string($warenkorb['plz'])."' AND ort='".$this->app->DB->real_escape_string($warenkorb['ort'])."' AND kundennummer <> '' AND geloescht!=1 $adresseprojekt
|
||||
ORDER BY email='".$this->app->DB->real_escape_string($warenkorb['email'])."' DESC
|
||||
LIMIT 1");
|
||||
|
||||
|
||||
@ -1887,7 +1887,7 @@ class Shopimport
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name LIKE '" . $warenkorb['name'] . "' AND ort LIKE '" . $warenkorb['ort'] . "' AND geloescht!=1 $adresseprojekt AND kundennummer <> '' LIMIT 1");
|
||||
}
|
||||
}else{
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name='".$this->app->erp->ReadyForPDF($warenkorb['name'])."' AND strasse='".$this->app->erp->ReadyForPDF($warenkorb['strasse'])."' AND plz='".$this->app->erp->ReadyForPDF($warenkorb['plz'])."' AND ort='".$this->app->erp->ReadyForPDF($warenkorb['ort'])."' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1");
|
||||
$checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name='".$this->app->DB->real_escape_string($warenkorb['name'])."' AND strasse='".$this->app->DB->real_escape_string($warenkorb['strasse'])."' AND plz='".$this->app->DB->real_escape_string($warenkorb['plz'])."' AND ort='".$this->app->DB->real_escape_string($warenkorb['ort'])."' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1");
|
||||
}
|
||||
|
||||
if($warenkorb['kundennummer']!='' && !empty($validkundennummer) && $validkundennummer==$warenkorb['kundennummer'])
|
||||
|
@ -642,11 +642,13 @@ class Versandpakete {
|
||||
// Write to database
|
||||
// Add checks here
|
||||
|
||||
$sql = "SELECT status FROM versandpakete WHERE id = ".$id;
|
||||
$input['status'] = $this->app->DB->SelectArr($sql)[0]['status']; // Status is not changeable
|
||||
$sql = "SELECT * FROM versandpakete WHERE id = ".$id;
|
||||
$paket_db = $this->app->DB->SelectRow($sql);
|
||||
$input['status'] = $paket_db['status']; // Status is not changeable
|
||||
if ($input['status'] != 'neu') {
|
||||
$input = Array('bemerkung' => $input['bemerkung']);
|
||||
}
|
||||
|
||||
if (!empty($paket_db['tracking'])) { // Tracking is not changeable
|
||||
unset($input['tracking']);
|
||||
unset($input['tracking_link']);
|
||||
|
@ -667,6 +667,13 @@ class WidgetGenadresse
|
||||
$field = new HTMLInput("kennung","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLCheckbox("etikettautodruck","","","1","0","0");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("etikett","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -771,6 +771,27 @@ function abweichend(cmd) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row-height">
|
||||
<div class="col-xs-12 col-md-12 col-md-height">
|
||||
<div class="inside inside-full-height">
|
||||
<fieldset>
|
||||
<legend>{|Etiketten|}</legend>
|
||||
<table width="100%" class="mkTableFormular">
|
||||
<tr>
|
||||
<td width="210">{|Autodruck|}:</td>
|
||||
<td>[ETIKETTAUTODRUCK][MSGETIKETTAUTODRUCK] <i>Bei der Kommissionierung werden Etiketten gedruckt</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="210">{|Etikett|}:</td>
|
||||
<td>[ETIKETT][MSGETIKETT]</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row-height">
|
||||
<div class="col-xs-12 col-md-6 col-md-height">
|
||||
|
@ -438,6 +438,11 @@ class WidgetAdresse extends WidgetGenAdresse
|
||||
$this->app->Tpl->Set('NACHBUNDESSTAAT','-->');
|
||||
}
|
||||
|
||||
$etikettenart = $this->app->erp->GetEtiketten();
|
||||
$field = new HTMLSelect("etikett",0);
|
||||
$field->AddOptionsAsocSimpleArray($etikettenart);
|
||||
$this->form->NewField($field);
|
||||
|
||||
}
|
||||
|
||||
function ReplaceDecimal($db,$value,$fromform)
|
||||
|
@ -152,7 +152,6 @@ class WidgetProjekt extends WidgetGenProjekt
|
||||
$field->AddOptionsAsocSimpleArray($drucker);
|
||||
$this->form->NewField($field);
|
||||
|
||||
|
||||
$drucker = $this->app->erp->GetDrucker();
|
||||
$field = new HTMLSelect("kasse_drucker",0);
|
||||
$field->AddOptionsAsocSimpleArray($drucker);
|
||||
|
Loading…
x
Reference in New Issue
Block a user