\n";
//echo $f_min_date . "
\n";
//echo date('Y-m-d', strtotime($f_max_date)) . "
\n";
//echo $f_max_date . "
\n";
$inv_print_srvprice = $db->getone("SELECT par_value FROM parameter WHERE par_key = 'INV_PRINT_SRVPRICE' AND hq_id = " . $hq_id);
$sql_query = "SELECT usr_account, usr_firstname, usr_name FROM user WHERE usr_id = " . $usr_id;
$res = $db->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
$row = ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow());
myWriteLog($row["usr_firstname"] . " " . $row["usr_name"] . " (" . $row["usr_account"] . ")");
$res->free();
if ($usr_id != 300002 && !authCheckEmployeeRights($emp_id, "46")) {
myWriteLog("Keine Berechtigung");
echo "Keine Berechtigung";
exit();
}
$content = "";
if ($f_what == 1 || $f_what == 2 || $f_what == 5 || $f_what == 6 || $f_what == 7 || $f_what == 8 || $f_what == 15 || $f_what == 16 || $f_what == 19) {
$error_text = "";
if (!(date('Y-m-d', strtotime($f_min_date)) == $f_min_date && date('Y-m-d', strtotime($f_max_date)) == $f_max_date))
$error_text = "Ungültige Datumsangabe (Format TT.MM.JJJJ)";
if ($f_cs_eid == "" && $f_what != 16)
$error_text = "Kundennummer fehlt";
myWriteLog("\$f_cs_eid = $f_cs_eid, \$f_min_date = $f_min_date, \$f_max_date = $f_max_date, \$error_text = $error_text, \$f_what = $f_what, \$dl = $dl");
if ($error_text == "") {
$csv_name = ($f_what == 1 ? "Erledigungsstatistik" : ($f_what == 2 ? "Servicezeiten" : ($f_what == 5 ? "Ziel-PLZs" : ($f_what == 6 ? "Ziel-PLZs_und_-Orte" : ($f_what == 7 ? "Preise" : ($f_what == 8 ? "getnow" : ($f_what == 15 ? "Konservennutzung" : ($f_what == 16 ? "Auftragsherkunft" : ($f_what == 19 ? "PZM-Preisvergleich" : ""))))))))) . "_" . ($f_cs_eid != "" ? $f_cs_eid . "_" : "") . formDate($f_min_date) . "-" . formDate($f_max_date) . ".csv";
$csv_txt = csv_statistic($f_cs_eid, $f_min_date, $f_max_date, $f_what);
// if ($dl == 1):
// mk_csv_download($csv_name, $csv_txt);
// exit();
// endif;
$fileHandle = @fopen("../temp/download/" . $csv_name, 'w');
fwrite($fileHandle, str_replace("
", "", str_replace("#aa", "", str_replace("#ab", "", str_replace("#ba", "", str_replace("#bb", "", $csv_txt))))));
@fclose($fileHandle);
// $content = "
" . $csv_name . "
\n";
$content = "
" . $csv_name . "
\n";
if ($f_what == 15 || $f_what == 16 || $f_what == 19)
$content .= csv_output($csv_txt, "left");
else
$content .= csv_output($csv_txt);
} else {
$error_text = "
" . $error_text;
if ($hq_id != "3" && $hq_id != "2")
$error_text = "";
}
}
if ($f_what == 3 || $f_what == 4 || $f_what == 9 || $f_what == 10 || $f_what == 11 || $f_what == 12 || $f_what == 13 || $f_what == 14 || $f_what == 17 || $f_what == 18) {
if (($f_what == 10 || $f_what == 12) && $f_formsubmit == "Hinzufügen") {
$f_cs_eid = trim($f_cs_eid);
if ($f_cs_eid != "") {
$sql_query = "SELECT cs_id FROM customer WHERE cs_eid = '" . $f_cs_eid . "'";
$res = $db->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
if ($res->numRows() > 0) {
$row = ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow());
$sql_query = "SELECT par_value FROM parameter WHERE par_key = 'INV_PRINT_SRVPRICE_" . $row["cs_id"] . "'";
if ($f_what == 10)
$sql_query = "SELECT par_value FROM parameter WHERE par_key = 'MASK_TR_PHOTO_CS_" . $row["cs_id"] . "'";
$res1 = $db->query($sql_query);
if (DB::isError($res1)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
if ($res1->numRows() == 0) {
$sql_query = "INSERT INTO parameter (par_key, md_id, hq_id, emp_id, par_value, par_text) VALUES ('INV_PRINT_SRVPRICE_" . $row["cs_id"] . "', 0, 0, 0, '1', '')";
if ($f_what == 10)
$sql_query = "INSERT INTO parameter (par_key, md_id, hq_id, emp_id, par_value, par_text) VALUES ('MASK_TR_PHOTO_CS_" . $row["cs_id"] . "', 0, 0, 0, '" . $f_fototype . "', '')";
$res2 = $db->query($sql_query);
if (DB::isError($res2)) reportDie ("$PHP_SELF: '$sql_query'" . $res2->getMessage());
if ($f_what == 10) {
$sql_query = "INSERT INTO parameter (par_key, md_id, hq_id, emp_id, par_value, par_text) VALUES ('MASK_MIN_MAX_TR_PHOTO_CS_" . $row["cs_id"] . "', 0, 0, 0, '" . ($f_fotocount == 1 ? "0|1" : "1|1") . "', '')";
$res2 = $db->query($sql_query);
if (DB::isError($res2)) reportDie ("$PHP_SELF: '$sql_query'" . $res2->getMessage());
}
$error_text = "Ein neuer Eintrag wurde gespeichert für die Kundennummer " . $f_cs_eid . "";
} else {
$error_text = "Kundennummer " . $f_cs_eid . " hat bereits einen Eintrag";
if ($f_what == 10)
$error_text = "Kundennummer " . $f_cs_eid . " hat bereits einen Eintrag, bitte vorher löschen wenn neuer Eintrag gewünscht";
}
$res1->free();
} else {
$error_text = "Kundennummer " . $f_cs_eid . " ist unbekannt";
}
$res->free();
} else {
$error_text = "Kundennummer fehlt";
}
$f_cs_eid = "";
} elseif (($f_what == 10 || $f_what == 12) && $error_text == "loeschen") {
$sql_query = "SELECT cs_id FROM customer WHERE cs_eid = '" . $f_cs_eid . "'";
$res = $db->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
$row = ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow());
$sql_query = "DELETE FROM parameter WHERE par_key = 'INV_PRINT_SRVPRICE_" . $row["cs_id"] . "' ";
if ($f_what == 10)
$sql_query = "DELETE FROM parameter WHERE par_key = 'MASK_TR_PHOTO_CS_" . $row["cs_id"] . "'";
$res1 = $db->query($sql_query);
if (DB::isError($res1)) reportDie ("$PHP_SELF: '$sql_query'" . $res1->getMessage());
if ($f_what == 10) {
$sql_query = "DELETE FROM parameter WHERE par_key = 'MASK_MIN_MAX_TR_PHOTO_CS_" . $row["cs_id"] . "'";
$res1 = $db->query($sql_query);
if (DB::isError($res1)) reportDie ("$PHP_SELF: '$sql_query'" . $res1->getMessage());
}
$res->free();
$error_text = "Der Eintrag für die Kundennummer " . $f_cs_eid . " wurde gelöscht.";
$f_cs_eid = "";
}
if (trim($error_text) != "")
myWriteLog("\$error_text = $error_text");
if ($error_text == "" && $f_what != 9 && $f_what != 10 && $f_what != 11 && $f_what != 12 && $f_what != 13 && $f_what != 14 && $f_what != 17 && $f_what != 18)
$error_text = "ACHTUNG: Das Setzen oder Löschen eines Häkchens wird sofort gespeichert.";
$error_text .= "
";
$cs_ids = array();
$cs_ids_sql = "";
if ($f_what == 4) {
$emp_ids = array();
$jb_tourcities = array();
}
$sql_query = "";
if ($f_what == 3)
$sql_query =
"SELECT par_key, par_text FROM parameter WHERE (par_key IN ('RANKING_JB2CRVH_MEASURE_CS_IDS', 'JB_DISPOINFO_ENABLED_CS_IDS') AND hq_id = " . $hq_id . ") OR par_key LIKE 'MASK_CUST_SET_PAYER_%' OR par_key LIKE 'CUSTOMER_MANUAL_DISPO_%'";
if ($f_what == 4)
$sql_query =
"SELECT emp_id, par_key, par_value FROM parameter WHERE par_key IN ('CUSTOMER_MASK_JOBLIST_ADD_ON_FIELDS') OR par_key LIKE 'MASK_INSERTADDRESS_DISTRICT_%' OR par_key LIKE 'MASK_JB_MAP_VIEW_ENABLED_%'";
if ($f_what == 9)
$sql_query = "SELECT cr_id, cscr_relation, cs_eid FROM customer, customercourier WHERE customer.cs_id = customercourier.cs_id AND customer.hq_id = " . $hq_id . " ORDER BY cr_id, cscr_relation, cs_eid";
if ($f_what == 10)
$sql_query =
"SELECT par_key, par_value FROM parameter WHERE par_key LIKE 'MASK_TR_PHOTO_CS_%' OR par_key LIKE 'MASK_MIN_MAX_TR_PHOTO_CS_%'";
if ($f_what == 13)
$sql_query =
"SELECT par_key FROM parameter WHERE par_key LIKE 'MAIL%' AND (par_value LIKE '%@%' OR par_value = '') AND hq_id in (0, " . $hq_id . ") GROUP BY par_key HAVING COUNT(*) > 1";
if ($f_what == 14) { // honk
$cr_sids = array();
$sql_query = "SELECT cs_eid, cr_sid, cscr_prov FROM customer, customercourier, courier WHERE cscr_prov > 0 AND customer.cs_id = customercourier.cs_id AND customercourier.cr_id = courier.cr_id AND customer.hq_id = " . $hq_id . " ORDER BY cs_eid, cr_sid";
myWriteLog($sql_query);
$res = $db2->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
while ($row = ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow())) {
if (isset($cr_sids[$row["cs_eid"]]))
$cr_sids[$row["cs_eid"]] .= ", ";
else
$cr_sids[$row["cs_eid"]] = "";
$cr_sids[$row["cs_eid"]] .= $row["cr_sid"] . " " . $row["cscr_prov"] . "%";
}
$res->free();
$sql_query =
"SELECT DISTINCT cs_eid, '0' AS cs_invmode FROM customerservice, service, customer " . // Calculator
"WHERE customerservice.cs_id > 0 AND customerservice.srv_id = service.srv_id AND customerservice.cs_id = customer.cs_id AND customer.hq_id = " . $hq_id . " " .
"UNION " .
"SELECT DISTINCT cs_eid, '0' AS cs_invmode FROM service, customer " . // Calculator
"WHERE service.cs_id > 0 AND service.cs_id = customer.cs_id AND customer.hq_id = " . $hq_id . " " .
"UNION " .
"SELECT DISTINCT cs_eid, '1' AS cs_invmode FROM servicecustomer, service, servicetype, customer " . // Services
"WHERE servicecustomer.srv_id = service.srv_id AND servicecustomer.srvt_id = servicetype.srvt_id AND servicecustomer.hq_id = " . $hq_id . " " .
"AND servicecustomer.cs_id > 0 AND srv_mode = 0 AND (srvc_price > 0 OR srvc_price > 0) AND customer.cs_id = servicecustomer.cs_id " .
"UNION " .
"SELECT DISTINCT cs_eid, '2' AS cs_invmode FROM serviceplzcustomer AS srvpc, customer AS cs " .
"WHERE srvpc_price > 0 AND srvpc.hq_id = " . $hq_id . " AND srvpc.cs_id = cs.cs_id AND cs.cs_invmode = 1 AND cs.hq_id = " . $hq_id . " " . // PLZ
"UNION " .
"SELECT DISTINCT cs_eid, '3' AS cs_invmode FROM serviceplzareacustomer AS srvpac, customer AS cs " .
"WHERE srvpac_price > 0 AND srvpac.hq_id = " . $hq_id . " AND srvpac.cs_id = cs.cs_id AND cs.cs_invmode = 2 " . // Bereich
"UNION " .
"SELECT DISTINCT cs_eid, '4' AS cs_invmode FROM customer, customercourier " . // customercourier
"WHERE customer.cs_id = customercourier.cs_id AND customer.hq_id = " . $hq_id . " AND cscr_prov > 0 " .
"ORDER BY cs_eid";
}
//echo $sql_query;
if ($sql_query != "") {
myWriteLog($sql_query);
$res = $db2->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
while ($row = ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow())) {
if ($f_what == 3) {
if (substr($row['par_key'], 0, 20) == 'MASK_CUST_SET_PAYER_') {
$cs_ids['MASK_CUST_SET_PAYER'][] = substr($row['par_key'], 20);
} elseif (substr($row['par_key'], 0, 22) == 'CUSTOMER_MANUAL_DISPO_') {
$cs_ids['CUSTOMER_MANUAL_DISPO'][] = substr($row['par_key'], 22);
} else {
$cs_ids[$row['par_key']] = explode(",", $row['par_text']);
}
}
if ($f_what == 4) {
if (substr($row['par_key'], 0, 25) == 'MASK_JB_MAP_VIEW_ENABLED_') {
$cs_ids['MASK_JB_MAP_VIEW_ENABLED'][] = substr($row['par_key'], 25);
}
if (substr($row['par_key'], 0, 28) == 'MASK_INSERTADDRESS_DISTRICT_') {
$cs_ids['MASK_INSERTADDRESS_DISTRICT'][] = substr($row['par_key'], 28);
$jb_tourcities[substr($row['par_key'], 28)] = $row['par_value'];
}
if ($row['par_key'] == 'CUSTOMER_MASK_JOBLIST_ADD_ON_FIELDS' && $row['par_value'] == 'jb_tourcities')
$emp_ids[] = $row['emp_id'];
}
if ($f_what == 9) {
if (isset($cs_ids[$row["cr_id"]][$row["cscr_relation"]]))
$cs_ids[$row["cr_id"]][$row["cscr_relation"]] .= ", ";
else
$cs_ids[$row["cr_id"]][$row["cscr_relation"]] = "";
$cs_ids[$row["cr_id"]][$row["cscr_relation"]] .= $row["cs_eid"];
}
if ($f_what == 10) {
if (substr($row['par_key'], 0, 17) == 'MASK_TR_PHOTO_CS_' AND $row['par_value'] == "1") {
$cs_ids['MASK_TR_PHOTO_CS_1'][] = substr($row['par_key'], 17);
} elseif (substr($row['par_key'], 0, 17) == 'MASK_TR_PHOTO_CS_' AND $row['par_value'] == "2") {
$cs_ids['MASK_TR_PHOTO_CS_2'][] = substr($row['par_key'], 17);
} elseif (substr($row['par_key'], 0, 25) == 'MASK_MIN_MAX_TR_PHOTO_CS_') {
$cs_ids['MASK_MIN_MAX_TR_PHOTO_CS'][substr($row['par_key'], 25)] = $row['par_value'];
}
}
if ($f_what == 13) {
$cs_ids_sql .= ($cs_ids_sql != "" ? "," : "") . "'" . $row['par_key'] . "'";
}
if ($f_what == 14) { // honk
$cs_ids[$row['cs_invmode']][] = $row['cs_eid'];
$cs_ids_sql .= ($cs_ids_sql != "" ? "," : "") . "'" . $row['cs_eid'] . "'";
}
}
$res->free();
}
//print_r($cs_ids['MASK_MIN_MAX_TR_PHOTO_CS']);
//print_r($cs_ids); //print_r($jb_tourcities);print_r($emp_ids);
// $unique_cs_ids = implode (",", array_unique(array_merge($cs_ids['RANKING_JB2CRVH_MEASURE_CS_IDS'], $cs_ids['JB_DISPOINFO_ENABLED_CS_IDS'])));
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, cs_id FROM company, customer " .
"WHERE company.cmp_id = customer.cmp_id AND cs_jbedit = 1 AND hq_id = " . $hq_id . " ORDER BY cs_eid";
// "cs_id IN (" . $unique_cs_ids . ") ORDER BY cs_eid";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Lademaße;Dispo-Info;Barzahler;Manuelle Dispo
\n";
$special_columns = 1;
if ($f_what == 4) {
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, csc_name, usr_account, emp_id, customer.cs_id " .
"FROM company, customer, costcenter, employee, user " .
"WHERE company.cmp_id = customer.cmp_id AND customer.hq_id = " . $hq_id . " AND costcenter.cs_id = customer.cs_id AND costcenter.csc_id = employee.csc_id AND user.usr_id = employee.usr_id AND user.usr_account != '' " .
"ORDER BY cs_eid, csc_name, emp_id";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Kostenstelle;Login;Kartenansicht;Orte;Stadtteile
\n";
$special_columns = 2;
}
if ($f_what == 9) {
$sql_query =
"SELECT crvh_sid, cr_eid, cmp_comp, cmp_comp2, usr_name, usr_firstname, ad_street, CONCAT(CHAR(160), cmp_hsno), CONCAT(CHAR(160), ad_zipcode), ad_city, usr_email, CONCAT(CHAR(160), cr_imei), CONCAT(CHAR(160), cr_mobile_pda), usr_inv_email, usr.usr_id, cr.cr_id " .
"FROM company AS cmp, courier AS cr, user AS usr, couriervehicle AS crvh, address AS ad " .
"WHERE cmp.cmp_id = cr.cmp_id AND cr.usr_id = usr.usr_id AND cr.cr_id = crvh.cr_id AND crvh_sid != '' AND cr.hq_id = " . $hq_id . " AND cmp.ad_id = ad.ad_id " .
"ORDER BY crvh_sid";
$ret_val = "Lfd_Nr.;TT-Nr.;ExtID;Firma;Zusatz;Name;Vorname;Straße;Nummer;PLZ;Ort;E-mail;IMEI-Nr.;Mobil-Nr. VPA/PDA;E-Mail-Adr. Rechnungen;APP-,_BS-Vers.,_Modell;gesperrt;bevorzugt
\n";
$special_columns = 2;
}
if ($f_what == 10) {
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, cs_id FROM company, customer " .
"WHERE company.cmp_id = customer.cmp_id AND hq_id = " . $hq_id . " " .
"AND (cs_id IN (" . implode(",", array_unique(array_merge($cs_ids['MASK_TR_PHOTO_CS_1']))) . ") OR cs_id IN (" . implode(",", array_unique(array_merge($cs_ids['MASK_TR_PHOTO_CS_2']))) . ")) ORDER BY cs_eid";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Beweisfoto Zentralenerfassung;Beweisfoto Kundenerfassung;Fotos mindestens;Fotos höchstens
\n";
$special_columns = 1;
}
if ($f_what == 11) {
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, cmp_stax_idno, (CASE cmp_visible WHEN 1 THEN 'nein' ELSE 'ja' END) AS ausgeblendet, cscad_comp, cscad_comp2, cscad_comp3, cscad_comp4, ad_country, ad_zipcode, ad_city, ad_street, cscad_hsno " .
"FROM company AS cmp, customer AS cs, costcenter AS csc, costcenteraddress AS cscad, address AS ad " .
"WHERE cmp.cmp_id = cs.cmp_id AND cs.hq_id = " . $hq_id . " AND cs.csc_id = csc.csc_id AND cscad.csc_id = csc.csc_id AND cscad.ad_id = ad.ad_id AND cscad.adt_id = 2 AND ad.ad_country != 'DE' " .
"ORDER BY cs_eid";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;USt-IdNr.;Ausgeblendet;Rechnungsanschrift;;;;Land;PLZ;Ort;Straße;Nummer
\n";
$special_columns = 0;
}
if ($f_what == 12) {
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, (CASE cmp_visible WHEN 1 THEN 'nein' ELSE 'ja' END) AS ausgeblendet, cs_id " .
"FROM parameter, company AS cmp, customer AS cs " .
"WHERE par_key LIKE 'INV_PRINT_SRVPRICE_%' AND RIGHT(par_key, 6) = cs.cs_id AND cs.hq_id = " . $hq_id . " AND cmp.cmp_id = cs.cmp_id " .
"ORDER BY cs_eid";
// $res = $db->query($sql_query);
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Ausgeblendet
\n";
$special_columns = 1;
}
if ($f_what == 13) {
$sql_query =
"SELECT par_text, (CASE hq_id WHEN 0 THEN 'alle' WHEN 1 THEN 'HB' WHEN 2 THEN 'HH' WHEN 3 THEN 'B' WHEN 4 THEN 'H' WHEN 5 THEN 'F' WHEN 6 THEN 'DD' WHEN 7 THEN 'E' WHEN 8 THEN 'L' WHEN 9 THEN 'M' WHEN 11 THEN 'S' ELSE 'unbekannt' END) AS NL, par_value FROM parameter
WHERE (par_value LIKE '%@%' OR par_value = '') AND par_key LIKE 'MAIL_%' AND hq_id IN (0," . $hq_id . ") AND NOT (hq_id = 0 AND par_key IN (" . $cs_ids_sql . "))
AND par_key != 'MAIL_BCC_STATION_ADDRESS' AND par_key != 'MAIL_TEXT_RECENSION' AND par_value != 'mail-cron@assecutor.de'
ORDER BY hq_id DESC, par_text";
$ret_val = "Lfd_Nr.;Mail;NL;Empfänger
\n";
$special_columns = 0;
}
if ($f_what == 14) {
if ($cs_ids_sql != "")
$cs_ids_sql = " OR cs_eid IN (" . $cs_ids_sql . ")";
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, " .
"(CASE cmp_authenticated WHEN 1 THEN 'aktiv' ELSE 'gesperrt' END) AS authenticated, " .
"(CASE cs_invmode WHEN 0 THEN 'PZM' WHEN 1 THEN 'PLZ' WHEN 2 THEN 'Bereich' ELSE 'Sonstiges' END) AS cs_invmode_real, " .
"(CASE cs_markup WHEN 1 THEN '' ELSE 'nein' END) AS TSZ, " .
"IF(cs_markup_prov > 0, cs_markup_prov, '') AS TSZ_Satz, " .
"IF(cs_discount > 0, cs_discount, '') AS Rabattsatz, " .
"(CASE cs_fixprice_discount WHEN 1 THEN 'ja' ELSE '' END) AS Rabatt_auf_Festpreis " .
"FROM company AS cmp, customer AS cs " .
"WHERE cmp.cmp_id = cs.cmp_id AND cs.hq_id = " . $hq_id . " AND cs_eid != '' AND cmp_visible = 1 AND cmp_archived = 0 " .
"AND (cs_markup = 0 OR (cs_markup = 1 && cs_markup_prov > 0) OR cs_discount > 0 OR cs_fixprice_discount > 0" .
$cs_ids_sql . ")" .
"ORDER BY cs_eid";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Freigabe;Abrechnungs_Typ;TSZ;TSZ_%;Rabatt_%;Rabatt_auf_Festpreis;Services;Calc;PLZ;Bezirke;Kurierprovision
\n"; // honk
$special_columns = 0;
}
if ($f_what == 17) {
$sql_query =
"SELECT cs_eid, cmp_comp, cmp_comp2, COUNT(*), cs_id FROM (" .
"SELECT cs_eid, cmp_comp, cmp_comp2, customer.cs_id, jb_id " .
"FROM job, costcenter, customer, company " .
"WHERE job.csc_id_payer = costcenter.csc_id AND costcenter.cs_id = customer.cs_id AND customer.hq_id = " . $hq_id . " AND customer.cmp_id = company.cmp_id AND LENGTH(jb_tourname) > 0 " .
"UNION SELECT cs_eid, cmp_comp, cmp_comp2, customer.cs_id, jb_id " .
"FROM job, costcenter, customer, company " .
"WHERE job.csc_id_payer_cash = costcenter.csc_id AND costcenter.cs_id = customer.cs_id AND customer.hq_id = " . $hq_id . " AND customer.cmp_id = company.cmp_id AND LENGTH(jb_tourname) > 0 AND csc_id_payer_cash != 0" .
") AS honk " .
"GROUP BY cs_eid, cmp_comp, cmp_comp2";
$ret_val = "Lfd_Nr.;Kundennr.;Name;Name2;Anzahl Konserven
\n"; // honk
$special_columns = 2;
}
if ($f_what == 18) {
$sql_query = "http://" . $dbhostPZM . "/api/zones/" . $hq_id;
$json_response = file_get_contents($sql_query);
$responseArr = json_decode($json_response, true);
// $ret_val = "PZM-Modus: " . (getParameterValue("0", "PZM_ROUNDTRIPKM", $hq_id) == "1" ? "Rundtour (Berechnung der Hin- und Rückfahrt)" : "Last-KM (Berechnung der kürzesten Anfahrt)") . "
\n" ."
\n";
$ret_val =
"PZM-Modus: " .
'' . "
\n" .
"'Last-KM': Berechnung der kürzesten Anfahrt
'Rundtour': Berechnung der Hin- und Rückfahrt
(wenn das Häkchen bei der betreffenden Zone unten gesetzt ist)" . "
\n";
$ret_val .=
"Routenberechnung: " .
'' . "
\n" .
"'Normal': Es wird nur eine Route angefragt
'Kürzeste von drei': Die kürzeste von drei von Google vorgeschlagenen realistischen Routen
'Absolut kürzeste': Google ermittelt die kürzest mögliche Route" . "
\n" .
"
\n";
$ret_val .= "Lfd_Nr.;Name;Berechnung der " . (getParameterValue("0", "PZM_ROUNDTRIPKM", $hq_id) == "1" ? "Hin-/Rück" : "An") . "fahrt
\n";
$special_columns = 5;
}
myWriteLog($sql_query);
if ($f_what != 18) {
$res = $db->query($sql_query);
if (DB::isError($res)) reportDie ("$PHP_SELF: '$sql_query'" . $res->getMessage());
}
$rowcnt = 1;
$colCnt = 0;
$responseCnt = 0;
while ($row = ($f_what != 18 ? ($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow()) : ($responseCnt < count($responseArr) ? $responseArr[$responseCnt++] : false))) {
$row = array_values($row);
if ($colCnt % 2 == 0) { $cC = "#aa"; $cC2 = "#ab"; }
if ($colCnt++ % 2 == 1) { $cC = "#ba"; $cC2 = "#bb"; }
$ret_val .= $cC . ($f_what == 10 || $f_what == 12 ? "
" : "") . $rowcnt++ . ";";
for ($i = 0; $i < count($row) - $special_columns; $i++) {
$ret_val .= ($i % 2 == 1 ? $cC : $cC2) . str_replace(";", "", $row[$i]) . ";";
}
if ($f_what == 3) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
}
if ($f_what == 4) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
$district_txt = "";
if (isset($jb_tourcities[$row[count($row) - 1]]))
$district_txt = " (nur " . $jb_tourcities[$row[count($row) - 1]] . ")";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . $district_txt . ";";
}
if ($f_what == 9) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . getVPAInfo($row[count($row) - 2]) . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . $cs_ids[$row[count($row) - 1]][0] . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . $cs_ids[$row[count($row) - 1]][1] . ";";
}
if ($f_what == 10) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (in_array($row[count($row) - 1], $cs_ids['MASK_TR_PHOTO_CS_1']) ? "ja" : "nein") . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (in_array($row[count($row) - 1], $cs_ids['MASK_TR_PHOTO_CS_2']) ? "ja" : "nein") . ";";
$min_max_tr_photo_cs = explode("|", $cs_ids['MASK_MIN_MAX_TR_PHOTO_CS'][$row[count($row) - 1]]);
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) .
'' . ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) .
'' . ";";
}
if ($f_what == 14) { // honk
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (isset($cs_ids[1]) && in_array($row[0], $cs_ids[1]) ? "X" : "") . ";"; // Services
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (isset($cs_ids[0]) && in_array($row[0], $cs_ids[0]) ? "X" : "") . ";"; // Calc
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (isset($cs_ids[2]) && in_array($row[0], $cs_ids[2]) ? "X" : "") . ";"; // PLZ
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (isset($cs_ids[3]) && in_array($row[0], $cs_ids[3]) ? "X" : "") . ";"; // Bezirke
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . (isset($cs_ids[4]) && in_array($row[0], $cs_ids[4]) ? $cr_sids[$row[0]] : "") . ";"; // Kurierprovision
}
if ($f_what == 17) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . $row[3] . "" . ";";
}
if ($f_what == 18) {
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . str_replace("KM-Preis ", "", $srv_names_PZM[$hq_id][$row[0] . "_km"]) . /* " (\"" . $row[0] . "\")" . */ ";";
$ret_val .= ($i++ % 2 == 1 ? $cC : $cC2) . "" . ";";
}
$ret_val .= "
\n";
}
if ($f_what != 18)
$res->free();
if ($f_what == 13) {
// $ret_val = str_replace("MAIL_SURVEY_ADDRESS_TO", "Auftragsdatum liegt mehr als ein Jahr in der Zukunft", $ret_val);
}
$csv_name = ($f_what == 3 ? "Kundenmasken-Erweiterungen" : ($f_what == 4 ? "Kundenzugang-Listenerweiterungen" : ($f_what == 9 ? "Transporteure" : ($f_what == 10 ? "Fotos" : ($f_what == 11 ? "Auslandsrechnungen" : ($f_what == 12 ? "Servicepreis-Ausweis" : ($f_what == 14 ? "Sonderkonditionen" : ($f_what == 17 ? "Kunden-Konserven" : "")))))))) . "_" . date("d.m.Y") . ".csv";
// if ($dl == 1 && ($f_what == 3 || $f_what == 9 || $f_what == 11 || $f_what == 14 || $f_what == 17)):
// if ($f_what == 3) {
// do {
// $pos = strpos($ret_val, "", $pos);
// if ($pos1 !== false) {
// $replace_str = "nein";
// $pos2 = strpos($ret_val, "checked", $pos);
// if ($pos2 !== false && $pos2 < $pos1) {
// $replace_str = "ja";
// }
// $ret_val = substr($ret_val, 0, $pos) . $replace_str . substr($ret_val, $pos1 + 1);
// }
// }
// } while ($pos !== false);
// }
// mk_csv_download($csv_name, $ret_val);
// exit();
// endif;
if ($f_what == 9 || $f_what == 11)
$error_text = "";
if ($f_what == 3 || $f_what == 9 || $f_what == 11 || $f_what == 14 || $f_what == 17) {
if ($f_what == 3) {
do {
$pos = strpos($ret_val, "", $pos);
if ($pos1 !== false) {
$replace_str = "nein";
$pos2 = strpos($ret_val, "checked", $pos);
if ($pos2 !== false && $pos2 < $pos1) {
$replace_str = "ja";
}
$ret_val = substr($ret_val, 0, $pos) . $replace_str . substr($ret_val, $pos1 + 1);
}
}
} while ($pos !== false);
}
$fileHandle = @fopen("../temp/download/" . $csv_name, 'w');
fwrite($fileHandle, str_replace("
", "", str_replace("#aa", "", str_replace("#ab", "", str_replace("#ba", "", str_replace("#bb", "", $ret_val))))));
@fclose($fileHandle);
// $error_text .= "" . $csv_name . "
\n";
$error_text .= "
" . $csv_name . "
\n";
}
$content = csv_output($ret_val, "left");
}
//function mk_csv_download($csv_name, $csv_txt) {
// header('Content-Disposition: attachment; filename="' . $csv_name . '"');
// echo str_replace("
", "", str_replace("#aa", "", str_replace("#ab", "", str_replace("#ba", "", str_replace("#bb", "", $csv_txt)))));
//}
function csv_output($csv_txt, $align = "right") {
$csv_txt = "
| " .
str_replace(" \n", " | |
| ", str_replace(";", " | ", $csv_txt)) . " |