| @@ 335-371 (lines=37) @@ | ||
| 332 | ||
| 333 | // データ行の出力. |
|
| 334 | $this->csvExportService->setExportQueryBuilder($qb); |
|
| 335 | $this->csvExportService->exportData(function ($entity, $csvService) use ($request) { |
|
| 336 | $Csvs = $csvService->getCsvs(); |
|
| 337 | ||
| 338 | $Order = $entity; |
|
| 339 | $OrderItems = $Order->getOrderItems(); |
|
| 340 | ||
| 341 | foreach ($OrderItems as $OrderItem) { |
|
| 342 | $ExportCsvRow = new \Eccube\Entity\ExportCsvRow(); |
|
| 343 | ||
| 344 | // CSV出力項目と合致するデータを取得. |
|
| 345 | foreach ($Csvs as $Csv) { |
|
| 346 | // 受注データを検索. |
|
| 347 | $ExportCsvRow->setData($csvService->getData($Csv, $Order)); |
|
| 348 | if ($ExportCsvRow->isDataNull()) { |
|
| 349 | // 受注データにない場合は, 受注明細を検索. |
|
| 350 | $ExportCsvRow->setData($csvService->getData($Csv, $OrderItem)); |
|
| 351 | } |
|
| 352 | ||
| 353 | $event = new EventArgs( |
|
| 354 | [ |
|
| 355 | 'csvService' => $csvService, |
|
| 356 | 'Csv' => $Csv, |
|
| 357 | 'OrderItem' => $OrderItem, |
|
| 358 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 359 | ], |
|
| 360 | $request |
|
| 361 | ); |
|
| 362 | $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_ORDER_CSV_EXPORT_ORDER, $event); |
|
| 363 | ||
| 364 | $ExportCsvRow->pushData(); |
|
| 365 | } |
|
| 366 | ||
| 367 | //$row[] = number_format(memory_get_usage(true)); |
|
| 368 | // 出力. |
|
| 369 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 370 | } |
|
| 371 | }); |
|
| 372 | }); |
|
| 373 | ||
| 374 | $now = new \DateTime(); |
|
| @@ 934-973 (lines=40) @@ | ||
| 931 | // データ行の出力. |
|
| 932 | $this->csvExportService->setExportQueryBuilder($qb); |
|
| 933 | ||
| 934 | $this->csvExportService->exportData(function ($entity, CsvExportService $csvService) use ($request) { |
|
| 935 | $Csvs = $csvService->getCsvs(); |
|
| 936 | ||
| 937 | /** @var $Product \Eccube\Entity\Product */ |
|
| 938 | $Product = $entity; |
|
| 939 | ||
| 940 | /** @var $ProductClassess \Eccube\Entity\ProductClass[] */ |
|
| 941 | $ProductClassess = $Product->getProductClasses(); |
|
| 942 | ||
| 943 | foreach ($ProductClassess as $ProductClass) { |
|
| 944 | $ExportCsvRow = new ExportCsvRow(); |
|
| 945 | ||
| 946 | // CSV出力項目と合致するデータを取得. |
|
| 947 | foreach ($Csvs as $Csv) { |
|
| 948 | // 商品データを検索. |
|
| 949 | $ExportCsvRow->setData($csvService->getData($Csv, $Product)); |
|
| 950 | if ($ExportCsvRow->isDataNull()) { |
|
| 951 | // 商品規格情報を検索. |
|
| 952 | $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass)); |
|
| 953 | } |
|
| 954 | ||
| 955 | $event = new EventArgs( |
|
| 956 | [ |
|
| 957 | 'csvService' => $csvService, |
|
| 958 | 'Csv' => $Csv, |
|
| 959 | 'ProductClass' => $ProductClass, |
|
| 960 | 'ExportCsvRow' => $ExportCsvRow, |
|
| 961 | ], |
|
| 962 | $request |
|
| 963 | ); |
|
| 964 | $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event); |
|
| 965 | ||
| 966 | $ExportCsvRow->pushData(); |
|
| 967 | } |
|
| 968 | ||
| 969 | // $row[] = number_format(memory_get_usage(true)); |
|
| 970 | // 出力. |
|
| 971 | $csvService->fputcsv($ExportCsvRow->getRow()); |
|
| 972 | } |
|
| 973 | }); |
|
| 974 | }); |
|
| 975 | ||
| 976 | $now = new \DateTime(); |
|