Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">"; $where = " l.id > 0 AND l.lager_platz NOT IN (SELECT id FROM lager_platz)"; $sql = "SELECT SQL_CALC_FOUND_ROWS l.id, a.nummer, a.name_de, l.menge, l.id FROM lager_platz_inhalt l JOIN artikel a on l.artikel = a.id"; $count = "SELECT count(l.id) FROM lager_platz_inhalt l WHERE $where"; break; case "artikel_list": $allowed['datenbankbereinigen'] = array('list'); $heading = array('Artikelnummer', 'Artikelname', 'Menü'); $width = array('20%', '40%', '1%'); $findcols = array('a.nummer', 'a.name_de', 'a.id'); $searchsql = array('a.nummer', 'a.name_de'); $defaultorder = 1; $defaultorderdesc = 0; $menu = ''; $menu .= "Conf->WFconf['defaulttheme']}/images/forward.svg\" border=\"0\">"; $menu .= ""; $where = " a.id > 0 AND a.geloescht = 1"; $sql = "SELECT SQL_CALC_FOUND_ROWS a.id, a.nummer, a.name_de, a.id FROM artikel a"; $count = "SELECT count(a.id) FROM artikel a WHERE $where"; break; case "adressen_list": $allowed['datenbankbereinigen'] = array('list'); $heading = array('Kundennummer', 'Lieferantennummer', 'Name', 'Straße', 'PLZ', 'Ort', 'Land', 'Menü'); $width = array('10%', '10%', '30%', '10%', '10%', '10%', '10%', '1%'); $findcols = array('a.kundennummer', 'a.lieferantennummer', 'a.name', 'a.strasse', 'a.plz', 'a.ort', 'a.land', 'a.id'); $searchsql = array('a.kundennummer', 'a.lieferantennummer', 'a.name', 'a.strasse', 'a.plz', 'a.ort', 'a.land'); $defaultorder = 1; $defaultorderdesc = 0; $menu = ''; $menu .= "Conf->WFconf['defaulttheme']}/images/forward.svg\" border=\"0\">"; $menu .= ""; $where = " a.id > 0 AND a.geloescht = 1"; $sql = "SELECT SQL_CALC_FOUND_ROWS a.id, a.kundennummer, a.lieferantennummer, a.name, a.strasse, a.plz, a.ort, a.land, a.id FROM adresse a"; $count = "SELECT count(a.id) FROM adresse a WHERE $where"; break; } $erg = false; foreach($erlaubtevars as $k => $v) { if(isset($$v))$erg[$v] = $$v; } return $erg; } function __construct($app, $intern = false) { $this->app=&$app; if($intern)return; $this->app->ActionHandlerInit($this); // ab hier alle Action Handler definieren die das Modul hat $this->app->ActionHandler("list", "DatenbankbereinigenList"); $this->app->ActionHandler("edit", "DatenbankbereinigenEdit"); $this->app->ActionHandler("lagerdelete", "DatenbankbereinigenLagerDelete"); $this->app->ActionHandler("lager", "DatenbankbereinigenLager"); $this->app->ActionHandler("adresse", "DatenbankbereinigenAdressen"); $this->app->ActionHandler("artikel", "DatenbankbereinigenArtikel"); $this->app->ActionHandler("artikelwiederherstellen", "ArtikelwiederherstellenEdit"); $this->app->ActionHandler("artikelwiederherstellensave", "ArtikelwiederherstellenSave"); $this->app->ActionHandler("adressewiederherstellen", "AdressewiederherstellenEdit"); $this->app->ActionHandler("adressewiederherstellensave", "AdressewiederherstellenSave"); $this->app->ActionHandlerListen($app); } function DatenbankbereinigenMenu() { $this->app->erp->MenuEintrag("index.php?module=datenbankbereinigen&action=list","Zurück zur Übersicht"); } function DatenbankbereinigenList() { $this->app->erp->MenuEintrag("index.php?module=datenbankbereinigen&action=list","Übersicht"); $vorschau = $this->app->Secure->GetPOST("vorschau"); if($vorschau != ""){ $option = $this->app->Secure->GetPOST("optionen"); //$this->app->erp->LogFile("OPTION".$option); if($option == "lager"){ //$this->app->YUI->TableSearch('TAB1','lager_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("LAGERSELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=lager"); }elseif($option == "adresse"){ //$this->app->YUI->TableSearch('TAB1','adressen_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("ADRESSESELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=adresse"); }elseif($option == "artikel"){ //$this->app->YUI->TableSearch('TAB1','artikel_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("ARTIKELSELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=artikel"); } } $this->app->Tpl->Parse("PAGE","datenbankbereinigen_list.tpl"); } function DatenbankbereinigenLager() { $vorschau = $this->app->Secure->GetPOST("vorschau"); if($vorschau != ""){ $this->auswerten(); } $this->app->Tpl->Set("LAGERSELECTED", "selected"); $this->app->YUI->TableSearch('TAB1','lager_list', "show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse("PAGE","datenbankbereinigen_list.tpl"); } function DatenbankbereinigenArtikel() { $vorschau = $this->app->Secure->GetPOST("vorschau"); if($vorschau != ""){ $this->auswerten(); } $this->app->Tpl->Set("ARTIKELSELECTED", "selected"); $this->app->YUI->TableSearch('TAB1','artikel_list', "show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse("PAGE","datenbankbereinigen_list.tpl"); } function DatenbankbereinigenAdressen() { $vorschau = $this->app->Secure->GetPOST("vorschau"); if($vorschau != ""){ $this->auswerten(); } $this->app->Tpl->Set("ADRESSESELECTED", "selected"); $this->app->YUI->TableSearch('TAB1','adressen_list', "show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse("PAGE","datenbankbereinigen_list.tpl"); } function DatenbankbereinigenLagerDelete() { $id = $this->app->Secure->GetGET("id"); $this->app->DB->DELETE("DELETE FROM lager_platz_inhalt WHERE id = '$id' LIMIT 1"); header("Location: index.php?module=datenbankbereinigen&action=lager"); exit; } function ArtikelwiederherstellenEdit() { if($this->app->Secure->GetGET('cmd')=='get'){ $id = (int)$this->app->Secure->GetPOST('id'); $data = $this->app->DB->SelectArr("SELECT id FROM artikel WHERE id = '$id' LIMIT 1"); if($data){ $data = reset($data); $bisherigenummer = $this->app->DB->Select("SELECT nummer FROM angebot_position WHERE artikel = '$id' LIMIT 1"); if($bisherigenummer == "" || $bisherigenummer <= 0){ $bisherigenummer = $this->app->DB->Select("SELECT nummer FROM auftrag_position WHERE artikel = '$id' LIMIT 1"); if($bisherigenummer == "" || $bisherigenummer <= 0){ $bisherigenummer = $this->app->DB->Select("SELECT nummer FROM gutschrift_position WHERE artikel = '$id' LIMIT 1"); if($bisherigenummer == "" || $bisherigenummer <= 0 ){ $bisherigenummer = $this->app->DB->Select("SELECT nummer FROM lieferschein_position WHERE artikel = '$id' LIMIT 1"); if($bisherigenummer == "" || $bisherigenummer <= 0){ $bisherigenummer = $this->app->DB->Select("SELECT nummer FROM rechnung_position WHERE artikel = '$id' LIMIT 1"); } } } } if($bisherigenummer != ""){ $data['bisherigenummer'] = $bisherigenummer; }else{ $data['bisherigenummer'] = ""; } } echo json_encode($data); exit; } $this->app->Tpl->Parse('PAGE', "datenbankbereinigen_list.tpl"); } function ArtikelwiederherstellenSave() { $id = (int)$this->app->Secure->GetPOST('id'); $artikelid = $this->app->Secure->GetPOST('artikelid'); $neuenummer = trim($this->app->Secure->GetPOST('neuenummer')); $error = ""; if(trim($neuenummer) == ""){ $error .= "Bitte neue Nummer ausfüllen\n"; } if($id == "" || $id <= 0){ $error .= "Kein Artikel gefunden\n"; } $nummervergeben = $this->app->DB->Select("SELECT id FROM artikel WHERE nummer = '$neuenummer' LIMIT 1"); if($nummervergeben != ""){ $error .= "Neue Nummer ist schon vergeben"; } if($error == ""){ $this->app->DB->Update("UPDATE artikel SET geloescht = 0, nummer = '$neuenummer' WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; }else{ echo json_encode(array('status'=>0,'statusText'=>$error)); exit; } } function AdressewiederherstellenEdit() { if($this->app->Secure->GetGET('cmd')=='get'){ $id = (int)$this->app->Secure->GetPOST('id'); $data = $this->app->DB->SelectArr("SELECT id, kundennummer, lieferantennummer, mitarbeiternummer FROM adresse WHERE id = '$id' LIMIT 1"); if($data){ $data = reset($data); $kundennummer = substr($data['kundennummer'], 4); $lieferantennummer = substr($data['lieferantennummer'], 4); $mitarbeiternummer = substr($data['mitarbeiternummer'], 4); if($kundennummer == "" || $kundennummer <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM angebot WHERE adresse = '$id' LIMIT 1"); if($belegkvorhanden == "" || $belegkvorhanden <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM auftrag WHERE adresse = '$id' LIMIT 1"); if($belegkvorhanden == "" || $belegkvorhanden <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM bestellung WHERE adresse = '$id' LIMIT 1"); if($belegkvorhanden == "" || $belegkvorhanden <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM gutschrift WHERE adresse = '$id' LIMIT 1"); if($belegkvorhanden == "" || $belegkvorhanden <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM lieferschein WHERE adresse = '$id' LIMIT 1"); if($belegkvorhanden == "" || $belegkvorhanden <= 0){ $belegkvorhanden = $this->app->DB->Select("SELECT kundennummer FROM rechnung WHERE adresse = '$id' LIMIT 1"); } } } } } } if(($kundennummer == "" || $kundennummer <= 0) && ($belegkvorhanden == "" || $belegkvorhanden <= 0)){ $data['kundennummer'] = ""; }else{ $data['kundennummer'] = $kundennummer; } if($lieferantennummer == "" || $lieferantennummer <= 0){ $beleglvorhanden = $this->app->DB->Select("SELECT lieferantennummer FROM bestellung WHERE adresse = '$id' LIMIT 1"); } if(($lieferantennummer == "" || $lieferantennummer <= 0) && ($beleglvorhanden == "" || $beleglvorhanden <= 0)){ $data['lieferantennummer'] = ""; }else{ $data['lieferantennummer'] = $lieferantennummer; } if($mitarbeiternummer == "" || $mitarbeiternummer <= 0){ $data['mitarbeiternummer'] = ""; }else{ $data['mitarbeiternummer'] = $mitarbeiternummer; } } echo json_encode($data); exit; } $this->app->Tpl->Parse('PAGE', "datenbankbereinigen_list.tpl"); } function AdressewiederherstellenSave() { $id = (int)$this->app->Secure->GetPOST('eid'); //$this->app->erp->LogFile("ID:".$id); $neuenummerk = trim($this->app->Secure->GetPOST('neuenummerk')); $neuenummerl = trim($this->app->Secure->GetPOST('neuenummerl')); $neuenummerm = trim($this->app->Secure->GetPOST('neuenummerm')); //$this->app->erp->LogFile(print_r($_POST, true)); $error = ""; if(trim($neuenummerk) == "" && trim($neuenummerl) == "" && trim($neuenummerm)){ $error .= "Mindestens eine neue Nummer muss vergeben werden\n"; } $rollekvorhanden = $this->app->DB->Select("SELECT id FROM adresse_rolle WHERE subjekt = 'Kunde' AND adresse = '$id' LIMIT 1"); $rollelvorhanden = $this->app->DB->Select("SELECT id FROM adresse_rolle WHERE subjekt = 'Lieferant' AND adresse = '$id' LIMIT 1"); $rollemvorhanden = $this->app->DB->Select("SELECT id FROM adresse_rolle WHERE subjekt = 'Mitarbeiter' AND adresse = '$id' LIMIT 1"); if($id == "" || $id <= 0){ $error .= "Keine Adresse gefunden\n"; } if($rollekvorhanden != "" && $neuenummerk == ""){ $error .= "Adresse war Kunde. Bitte neue Kundennummer ausfüllen.\n"; } if($rollelvorhanden != "" && $neuenummerl == ""){ $error .= "Adresse war Lieferant. Bitte neue Lieferantennummer ausfüllen.\n"; } if($rollemvorhanden != "" && $neuenummerm == ""){ $error .= "Adresse war Mitarbeiter. Bitte neue Mitarbeiternummer ausfüllen.\n"; } $knummervergeben = $this->app->DB->Select("SELECT id FROM adresse WHERE kundennummer = '$neuenummerk' AND kundennummer != '' LIMIT 1"); if($knummervergeben != ""){ $error .= "Neue Kundennummer ist schon vergeben.\n"; } $lnummervergeben = $this->app->DB->Select("SELECT id FROM adresse WHERE lieferantennummer = '$neuenummerl' AND lieferantennummer != ''LIMIT 1"); if($lnummervergeben != ""){ $error .= "Neue Lieferantennummer ist schon vergeben.\n"; } $mnummervergeben = $this->app->DB->Select("SELECT id FROM adresse WHERE mitarbeiternummer = '$neuenummerm' AND mitarbeiternummer != '' LIMIT 1"); if($mnummervergeben != ""){ $error .= "Neue Mitarbeiternummer ist schon vergeben.\n"; } if($error == ""){ $this->app->DB->Update("UPDATE adresse SET kundennummer = $neuenummerk, lieferantennummer = '$neuenummerl', mitarbeiternummer = '$neuenummerm', geloescht = 0 WHERE id = '$id'"); if(($rollekvorhanden == "" || $rollekvorhanden <= 0) && $neuenummerk != ""){ $this->app->erp->AddRolleZuAdresse($id, "Kunde", "von", "Projekt", 0); } if(($rollelvorhanden == "" || $rollelvorhanden <= 0) && $neuenummerl != ""){ $this->app->erp->AddRolleZuAdresse($id, "Lieferant", "von", "Projekt", 0); } if(($rollemvorhanden == "" || $rollemvorhanden <= 0) && $neuenummerm != ""){ $this->app->erp->AddRolleZuAdresse($id, "Mitarbeiter", "von", "Projekt", 0); } echo json_encode(array('status'=>1)); exit; }else{ echo json_encode(array('status'=>0,'statusText'=>$error)); exit; } } function auswerten() { $option = $this->app->Secure->GetPOST("optionen"); //$this->app->erp->LogFile("OPTION".$option); if($option == "lager"){ //$this->app->YUI->TableSearch('TAB1','lager_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("LAGERSELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=lager"); }elseif($option == "adresse"){ //$this->app->YUI->TableSearch('TAB1','adressen_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("ADRESSESELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=adresse"); }elseif($option == "artikel"){ //$this->app->YUI->TableSearch('TAB1','artikel_list', "show","","",basename(__FILE__), __CLASS__); //$this->app->Tpl->Set("ARTIKELSELECTED", "selected"); header("Location: index.php?module=datenbankbereinigen&action=artikel"); } } }