Beispiel #1
0
$sqls[] = "SELECT CASHREGISTERS.NAME, CLOSEDCASH.DATESTART, " . "CLOSEDCASH.DATEEND," . "TAXES.NAME as __KEY__, SUM(TAXLINES.AMOUNT) AS __VALUE__ " . "FROM CLOSEDCASH " . "LEFT JOIN CASHREGISTERS ON CLOSEDCASH.CASHREGISTER_ID = CASHREGISTERS.ID " . "LEFT JOIN RECEIPTS ON RECEIPTS.MONEY = CLOSEDCASH.MONEY " . "LEFT JOIN TICKETS ON TICKETS.ID = RECEIPTS.ID " . "LEFT JOIN TAXLINES ON TAXLINES.RECEIPT = TICKETS.ID " . "LEFT JOIN TAXES ON TAXLINES.TAXID = TAXES.ID " . "WHERE CLOSEDCASH.DATESTART > :start AND CLOSEDCASH.DATEEND < :stop " . "GROUP BY CLOSEDCASH.MONEY, CASHREGISTERS.NAME, " . "CLOSEDCASH.DATESTART, CLOSEDCASH.DATEEND, __KEY__ " . "ORDER BY CASHREGISTERS.NAME ASC, CLOSEDCASH.DATESTART ASC";
$fields = array("NAME", "DATESTART", "DATEEND", "TICKETS", "AVERAGE", "REALCS", "THEOCS", "THEOSCS");
$mergeFields = array("NAME", "DATESTART", "DATEEND");
$headers = array(\i18n("CashRegister.label"), \i18n("Session.openDate"), \i18n("Session.closeDate"), \i18n("Tickets", PLUGIN_NAME), \i18n("Average", PLUGIN_NAME), \i18n("Real CS", PLUGIN_NAME), \i18n("Theo CS", PLUGIN_NAME), \i18n("Theo SCS", PLUGIN_NAME));
$report = new \Pasteque\MergedReport(PLUGIN_NAME, "cs_report", \i18n("Consolidated sales report", PLUGIN_NAME), $sqls, $headers, $fields, $mergeFields);
$report->addInput("start", \i18n("Session.openDate"), \Pasteque\DB::DATE);
$report->setDefaultInput("start", time() - time() % 86400 - 7 * 86400);
$report->addInput("stop", \i18n("Session.closeDate"), \Pasteque\DB::DATE);
$report->setDefaultinput("stop", time() - time() % 86400 + 86400);
$report->setGrouping("NAME");
$report->addSubtotal("AVERAGE", \Pasteque\Report::TOTAL_AVG);
$report->addSubtotal("REALCS", \Pasteque\Report::TOTAL_SUM);
$report->addSubtotal("THEOCS", \Pasteque\Report::TOTAL_SUM);
$report->addSubtotal("THEOSCS", \Pasteque\Report::TOTAL_SUM);
$report->addSubtotal("TICKETS", \Pasteque\Report::TOTAL_SUM);
$report->addMergedSubtotal(0, \Pasteque\Report::TOTAL_SUM);
$report->addTotal("AVERAGE", \Pasteque\Report::TOTAL_AVG);
$report->addTotal("REALCS", \Pasteque\Report::TOTAL_SUM);
$report->addTotal("THEOCS", \Pasteque\Report::TOTAL_SUM);
$report->addTotal("THEOSCS", \Pasteque\Report::TOTAL_SUM);
$report->addTotal("TICKETS", \Pasteque\Report::TOTAL_SUM);
$report->addMergedTotal(0, \Pasteque\Report::TOTAL_SUM);
$report->addFilter("DATESTART", "\\Pasteque\\stdtimefstr");
$report->addFilter("DATESTART", "\\i18nDatetime");
$report->addFilter("DATEEND", "\\Pasteque\\stdtimefstr");
$report->addFilter("DATEEND", "\\i18nDatetime");
$report->setVisualFilter("AVERAGE", "\\i18nCurr", \Pasteque\Report::DISP_USER);
$report->setVisualFilter("AVERAGE", "\\i18nFlt", \Pasteque\Report::DISP_CSV);
$report->setVisualFilter("REALCS", "\\i18nCurr", \Pasteque\Report::DISP_USER);
$report->setVisualFilter("REALCS", "\\i18nFlt", \Pasteque\Report::DISP_CSV);
$report->setVisualFilter("THEOCS", "\\i18nCurr", \Pasteque\Report::DISP_USER);