Code Duplication    Length = 37-40 lines in 2 locations

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

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

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

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