| @@ 366-403 (lines=38) @@ | ||
| 363 | ||
| 364 | // データ行の出力. |
|
| 365 | $this->csvExportService->setExportQueryBuilder($qb); |
|
| 366 | $this->csvExportService->exportData(function ($entity, $csvService) use ($app, $request) { |
|
| 367 | ||
| 368 | $Csvs = $csvService->getCsvs(); |
|
| 369 | ||
| 370 | $Order = $entity; |
|
| 371 | $OrderDetails = $Order->getOrderDetails(); |
|
| 372 | ||
| 373 | foreach ($OrderDetails as $OrderDetail) { |
|
| 374 | $ExportCsvRow = new \Eccube\Entity\ExportCsvRow(); |
|
| 375 | ||
| 376 | // CSV出力項目と合致するデータを取得. |
|
| 377 | foreach ($Csvs as $Csv) { |
|
| 378 | // 受注データを検索. |
|
| 379 | $ExportCsvRow->setData($csvService->getData($Csv, $Order)); |
|
| 380 | if ($ExportCsvRow->isDataNull()) { |
|
| 381 | // 受注データにない場合は, 受注明細を検索. |
|
| 382 | $ExportCsvRow->setData($csvService->getData($Csv, $OrderDetail)); |
|
| 383 | } |
|
| 384 | ||
| 385 | $event = new EventArgs( |
|
| 386 | array( |
|
| 387 | 'csvService' => $csvService, |
|
| 388 | 'Csv' => $Csv, |
|
| 389 | 'OrderDetail' => $OrderDetail, |
|
| 390 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 391 | ), |
|
| 392 | $request |
|
| 393 | ); |
|
| 394 | $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_ORDER_CSV_EXPORT_ORDER, $event); |
|
| 395 | ||
| 396 | $ExportCsvRow->pushData(); |
|
| 397 | } |
|
| 398 | ||
| 399 | //$row[] = number_format(memory_get_usage(true)); |
|
| 400 | // 出力. |
|
| 401 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 402 | } |
|
| 403 | }); |
|
| 404 | }); |
|
| 405 | ||
| 406 | $now = new \DateTime(); |
|
| @@ 900-939 (lines=40) @@ | ||
| 897 | // データ行の出力. |
|
| 898 | $this->csvExportService->setExportQueryBuilder($qb); |
|
| 899 | ||
| 900 | $this->csvExportService->exportData(function ($entity, CsvExportService $csvService) use ($app, $request) { |
|
| 901 | $Csvs = $csvService->getCsvs(); |
|
| 902 | ||
| 903 | /** @var $Product \Eccube\Entity\Product */ |
|
| 904 | $Product = $entity; |
|
| 905 | ||
| 906 | /** @var $ProductClassess \Eccube\Entity\ProductClass[] */ |
|
| 907 | $ProductClassess = $Product->getProductClasses(); |
|
| 908 | ||
| 909 | foreach ($ProductClassess as $ProductClass) { |
|
| 910 | $ExportCsvRow = new \Eccube\Entity\ExportCsvRow(); |
|
| 911 | ||
| 912 | // CSV出力項目と合致するデータを取得. |
|
| 913 | foreach ($Csvs as $Csv) { |
|
| 914 | // 商品データを検索. |
|
| 915 | $ExportCsvRow->setData($csvService->getData($Csv, $Product)); |
|
| 916 | if ($ExportCsvRow->isDataNull()) { |
|
| 917 | // 商品規格情報を検索. |
|
| 918 | $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass)); |
|
| 919 | } |
|
| 920 | ||
| 921 | $event = new EventArgs( |
|
| 922 | array( |
|
| 923 | 'csvService' => $csvService, |
|
| 924 | 'Csv' => $Csv, |
|
| 925 | 'ProductClass' => $ProductClass, |
|
| 926 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 927 | ), |
|
| 928 | $request |
|
| 929 | ); |
|
| 930 | $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event); |
|
| 931 | ||
| 932 | $ExportCsvRow->pushData(); |
|
| 933 | } |
|
| 934 | ||
| 935 | // $row[] = number_format(memory_get_usage(true)); |
|
| 936 | // 出力. |
|
| 937 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 938 | } |
|
| 939 | }); |
|
| 940 | }); |
|
| 941 | ||
| 942 | $now = new \DateTime(); |
|