public function findLatestId() { return (int) R::getCol("SELECT max(id) FROM " . $this->type)[0]; }
// . ' GROUP BY school_id ' // . ' HAVING MAX(applicationform.submitted)'; $appFormIds = R::getCol($appFormIdsSql); if (empty($appFormIds)) { return []; } $in = implode(',', array_fill(0, count($appFormIds), '?')); $sql = 'SELECT applicationform.id AS id, ' . ' school.registry_no AS school_registry_no, ' . ' school.name AS school_name, ' . ' FROM_UNIXTIME(applicationform.submitted) AS submitted, ' . ' lab.id AS lab_id, ' . ' TRIM(labtype.name) AS lab_type, ' . ' IF(lab.is_new = 1, "ΝΑΙ", "ΟΧΙ") AS is_new, ' . ' TRIM(itemcategory.name) AS category, ' . ' applicationformitem.qty AS qty, ' . ' TRIM(applicationformitem.reasons) AS reasons ' . ' FROM applicationformitem ' . ' LEFT JOIN applicationform ON applicationformitem.applicationform_id = applicationform.id ' . ' LEFT JOIN school ON applicationform.school_id = school.id ' . ' LEFT JOIN itemcategory ON applicationformitem.itemcategory_id = itemcategory.id ' . ' LEFT JOIN lab ON applicationformitem.lab_id = lab.id ' . ' LEFT JOIN labtype ON lab.labtype_id = labtype.id ' . ' WHERE applicationform.id IN(' . $in . ') '; $appForms = R::getAll($sql, $appFormIds); return $appForms; }; }; $c['csv_export_newapplication'] = function ($c) { return function () use($c) { $appFormIdsSql = 'SELECT id FROM applicationform WHERE (submitted) IN( SELECT MAX(submitted) FROM applicationform GROUP BY school_id)'; $appFormIds = R::getCol($appFormIdsSql); if (empty($appFormIds)) { return []; } $in = implode(',', array_fill(0, count($appFormIds), '?')); $settings = $c->get('settings'); $version = $settings['application_form']['itemcategory']['currentversion']; $sql = 'SELECT applicationform.id AS id, ' . ' school.registry_no AS school_registry_no, ' . ' school.name AS school_name, ' . ' TRIM(itemcategory.name) AS category, ' . ' applicationformitem.qty AS qty, ' . ' applicationformitem.qtyacquired AS qtyacquired, ' . ' TRIM(applicationformitem.reasons) AS reasons ' . ' FROM applicationformitem ' . ' LEFT JOIN applicationform ON applicationformitem.applicationform_id = applicationform.id ' . ' LEFT JOIN school ON applicationform.school_id = school.id ' . ' LEFT JOIN itemcategory ON applicationformitem.itemcategory_id = itemcategory.id ' . ' LEFT JOIN lab ON applicationformitem.lab_id = lab.id ' . ' LEFT JOIN labtype ON lab.labtype_id = labtype.id ' . ' WHERE applicationform.id IN(' . $in . ')' . ' AND itemcategory.groupflag IN(' . $version . ')'; $appForms = R::getAll($sql, $appFormIds); return $appForms; }; }; }); $events('on', 'app.bootstrap', function (App $app, Container $c) { $app->get('/export/csv/edulabs_{type}.csv', function (Request $req, Response $res, array $args) use($c) { $type = $args['type'];
public function stat() { $perPage = 10; $page = @$_GET['page'] ? $_GET['page'] : 1; $start = ($page - 1) * $perPage; $where = []; $where[] = 1; $where = implode(" AND ", $where); $queryParam[] = $start; $queryParam[] = $perPage; $form = []; $form['room'] = ''; $sub = 'SELECT SUM(product_room.view_count) FROM product_room WHERE product_room.product_id = product.id'; $items = []; $count = 0; $maxPage = 0; if (!empty($_GET["room"])) { $form["room"] = $_GET["room"]; $ids = R::getCol('SELECT product_id FROM product_room WHERE room_name = :room_name', [':room_name' => $_GET["room"]]); if (!empty($ids)) { $ids = array_unique($ids); $room = $_GET["room"]; $sub .= " AND product_room.room_name = '{$room}' "; $where = ' id IN (' . R::genSlots($ids) . ')'; $queryParam = array_merge($ids, $queryParam); $sql = 'SELECT *,(' . $sub . ') as total_room FROM product WHERE ' . $where . ' LIMIT ?,?'; $items = R::getAll($sql, $queryParam); $count = R::count('product', $where, array_slice($queryParam, 0, -2)); $maxPage = floor($count / $perPage) + ($count % $perPage == 0 ? 0 : 1); } else { } } $items = array_map(function ($item) { if (is_null($item["total_room"])) { $item["total_room"] = 0; } return $item; }, $items); $this->slim->render("room/stat_view.php", ['items' => $items, 'page' => $page, 'maxPage' => $maxPage, 'form' => $form]); }