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']]]; } $itemList = ProductClass::getAllByCondition(['mainId' => $this->mainId], null, 'id,stock', 'id', true); $list = StatBookClass::getAllByCondition($where, 'time DESC', '*'); $table = []; if (!empty($list)) { foreach ($list as $key => $val) { $productId = $val['itemId'] ?? 0; $stock = 0; if (isset($itemList[$productId])) { $product = $itemList[$productId]; $stock = $product->stock; } $stock = floatval($stock); $list[$key]['stock'] = $stock; $time = $val['time']; $shortTime = substr($time, 4, 4); $list[$key]['shortTime'] = $shortTime; $table[] = [ 'shortTime' => $shortTime, 'name' => $val['name'], 'num' => $val['num'], 'stock' => $stock, 'remark' => '', ]; } } $shop = $this->shop; $title = $shop->shopName == '首店' ? $shop->merchantName : $shop->merchantName . "({$shop->shopName})"; $printData = [ 'title' => "【{$title}】预订汇总", 'table' => $table, ]; util::success(['list' => $list, 'printData' => $printData]); } //花材销量 ssh 20211021 public function actionProfile() { $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']]]; } $itemList = ProductClass::getAllByCondition(['mainId' => $this->mainId], null, 'id,stock', 'id', true); $list = StatBookClass::getAllByCondition($where, 'time DESC', '*'); if (!empty($list)) { foreach ($list as $key => $val) { $productId = $val['itemId'] ?? 0; $stock = 0; if (isset($itemList[$productId])) { $product = $itemList[$productId]; $stock = $product->stock; } $list[$key]['stock'] = floatval($stock); $time = $val['time']; $shortTime = substr($time, 4, 4); $list[$key]['shortTime'] = $shortTime; } } util::success(['list' => $list]); } 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); } }