app/Customize/Controller/AgencyController.php line 84

Open in your IDE?
  1. <?php
  2. namespace Customize\Controller;
  3. use Customize\Entity\Enterprise;
  4. use Customize\Repository\CatalogFaqRepository;
  5. use Customize\Repository\DistributorRepository;
  6. use Customize\Repository\Distributor2Repository;
  7. use Customize\Repository\EnterpriseRepository;
  8. use Customize\Repository\FaqRepository;
  9. use Customize\Repository\PriceListRepository;
  10. use Eccube\Controller\AbstractController;
  11. use Eccube\Repository\Master\PrefRepository;
  12. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  15. use Symfony\Component\Routing\Annotation\Route;
  16. class AgencyController extends AbstractController
  17. {
  18.     /**
  19.      * @var EnterpriseRepository
  20.      */
  21.     protected $enterpriseRepository;
  22.     /**
  23.      * @var PriceListRepository
  24.      */
  25.     protected $priceListRepository;
  26.     /**
  27.      * @var DistributorRepository
  28.      */
  29.     protected $distributorRepository;
  30.     /**
  31.      * @var Distributor2Repository
  32.      */
  33.     protected $distributor2Repository;
  34.     /**
  35.      * @var PrefRepository
  36.      */
  37.     protected $prefRepository;
  38.     
  39.     /**
  40.      * @var CatalogFaqRepository
  41.      */
  42.     private $catalogFaqRepository;
  43.     public function __construct(EnterpriseRepository $enterpriseRepositoryPriceListRepository $priceListRepository,
  44.                                 DistributorRepository $distributorRepositoryDistributor2Repository $distributor2Repository,
  45.                                 PrefRepository $prefRepositoryCatalogFaqRepository $catalogFaqRepository)
  46.     {
  47.         $this->enterpriseRepository $enterpriseRepository;
  48.         $this->priceListRepository $priceListRepository;
  49.         $this->distributorRepository $distributorRepository;
  50.         $this->distributor2Repository $distributor2Repository;
  51.         $this->prefRepository $prefRepository;
  52.         $this->catalogFaqRepository $catalogFaqRepository;
  53.     }
  54.     /**
  55.      * supplier detail
  56.      *
  57.      * @Route("/member_page", name="page_member")
  58.      * @Template("MemberPage/detail.twig")
  59.      */
  60.     public function supplierItem()
  61.     {
  62.         $catalogList $this->catalogFaqRepository->getList(0);
  63.         return [
  64.             'catalogList' => $catalogList
  65.         ];
  66.     }
  67.     /**
  68.      * supplier detail
  69.      *
  70.      * @Route("/member_page/{code}", name="page_supplier-detail")
  71.      * @Template("SupplierDetail/detail.twig")
  72.      */
  73.     public function supplierDetail(Request $request$code)
  74.     {
  75.         //Get Item Company by name
  76.         /* @var Enterprise $itemCompany */
  77.         $itemCompany $this->enterpriseRepository->getItemByCode($code);
  78.         if (!$itemCompany) {
  79.             throw new NotFoundHttpException();
  80.         }
  81.         //Find price list by company
  82.         $PriceLists $this->priceListRepository->findBy(['enterprise_id' => $itemCompany->getId()], ['sort_no' => 'DESC']);
  83.         $catalogList $this->catalogFaqRepository->getList(0);
  84.         return [
  85.             'PriceLists' => $PriceLists,
  86.             'itemCompany' => $itemCompany,
  87.             'catalogList' => $catalogList
  88.         ];
  89.     }
  90.     /**
  91.      * Dealer-detail.
  92.      *
  93.      * @Route("/dealers", name="page_dealer-detail")
  94.      * @Template("Dealer/detail.twig")
  95.      */
  96.     public function dealerDetail()
  97.     {
  98.         $Distributor $this->distributorRepository->findBy([], ['sort_no' => 'DESC']);
  99.         // FormType: DeliveryFeeの生成
  100.         $Prefs $this->prefRepository->findAll();
  101.         //List item pref has input company data
  102.         $dataItem = [];
  103.         foreach ($Prefs as $Pref) {
  104.             $DistributorItem $this->distributorRepository
  105.                 ->findBy(
  106.                     [
  107.                         'pref_id' => $Pref->getId(),
  108.                     ],
  109.                     ['sort_no' => 'DESC']
  110.                 );
  111.             $dataCount[$Pref->getId()] = 0;
  112.             if ($DistributorItem) {
  113.                 $itemPrefData = [];
  114.                 $itemPrefData['pref_id'] = $Pref->getId();
  115.                 $itemPrefData['pref_name'] = $Pref->getName();
  116.                 //List item company
  117.                 $dataItemDistribure = [];
  118.                 foreach ($DistributorItem as $Item) {
  119.                     $itemCompany = [];
  120.                     $itemCompany['company_name'] = $Item->getCompanyName();
  121.                     $itemCompany['company_code'] = $Item->getCompanyCode();
  122.                     $dataItemDistribure[] = $itemCompany;
  123.                 }
  124.                 $itemPrefData['dataCompany'] = $dataItemDistribure;
  125.                 $dataItem[$Pref->getId()] = $itemPrefData;
  126.             }
  127.         }
  128.         return [
  129.             'DistributorData' => $Distributor,
  130.             'Prefs' => $Prefs,
  131.             'dataItem' => $dataItem,
  132.         ];
  133.     }
  134.     /**
  135.      * Dealer-detail2.
  136.      *
  137.      * @Route("/dealers2", name="page_dealer-detail2")
  138.      * @Template("Dealer/detail2.twig")
  139.      */
  140.     public function dealerDetail2()
  141.     {
  142.         $Distributor2 $this->distributor2Repository->findBy([], ['sort_no' => 'DESC']);
  143.         // FormType: DeliveryFeeの生成
  144.         $Prefs $this->prefRepository->findAll();
  145.         //List item pref has input company data
  146.         $dataItem = [];
  147.         foreach ($Prefs as $Pref) {
  148.             $Distributor2Item $this->distributor2Repository
  149.                 ->findBy(
  150.                     [
  151.                         'pref_id' => $Pref->getId(),
  152.                     ],
  153.                     ['sort_no' => 'DESC']
  154.                 );
  155.             $dataCount[$Pref->getId()] = 0;
  156.             if ($Distributor2Item) {
  157.                 $itemPrefData = [];
  158.                 $itemPrefData['pref_id'] = $Pref->getId();
  159.                 $itemPrefData['pref_name'] = $Pref->getName();
  160.                 //List item company
  161.                 $dataItemDistribure = [];
  162.                 foreach ($Distributor2Item as $Item) {
  163.                     $itemCompany = [];
  164.                     $itemCompany['company_name'] = $Item->getCompanyName();
  165.                     $itemCompany['company_code'] = $Item->getCompanyCode();
  166.                     $dataItemDistribure[] = $itemCompany;
  167.                 }
  168.                 $itemPrefData['dataCompany'] = $dataItemDistribure;
  169.                 $dataItem[$Pref->getId()] = $itemPrefData;
  170.             }
  171.         }
  172.         return [
  173.             'Distributor2Data' => $Distributor2,
  174.             'Prefs' => $Prefs,
  175.             'dataItem' => $dataItem,
  176.         ];
  177.     }
  178. }