Code Duplication    Length = 37-40 lines in 2 locations

src/Eccube/Controller/Admin/Order/OrderController.php 1 location

@@ 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();

src/Eccube/Controller/Admin/Product/ProductController.php 1 location

@@ 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();