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