60) : if (file_exists($fileNameToBoRemoved)) : unlink($fileNameToBoRemoved); endif; endif; } $f_secretFileName = ""; $result = $db->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); // Define output parameters $delimiter = ';'; $writeHeader = "YES"; $mode = "1"; include_once ("../include/inc_list_defineoutput2file.inc.php"); $outputLinesArrayLen = count($outputLinesArray); if ($outputLinesArrayLen > 0) : if ($filename == "") : $filename = "HTM"; endif; $f_fileName = $filename . "_" . date("YmdHis"); // $f_secretFileName = md5($f_fileName) . ".stat_htm_01.csv"; $f_secretFileName = $f_fileName . ".stat_01.csv"; if ($outputHeader != "") : writeToFile("../temp/download/" . $f_secretFileName, $outputHeader); // write header if requested endif; for ($i = 0; $i < $outputLinesArrayLen; $i++) : // Post parsing if necessary if ($postParserField != "") : if ($postParserFunction == "postParseXXXX") : // $outputLinesArray[$i] = postParseXXXX($outputLinesArray[$i]); elseif ($postParserFunction == "postParseYYYY") : // .... endif; endif; writeToFile("../temp/download/" . $f_secretFileName, $outputLinesArray[$i]); // write statistic data endfor; else : $statusMessage = "Es wurden keine Daten gefunden! Eine Datei wurde deshalb nicht generiert!"; $f_stkat_export = false; endif; } function showData ($statMode, $hqId, $yearMonth, $whereClause = "", $orderByClause = "") { global $db, $PHP_SELF; global $statusMessage, $statName, $fromDate, $toDate, $hqName; $retOut = ""; if (($statMode == "0" || $statMode == "1") && $hqId != "" && is_numeric($hqId)) : if ($yearMonth != "") : $statYear = substr($yearMonth,0,4); $statMonth = substr($yearMonth,4); else : $statYear = getDateTime("year"); $statMonth = getDateTime("lastmonth"); if ($statMonth == "12") : $statYear = $statYear -1; endif; endif; $calMonthDays = array("31","28","31","30","31","30","31","31","30","31","30","31"); $calCurrentYearIsLeapYear = date("L", mktime(0, 0, 0, $statMonth, 1, $statYear)); if ($calCurrentYearIsLeapYear == "1") : $calMonthDays[1] = "29"; endif; $fromDate = $statYear . "-" . $statMonth . "-" . "01" . " 00:00:00"; $toDate = $statYear . "-" . $statMonth . "-" . $calMonthDays[($statMonth - 1)] . "-" . " 23:59:59"; if ($statMode == "0") : $statName .= " LIEFERUNGEN " . $hqName; // SELECT CONCAT(cs.cs_eid,';',jb.jb_id,';',LEFT(jb.jb_createtime,10),';',LEFT(jb.jb_ordertime,10),';',IFNULL(SUM(trat.trat_price),'0'),';',ROUND((jb.jb_totalprice * 1.19),2)) AS output $sqlStmt = " SELECT cs.cs_eid,jb.jb_id,LEFT(jb.jb_createtime,10) AS jb_createtime,LEFT(jb.jb_ordertime,10) AS jb_ordertime,REPLACE(IFNULL(SUM(trat.trat_price),'0'),'.',',') AS trat_price,REPLACE(ROUND((jb.jb_totalprice * 1.19),2),'.',',') AS jb_totalprice FROM phoenix.job AS jb LEFT JOIN phoenix.tourarticle AS trat ON trat.jb_id = jb.jb_id AND trat.tr_sort = '2', phoenix.costcenter AS csc, phoenix.customer AS cs WHERE jb.hq_id = '" . $hqId . "' AND jb.jb_createtime >= '" . $fromDate . "' AND jb.jb_createtime <= '" . $toDate . "' AND (isnull(jb.jb_storno) OR jb.jb_storno = '0' OR jb.jb_storno = '1') AND (jb.jb_service & 1 = jb.jb_service) AND jb.csc_id_related = csc.csc_id AND csc.cs_id = cs.cs_id AND (NOT EXISTS (SELECT * FROM phoenix.genericdatacontainer AS gdc WHERE gdc.gdc_obj_id = jb.jb_id AND gdc.gdc_obj_type = 'jb' AND gdc.gdc_gen_fieldname = 'jb_service_job')) GROUP BY jb.jb_id ORDER BY jb.jb_id"; $titleArray = array(getLngt("Kundennr. "),getLngt("Auftrag "), getLngt("Erstellungszeitpunkt "), getLngt("Auftragszeit "), getLngt("Warenwert "), getLngt("Bruttoauftragswert ")); $aligns = "l,l,l,l,r,r"; $fieldArray = array("cs_eid", "jb_id", "jb_createtime", "jb_ordertime", "trat_price", "jb_totalprice"); $postParserField = ""; $alignArray = spliti(",",$aligns); $alignTitles = "left"; $widths = "100"; $widthArray = spliti(",",$widths); $summationField = "jb_totalprice"; $mode = "1"; // Output from DB-RESULT // $javaScriptFunctionNameForSort = "finishPageXXXX"; $sortDBField = "YES"; // Used in following include-file for sorting per column; $fieldSortArray = array("YES","YES","YES","YES","YES","YES","YES"); elseif ($statMode == "1") : $statName .= " KÜCHENMONTAGEN " . $hqName; // SELECT CONCAT(cs.cs_eid,';',jb.jb_id,';',LEFT(jb.jb_createtime,10),';',LEFT(jb.jb_ordertime,10),';',IFNULL(jbc.jbc_amount,'0'),';',ROUND((jb.jb_subtotalprice * 1.19),2)) AS output $sqlStmt = " SELECT cs.cs_eid,jb.jb_id,LEFT(jb.jb_createtime,10) AS jb_createtime,LEFT(jb.jb_ordertime,10) AS jb_ordertime,REPLACE(IFNULL(jbc.jbc_amount,'0'),'.',',') AS jbc_amount,REPLACE(ROUND((jb.jb_subtotalprice * 1.19),2),'.',',') AS jb_subtotalprice FROM phoenix.costcenter AS csc, phoenix.customer AS cs, phoenix.job AS jb LEFT JOIN phoenix.jobcalculator AS jbc ON jb.jb_id = jbc.jb_id AND jbc.srvt_name = '0010:par_01' WHERE jb.hq_id = '" . $hqId . "' AND jb.jb_createtime >= '" . $fromDate . "' AND jb.jb_createtime <= '" . $toDate . "' AND (isnull(jb.jb_storno) OR jb.jb_storno = '0' OR jb.jb_storno = '1') AND (jb.jb_service & 18 = jb.jb_service) AND jb.csc_id_related = csc.csc_id AND csc.cs_id = cs.cs_id AND (NOT EXISTS (SELECT * FROM phoenix.genericdatacontainer AS gdc WHERE gdc.gdc_obj_id = jb.jb_id AND gdc.gdc_obj_type = 'jb' AND gdc.gdc_gen_fieldname = 'jb_service_job')) GROUP BY jb.jb_id ORDER BY cs.cs_eid, jb.jb_id"; $titleArray = array(getLngt("Kundennr. "),getLngt("Auftrag "), getLngt("Erstellungszeitpunkt "), getLngt("Auftragszeit "), getLngt("Anzahl Küchenmeter "), getLngt("Preis (inkl. Anfahrtspauschale) ")); $aligns = "l,l,l,l,r,r"; $fieldArray = array("cs_eid", "jb_id", "jb_createtime", "jb_ordertime", "jbc_amount", "jb_subtotalprice"); $postParserField = ""; $alignArray = spliti(",",$aligns); $alignTitles = "left"; $widths = "100"; $widthArray = spliti(",",$widths); $summationField = "jb_subtotalprice"; $mode = "1"; // Output from DB-RESULT // $javaScriptFunctionNameForSort = "finishPageXXXX"; $sortDBField = "YES"; // Used in following include-file for sorting per column; $fieldSortArray = array("","","","","","",""); endif; $result = $db->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); include ("../include/inc_list_defineoutput.inc.php"); // Post parsing if necessary if ($postParserField != "") : $tableBody = postParseXXXX($tableBody); endif; $retOut .= "\n"; $retOut .= $tableHeader . $tableBody; $retOut .= "
\n"; $result->free(); $numOfStocks = $rowCounter; $numOfPlaces = $sumOfSummationField; // Optional output to file if (true) : outputCSV($sqlStmt, $titleArray, $fieldArray, $aligns, str_replace(" ","_",$statName), $postParserField, ""); endif; endif; return $retOut; } // Initialize date-ranges to the current date if ($sMonth == "") : $sMonth = getDateTime("lastmonth"); endif; if ($sYear == "") : $sYear = getDateTime("year"); endif; if ($sMonth == "12") : $sYear--; endif; $yearMonth = $sYear . $sMonth; $statName = "STATISTIK"; $hqId = ""; if ($hqName == "HTHH") : $hqId = "1020"; endif; if ($hqName == "WAST" || $hqName == "") : $hqId = "1111"; endif; if (!isset($statMode)) : $statMode = "0"; endif; if ($statMode != "0" && $statMode != "1") : $statMode = "0"; endif; $out = ""; if ($f_act == "execute") : $out = showData($statMode, $hqId, $yearMonth, "", ""); endif; ?> <?php echo $statName ?>