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);
}
}