| @@ 264-301 (lines=38) @@ | ||
| 261 | ||
| 262 | // データ行の出力. |
|
| 263 | $app['eccube.service.csv.export']->setExportQueryBuilder($qb); |
|
| 264 | $app['eccube.service.csv.export']->exportData(function ($entity, $csvService) use ($app, $request) { |
|
| 265 | ||
| 266 | $Csvs = $csvService->getCsvs(); |
|
| 267 | ||
| 268 | $Order = $entity; |
|
| 269 | $OrderDetails = $Order->getOrderDetails(); |
|
| 270 | ||
| 271 | foreach ($OrderDetails as $OrderDetail) { |
|
| 272 | $ExportCsvRow = new \Eccube\Entity\ExportCsvRow(); |
|
| 273 | ||
| 274 | // CSV出力項目と合致するデータを取得. |
|
| 275 | foreach ($Csvs as $Csv) { |
|
| 276 | // 受注データを検索. |
|
| 277 | $ExportCsvRow->setData($csvService->getData($Csv, $Order)); |
|
| 278 | if ($ExportCsvRow->isDataNull()) { |
|
| 279 | // 受注データにない場合は, 受注明細を検索. |
|
| 280 | $ExportCsvRow->setData($csvService->getData($Csv, $OrderDetail)); |
|
| 281 | } |
|
| 282 | ||
| 283 | $event = new EventArgs( |
|
| 284 | array( |
|
| 285 | 'csvService' => $csvService, |
|
| 286 | 'Csv' => $Csv, |
|
| 287 | 'OrderDetail' => $OrderDetail, |
|
| 288 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 289 | ), |
|
| 290 | $request |
|
| 291 | ); |
|
| 292 | $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_ORDER_CSV_EXPORT_ORDER, $event); |
|
| 293 | ||
| 294 | $ExportCsvRow->pushData(); |
|
| 295 | } |
|
| 296 | ||
| 297 | //$row[] = number_format(memory_get_usage(true)); |
|
| 298 | // 出力. |
|
| 299 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 300 | } |
|
| 301 | }); |
|
| 302 | }); |
|
| 303 | ||
| 304 | $now = new \DateTime(); |
|
| @@ 751-791 (lines=41) @@ | ||
| 748 | ||
| 749 | // データ行の出力. |
|
| 750 | $app['eccube.service.csv.export']->setExportQueryBuilder($qb); |
|
| 751 | $app['eccube.service.csv.export']->exportData(function ($entity, $csvService) use ($app, $request) { |
|
| 752 | ||
| 753 | $Csvs = $csvService->getCsvs(); |
|
| 754 | ||
| 755 | /** @var $Product \Eccube\Entity\Product */ |
|
| 756 | $Product = $entity; |
|
| 757 | ||
| 758 | /** @var $Product \Eccube\Entity\ProductClass[] */ |
|
| 759 | $ProductClassess = $Product->getProductClasses(); |
|
| 760 | ||
| 761 | foreach ($ProductClassess as $ProductClass) { |
|
| 762 | $ExportCsvRow = new \Eccube\Entity\ExportCsvRow(); |
|
| 763 | ||
| 764 | // CSV出力項目と合致するデータを取得. |
|
| 765 | foreach ($Csvs as $Csv) { |
|
| 766 | // 商品データを検索. |
|
| 767 | $ExportCsvRow->setData($csvService->getData($Csv, $Product)); |
|
| 768 | if ($ExportCsvRow->isDataNull()) { |
|
| 769 | // 商品規格情報を検索. |
|
| 770 | $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass)); |
|
| 771 | } |
|
| 772 | ||
| 773 | $event = new EventArgs( |
|
| 774 | array( |
|
| 775 | 'csvService' => $csvService, |
|
| 776 | 'Csv' => $Csv, |
|
| 777 | 'ProductClass' => $ProductClass, |
|
| 778 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 779 | ), |
|
| 780 | $request |
|
| 781 | ); |
|
| 782 | $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event); |
|
| 783 | ||
| 784 | $ExportCsvRow->pushData(); |
|
| 785 | } |
|
| 786 | ||
| 787 | //$row[] = number_format(memory_get_usage(true)); |
|
| 788 | // 出力. |
|
| 789 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 790 | } |
|
| 791 | }); |
|
| 792 | }); |
|
| 793 | ||
| 794 | $now = new \DateTime(); |
|