request->get(); $where = []; $where['mainId'] = $this->mainId; $searchTime = $get['searchTime'] ?? 'today'; if (!empty($searchTime)) { $startTime = $get['startTime'] ?? ''; $endTime = $get['endTime'] ?? ''; $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true); $where['time'] = ['between', [$period['startTime'], $period['endTime']]]; } $list = StatBookClass::getAllByCondition($where, 'time DESC', '*'); util::success(['list' => $list, 'moreData' => 0, 'totalPage' => 1, 'totalNum' => 0]); } public function actionPrintOrder() { $get = Yii::$app->request->get(); $where = []; $where['mainId'] = $this->mainId; $searchTime = $get['searchTime'] ?? 'today'; if (!empty($searchTime)) { $startTime = $get['startTime'] ?? ''; $endTime = $get['endTime'] ?? ''; $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true); $where['time'] = ['between', [$period['startTime'], $period['endTime']]]; } $list = StatBookClass::getAllByCondition($where, 'time DESC', '*'); if (empty($list)) { util::fail('没有花材需要打印'); } $shop = $this->shop; $num = count($list); $pageSize = 30; $ratio = ceil($num / $pageSize); if ($ratio > 1) { for ($i = 1; $i <= $ratio; $i++) { $offset = ($i - 1) * $pageSize; $current = array_slice($list, $offset, $pageSize); self::printOrder($current, $shop, $i); } } else { self::printOrder($list, $shop); } util::complete('打印成功'); } public static function printOrder($list, $shop, $order = 0) { $content = "预订汇总

"; if ($order > 0) { $content .= "第{$order}页

"; } $content .= '日期 / 花材 / 数量
'; $content .= '--------------------------------
'; foreach ($list as $item) { $date1 = $item['time']; $date2 = substr($date1, 4, 4); $name = $item['name'] ?? ''; $num = $item['num'] ?? 0; $content .= $date2 . ' ' . $name . ' ' . $num . '
'; $content .= '--------------------------------
'; } $content .= "


"; $shopId = $shop->id ?? 0; $ext = ShopExtClass::getByCondition(['shopId' => $shopId]); $printSn = $ext['printSn'] ?? ''; if (empty($printSn)) { util::fail('没有找到打印机'); } $p = new printUtil($printSn); $p->printMsg($content, $shop); } }