src/WebBundle/Repository/InteriorRepository.php line 272

Open in your IDE?
  1. <?php
  2. namespace WebBundle\Repository;
  3. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  4. use Doctrine\ORM\AbstractQuery;
  5. use Doctrine\ORM\NonUniqueResultException;
  6. use Doctrine\ORM\NoResultException;
  7. use Doctrine\ORM\Query\ResultSetMapping;
  8. use Doctrine\ORM\Tools\Pagination\Paginator;
  9. use Doctrine\Persistence\ManagerRegistry;
  10. use Exception;
  11. use FlexApp\Constant\TimeConstant;
  12. use Import1CBundle\Helper\v3\BiConst;
  13. use WebBundle\Constant\CookieKeysConstant;
  14. use WebBundle\Entity\Collection;
  15. use WebBundle\Entity\Interior;
  16. use WebBundle\Helper\App;
  17. use WebBundle\Helper\CookieHelper;
  18. use WebBundle\Helper\LocaleHelper;
  19. use WebBundle\Helper\StrHelper;
  20. use WebBundle\Service\SliderBaseService;
  21. use WebBundle\Service\SliderService;
  22. use WebBundle\Traits\RepoTrait;
  23. /**
  24.  * InteriorRepository
  25.  */
  26. class InteriorRepository extends ServiceEntityRepository
  27. {
  28.     use RepoTrait;
  29.     public function __construct(ManagerRegistry $registry)
  30.     {
  31.         parent::__construct($registryInterior::class);
  32.     }
  33.     /**
  34.      * @throws Exception
  35.      */
  36.     public function clearProcess()
  37.     {
  38.         $sql 'UPDATE `interior` SET `process` = 0 WHERE `process` = 1; SELECT COUNT(`id`) FROM `interior` WHERE `process` = 0;';
  39.         $conn $this->_em->getConnection();
  40.         try {
  41.             return $conn->executeStatement($sql);
  42.         } catch (Exception $e) {
  43.             throw new Exception($e->getMessage(), $e->getCode(), $e);
  44.         }
  45.     }
  46.     public function getInteriorsWithArticleHeader($limit 100$id null): array
  47.     {
  48.         $q $this->createQueryBuilder('i')
  49.             ->leftJoin('i.headArticles''ah')
  50.             ->leftJoin('i.articles''a')
  51.             ->innerJoin('i.collection''c')
  52.             ->innerJoin('c.factory''f')
  53.             ->andWhere('i.process <> :process')
  54.             ->setParameter('process'1)
  55.             ->orderBy('ah.id''DESC')
  56.             ->addOrderBy('a.id''DESC')
  57.             ->setMaxResults($limit)
  58.         ;
  59.         if($id){
  60.             $q->andWhere('i.id =:id')
  61.                 ->setParameter('id'$id)
  62.             ;
  63.         }else{
  64.             $q->setMaxResults($limit);
  65.         }
  66.         $r $q->getQuery();
  67.         return $r->getResult();
  68.     }
  69.     /**
  70.      * НЕ ИЗМЕНЯТЬ специальный запрос для API
  71.      * @param null $collectionId
  72.      * @return array|null
  73.      */
  74.     public function getInteriorArrayAPI($collectionId null)
  75.     {
  76.         $q $this->createQueryBuilder('i')
  77.             ->select('i.id, i.name');
  78.         if (!empty($collectionId)) {
  79.             $q->andWhere('i.collection = :collection')
  80.                 ->setParameter('collection'$collectionId);
  81.         }
  82.         return $q->getQuery()->getArrayResult();
  83.     }
  84.     /**
  85.      * @param $collection
  86.      * @return array|null
  87.      */
  88.     public function getInteriorsByCollection($collection): ?array
  89.     {
  90.         $q $this->createQueryBuilder('i')
  91.             ->select('i,s,a,t')
  92.             ->leftJoin('i.applies''a')
  93.             ->leftJoin('i.styles''s')
  94.             ->leftJoin('i.textures''t')
  95.             ->leftJoin('i.collection''c')
  96.             ->andWhere('c.id = :collection')
  97.             ->setParameter('collection'$collection)
  98.             ->getQuery()
  99.             ->useQueryCache(true);
  100.         return $q->getArrayResult();
  101.     }
  102.     /**
  103.      * @param $id
  104.      * @param int $sort
  105.      * @return array|mixed|null
  106.      * @throws Exception
  107.      */
  108.     public function getInteriorsByIdeaSort($idint $sort 3)
  109.     {
  110.         ini_set('memory_limit''4096M');
  111.         $q $this->createQueryBuilder('i')
  112.             ->leftJoin('i.interiorHistories''is')
  113.             ->leftJoin('i.ideas''ii')
  114.             ->leftJoin('i.collection''c')
  115.             ->andWhere('ii.id = :id')
  116.             ->setParameter('id'$id);
  117.         if ($sort == 3) {
  118.             $q->orderBy('is.date''DESC');
  119.         } elseif ($sort == 2) { // по цене
  120.             $field 'prMin';
  121.             $currency LocaleHelper::getCur();
  122.             $country LocaleHelper::getCountry();
  123.             if ($currency == 'USD') {
  124.                 $field LocaleHelper::measureGb() ? 'prMinFUSD' 'prMinUSD';
  125.             } elseif (in_array($currency, ['GBP''CHF''SEK''DKK''NOK''PLN'])) {
  126.                 $field $field $currency;
  127.             } else {
  128.                 if ($country == 'us') {
  129.                     $field LocaleHelper::measureGb() ? 'prMinFUSE' 'prMinUSE';
  130.                 } elseif (in_array($country, ['gb''ch''se''pl'])) {
  131.                     $field $field strtoupper($country) . 'E';
  132.                 } else {
  133.                     $field $field 'Euro';
  134.                 }
  135.             }
  136.             $q->orderBy('c.' $field'ASC');
  137.         } elseif ($sort == 4) {
  138.             $q->orderBy('c.name ASC, i.name''ASC');
  139.         } elseif ($sort == 1) { // по рейтингу
  140.             $q1 $this->createQueryBuilder('i')
  141.                 ->select('i.id, (SELECT count(t005.id)
  142.                                      FROM WebBundle\Entity\Idea t005
  143.                                      JOIN t005.interiors t005p
  144.                                      where t005p.id = i.id
  145.                                      )  as threadId')
  146.                 ->leftJoin('i.interiorHistories''is')
  147.                 ->leftJoin('i.ideas''ii')
  148.                 ->leftJoin('i.collection''c')
  149.                 ->andWhere('ii.id = :id')
  150.                 ->setParameter('id'$id)
  151.                 ->groupBy('i.id')
  152.                 ->orderBy('threadId''DESC');
  153.             $listId $q1
  154.                 ->getQuery()
  155.                 ->useQueryCache(true)
  156.                 ->getResult();
  157.             $listId array_column($listId'id');
  158.             if (count($listId) > 1) {
  159.                 $q->orderBy('FIELD(i.id, ' join(','$listId) . ')');
  160.             }
  161.         }
  162.         return $q
  163.             ->getQuery()
  164.             ->getResult();
  165.     }
  166.     /**
  167.      * @param $collectionId
  168.      * @param $name
  169.      * @return array|null
  170.      */
  171.     public function getInterior($collectionId$name)
  172.     {
  173.         $q $this->createQueryBuilder('i')
  174.             ->select('i,a,c')
  175.             ->leftJoin('i.collection''c')
  176.             ->leftJoin('i.articles''a')
  177.             ->andWhere('c.id = :collection')
  178.             ->andWhere('i.name = :name')
  179.             ->setParameters([
  180.                 'collection' => $collectionId,
  181.                 'name' => $name,
  182.             ]);
  183.         $r $q->getQuery();
  184.         $item $r->getResult();
  185.         return $item $item[0] : [];
  186.     }
  187.     /**
  188.      * @param $collectionId
  189.      * @param bool|array $ides
  190.      * @return mixed
  191.      * @throws NoResultException
  192.      * @throws NonUniqueResultException
  193.      */
  194.     public function countInteriorsColl($collectionId$ides false)
  195.     {
  196.         $q $this->createQueryBuilder('i')
  197.             ->select('count(i.id)')
  198.             ->andWhere('i.status = 1')
  199.             ->andWhere('i.collection = :collection')
  200.             ->setParameter('collection'$collectionId);
  201.         if ($ides && is_array($ides)) {
  202.             $q->andWhere('i.id IN (:ides)')
  203.                 ->setParameter('ides'$ides);
  204.         }
  205.         $r $q->getQuery();
  206.         return $r->getSingleScalarResult();
  207.     }
  208.     /**
  209.      * @param $collectionId
  210.      * @param array $params
  211.      * @return array|null
  212.      */
  213.     public function getInteriors($collectionId$params = [])
  214.     {
  215.         $q $this->createQueryBuilder('i')
  216.             ->select('i,a,c')
  217.             ->leftJoin('i.collection''c')
  218.             ->leftJoin('i.articles''a')
  219.             ->andWhere('c.id = :id')
  220.             ->setParameter('id'$collectionId);
  221.         if (!empty($params['ids'])) {
  222.             $q->andWhere('i.id IN (:ids)')
  223.                 ->setParameter('ids'$params['ids']);
  224.         }
  225.         if (!empty($params['notIds'])) {
  226.             $q->andWhere('i.id NOT IN (:notIds)')
  227.                 ->setParameter('notIds'$params['notIds']);
  228.         }
  229.         $r $q->getQuery();
  230.         return $r->getArrayResult();
  231.     }
  232.     /**
  233.      * @param int|array $collectionId
  234.      * @param array $params
  235.      * @return array
  236.      */
  237.     public function getInteriorsForCollection($collectionId, array $params = [])
  238.     {
  239.         $rsm = new ResultSetMapping();
  240.         $rsm->addEntityResult('WebBundle\Entity\Interior''i');
  241.         $rsm->addFieldResult('i''iId''id');
  242.         $rsm->addFieldResult('i''iUrl''url');
  243.         $rsm->addFieldResult('i''iName''name');
  244.         $rsm->addFieldResult('i''iAlt''alt');
  245.         $rsm->addFieldResult('i''iFile''file');
  246.         $rsm->addFieldResult('i''iStatus''status');
  247.         $rsm->addFieldResult('i''iFileSizeX''fileSizeX');
  248.         $rsm->addFieldResult('i''iFileSizeY''fileSizeY');
  249.         $rsm->addFieldResult('i''iFileSizeZX''fileSizeZX');
  250.         $rsm->addFieldResult('i''iFileSizeZY''fileSizeZY');
  251.         $rsm->addFieldResult('i''iFileSizeHdX''fileSizeHDX');
  252.         $rsm->addFieldResult('i''iFileSizeHdY''fileSizeHDY');
  253.         $rsm->addFieldResult('i''iFileSizeShdX''fileSizeSHDX');
  254.         $rsm->addFieldResult('i''iFileSizeShdY''fileSizeSHDY');
  255.         $rsm->addFieldResult('i''iFileSize4kX''fileSize4kX');
  256.         $rsm->addFieldResult('i''iFileSize4kY''fileSize4kY');
  257.         $rsm->addFieldResult('i''ideaCount''ideasCount');
  258.         $rsm->addJoinedEntityResult('WebBundle\Entity\Collection''c''i''collection');
  259.         $rsm->addFieldResult('c''cId''id');
  260.         $rsm->addFieldResult('c''cUrl''url');
  261.         $rsm->addFieldResult('c''cStatus''status');
  262.         $rsm->addFieldResult('c''cName''name');
  263.         $rsm->addFieldResult('c''cAName''alternateName');
  264.         $rsm->addFieldResult('c''prMinEuro''prMinEuro');
  265.         $rsm->addFieldResult('c''prMinEuroDe''prMinEuroDe');
  266.         $rsm->addFieldResult('c''prMinEuroFr''prMinEuroFr');
  267.         $rsm->addFieldResult('c''prMinEuroIt''prMinEuroIt');
  268.         $rsm->addFieldResult('c''prMinEuroBe''prMinEuroBe');
  269.         $rsm->addFieldResult('c''prMinEuroIe''prMinEuroIe');
  270.         $rsm->addFieldResult('c''prMinEuroNl''prMinEuroNl');
  271.         $rsm->addFieldResult('c''prMinRUB''prMinRUB');
  272.         $rsm->addFieldResult('c''prMinRUE''prMinRUE');
  273.         $rsm->addFieldResult('c''prMinGBP''prMinGBP');
  274.         $rsm->addFieldResult('c''prMinGBE''prMinGBE');
  275.         $rsm->addFieldResult('c''prMinUSD''prMinUSD');
  276.         $rsm->addFieldResult('c''prMinUSE''prMinUSE');
  277.         $rsm->addFieldResult('c''prMinFUSD''prMinFUSD');
  278.         $rsm->addFieldResult('c''prMinFUSE''prMinFUSE');
  279.         $rsm->addFieldResult('c''prMinCHF''prMinCHF');
  280.         $rsm->addFieldResult('c''prMinCHE''prMinCHE');
  281.         $rsm->addFieldResult('c''prMinSEK''prMinSEK');
  282.         $rsm->addFieldResult('c''prMinSEE''prMinSEE');
  283.         $rsm->addFieldResult('c''prMinDKK''prMinDKK');
  284.         $rsm->addFieldResult('c''prMinDKE''prMinDKE');
  285.         $rsm->addFieldResult('c''prMinNOK''prMinNOK');
  286.         $rsm->addFieldResult('c''prMinNOE''prMinNOE');
  287.         $rsm->addFieldResult('c''prMinPLN''prMinPLN');
  288.         $rsm->addFieldResult('c''prMinPLE''prMinPLE');
  289.         $rsm->addFieldResult('c''prMinCAD''prMinCAD');
  290.         $rsm->addFieldResult('c''prMinCAE''prMinCAE');
  291.         $rsm->addFieldResult('c''prMinFCAD''prMinFCAD');
  292.         $rsm->addFieldResult('c''prMinFCAE''prMinFCAE');
  293.         $rsm->addJoinedEntityResult('WebBundle\Entity\Factory''f''c''factory');
  294.         $rsm->addFieldResult('f''fId''id');
  295.         $rsm->addFieldResult('f''fUrl''url');
  296.         $rsm->addFieldResult('f''fStatus''status');
  297.         $rsm->addFieldResult('f''fName''name');
  298.         $rsm->addFieldResult('f''fAName''alternateName');
  299.         $rsm->addFieldResult('f''fSuspended''suspended');
  300.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListCountry''lc''f''country');
  301.         $rsm->addFieldResult('lc''lcId''id');
  302.         $rsm->addFieldResult('lc''lcCode''code');
  303.         $rsm->addFieldResult('lc''lcAlias''alias');
  304.         $rsm->addJoinedEntityResult('WebBundle\Entity\Article''a''i''articles');
  305.         $rsm->addFieldResult('a''itemId''id');
  306.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListApply''la''i''applies');
  307.         $rsm->addFieldResult('la''laId''id');
  308.         $rsm->addFieldResult('la''laAlias''alias');
  309.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''lst''i''styles');
  310.         $rsm->addFieldResult('lst''lstId''id');
  311.         $rsm->addFieldResult('lst''lstAlias''alias');
  312.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListTexture''lt''i''textures');
  313.         $rsm->addFieldResult('lt''ltId''id');
  314.         $rsm->addFieldResult('lt''ltAlias''alias');
  315.         if (is_array($collectionId)) {
  316.             $cIds implode(', '$collectionId);
  317.             $collectionWhere "c.id IN ($cIds)";
  318.         } else {
  319.             $collectionWhere "c.id = $collectionId";
  320.         }
  321.         $where '';
  322.         if (!empty($params)) {
  323.             if (!empty($params['ids'])) {
  324.                 $sIds implode(', '$params['ids']);
  325.                 $where $where " AND i.id IN ($sIds)";
  326.             }
  327.         }
  328.         $sql '
  329.             SELECT
  330.                 i.id as iId,
  331.                 i.url as iUrl,
  332.                 i.name as iName,
  333.                 i.alt as iAlt,
  334.                 i.file as iFile,
  335.                 i.status as iStatus,
  336.                 i.file_size_x as iFileSizeX,
  337.                 i.file_size_y as iFileSizeY,
  338.                 i.file_size_z_x as iFileSizeZX,
  339.                 i.file_size_z_y as iFileSizeZY,
  340.                 i.file_size_hd_x as iFileSizeHdX,
  341.                 i.file_size_hd_y as iFileSizeHdY,
  342.                 i.file_size_shd_x as iFileSizeShdX,
  343.                 i.file_size_shd_y as iFileSizeShdY,
  344.                 i.file_size4k_x as iFileSize4kX,
  345.                 i.file_size4k_y as iFileSize4kY,
  346.                 c.id as cId,
  347.                 c.url as cUrl,
  348.                 c.status as cStatus,
  349.                 c.name as cName,
  350.                 c.alternate_name as cAName,
  351.                 c.pr_min_euro as prMinEuro,
  352.                 c.pr_min_euro_de as prMinEuroDe,
  353.                 c.pr_min_euro_fr as prMinEuroFr,
  354.                 c.pr_min_euro_it as prMinEuroIt,
  355.                 c.pr_min_euro_be as prMinEuroBe,
  356.                 c.pr_min_euro_ie as prMinEuroIe,
  357.                 c.pr_min_euro_nl as prMinEuroNl,
  358.                 c.pr_min_euro_es as prMinEuroEs,
  359.                 c.pr_min_rue as prMinRUB,
  360.                 c.pr_min_rue as prMinRUE,
  361.                 c.pr_min_gbp as prMinGBP,
  362.                 c.pr_min_gbe as prMinGBE,
  363.                 c.pr_min_usd as prMinUSD,
  364.                 c.pr_min_use as prMinUSE,
  365.                 c.pr_min_f_usd as prMinFUSD,
  366.                 c.pr_min_f_use as prMinFUSE,
  367.                 c.pr_min_chf as prMinCHF,
  368.                 c.pr_min_che as prMinCHE,
  369.                 c.pr_min_sek as prMinSEK,
  370.                 c.pr_min_see as prMinSEE,
  371.                 c.pr_min_dkk as prMinDKK,
  372.                 c.pr_min_dke as prMinDKE,
  373.                 c.pr_min_nok as prMinNOK,
  374.                 c.pr_min_noe as prMinNOE,
  375.                 c.pr_min_pln as prMinPLN,
  376.                 c.pr_min_ple as prMinPLE,
  377.                 c.pr_min_cad as prMinCAD,
  378.                 c.pr_min_cae as prMinCAE,
  379.                 c.pr_min_f_cad as prMinEuroFCAD,
  380.                 c.pr_min_f_cae as prMinEuroFCAE,
  381.                 f.id as fId,
  382.                 f.url as fUrl,
  383.                 f.status as fStatus,
  384.                 f.name as fName,
  385.                 f.alternate_name as fAName,
  386.                 f.suspended as fSuspended,
  387.                 a.id as itemId,
  388.                 lc.id as lcId,
  389.                 lc.code as lcCode,
  390.                 lc.alias as lcAlias,
  391.                 la.id as laId,
  392.                 la.alias as laAlias,
  393.                 lst.id as lstId,
  394.                 lst.alias as lstAlias,
  395.                 lt.id as ltId,
  396.                 lt.alias as ltAlias,
  397.                 (SELECT COUNT(ii.idea_id) FROM `idea_interior` ii WHERE `ii`.`interior_id` = `i`.id) as ideaCount
  398.             FROM interior i
  399.             LEFT JOIN collection c ON c.id = i.collection
  400.             LEFT JOIN factory f ON f.id = c.factory
  401.             LEFT JOIN interior_article iat ON iat.interior_id = i.id
  402.             LEFT JOIN article a ON a.id = iat.article_id
  403.             LEFT JOIN list_country lc ON lc.id = f.country
  404.             LEFT JOIN interior_apply ia ON ia.interior_id = i.id
  405.             LEFT JOIN list_apply la ON la.id = ia.apply_id
  406.             LEFT JOIN interior_texture it ON it.interior_id = i.id
  407.             LEFT JOIN list_texture lt ON lt.id = it.texture_id
  408.             LEFT JOIN interior_style ist ON ist.interior_id = i.id
  409.             LEFT JOIN list_style lst ON lst.id = ist.style_id
  410.             WHERE ' $collectionWhere ' AND i.status = ' BiConst::STATE_PUBLISHED '
  411.         ' $where;
  412.         $q $this->getEntityManager()
  413.             ->createNativeQuery($sql$rsm)
  414.             ->enableResultCache(TimeConstant::DAY);
  415.         return $q->getArrayResult();
  416.     }
  417.     /**
  418.      * @param $collectionId
  419.      * @param array $params
  420.      * @return array|null
  421.      * @throws Exception
  422.      */
  423.     public function getInteriorsForSlider($collectionId$params = [])
  424.     {
  425.         $rsm = new ResultSetMapping();
  426.         $rsm->addEntityResult('WebBundle\Entity\Interior''i');
  427.         $rsm->addFieldResult('i''iId''id');
  428.         $where '';
  429.         $group '';
  430.         if (empty($params['all'])) {
  431.             $where .= ' AND i.status = 1';
  432.         }
  433.         if (!empty($params['ids'])) {
  434.             $where .= ' AND i.id IN (' join(','$params['ids']) . ')';
  435.         }
  436.         if (!empty($params['notIds'])) {
  437.             $where .= ' AND i.id NOT IN (' join(','$params['notIds']) . ')';
  438.         }
  439.         if (!empty($params['onlyId'])) {
  440.             $fields 'i.id as iId';
  441.             $group ' GROUP BY i.id';
  442.         } else {
  443.             $rsm->addFieldResult('i''iUrl''url');
  444.             $rsm->addFieldResult('i''iName''name');
  445.             $rsm->addFieldResult('i''iAlt''alt');
  446.             $rsm->addFieldResult('i''iFile''file');
  447.             $rsm->addFieldResult('i''iStatus''status');
  448.             $rsm->addFieldResult('i''iFileSizeX''fileSizeX');
  449.             $rsm->addFieldResult('i''iFileSizeY''fileSizeY');
  450.             $rsm->addFieldResult('i''iFileSizeZX''fileSizeZX');
  451.             $rsm->addFieldResult('i''iFileSizeZY''fileSizeZY');
  452.             $rsm->addFieldResult('i''iFileSizeHdX''fileSizeHDX');
  453.             $rsm->addFieldResult('i''iFileSizeHdY''fileSizeHDY');
  454.             $rsm->addFieldResult('i''iFileSizeShdX''fileSizeSHDX');
  455.             $rsm->addFieldResult('i''iFileSizeShdY''fileSizeSHDY');
  456.             $rsm->addFieldResult('i''iFileSize4kX''fileSize4kX');
  457.             $rsm->addFieldResult('i''iFileSize4kY''fileSize4kY');
  458.             $rsm->addFieldResult('i''ideaCount''ideasCount');
  459.             $rsm->addJoinedEntityResult('WebBundle\Entity\Collection''c''i''collection');
  460.             $rsm->addFieldResult('c''cId''id');
  461.             $rsm->addFieldResult('c''cUrl''url');
  462.             $rsm->addFieldResult('c''cStatus''status');
  463.             $rsm->addFieldResult('c''cProcess''process');
  464.             $rsm->addFieldResult('c''cName''name');
  465.             $rsm->addFieldResult('c''cAName''alternateName');
  466.             $rsm->addFieldResult('c''header''header');
  467.             $rsm->addFieldResult('c''prMinEuro''prMinEuro');
  468.             $rsm->addFieldResult('c''prMinEuroDe''prMinEuroDe');
  469.             $rsm->addFieldResult('c''prMinEuroFr''prMinEuroFr');
  470.             $rsm->addFieldResult('c''prMinEuroIt''prMinEuroIt');
  471.             $rsm->addFieldResult('c''prMinEuroBe''prMinEuroBe');
  472.             $rsm->addFieldResult('c''prMinEuroIe''prMinEuroIe');
  473.             $rsm->addFieldResult('c''prMinEuroNl''prMinEuroNl');
  474.             $rsm->addFieldResult('c''prMinRUB''prMinRUB');
  475.             $rsm->addFieldResult('c''prMinRUE''prMinRUE');
  476.             $rsm->addFieldResult('c''prMinGBP''prMinGBP');
  477.             $rsm->addFieldResult('c''prMinGBE''prMinGBE');
  478.             $rsm->addFieldResult('c''prMinUSD''prMinUSD');
  479.             $rsm->addFieldResult('c''prMinUSE''prMinUSE');
  480.             $rsm->addFieldResult('c''prMinFUSD''prMinFUSD');
  481.             $rsm->addFieldResult('c''prMinFUSE''prMinFUSE');
  482.             $rsm->addFieldResult('c''prMinCHF''prMinCHF');
  483.             $rsm->addFieldResult('c''prMinCHE''prMinCHE');
  484.             $rsm->addFieldResult('c''prMinSEK''prMinSEK');
  485.             $rsm->addFieldResult('c''prMinSEE''prMinSEE');
  486.             $rsm->addFieldResult('c''prMinDKK''prMinDKK');
  487.             $rsm->addFieldResult('c''prMinDKE''prMinDKE');
  488.             $rsm->addFieldResult('c''prMinNOK''prMinNOK');
  489.             $rsm->addFieldResult('c''prMinNOE''prMinNOE');
  490.             $rsm->addFieldResult('c''prMinPLN''prMinPLN');
  491.             $rsm->addFieldResult('c''prMinPLE''prMinPLE');
  492.             $rsm->addFieldResult('c''prMinCAD''prMinCAD');
  493.             $rsm->addFieldResult('c''prMinCAE''prMinCAE');
  494.             $rsm->addFieldResult('c''prMinFCAD''prMinFCAD');
  495.             $rsm->addFieldResult('c''prMinFCAE''prMinFCAE');
  496.             $rsm->addJoinedEntityResult('WebBundle\Entity\Factory''f''c''factory');
  497.             $rsm->addFieldResult('f''fId''id');
  498.             $rsm->addFieldResult('f''fUrl''url');
  499.             $rsm->addFieldResult('f''fStatus''status');
  500.             $rsm->addFieldResult('f''fName''name');
  501.             $rsm->addFieldResult('f''fAName''alternateName');
  502.             $rsm->addFieldResult('f''fSuspended''suspended');
  503.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListCountry''lc''f''country');
  504.             $rsm->addFieldResult('lc''lcId''id');
  505.             $rsm->addFieldResult('lc''lcCode''code');
  506.             $rsm->addFieldResult('lc''lcAlias''alias');
  507.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''lst''i''styles');
  508.             $rsm->addFieldResult('lst''lstId''id');
  509.             $rsm->addFieldResult('lst''lstAlias''alias');
  510.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListTexture''lt''i''textures');
  511.             $rsm->addFieldResult('lt''ltId''id');
  512.             $rsm->addFieldResult('lt''ltAlias''alias');
  513.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListApply''lapl''i''applies');
  514.             $rsm->addFieldResult('lapl''laplId''id');
  515.             $rsm->addFieldResult('lapl''laplAlias''alias');
  516.             $rsm->addJoinedEntityResult('WebBundle\Entity\Article''a''i''articles');
  517.             $rsm->addFieldResult('a''id''id');
  518.             $rsm->addFieldResult('a''code''code');
  519.             $rsm->addFieldResult('a''name''name');
  520.             $rsm->addFieldResult('a''alternate_name''alternateName');
  521.             $rsm->addFieldResult('a''price_euro''priceEuro');
  522.             $rsm->addFieldResult('a''price_mq_euro''priceMqEuro');
  523.             $rsm->addFieldResult('a''price_euro_de''priceEuroDe');
  524.             $rsm->addFieldResult('a''price_euro_at''priceEuroAt');
  525.             $rsm->addFieldResult('a''price_euro_fi''priceEuroFi');
  526.             $rsm->addFieldResult('a''price_euro_fr''priceEuroFr');
  527.             $rsm->addFieldResult('a''price_euro_it''priceEuroIt');
  528.             $rsm->addFieldResult('a''price_euro_be''priceEuroBe');
  529.             $rsm->addFieldResult('a''price_euro_ie''priceEuroIe');
  530.             $rsm->addFieldResult('a''price_euro_nl''priceEuroNl');
  531.             $rsm->addFieldResult('a''price_euro_es''priceEuroEs');
  532.             $rsm->addFieldResult('a''price_mq_euro_de''priceMqEuroDe');
  533.             $rsm->addFieldResult('a''price_mq_euro_at''priceMqEuroAt');
  534.             $rsm->addFieldResult('a''price_mq_euro_fi''priceMqEuroFi');
  535.             $rsm->addFieldResult('a''price_mq_euro_fr''priceMqEuroFr');
  536.             $rsm->addFieldResult('a''price_mq_euro_it''priceMqEuroIt');
  537.             $rsm->addFieldResult('a''price_mq_euro_be''priceMqEuroBe');
  538.             $rsm->addFieldResult('a''price_mq_euro_ie''priceMqEuroIe');
  539.             $rsm->addFieldResult('a''price_mq_euro_es''priceMqEuroEs');
  540.             $rsm->addFieldResult('a''price_rub''priceRUB');
  541.             $rsm->addFieldResult('a''price_rue''priceRUE');
  542.             $rsm->addFieldResult('a''price_mq_rub''priceMqRUB');
  543.             $rsm->addFieldResult('a''price_mq_rue''priceMqRUE');
  544.             $rsm->addFieldResult('a''price_gbp''priceGBP');
  545.             $rsm->addFieldResult('a''price_gbe''priceGBE');
  546.             $rsm->addFieldResult('a''price_mq_gbp''priceMqGBP');
  547.             $rsm->addFieldResult('a''price_mq_gbe''priceMqGBE');
  548.             $rsm->addFieldResult('a''price_usd''priceUSD');
  549.             $rsm->addFieldResult('a''price_use''priceUSE');
  550.             $rsm->addFieldResult('a''price_fq_usd''priceFqUSD');
  551.             $rsm->addFieldResult('a''price_fq_use''priceFqUSE');
  552.             $rsm->addFieldResult('a''price_mq_use''priceMqUSE');
  553.             $rsm->addFieldResult('a''price_cad''priceCAD');
  554.             $rsm->addFieldResult('a''price_cae''priceCAE');
  555.             $rsm->addFieldResult('a''price_fq_cad''priceFqCAD');
  556.             $rsm->addFieldResult('a''price_fq_cae''priceFqCAE');
  557.             $rsm->addFieldResult('a''price_mq_cae''priceMqCAE');
  558.             $rsm->addFieldResult('a''price_chf''priceCHF');
  559.             $rsm->addFieldResult('a''price_che''priceCHE');
  560.             $rsm->addFieldResult('a''price_mq_chf''priceMqCHF');
  561.             $rsm->addFieldResult('a''price_mq_che''priceMqCHE');
  562.             $rsm->addFieldResult('a''price_sek''priceSEK');
  563.             $rsm->addFieldResult('a''price_see''priceSEE');
  564.             $rsm->addFieldResult('a''price_mq_sek''priceMqSEK');
  565.             $rsm->addFieldResult('a''price_mq_see''priceMqSEE');
  566.             $rsm->addFieldResult('a''price_dkk''priceDKK');
  567.             $rsm->addFieldResult('a''price_dke''priceDKE');
  568.             $rsm->addFieldResult('a''price_mq_dkk''priceMqDKK');
  569.             $rsm->addFieldResult('a''price_mq_dke''priceMqDKE');
  570.             $rsm->addFieldResult('a''price_nok''priceNOK');
  571.             $rsm->addFieldResult('a''price_noe''priceNOE');
  572.             $rsm->addFieldResult('a''price_mq_nok''priceMqNOK');
  573.             $rsm->addFieldResult('a''price_mq_noe''priceMqNOE');
  574.             $rsm->addFieldResult('a''price_pln''pricePLN');
  575.             $rsm->addFieldResult('a''price_ple''pricePLE');
  576.             $rsm->addFieldResult('a''price_mq_pln''priceMqPLN');
  577.             $rsm->addFieldResult('a''price_mq_ple''priceMqPLE');
  578.             $rsm->addFieldResult('a''file''file');
  579.             $rsm->addFieldResult('a''not_sample''notSample');
  580.             $rsm->addFieldResult('a''express_sample''expressSample');
  581.             $rsm->addFieldResult('a''variant_image''variantImage');
  582.             $rsm->addFieldResult('a''file_w''fileW');
  583.             $rsm->addFieldResult('a''file_h''fileH');
  584.             $rsm->addFieldResult('a''file_w4000''fileW4000');
  585.             $rsm->addFieldResult('a''file_h4000''fileH4000');
  586.             $rsm->addFieldResult('a''scheme''scheme');
  587.             $rsm->addFieldResult('a''size_x''sizeX');
  588.             $rsm->addFieldResult('a''size_y''sizeY');
  589.             $rsm->addFieldResult('a''size_z''sizeZ');
  590.             $rsm->addFieldResult('a''size_gb_x''sizeGbX');
  591.             $rsm->addFieldResult('a''size_gb_y''sizeGbY');
  592.             $rsm->addFieldResult('a''size_gb_z''sizeGbZ');
  593.             $rsm->addFieldResult('a''file_size2_x''fileSize2X');
  594.             $rsm->addFieldResult('a''file_size2_y''fileSize2Y');
  595.             $rsm->addFieldResult('a''file_size8_x''fileSize8X');
  596.             $rsm->addFieldResult('a''file_size8_y''fileSize8Y');
  597.             $rsm->addFieldResult('a''type_constraint''typeConstraint');
  598.             $rsm->addFieldResult('a''packaging_count''packagingCount');
  599.             $rsm->addFieldResult('a''packaging_count_ft''packagingCountFt');
  600.             $rsm->addFieldResult('a''packaging_count_pc''packagingCountPC');
  601.             $rsm->addFieldResult('a''reserve''reserve');
  602.             $rsm->addFieldResult('a''price_prx''pricePrx');
  603.             $rsm->addFieldResult('a''pallet''pallet');
  604.             $rsm->addFieldResult('a''pallet_ft''palletFt');
  605.             $rsm->addFieldResult('a''min_order''minOrder');
  606.             $rsm->addFieldResult('a''m2one_ps''m2OnePs');
  607.             $rsm->addFieldResult('a''multiple_pallet''multiplePallet');
  608.             $rsm->addFieldResult('a''urla''url');
  609.             $rsm->addFieldResult('a''background_white''backgroundWhite');
  610.             $rsm->addFieldResult('a''border_grey''borderGrey');
  611.             $rsm->addFieldResult('a''image_setting''imageSetting');
  612.             $rsm->addFieldResult('a''file_edit''fileEdit');
  613.             $rsm->addFieldResult('a''comment_scheme_image''commentSchemeImage');
  614.             $rsm->addJoinedEntityResult('WebBundle\Entity\ArticleDetail''ad''a''details');
  615.             $rsm->addFieldResult('ad''ad_id''id');
  616.             $rsm->addFieldResult('ad''ad_file''file');
  617.             $rsm->addFieldResult('ad''ad_picture_in_title''pictureInTitle');
  618.             $rsm->addFieldResult('ad''ad_gtin''gtin');
  619.             $rsm->addFieldResult('ad''ad_file_size1_x''fileSize1X');
  620.             $rsm->addFieldResult('ad''ad_file_size1_y''fileSize1Y');
  621.             $rsm->addFieldResult('ad''ad_file_size2_x''fileSize2X');
  622.             $rsm->addFieldResult('ad''ad_file_size2_y''fileSize2Y');
  623.             $rsm->addFieldResult('ad''ad_file_size3_x''fileSize3X');
  624.             $rsm->addFieldResult('ad''ad_file_size3_y''fileSize3Y');
  625.             $rsm->addFieldResult('ad''ad_file_size8_x''fileSize8X');
  626.             $rsm->addFieldResult('ad''ad_file_size8_y''fileSize8Y');
  627.             $rsm->addFieldResult('ad''ad_file_size500_x''fileSize500X');
  628.             $rsm->addFieldResult('ad''ad_file_size500_y''fileSize500Y');
  629.             $rsm->addFieldResult('ad''ad_file_size740_x''fileSize740X');
  630.             $rsm->addFieldResult('ad''ad_file_size740_y''fileSize740Y');
  631.             $rsm->addFieldResult('ad''ad_file_size1_x''fileSize1X');
  632.             $rsm->addFieldResult('ad''ad_file_size1_y''fileSize1Y');
  633.             $rsm->addFieldResult('ad''ad_comment''comment');
  634.             $rsm->addFieldResult('ad''ad_file_edit''fileEdit');
  635.             $rsm->addFieldResult('ad''ad_image_setting''imageSetting');
  636.             $rsm->addFieldResult('ad''ad_file_w''fileW');
  637.             $rsm->addFieldResult('ad''ad_file_h''fileH');
  638.             $rsm->addFieldResult('ad''ad_file_w4000''fileW4000');
  639.             $rsm->addFieldResult('ad''ad_file_h4000''fileH4000');
  640.             $rsm->addFieldResult('ad''ad_comment_scheme_image''commentSchemeImage');
  641.             $rsm->addFieldResult('ad''ad_variant_image''variantImage');
  642.             $rsm->addFieldResult('ad''ad_file_rotation''fileRotation');
  643.             $rsm->addFieldResult('ad''ad_rotate''rotate');
  644.             $rsm->addFieldResult('ad''ad_type_painting''typePainting');
  645.             $rsm->addFieldResult('ad''ad_big_size_scheme''bigSizeScheme');
  646.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListColor''lcl''a''colors');
  647.             $rsm->addFieldResult('lcl''lcl_id''id');
  648.             $rsm->addFieldResult('lcl''lcl_alias''alias');
  649.             $rsm->addFieldResult('lcl''lcl_name''name');
  650.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListDelivery''ld''a''delivery');
  651.             $rsm->addFieldResult('ld''ld_id''id');
  652.             $rsm->addFieldResult('ld''ld_alias''alias');
  653.             $rsm->addFieldResult('ld''ld_name''name');
  654.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListMeasure''lms''a''measure');
  655.             $rsm->addFieldResult('lms''lms_id''id');
  656.             $rsm->addFieldResult('lms''lms_alias''alias');
  657.             $rsm->addFieldResult('lms''lms_name''name');
  658.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListMaterial''lmt''a''material');
  659.             $rsm->addFieldResult('lmt''lmt_id''id');
  660.             $rsm->addFieldResult('lmt''lmt_name''name');
  661.             $rsm->addFieldResult('lmt''lmt_alias''alias');
  662.             $rsm->addJoinedEntityResult('WebBundle\Entity\ArticlePriceDiscount''apd''a''priceDiscounts');
  663.             $rsm->addFieldResult('apd''apd_id''id');
  664.             $rsm->addFieldResult('apd''apd_amount''amount');
  665.             $rsm->addFieldResult('apd''apd_amount_ft''amountFt');
  666.             $rsm->addFieldResult('apd''apd_fold''fold');
  667.             $rsm->addFieldResult('apd''apd_price''price');
  668.             $rsm->addFieldResult('apd''apd_price_euro''priceEuro');
  669.             $rsm->addFieldResult('apd''apd_price_euro_de''priceEuroDe');
  670.             $rsm->addFieldResult('apd''apd_price_euro_at''priceEuroAt');
  671.             $rsm->addFieldResult('apd''apd_price_euro_fi''priceEuroFi');
  672.             $rsm->addFieldResult('apd''apd_price_euro_fr''priceEuroFr');
  673.             $rsm->addFieldResult('apd''apd_price_euro_it''priceEuroIt');
  674.             $rsm->addFieldResult('apd''apd_price_euro_be''priceEuroBe');
  675.             $rsm->addFieldResult('apd''apd_price_euro_ie''priceEuroIe');
  676.             $rsm->addFieldResult('apd''apd_price_euro_nl''priceEuroNl');
  677.             $rsm->addFieldResult('apd''apd_price_euro_es''priceEuroEs');
  678.             $rsm->addFieldResult('apd''apd_price_rub''priceRUB');
  679.             $rsm->addFieldResult('apd''apd_price_rue''priceRUE');
  680.             $rsm->addFieldResult('apd''apd_price_gbp''priceGBP');
  681.             $rsm->addFieldResult('apd''apd_price_gbe''priceGBE');
  682.             $rsm->addFieldResult('apd''apd_price_usd''priceUSD');
  683.             $rsm->addFieldResult('apd''apd_price_use''priceUSE');
  684.             $rsm->addFieldResult('apd''apd_price_fq_usd''priceFqUSD');
  685.             $rsm->addFieldResult('apd''apd_price_fq_use''priceFqUSE');
  686.             $rsm->addFieldResult('apd''apd_price_chf''priceCHF');
  687.             $rsm->addFieldResult('apd''apd_price_che''priceCHE');
  688.             $rsm->addFieldResult('apd''apd_price_pln''pricePLN');
  689.             $rsm->addFieldResult('apd''apd_price_ple''pricePLE');
  690.             $rsm->addFieldResult('apd''apd_price_cad''priceCAD');
  691.             $rsm->addFieldResult('apd''apd_price_cae''priceCAE');
  692.             $rsm->addFieldResult('apd''apd_price_fq_cad''priceFqCAD');
  693.             $rsm->addFieldResult('apd''apd_price_fq_cae''priceFqCAE');
  694.             $rsm->addFieldResult('apd''apd_price_sek''priceSEK');
  695.             $rsm->addFieldResult('apd''apd_price_see''priceSEE');
  696.             $rsm->addFieldResult('apd''apd_price_dkk''priceDKK');
  697.             $rsm->addFieldResult('apd''apd_price_dke''priceDKE');
  698.             $rsm->addFieldResult('apd''apd_price_nok''priceNOK');
  699.             $rsm->addFieldResult('apd''apd_price_noe''priceNOE');
  700.             $rsm->addJoinedEntityResult('WebBundle\Entity\Collection''ac''a''collection');
  701.             $rsm->addFieldResult('ac''ac_id''id');
  702.             $rsm->addFieldResult('ac''ac_url''url');
  703.             $rsm->addFieldResult('ac''ac_name''name');
  704.             $rsm->addFieldResult('ac''ac_aname''alternateName');
  705.             $rsm->addFieldResult('ac''ac_status''status');
  706.             $rsm->addJoinedEntityResult('WebBundle\Entity\Factory''acf''ac''factory');
  707.             $rsm->addFieldResult('acf''acf_id''id');
  708.             $rsm->addFieldResult('acf''acf_url''url');
  709.             $rsm->addFieldResult('acf''acf_name''name');
  710.             $rsm->addFieldResult('acf''acf_aname''alternateName');
  711.             $rsm->addFieldResult('acf''acf_suspended''suspended');
  712.             $rsm->addFieldResult('acf''acf_status''status');
  713.             $rsm->addFieldResult('acf''acf_stated_at''statedAt');
  714.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListCountry''acfc''acf''country');
  715.             $rsm->addFieldResult('acfc''acfc_id''id');
  716.             $rsm->addFieldResult('acfc''acfc_code''code');
  717.             $rsm->addFieldResult('acfc''acfc_alias''alias');
  718.             $rsm->addFieldResult('acfc''acfc_name''name');
  719.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListFactoryColor''lfc''a''factoryColors');
  720.             $rsm->addFieldResult('lfc''lfc_id''id');
  721.             $rsm->addFieldResult('lfc''lfc_name''name');
  722.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListTexture''altx''a''textures');
  723.             $rsm->addFieldResult('altx''altx_id''id');
  724.             $rsm->addFieldResult('altx''altx_alias''alias');
  725.             $rsm->addFieldResult('altx''altx_name''name');
  726.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''als''a''styles');
  727.             $rsm->addFieldResult('als''als_id''id');
  728.             $rsm->addFieldResult('als''als_alias''alias');
  729.             $rsm->addFieldResult('als''als_name''name');
  730.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListSurface''lsf''a''surface');
  731.             $rsm->addFieldResult('lsf''lsf_id''id');
  732.             $rsm->addFieldResult('lsf''lsf_alias''alias');
  733.             $rsm->addFieldResult('lsf''lsf_name''name');
  734.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListType''alt''a''type');
  735.             $rsm->addFieldResult('alt''alt_id''id');
  736.             $rsm->addFieldResult('alt''alt_alias''alias');
  737.             $rsm->addFieldResult('alt''alt_name''name');
  738.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListMotiv''llm''a''motivs');
  739.             $rsm->addFieldResult('llm''llm_id''id');
  740.             $rsm->addFieldResult('llm''llm_alias''alias');
  741.             $rsm->addFieldResult('llm''llm_name''name');
  742.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListShape''lsh''a''shape');
  743.             $rsm->addFieldResult('lsh''lsh_id''id');
  744.             $rsm->addFieldResult('lsh''lsh_alias''alias');
  745.             $rsm->addFieldResult('lsh''lsh_name''name');
  746.             $rsm->addJoinedEntityResult('WebBundle\Entity\ListMeasureSize''lmss''a''measurementSize');
  747.             $rsm->addFieldResult('lmss''lmss_id''id');
  748.             $rsm->addFieldResult('lmss''lmss_alias''alias');
  749.             $rsm->addFieldResult('lmss''lmss_name''name');
  750.             $rsm->addJoinedEntityResult('WebBundle\Entity\InteriorArticle''iac''a''coordItems');
  751.             $rsm->addFieldResult('iac''iacId''id');
  752.             $rsm->addFieldResult('iac''iacCoordX''coordX');
  753.             $rsm->addFieldResult('iac''iacCoordY''coordY');
  754.             $rsm->addFieldResult('iac''iacTypePointer''typePointer');
  755.             $rsm->addJoinedEntityResult('WebBundle\Entity\Interior''iaci''iac''interior');
  756.             $rsm->addFieldResult('iaci''iaciId''id');
  757.             $rsm->addJoinedEntityResult('WebBundle\Entity\Article''iaca''iac''article');
  758.             $rsm->addFieldResult('iaca''iacaId''id');
  759. //            i.file_size4_x as iFileSize4x,
  760. //                i.file_size4_y as iFileSize4y,
  761. //                i.file_size5_x as iFileSize5x,
  762. //                i.file_size5_y as iFileSize5y,
  763. //                i.file_size6_x as iFileSize6x,
  764. //                i.file_size6_y as iFileSize6y,
  765.             $fields '
  766.                 i.id as iId,
  767.                 i.url as iUrl,
  768.                 i.name as iName,
  769.                 i.alt as iAlt,
  770.                 i.file as iFile,
  771.                 i.status as iStatus,
  772.                 i.file_size_x as iFileSizeX,
  773.                 i.file_size_y as iFileSizeY,
  774.                 i.file_size_z_x as iFileSizeZX,
  775.                 i.file_size_z_y as iFileSizeZY,
  776.                 i.file_size_hd_x as iFileSizeHdX,
  777.                 i.file_size_hd_y as iFileSizeHdY,
  778.                 i.file_size_shd_x as iFileSizeShdX,
  779.                 i.file_size_shd_y as iFileSizeShdY,
  780.                 i.file_size4k_x as iFileSize4kX,
  781.                 i.file_size4k_y as iFileSize4kY,
  782.                 c.id as cId,
  783.                 c.url as cUrl,
  784.                 c.status as cStatus,
  785.                 c.process as cProcess,
  786.                 c.name as cName,
  787.                 c.alternate_name as cAName,
  788.                 c.header as header,
  789.                 c.pr_min_euro as prMinEuro,
  790.                 c.pr_min_euro_de as prMinEuroDe,
  791.                 c.pr_min_euro_fr as prMinEuroFr,
  792.                 c.pr_min_euro_it as prMinEuroIt,
  793.                 c.pr_min_euro_be as prMinEuroBe,
  794.                 c.pr_min_euro_ie as prMinEuroIe,
  795.                 c.pr_min_euro_nl as prMinEuroNl,
  796.                 c.pr_min_euro_es as prMinEuroEs,
  797.                 c.pr_min_rue as prMinRUB,
  798.                 c.pr_min_rue as prMinRUE,
  799.                 c.pr_min_gbp as prMinGBP,
  800.                 c.pr_min_gbe as prMinGBE,
  801.                 c.pr_min_usd as prMinUSD,
  802.                 c.pr_min_use as prMinUSE,
  803.                 c.pr_min_f_usd as prMinFUSD,
  804.                 c.pr_min_f_use as prMinFUSE,
  805.                 c.pr_min_chf as prMinCHF,
  806.                 c.pr_min_che as prMinCHE,
  807.                 c.pr_min_sek as prMinSEK,
  808.                 c.pr_min_see as prMinSEE,
  809.                 c.pr_min_dkk as prMinDKK,
  810.                 c.pr_min_dke as prMinDKE,
  811.                 c.pr_min_nok as prMinNOK,
  812.                 c.pr_min_noe as prMinNOE,
  813.                 c.pr_min_pln as prMinPLN,
  814.                 c.pr_min_ple as prMinPLE,
  815.                 c.pr_min_cad as prMinCAD,
  816.                 c.pr_min_cae as prMinCAE,
  817.                 c.pr_min_f_cad as prMinFCAD,
  818.                 c.pr_min_f_cae as prMinFCAE,
  819.                 f.id as fId,
  820.                 f.url as fUrl,
  821.                 f.status as fStatus,
  822.                 f.name as fName,
  823.                 f.alternate_name as fAName,
  824.                 f.suspended as fSuspended,
  825.                 lc.id as lcId,
  826.                 lc.code as lcCode,
  827.                 lc.alias as lcAlias,
  828.                 lst.id as lstId,
  829.                 lst.alias as lstAlias,
  830.                 lt.id as ltId,
  831.                 lt.alias as ltAlias,
  832.                 lapl.id as laplId,
  833.                 lapl.alias as laplAlias,
  834.                 (SELECT COUNT(ii.idea_id) FROM `idea_interior` ii WHERE `ii`.`interior_id` = `i`.id) as ideaCount,
  835.                 a.id,
  836.                 a.code,
  837.                 a.name,
  838.                 a.not_sample,
  839.                 a.alternate_name,
  840.                 REPLACE(a.file, "~q~", "\'") AS file,
  841.                 a.express_sample,
  842.                 a.variant_image,
  843.                 a.price_euro,
  844.                 a.price_mq_euro,
  845.                 a.price_euro_de,
  846.                 a.price_mq_euro_de,
  847.                 a.price_euro_at,
  848.                 a.price_mq_euro_at,
  849.                 a.price_euro_fi,
  850.                 a.price_mq_euro_fi,
  851.                 a.price_euro_fr,
  852.                 a.price_mq_euro_fr,
  853.                 a.price_euro_it,
  854.                 a.price_mq_euro_it,
  855.                 a.price_euro_be,
  856.                 a.price_mq_euro_be,
  857.                 a.price_euro_ie,
  858.                 a.price_mq_euro_ie,
  859.                 a.price_euro_nl,
  860.                 a.price_mq_euro_nl,
  861.                 a.price_euro_es,
  862.                 a.price_mq_euro_es,
  863.                 a.price_rub,
  864.                 a.price_rue,
  865.                 a.price_mq_rub,
  866.                 a.price_mq_rue,
  867.                 a.price_gbp,
  868.                 a.price_gbe,
  869.                 a.price_mq_gbp,
  870.                 a.price_mq_gbe,
  871.                 a.price_usd,
  872.                 a.price_use,
  873.                 a.price_fq_usd,
  874.                 a.price_fq_use,
  875.                 a.price_mq_use,
  876.                 a.price_chf,
  877.                 a.price_che,
  878.                 a.price_mq_chf,
  879.                 a.price_mq_che,
  880.                 a.price_sek,
  881.                 a.price_see,
  882.                 a.price_mq_sek,
  883.                 a.price_mq_see,
  884.                 a.price_dkk,
  885.                 a.price_dke,
  886.                 a.price_mq_dkk,
  887.                 a.price_mq_dke,
  888.                 a.price_nok,
  889.                 a.price_noe,
  890.                 a.price_mq_nok,
  891.                 a.price_mq_noe,
  892.                 a.price_pln,
  893.                 a.price_ple,
  894.                 a.price_mq_pln,
  895.                 a.price_mq_ple,
  896.                 a.price_cad,
  897.                 a.price_cae,
  898.                 a.price_fq_cad,
  899.                 a.price_fq_cae,
  900.                 a.price_mq_cae,
  901.                 a.size_x,
  902.                 a.size_y,
  903.                 a.size_z,
  904.                 a.size_gb_x,
  905.                 a.size_gb_y,
  906.                 a.size_gb_z,
  907.                 a.file_size2_x,
  908.                 a.file_size2_y,
  909.                 a.file_size8_x,
  910.                 a.file_size8_y,
  911.                 a.type_constraint,
  912.                 a.packaging_count,
  913.                 a.packaging_count_ft,
  914.                 a.packaging_count_pc,
  915.                 a.price_prx,
  916.                 a.pallet,
  917.                 a.pallet_ft,
  918.                 a.min_order,
  919.                 a.m2one_ps,
  920.                 a.multiple_pallet,
  921.                 a.urla,
  922.                 a.background_white,
  923.                 a.border_grey,
  924.                 a.image_setting,
  925.                 a.file_w,
  926.                 a.file_h,
  927.                 a.file_w4000,
  928.                 a.file_h4000,
  929.                 a.scheme,
  930.                 a.file_edit,
  931.                 a.comment_scheme_image,
  932.                 ad.id as ad_id,
  933.                 ad.file as ad_file,
  934.                 ad.picture_in_title as ad_picture_in_title,
  935.                 ad.gtin as ad_gtin,
  936.                 ad.file_size1_x as ad_file_size1_x,
  937.                 ad.file_size1_y as ad_file_size1_y,
  938.                 ad.file_size2_x as ad_file_size2_x,
  939.                 ad.file_size2_y as ad_file_size2_y,
  940.                 ad.file_size3_x as ad_file_size3_x,
  941.                 ad.file_size3_y as ad_file_size3_y,
  942.                 ad.file_size8_x as ad_file_size8_x,
  943.                 ad.file_size8_y as ad_file_size8_y,
  944.                 ad.file_size500_x as ad_file_size500_x,
  945.                 ad.file_size500_y as ad_file_size500_y,
  946.                 ad.file_size740_x as ad_file_size740_x,
  947.                 ad.file_size740_y as ad_file_size740_y,
  948.                 ad.file_size1_x as ad_file_size1_x,
  949.                 ad.file_size1_y as ad_file_size1_y,
  950.                 ad.comment as ad_comment,
  951.                 ad.file_edit as ad_file_edit,
  952.                 ad.image_setting as ad_image_setting,
  953.                 ad.file_w as ad_file_w,
  954.                 ad.file_h as ad_file_h,
  955.                 ad.file_w4000 as ad_file_w4000,
  956.                 ad.file_h4000 as ad_file_h4000,
  957.                 ad.comment_scheme_image as ad_comment_scheme_image,
  958.                 ad.variant_image as ad_variant_image,
  959.                 ad.file_rotation as ad_file_rotation,
  960.                 ad.rotate as ad_rotate,
  961.                 ad.type_painting as ad_type_painting,
  962.                 ad.big_size_scheme as ad_big_size_scheme,
  963.                 ld.id as ld_id,
  964.                 ld.alias as ld_alias,
  965.                 ld.name as ld_name,
  966.                 alt.id as alt_id,
  967.                 alt.alias as alt_alias,
  968.                 alt.name as alt_name,
  969.                 lcl.id as lcl_id,
  970.                 lcl.alias as lcl_alias,
  971.                 lcl.name as lcl_name,
  972.                 lms.id as lms_id,
  973.                 lms.alias as lms_alias,
  974.                 lms.name as lms_name,
  975.                 lmt.id as lmt_id,
  976.                 lmt.alias as lmt_alias,
  977.                 lmt.name as lmt_name,
  978.                 lsf.id as lsf_id,
  979.                 lsf.name as lsf_name,
  980.                 lsf.alias as lsf_alias,
  981.                 lfc.id as lfc_id,
  982.                 lfc.name as lfc_name,
  983.                 altx.id as altx_id,
  984.                 altx.alias as altx_alias,
  985.                 altx.name as altx_name,
  986.                 als.id as als_id,
  987.                 als.alias as als_alias,
  988.                 als.name as als_name,
  989.                 lsh.id as lsh_id,
  990.                 lsh.alias as lsh_alias,
  991.                 lsh.name as lsh_name,
  992.                 llm.id as llm_id,
  993.                 llm.name as llm_name,
  994.                 llm.alias as llm_alias,
  995.                 lmss.id as lmss_id,
  996.                 lmss.alias as lmss_alias,
  997.                 lmss.name as lmss_name,
  998.                 apd.id as apd_id,
  999.                 apd.amount as apd_amount,
  1000.                 apd.amount_ft as apd_amount_ft,
  1001.                 apd.fold as apd_fold,
  1002.                 apd.price as apd_price,
  1003.                 apd.price_euro as apd_price_euro,
  1004.                 apd.price_euro_de as apd_price_euro_de,
  1005.                 apd.price_euro_at as apd_price_euro_at,
  1006.                 apd.price_euro_fi as apd_price_euro_fi,
  1007.                 apd.price_euro_fr as apd_price_euro_fr,
  1008.                 apd.price_euro_it as apd_price_euro_it,
  1009.                 apd.price_euro_be as apd_price_euro_be,
  1010.                 apd.price_euro_ie as apd_price_euro_ie,
  1011.                 apd.price_euro_nl as apd_price_euro_nl,
  1012.                 apd.price_euro_es as apd_price_euro_es,
  1013.                 apd.price_rub as apd_price_rub,
  1014.                 apd.price_rue as apd_price_rue,
  1015.                 apd.price_gbp as apd_price_gbp,
  1016.                 apd.price_gbe as apd_price_gbe,
  1017.                 apd.price_usd as apd_price_usd,
  1018.                 apd.price_use as apd_price_use,
  1019.                 apd.price_fq_usd as apd_price_fq_usd,
  1020.                 apd.price_fq_use as apd_price_fq_use,
  1021.                 apd.price_chf as apd_price_chf,
  1022.                 apd.price_che as apd_price_che,
  1023.                 apd.price_sek as apd_price_sek,
  1024.                 apd.price_see as apd_price_see,
  1025.                 apd.price_dkk as apd_price_dkk,
  1026.                 apd.price_dke as apd_price_dke,
  1027.                 apd.price_nok as apd_price_nok,
  1028.                 apd.price_noe as apd_price_noe,
  1029.                 apd.price_pln as apd_price_pln,
  1030.                 apd.price_ple as apd_price_ple,
  1031.                 apd.price_cad as apd_price_cad,
  1032.                 apd.price_cae as apd_price_cae,
  1033.                 apd.price_fq_cad as apd_price_fq_cad,
  1034.                 apd.price_fq_cae as apd_price_fq_cae,
  1035.                 ac.id as ac_id,
  1036.                 ac.url as ac_url,
  1037.                 ac.name as ac_name,
  1038.                 ac.alternate_name as ac_aname,
  1039.                 ac.status as ac_status,
  1040.                 acf.id as acf_id,
  1041.                 acf.url as acf_url,
  1042.                 acf.name as acf_name,
  1043.                 acf.alternate_name as acf_aname,
  1044.                 acf.status as acf_status,
  1045.                 acf.suspended as acf_suspended,
  1046.                 acf.stated_at as acf_stated_at,
  1047.                 acfc.id as acfc_id,
  1048.                 acfc.code as acfc_code,
  1049.                 acfc.alias as acfc_alias,
  1050.                 acfc.name as acfc_name,
  1051.                 iac.id as iacId,
  1052.                 iac.coord_x as iacCoordX,
  1053.                 iac.coord_y as iacCoordY,
  1054.                 iac.type_pointer as iacTypePointer,
  1055.                 iaci.id as iaciId,
  1056.                 iaca.id as iacaId
  1057.             ';
  1058.         }
  1059.         $cur '_euro';
  1060.         $country StrHelper::toLower(App::getCurCountry());
  1061.         if (
  1062.             CookieHelper::get(CookieKeysConstant::CURRENCY) &&
  1063.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'EUR' &&
  1064.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'HKD' &&
  1065.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'SGD'
  1066.         ) {
  1067.             $cur '_' StrHelper::toLower(CookieHelper::get(CookieKeysConstant::CURRENCY));
  1068.         } elseif ($country == 'de') {
  1069.             $cur '_euro_de';
  1070.         } elseif ($country == 'at') {
  1071.             $cur '_euro_at';
  1072.         } elseif ($country == 'fi') {
  1073.             $cur '_euro_fi';
  1074.         } elseif ($country == 'fr') {
  1075.             $cur '_euro_fr';
  1076.         } elseif ($country == 'it') {
  1077.             $cur '_euro_it';
  1078.         } elseif ($country == 'be') {
  1079.             $cur '_euro_be';
  1080.         } elseif ($country == 'ie') {
  1081.             $cur '_euro_ie';
  1082.         } elseif ($country == 'nl') {
  1083.             $cur '_euro_nl';
  1084.         } elseif ($country == 'es') {
  1085.             $cur '_euro_es';
  1086.         }
  1087.         $sql '
  1088.             SELECT ' $fields '
  1089.             FROM interior i
  1090.             LEFT JOIN collection c ON c.id = i.collection
  1091.             LEFT JOIN factory f ON f.id = c.factory
  1092.             LEFT JOIN list_country lc ON lc.id = f.country
  1093.             LEFT JOIN interior_texture it ON it.interior_id = i.id
  1094.             LEFT JOIN list_texture lt ON lt.id = it.texture_id
  1095.             LEFT JOIN interior_style ist ON ist.interior_id = i.id
  1096.             LEFT JOIN list_style lst ON lst.id = ist.style_id
  1097.             LEFT JOIN interior_apply iappl ON iappl.interior_id = i.id
  1098.             LEFT JOIN list_style lapl ON lapl.id = iappl.apply_id
  1099.             LEFT JOIN interior_article ia ON ia.interior_id = i.id
  1100.             LEFT JOIN article a ON ia.article_id = a.id AND a.delivery <> 6 AND a.file <> \'\' AND a.file IS NOT NULL
  1101.             LEFT JOIN interior_article_coord iac ON iac.article_id = a.id
  1102.             LEFT JOIN interior iaci ON iaci.id = iac.interior_id
  1103.             LEFT JOIN article iaca ON iaca.id = iac.article_id AND iaca.delivery <> 6 AND iaca.file <> \'\' AND iaca.file IS NOT NULL
  1104.             LEFT JOIN collection ac ON ac.id = a.collection
  1105.             LEFT JOIN factory acf ON acf.id = ac.factory
  1106.             LEFT JOIN list_country acfc ON acfc.id = acf.country
  1107.             LEFT JOIN list_type alt ON a.type = alt.id
  1108.             LEFT JOIN list_delivery ld ON a.delivery = ld.id
  1109.             LEFT JOIN list_measure lms ON a.measure = lms.id
  1110.             LEFT JOIN list_material lmt ON a.material = lmt.id
  1111.             LEFT JOIN list_surface lsf ON a.surface = lsf.id
  1112.             LEFT JOIN article_price_discount apd ON a.id = apd.article AND apd.price' $cur ' > 0
  1113.             LEFT JOIN article_color acl ON a.id = acl.article_id
  1114.             LEFT JOIN article_factory_color afc ON a.id = afc.article_id
  1115.             LEFT JOIN list_factory_color lfc ON lfc.id = afc.factory_color_id
  1116.             LEFT JOIN article_texture `at` ON a.id = `at`.article_id
  1117.             LEFT JOIN list_texture altx ON altx.id = `at`.texture_id
  1118.             LEFT JOIN article_color alcl ON a.id = alcl.article_id
  1119.             LEFT JOIN list_color lcl ON lcl.id = alcl.color_id
  1120.             LEFT JOIN list_style als ON a.style = als.id
  1121.             LEFT JOIN list_color alc ON alc.id = acl.color_id
  1122.             LEFT JOIN article_motiv alm ON a.id = alm.article_id
  1123.             LEFT JOIN list_motiv llm ON llm.id = alm.motiv_id
  1124.             LEFT JOIN list_shape lsh ON lsh.id = a.shape
  1125.             LEFT JOIN list_measure_size lmss ON a.measurement_size = lmss.id
  1126.             LEFT JOIN article_detail ad         ON ad.article_id = a.id
  1127.             WHERE c.id = ' $collectionId $where $group '';
  1128.         $q $this->_em->createNativeQuery($sql$rsm);
  1129.         return $q->getArrayResult();
  1130.     }
  1131.     /**
  1132.      * @param $key
  1133.      * @param $collection
  1134.      * @return mixed
  1135.      */
  1136.     public function interiorId($key$collection)
  1137.     {
  1138.         $q $this->createQueryBuilder('i')
  1139.             ->select('i.id')
  1140.             ->orWhere('i.url = :key')
  1141.             ->orWhere('i.file = :key')
  1142.             ->andWhere('i.collection = :collection')
  1143.             ->setParameter('key'$key)
  1144.             ->setParameter('collection'$collection)
  1145.             ->setMaxResults(1);
  1146.         $data $q->getQuery()->getArrayResult();
  1147.         if (!empty($data[0])) {
  1148.             return $data[0]['id'];
  1149.         } elseif (is_numeric($key)) {
  1150.             $q $this->createQueryBuilder('i')
  1151.                 ->select('i.id')
  1152.                 ->orWhere('i.id = :key')
  1153.                 ->orWhere('i.name = :key')
  1154.                 ->andWhere('i.collection = :collection')
  1155.                 ->setParameter('key'$key)
  1156.                 ->setParameter('collection'$collection)
  1157.                 ->setMaxResults(1);
  1158.             $data $q->getQuery()->getArrayResult();
  1159.             return !empty($data[0]) ? $data[0]['id'] : null;
  1160.         } else {
  1161.             return null;
  1162.         }
  1163.     }
  1164.     /**
  1165.      * @param string $name
  1166.      * @param $collection
  1167.      * @return mixed
  1168.      */
  1169.     public function interiorUrlByName($name$collection)
  1170.     {
  1171.         $q $this->createQueryBuilder('i')
  1172.             ->select('i.url')
  1173.             ->andWhere('i.collection = :collection')
  1174.             ->andWhere('i.name = :name')
  1175.             ->setParameter('name'$name)
  1176.             ->setParameter('collection'$collection)
  1177.             ->setMaxResults(1);
  1178.         $data $q->getQuery()->getArrayResult();
  1179.         return !empty($data[0]) ? $data[0]['url'] : null;
  1180.     }
  1181.     /**
  1182.      * @param $interiorId
  1183.      * @return mixed|null
  1184.      * @throws NonUniqueResultException
  1185.      */
  1186.     public function getInteriorForIdea($interiorId)
  1187.     {
  1188.         $q $this->createQueryBuilder('i')
  1189.             ->select('i,c')
  1190.             ->leftJoin('i.collection''c')
  1191.             ->andWhere('i.id = :id')
  1192.             ->setParameter('id'$interiorId)
  1193.             ->setMaxResults(1);
  1194.         $r $q->getQuery();
  1195.         try {
  1196.             return $r->getSingleResult();
  1197.         } catch (NoResultException $e) {
  1198.             return null;
  1199.         }
  1200.     }
  1201.     /**
  1202.      * @return ResultSetMapping
  1203.      */
  1204.     private function getResultMapping()
  1205.     {
  1206.         $rsm = new ResultSetMapping();
  1207.         $rsm->addEntityResult('WebBundle\Entity\Interior''i');
  1208.         $rsm->addFieldResult('i''id''id');
  1209.         $rsm->addFieldResult('i''name''name');
  1210.         $rsm->addFieldResult('i''file''file');
  1211.         $rsm->addFieldResult('i''status''status');
  1212.         $rsm->addFieldResult('i''is_main''isMain');
  1213.         $rsm->addFieldResult('i''file_size_x''fileSizeX');
  1214.         $rsm->addFieldResult('i''file_size_y''fileSizeY');
  1215.         $rsm->addFieldResult('i''file_size_z_x''fileSizeZX');
  1216.         $rsm->addFieldResult('i''file_size_z_y''fileSizeZY');
  1217.         $rsm->addFieldResult('i''file_size_hd_x''fileSizeHDX');
  1218.         $rsm->addFieldResult('i''file_size_hd_y''fileSizeHDY');
  1219.         $rsm->addFieldResult('i''file_size_shd_x''fileSizeSHDX');
  1220.         $rsm->addFieldResult('i''file_size_shd_y''fileSizeSHDY');
  1221. //        $rsm->addFieldResult('i', 'file_size4_x', 'fileSize4X');
  1222. //        $rsm->addFieldResult('i', 'file_size4_y', 'fileSize4Y');
  1223. //        $rsm->addFieldResult('i', 'file_size5_x', 'fileSize5X');
  1224. //        $rsm->addFieldResult('i', 'file_size5_y', 'fileSize5Y');
  1225. //        $rsm->addFieldResult('i', 'file_size6_x', 'fileSize6X');
  1226. //        $rsm->addFieldResult('i', 'file_size6_y', 'fileSize6Y');
  1227. //        $rsm->addFieldResult('i', 'file_size7_x', 'fileSize7X');
  1228. //        $rsm->addFieldResult('i', 'file_size7_y', 'fileSize7Y');
  1229.         $rsm->addFieldResult('i''file_size4k_x''fileSize4kX');
  1230.         $rsm->addFieldResult('i''file_size4k_y''fileSize4kY');
  1231.         $rsm->addJoinedEntityResult('WebBundle\Entity\Collection''acl''i''collection');
  1232.         $rsm->addFieldResult('acl''acl_id''id');
  1233.         $rsm->addFieldResult('acl''acl_url''url');
  1234.         $rsm->addFieldResult('acl''acl_name''name');
  1235.         $rsm->addFieldResult('acl''acl_aname''alternateName');
  1236.         $rsm->addFieldResult('acl''acl_status''status');
  1237.         $rsm->addFieldResult('acl''acl_rating''rating');
  1238.         $rsm->addFieldResult('acl''acl_settings''settings');
  1239.         $rsm->addJoinedEntityResult('WebBundle\Entity\Factory''acf''acl''factory');
  1240.         $rsm->addFieldResult('acf''acf_id''id');
  1241.         $rsm->addFieldResult('acf''acf_url''url');
  1242.         $rsm->addFieldResult('acf''acf_name''name');
  1243.         $rsm->addFieldResult('acf''acf_aname''alternateName');
  1244.         $rsm->addFieldResult('acf''acf_suspended''suspended');
  1245.         $rsm->addFieldResult('acf''acf_status''status');
  1246.         $rsm->addFieldResult('acf''acf_stated_at''statedAt');
  1247.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListCountry''acflc''acf''country');
  1248.         $rsm->addFieldResult('acflc''acflc_id''id');
  1249.         $rsm->addFieldResult('acflc''acflc_code''code');
  1250.         $rsm->addFieldResult('acflc''acflc_alias''alias');
  1251.         $rsm->addFieldResult('acflc''acflc_name''name');
  1252.         $rsm->addJoinedEntityResult('WebBundle\Entity\User''acfu''acf''user');
  1253.         $rsm->addFieldResult('acfu''acfu_id''id');
  1254.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''istls''i''styles');
  1255.         $rsm->addFieldResult('istls''istls_id''id');
  1256.         $rsm->addFieldResult('istls''istls_alias''alias');
  1257.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListTexture''istlt''i''textures');
  1258.         $rsm->addFieldResult('istlt''istlt_id''id');
  1259.         $rsm->addFieldResult('istlt''istlt_alias''alias');
  1260.         $rsm->addJoinedEntityResult('WebBundle\Entity\Idea''idea''i''ideas');
  1261.         $rsm->addFieldResult('idea''idea_id''id');
  1262.         $rsm->addJoinedEntityResult('WebBundle\Entity\Article''arts''i''articles');
  1263.         $rsm->addFieldResult('arts''arts_id''id');
  1264.         $rsm->addFieldResult('arts''arts_code''code');
  1265.         $rsm->addFieldResult('arts''arts_name''name');
  1266.         $rsm->addFieldResult('arts''arts_not_sample''notSample');
  1267.         $rsm->addFieldResult('arts''arts_url''url');
  1268.         $rsm->addFieldResult('arts''arts_aname''alternateName');
  1269.         $rsm->addFieldResult('arts''arts_file_size2_x''fileSize2X');
  1270.         $rsm->addFieldResult('arts''arts_file_size2_y''fileSize2Y');
  1271.         $rsm->addFieldResult('arts''arts_multiple_pallet''multiplePallet');
  1272.         $rsm->addFieldResult('arts''arts_border_grey''borderGrey');
  1273.         $rsm->addFieldResult('arts''arts_size_x''sizeX');
  1274.         $rsm->addFieldResult('arts''arts_size_y''sizeY');
  1275.         $rsm->addFieldResult('arts''arts_size_z''sizeZ');
  1276.         $rsm->addFieldResult('arts''arts_size_gb_x''sizeGbX');
  1277.         $rsm->addFieldResult('arts''arts_size_gb_y''sizeGbY');
  1278.         $rsm->addFieldResult('arts''arts_size_gb_z''sizeGbZ');
  1279.         $rsm->addFieldResult('arts''arts_pallet''pallet');
  1280.         $rsm->addFieldResult('arts''arts_pallet_ft''palletFt');
  1281.         $rsm->addFieldResult('arts''arts_image_setting''imageSetting');
  1282.         $rsm->addFieldResult('arts''arts_file_w''fileW');
  1283.         $rsm->addFieldResult('arts''arts_file_h''fileH');
  1284.         $rsm->addFieldResult('arts''arts_file_w4000''fileW4000');
  1285.         $rsm->addFieldResult('arts''arts_file_h4000''fileH4000');
  1286.         $rsm->addFieldResult('arts''arts_file_size8_x''fileSize8X');
  1287.         $rsm->addFieldResult('arts''arts_file_size8_y''fileSize8Y');
  1288.         $rsm->addFieldResult('arts''arts_file''file');
  1289.         $rsm->addFieldResult('arts''arts_min_order''minOrder');
  1290.         $rsm->addFieldResult('arts''arts_m2one_ps''m2OnePs');
  1291.         $rsm->addFieldResult('arts''arts_price_euro''priceEuro');
  1292.         $rsm->addFieldResult('arts''arts_price_mq_euro''priceMqEuro');
  1293.         $rsm->addFieldResult('arts''arts_price_gbp''priceGBP');
  1294.         $rsm->addFieldResult('arts''arts_price_gbe''priceGBE');
  1295.         $rsm->addFieldResult('arts''arts_price_mq_gbp''priceMqGBP');
  1296.         $rsm->addFieldResult('arts''arts_price_mq_gbe''priceMqGBE');
  1297.         $rsm->addFieldResult('arts''arts_price_usd''priceUSD');
  1298.         $rsm->addFieldResult('arts''arts_price_use''priceUSE');
  1299.         $rsm->addFieldResult('arts''arts_price_fq_usd''priceFqUSD');
  1300.         $rsm->addFieldResult('arts''arts_price_fq_use''priceFqUSE');
  1301.         $rsm->addFieldResult('arts''arts_price_mq_usd''priceMqUSD');
  1302.         $rsm->addFieldResult('arts''arts_price_mq_use''priceMqUSE');
  1303.         $rsm->addFieldResult('arts''arts_price_chf''priceCHF');
  1304.         $rsm->addFieldResult('arts''arts_price_che''priceCHE');
  1305.         $rsm->addFieldResult('arts''arts_price_mq_chf''priceMqCHF');
  1306.         $rsm->addFieldResult('arts''arts_price_mq_che''priceMqCHE');
  1307.         $rsm->addFieldResult('arts''arts_price_sek''priceSEK');
  1308.         $rsm->addFieldResult('arts''arts_price_see''priceSEE');
  1309.         $rsm->addFieldResult('arts''arts_price_mq_sek''priceMqSEK');
  1310.         $rsm->addFieldResult('arts''arts_price_mq_see''priceMqSEE');
  1311.         $rsm->addFieldResult('arts''arts_price_dkk''priceDKK');
  1312.         $rsm->addFieldResult('arts''arts_price_dke''priceDKE');
  1313.         $rsm->addFieldResult('arts''arts_price_mq_dkk''priceMqDKK');
  1314.         $rsm->addFieldResult('arts''arts_price_mq_dke''priceMqDKE');
  1315.         $rsm->addFieldResult('arts''arts_price_nok''priceNOK');
  1316.         $rsm->addFieldResult('arts''arts_price_noe''priceNOE');
  1317.         $rsm->addFieldResult('arts''arts_price_mq_nok''priceMqNOK');
  1318.         $rsm->addFieldResult('arts''arts_price_mq_noe''priceMqNOE');
  1319.         $rsm->addFieldResult('arts''arts_price_pln''pricePLN');
  1320.         $rsm->addFieldResult('arts''arts_price_ple''pricePLE');
  1321.         $rsm->addFieldResult('arts''arts_price_mq_pln''priceMqPLN');
  1322.         $rsm->addFieldResult('arts''arts_price_mq_ple''priceMqPLE');
  1323.         $rsm->addFieldResult('arts''arts_price_cad''priceCAD');
  1324.         $rsm->addFieldResult('arts''arts_price_cae''priceCAE');
  1325.         $rsm->addFieldResult('arts''arts_price_fq_cad''priceFqCAD');
  1326.         $rsm->addFieldResult('arts''arts_price_fq_cae''priceFqCAE');
  1327.         $rsm->addFieldResult('arts''arts_price_mq_cad''priceMqCAD');
  1328.         $rsm->addFieldResult('arts''arts_price_mq_cae''priceMqCAE');
  1329.         $rsm->addFieldResult('arts''arts_price_prx''pricePrx');
  1330.         $rsm->addFieldResult('arts''arts_price_euro_de''priceEuroDe');
  1331.         $rsm->addFieldResult('arts''arts_price_euro_at''priceEuroAt');
  1332.         $rsm->addFieldResult('arts''arts_price_euro_fi''priceEuroFi');
  1333.         $rsm->addFieldResult('arts''arts_price_euro_fr''priceEuroFr');
  1334.         $rsm->addFieldResult('arts''arts_price_euro_it''priceEuroIt');
  1335.         $rsm->addFieldResult('arts''arts_price_mq_euro_de''priceMqEuroDe');
  1336.         $rsm->addFieldResult('arts''arts_price_mq_euro_at''priceMqEuroAt');
  1337.         $rsm->addFieldResult('arts''arts_price_mq_euro_fi''priceMqEuroFi');
  1338.         $rsm->addFieldResult('arts''arts_price_mq_euro_fr''priceMqEuroFr');
  1339.         $rsm->addFieldResult('arts''arts_price_mq_euro_it''priceMqEuroIt');
  1340.         $rsm->addFieldResult('arts''arts_price_rub''priceRUB');
  1341.         $rsm->addFieldResult('arts''arts_price_rue''priceRUE');
  1342.         $rsm->addFieldResult('arts''arts_price_mq_rub''priceMqRUB');
  1343.         $rsm->addFieldResult('arts''arts_price_mq_rue''priceMqRUE');
  1344.         $rsm->addFieldResult('arts''arts_packaging_count''packagingCount');
  1345.         $rsm->addFieldResult('arts''arts_packaging_count_ft''packagingCountFt');
  1346.         $rsm->addFieldResult('arts''arts_packaging_count_pc''packagingCountPC');
  1347.         $rsm->addFieldResult('arts''arts_type_constraint''typeConstraint');
  1348.         $rsm->addJoinedEntityResult('WebBundle\Entity\Collection''aacl''arts''collection');
  1349.         $rsm->addFieldResult('aacl''aacl_id''id');
  1350.         $rsm->addFieldResult('aacl''aacl_url''url');
  1351.         $rsm->addFieldResult('aacl''aacl_name''name');
  1352.         $rsm->addFieldResult('aacl''aacl_aname''alternateName');
  1353.         $rsm->addFieldResult('aacl''aacl_status''status');
  1354.         $rsm->addFieldResult('aacl''aacl_settings''settings');
  1355.         $rsm->addJoinedEntityResult('WebBundle\Entity\Factory''aacf''aacl''factory');
  1356.         $rsm->addFieldResult('aacf''aacf_id''id');
  1357.         $rsm->addFieldResult('aacf''aacf_url''url');
  1358.         $rsm->addFieldResult('aacf''aacf_name''name');
  1359.         $rsm->addFieldResult('aacf''aacf_aname''alternateName');
  1360.         $rsm->addFieldResult('aacf''aacf_suspended''suspended');
  1361.         $rsm->addFieldResult('aacf''aacf_status''status');
  1362.         $rsm->addFieldResult('aacf''aacf_stated_at''statedAt');
  1363.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListCountry''aacflc''aacf''country');
  1364.         $rsm->addFieldResult('aacflc''aacflc_id''id');
  1365.         $rsm->addFieldResult('aacflc''aacflc_code''code');
  1366.         $rsm->addFieldResult('aacflc''aacflc_alias''alias');
  1367.         $rsm->addFieldResult('aacflc''aacflc_name''name');
  1368.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListDelivery''ald''arts''delivery');
  1369.         $rsm->addFieldResult('ald''ald_id''id');
  1370.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListMaterial''alm''arts''material');
  1371.         $rsm->addFieldResult('alm''alm_id''id');
  1372.         $rsm->addFieldResult('alm''alm_alias''alias');
  1373.         $rsm->addFieldResult('alm''alm_name''name');
  1374.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListType''alt''arts''type');
  1375.         $rsm->addFieldResult('alt''alt_id''id');
  1376.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListMeasure''alme''arts''measure');
  1377.         $rsm->addFieldResult('alme''alme_id''id');
  1378.         $rsm->addFieldResult('alme''alme_alias''alias');
  1379.         $rsm->addFieldResult('alme''alme_name''name');
  1380.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListFactoryColor''arts_lfc''arts''factoryColors');
  1381.         $rsm->addFieldResult('arts_lfc''arts_lfc_id''id');
  1382.         $rsm->addFieldResult('arts_lfc''arts_lfc_name''name');
  1383.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListTexture''arts_ltx''arts''textures');
  1384.         $rsm->addFieldResult('arts_ltx''arts_ltx_id''id');
  1385.         $rsm->addFieldResult('arts_ltx''arts_ltx_alias''alias');
  1386.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListSurface''arts_lsf''arts''surface');
  1387.         $rsm->addFieldResult('arts_lsf''arts_lsf_id''id');
  1388.         $rsm->addFieldResult('arts_lsf''arts_lsf_alias''alias');
  1389.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListMotiv''arts_llm''arts''motivs');
  1390.         $rsm->addFieldResult('arts_llm''arts_llm_id''id');
  1391.         $rsm->addFieldResult('arts_llm''arts_llm_alias''alias');
  1392.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''arts_lls''arts''style');
  1393.         $rsm->addFieldResult('arts_lls''arts_lls_id''id');
  1394.         $rsm->addFieldResult('arts_lls''arts_lls_alias''alias');
  1395.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListStyle''arts_llss''arts''styles');
  1396.         $rsm->addFieldResult('arts_llss''arts_llss_id''id');
  1397.         $rsm->addFieldResult('arts_llss''arts_llss_alias''alias');
  1398.         $rsm->addJoinedEntityResult('WebBundle\Entity\ArticlePriceDiscount''apd''arts''priceDiscounts');
  1399.         $rsm->addFieldResult('apd''apd_id''id');
  1400.         $rsm->addFieldResult('apd''apd_amount''amount');
  1401.         $rsm->addFieldResult('apd''apd_amount_ft''amountFt');
  1402.         $rsm->addFieldResult('apd''apd_fold''fold');
  1403.         $rsm->addFieldResult('apd''apd_price''price');
  1404.         $rsm->addFieldResult('apd''apd_price_euro''priceEuro');
  1405.         $rsm->addFieldResult('apd''apd_price_euro_de''priceEuroDe');
  1406.         $rsm->addFieldResult('apd''apd_price_euro_at''priceEuroAt');
  1407.         $rsm->addFieldResult('apd''apd_price_euro_fi''priceEuroFi');
  1408.         $rsm->addFieldResult('apd''apd_price_euro_fr''priceEuroFr');
  1409.         $rsm->addFieldResult('apd''apd_price_euro_it''priceEuroIt');
  1410.         $rsm->addFieldResult('apd''apd_price_rub''priceRUB');
  1411.         $rsm->addFieldResult('apd''apd_price_rue''priceRUE');
  1412.         $rsm->addFieldResult('apd''apd_price_gbp''priceGBP');
  1413.         $rsm->addFieldResult('apd''apd_price_gbe''priceGBE');
  1414.         $rsm->addFieldResult('apd''apd_price_usd''priceUSD');
  1415.         $rsm->addFieldResult('apd''apd_price_use''priceUSE');
  1416.         $rsm->addFieldResult('apd''apd_price_fq_usd''priceFqUSD');
  1417.         $rsm->addFieldResult('apd''apd_price_fq_use''priceFqUSE');
  1418.         $rsm->addFieldResult('apd''apd_price_chf''priceCHF');
  1419.         $rsm->addFieldResult('apd''apd_price_che''priceCHE');
  1420.         $rsm->addFieldResult('apd''apd_price_sek''priceSEK');
  1421.         $rsm->addFieldResult('apd''apd_price_see''priceSEE');
  1422.         $rsm->addFieldResult('apd''apd_price_dkk''priceDKK');
  1423.         $rsm->addFieldResult('apd''apd_price_dke''priceDKE');
  1424.         $rsm->addFieldResult('apd''apd_price_nok''priceNOK');
  1425.         $rsm->addFieldResult('apd''apd_price_noe''priceNOE');
  1426.         $rsm->addFieldResult('apd''apd_price_pln''pricePLN');
  1427.         $rsm->addFieldResult('apd''apd_price_ple''pricePLE');
  1428.         $rsm->addFieldResult('apd''apd_price_cad''priceCAD');
  1429.         $rsm->addFieldResult('apd''apd_price_cae''priceCAE');
  1430.         $rsm->addFieldResult('apd''apd_price_fq_cad''priceFqCAD');
  1431.         $rsm->addFieldResult('apd''apd_price_fq_cae''priceFqCAE');
  1432.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListShape''arts_lsh''arts''shape');
  1433.         $rsm->addFieldResult('arts_lsh''arts_lsh_id''id');
  1434.         $rsm->addFieldResult('arts_lsh''arts_lsh_alias''alias');
  1435.         $rsm->addJoinedEntityResult('WebBundle\Entity\ListMeasureSize''arts_lmss''arts''measurementSize');
  1436.         $rsm->addFieldResult('arts_lmss''arts_lmss_id''id');
  1437.         $rsm->addFieldResult('arts_lmss''arts_lmss_alias''alias');
  1438.         return $rsm;
  1439.     }
  1440.     /**
  1441.      * @param $id
  1442.      * @param string $type
  1443.      * @return string
  1444.      * @throws Exception
  1445.      */
  1446.     private function getCreateNativeQuerySql($id$type 'collection')
  1447.     {
  1448.         $cur '_euro';
  1449.         if (
  1450.             CookieHelper::get(CookieKeysConstant::CURRENCY) &&
  1451.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'EUR' &&
  1452.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'HKD' &&
  1453.             CookieHelper::get(CookieKeysConstant::CURRENCY) != 'SGD'
  1454.         ) {
  1455.             $cur '_' StrHelper::toLower(CookieHelper::get(CookieKeysConstant::CURRENCY));
  1456.         }
  1457. //        i.file_size4_x,
  1458. //                i.file_size4_y,
  1459. //                i.file_size5_x,
  1460. //                i.file_size5_y,
  1461. //                i.file_size6_x,
  1462. //                i.file_size6_y,
  1463.         $out =
  1464.             'SELECT
  1465.                 i.id,
  1466.                 i.name,
  1467.                 i.file,
  1468.                 i.status,
  1469.                 i.is_main,
  1470.                 i.file_size_x,
  1471.                 i.file_size_y,
  1472.                 i.file_size_z_x,
  1473.                 i.file_size_z_y,
  1474.                 i.file_size_hd_x,
  1475.                 i.file_size_hd_y,
  1476.                 i.file_size_shd_x,
  1477.                 i.file_size_shd_y,
  1478.                 i.file_size4k_x,
  1479.                 i.file_size4k_y,
  1480.                 istls.id as istls_id,
  1481.                 istls.alias as istls_alias,
  1482.                 istlt.id as istlt_id,
  1483.                 istlt.alias as istlt_alias,
  1484.                 acl.id as acl_id,
  1485.                 lower(acl.url) as acl_url,
  1486.                 acl.name as acl_name,
  1487.                 acl.alternate_name as acl_aname,
  1488.                 acl.status as acl_status,
  1489.                 acl.settings as acl_settings,
  1490.                 acl.rating as acl_rating,
  1491.                 acl.settings as acl_settings,
  1492.                 acf.id as acf_id,
  1493.                 lower(acf.url) as acf_url,
  1494.                 acf.name as acf_name,
  1495.                 acf.alternate_name as acf_aname,
  1496.                 acf.stated_at as acf_stated_at,
  1497.                 acf.suspended as acf_suspended,
  1498.                 acf.status as acf_status,
  1499.                 acflc.id as acflc_id,
  1500.                 acflc.code as acflc_code,
  1501.                 acflc.alias as acflc_alias,
  1502.                 acflc.name as acflc_name,
  1503.                 acfu.id as acfu_id,
  1504.                 idea.id as idea_id,
  1505.                 arts.id as arts_id,
  1506.                 arts.code as arts_code,
  1507.                 lower(arts.urla) as arts_url,
  1508.                 arts.name as arts_name,
  1509.                 arts.not_sample as arts_not_sample,
  1510.                 arts.alternate_name as arts_aname,
  1511.                 arts.file_size2_x as arts_file_size2_x,
  1512.                 arts.file_size2_y as arts_file_size2_y,
  1513.                 arts.multiple_pallet as arts_multiple_pallet,
  1514.                 arts.border_grey as arts_border_grey,
  1515.                 arts.size_x as arts_size_x,
  1516.                 arts.size_y as arts_size_y,
  1517.                 arts.size_z as arts_size_z,
  1518.                 arts.size_gb_x as arts_size_gb_x,
  1519.                 arts.size_gb_y as arts_size_gb_y,
  1520.                 arts.size_gb_z as arts_size_gb_z,
  1521.                 arts.pallet as arts_pallet,
  1522.                 arts.pallet_ft as arts_pallet_ft,
  1523.                 arts.image_setting as arts_image_setting,
  1524.                 arts.file_w as arts_file_w,
  1525.                 arts.file_h as arts_file_h,
  1526.                 arts.file as arts_file,
  1527.                 arts.min_order as arts_min_order,
  1528.                 arts.m2one_ps as arts_m2one_ps,
  1529.                 arts.file_w4000 as arts_file_w4000,
  1530.                 arts.file_h4000 as arts_file_h4000,
  1531.                 arts.file_size8_x as arts_file_size8_x,
  1532.                 arts.file_size8_y as arts_file_size8_y,
  1533.                 arts.price_euro as arts_price_euro,
  1534.                 arts.price_mq_euro as arts_price_mq_euro,
  1535.                 arts.price_gbp as arts_price_gbp,
  1536.                 arts.price_gbe as arts_price_gbe,
  1537.                 arts.price_mq_gbp as arts_price_mq_gbp,
  1538.                 arts.price_mq_gbe as arts_price_mq_gbe,
  1539.                 arts.price_usd as arts_price_usd,
  1540.                 arts.price_use as arts_price_use,
  1541.                 arts.price_fq_usd as arts_price_fq_usd,
  1542.                 arts.price_fq_use as arts_price_fq_use,
  1543.                 arts.price_mq_usd as arts_price_mq_usd,
  1544.                 arts.price_mq_use as arts_price_mq_use,
  1545.                 arts.price_chf as arts_price_chf,
  1546.                 arts.price_che as arts_price_che,
  1547.                 arts.price_mq_chf as arts_price_mq_chf,
  1548.                 arts.price_mq_che as arts_price_mq_che,
  1549.                 arts.price_sek as arts_price_sek,
  1550.                 arts.price_see as arts_price_see,
  1551.                 arts.price_mq_sek as arts_price_mq_sek,
  1552.                 arts.price_mq_see as arts_price_mq_see,
  1553.                 arts.price_dkk as arts_price_dkk,
  1554.                 arts.price_dke as arts_price_dke,
  1555.                 arts.price_mq_dkk as arts_price_mq_dkk,
  1556.                 arts.price_mq_dke as arts_price_mq_dke,
  1557.                 arts.price_nok as arts_price_nok,
  1558.                 arts.price_noe as arts_price_noe,
  1559.                 arts.price_mq_nok as arts_price_mq_nok,
  1560.                 arts.price_mq_noe as arts_price_mq_noe,
  1561.                 arts.price_pln as arts_price_pln,
  1562.                 arts.price_ple as arts_price_ple,
  1563.                 arts.price_mq_pln as arts_price_mq_pln,
  1564.                 arts.price_mq_ple as arts_price_mq_ple,
  1565.                 arts.price_cad as arts_price_cad,
  1566.                 arts.price_cae as arts_price_cae,
  1567.                 arts.price_fq_cad as arts_price_fq_cad,
  1568.                 arts.price_fq_cae as arts_price_fq_cae,
  1569.                 arts.price_mq_cad as arts_price_mq_cad,
  1570.                 arts.price_mq_cae as arts_price_mq_cae,
  1571.                 arts.price_prx as arts_price_prx,
  1572.                 arts.price_euro_de as arts_price_euro_de,
  1573.                 arts.price_mq_euro_de as arts_price_mq_euro_de,
  1574.                 arts.price_euro_at as arts_price_euro_at,
  1575.                 arts.price_mq_euro_at as arts_price_mq_euro_at,
  1576.                 arts.price_euro_fi as arts_price_euro_fi,
  1577.                 arts.price_mq_euro_fi as arts_price_mq_euro_fi,
  1578.                 arts.price_euro_fr as arts_price_euro_fr,
  1579.                 arts.price_mq_euro_fr as arts_price_mq_euro_fr,
  1580.                 arts.price_euro_it as arts_price_euro_it,
  1581.                 arts.price_mq_euro_it as arts_price_mq_euro_it,
  1582.                 arts.price_rub as arts_price_rub,
  1583.                 arts.price_rue as arts_price_rue,
  1584.                 arts.price_mq_rub as arts_price_mq_rub,
  1585.                 arts.price_mq_rue as arts_price_mq_rue,
  1586.                 arts.packaging_count as arts_packaging_count,
  1587.                 arts.packaging_count_ft as arts_packaging_count_ft,
  1588.                 arts.packaging_count_pc as arts_packaging_count_pc,
  1589.                 arts.type_constraint as arts_type_constraint,
  1590.                 aacl.id as aacl_id,
  1591.                 lower(aacl.url) as aacl_url,
  1592.                 aacl.name as aacl_name,
  1593.                 aacl.alternate_name as aacl_aname,
  1594.                 aacl.status as aacl_status,
  1595.                 aacl.settings as aacl_settings,
  1596.                 aacf.id as aacf_id,
  1597.                 lower(aacf.url) as aacf_url,
  1598.                 aacf.name as aacf_name,
  1599.                 aacf.alternate_name as aacf_aname,
  1600.                 aacf.stated_at as aacf_stated_at,
  1601.                 aacf.suspended as aacf_suspended,
  1602.                 aacf.status as aacf_status,
  1603.                 aacflc.id as aacflc_id,
  1604.                 aacflc.code as aacflc_code,
  1605.                 aacflc.alias as aacflc_alias,
  1606.                 aacflc.name as aacflc_name,
  1607.                 apd.id as apd_id,
  1608.                 apd.amount as apd_amount,
  1609.                 apd.amount_ft as apd_amount_ft,
  1610.                 apd.fold as apd_fold,
  1611.                 apd.price as apd_price,
  1612.                 apd.price_euro as apd_price_euro,
  1613.                 apd.price_euro_de as apd_price_euro_de,
  1614.                 apd.price_euro_at as apd_price_euro_at,
  1615.                 apd.price_euro_fi as apd_price_euro_fi,
  1616.                 apd.price_euro_fr as apd_price_euro_fr,
  1617.                 apd.price_euro_it as apd_price_euro_it,
  1618.                 apd.price_rub as apd_price_rub,
  1619.                 apd.price_rue as apd_price_rue,
  1620.                 apd.price_gbp as apd_price_gbp,
  1621.                 apd.price_gbe as apd_price_gbe,
  1622.                 apd.price_usd as apd_price_usd,
  1623.                 apd.price_use as apd_price_use,
  1624.                 apd.price_fq_usd as apd_price_fq_usd,
  1625.                 apd.price_fq_use as apd_price_fq_use,
  1626.                 apd.price_chf as apd_price_chf,
  1627.                 apd.price_che as apd_price_che,
  1628.                 apd.price_sek as apd_price_sek,
  1629.                 apd.price_see as apd_price_see,
  1630.                 apd.price_dkk as apd_price_dkk,
  1631.                 apd.price_dke as apd_price_dke,
  1632.                 apd.price_nok as apd_price_nok,
  1633.                 apd.price_noe as apd_price_noe,
  1634.                 apd.price_pln as apd_price_pln,
  1635.                 apd.price_ple as apd_price_ple,
  1636.                 apd.price_cad as apd_price_cad,
  1637.                 apd.price_cae as apd_price_cae,
  1638.                 apd.price_fq_cad as apd_price_fq_cad,
  1639.                 apd.price_fq_cae as apd_price_fq_cae,
  1640.                 ald.id as ald_id,
  1641.                 alm.id as alm_id,
  1642.                 alm.alias as alm_alias,
  1643.                 alm.name as alm_name,
  1644.                 alt.id as alt_id,
  1645.                 alme.id as alme_id,
  1646.                 alme.alias as alme_alias,
  1647.                 alme.name as alme_name,
  1648.                 arts_lsf.id as arts_lsf_id,
  1649.                 arts_lsf.alias as arts_lsf_alias,
  1650.                 arts_lfc.id as arts_lfc_id,
  1651.                 arts_lfc.name as arts_lfc_name,
  1652.                 arts_ltx.id as arts_ltx_id,
  1653.                 arts_ltx.alias as arts_ltx_alias,
  1654.                 arts_llm.id as arts_llm_id,
  1655.                 arts_llm.alias as arts_llm_alias,
  1656.                 arts_lls.id as arts_lls_id,
  1657.                 arts_lls.alias as arts_lls_alias,
  1658.                 arts_llss.id as arts_llss_id,
  1659.                 arts_llss.alias as arts_llss_alias,
  1660.                 arts_lsh.id as arts_lsh_id,
  1661.                 arts_lsh.alias as arts_lsh_alias,
  1662.                 arts_lmss.id as arts_lmss_id,
  1663.                 arts_lmss.alias as arts_lmss_alias
  1664.             FROM interior i
  1665.             LEFT JOIN collection acl ON acl.id = i.collection
  1666.             LEFT JOIN factory acf ON acf.id = acl.factory
  1667.             LEFT JOIN list_country acflc ON acflc.id = acf.country
  1668.             LEFT JOIN user acfu ON acfu.id = acf.user_id
  1669.             LEFT JOIN interior_style ist ON ist.interior_id = i.id
  1670.             LEFT JOIN list_style istls ON istls.id = ist.style_id
  1671.             LEFT JOIN interior_texture istt ON istt.interior_id = i.id
  1672.             LEFT JOIN list_texture istlt ON istlt.id = istt.texture_id
  1673.             LEFT JOIN idea_interior iidea ON iidea.interior_id=i.id
  1674.             LEFT JOIN idea idea ON iidea.idea_id=idea.id
  1675.             LEFT JOIN interior_article iarts ON iarts.interior_id=i.id
  1676.             LEFT JOIN article arts ON arts.id=iarts.article_id
  1677.             LEFT JOIN collection aacl ON aacl.id = arts.collection
  1678.             LEFT JOIN factory aacf ON aacf.id = aacl.factory
  1679.             LEFT JOIN list_country aacflc ON aacflc.id = aacf.country
  1680.             LEFT JOIN article_price_discount apd ON apd.article = arts.id AND apd.price' $cur ' > 0
  1681.             LEFT JOIN list_delivery ald ON ald.id = arts.delivery
  1682.             LEFT JOIN list_material alm ON alm.id = arts.material
  1683.             LEFT JOIN list_type alt ON alt.id = arts.type
  1684.             LEFT JOIN list_measure alme ON alme.id = arts.measure
  1685.             LEFT JOIN article_factory_color afc ON arts.id = afc.article_id
  1686.             LEFT JOIN list_factory_color arts_lfc ON arts_lfc.id = afc.factory_color_id
  1687.             LEFT JOIN article_texture att ON arts.id = att.article_id
  1688.             LEFT JOIN list_texture arts_ltx ON arts_ltx.id = att.texture_id
  1689.             LEFT JOIN list_surface arts_lsf ON arts.surface = arts_lsf.id
  1690.             LEFT JOIN article_motiv almm ON arts.id = almm.article_id
  1691.             LEFT JOIN list_motiv arts_llm ON arts_llm.id = almm.motiv_id
  1692.             LEFT JOIN list_style arts_lls ON arts_lls.id = arts.type
  1693.             LEFT JOIN article_style alss ON arts.id = alss.article_id
  1694.             LEFT JOIN list_style arts_llss ON arts_llss.id = alss.style_id
  1695.             LEFT JOIN list_shape arts_lsh ON arts_lsh.id = arts.shape
  1696.             LEFT JOIN list_measure_size arts_lmss ON arts_lmss.id=arts.measurement_size
  1697.             ';
  1698.         if ($type == 'collection') {
  1699.             $out .= 'WHERE i.collection=' $id ' order by i.is_main desc ';
  1700.         } elseif ($type == 'interior') {
  1701.             $out .= 'WHERE i.id=' $id ' limit 1';
  1702.         }
  1703.         return $out;
  1704.     }
  1705.     /**
  1706.      * @param SliderService|SliderBaseService $sliderSevice
  1707.      * @return array
  1708.      * @throws Exception
  1709.      */
  1710.     public function getNativeOrderInteriorsBySlider(SliderService $sliderSevice)
  1711.     {
  1712.         $id $sliderSevice->getCollectionId();
  1713.         $rsm $this->getResultMapping();
  1714.         $getCreateNativeQuerySql $this->getCreateNativeQuerySql($id'collection');
  1715.         $query $this->_em->createNativeQuery($getCreateNativeQuerySql$rsm);
  1716.         return $query->getArrayResult();
  1717.     }
  1718.     /**
  1719.      * @param $id
  1720.      * @return array|null
  1721.      */
  1722.     public function getNativeInteriorByHistory($id)
  1723.     {
  1724.         $rsm $this->getResultMapping();
  1725.         try {
  1726.             $getCreateNativeQuerySql $this->getCreateNativeQuerySql($id'interior');
  1727.             $query $this->_em->createNativeQuery($getCreateNativeQuerySql$rsm);
  1728.             $interior $query->getSingleResult(AbstractQuery::HYDRATE_ARRAY);
  1729.         } catch (Exception $e) {
  1730.             return null;
  1731.         }
  1732.         return $interior;
  1733.     }
  1734.     /**
  1735.      * @param int $interiorId
  1736.      * @param ?bool $withOutMeasureMq
  1737.      * @return string|null
  1738.      * @throws Exception
  1739.      */
  1740.     public function getArticleMinPriceByInteriorId(int $interiorId, ?bool $withOutMeasureMq true)
  1741.     {
  1742.         $andWhere '';
  1743.         if ($withOutMeasureMq) {
  1744.             $andWhere " AND m.alias = 'measure_mq' ";
  1745.         }
  1746.         $sql "SELECT
  1747.                 i.id,
  1748.                 i.name AS `i_name`,
  1749.                 a.id AS `a.id`,
  1750.                 a.name AS `a.name`,
  1751.                 a.price_euro AS `a.priceEuro`,
  1752.                 a.price_mq_euro AS `a.priceMqEuro`,
  1753.                 a.price_euro_de AS `a.priceEuroDe`,
  1754.                 a.price_mq_euro_de AS `a.priceMqEuroDe`,
  1755.                 a.price_euro_at AS `a.priceEuroAt`,
  1756.                 a.price_mq_euro_at AS `a.priceMqEuroAt`,
  1757.                 a.price_euro_fi AS `a.priceEuroFi`,
  1758.                 a.price_mq_euro_fi AS `a.priceMqEuroFi`,
  1759.                 a.price_euro_fr AS `a.priceEuroFr`,
  1760.                 a.price_mq_euro_fr AS `a.priceMqEuroFr`,
  1761.                 a.price_euro_it AS `a.priceEuroIt`,
  1762.                 a.price_mq_euro_it AS `a.priceMqEuroIt`,
  1763.                 a.price_euro_ie AS `a.priceEuroIe`,
  1764.                 a.price_mq_euro_ie AS `a.priceMqEuroIe`,
  1765.                 a.price_euro_nl AS `a.priceEuroNl`,
  1766.                 a.price_mq_euro_nl AS `a.priceMqEuroNl`,
  1767.                 a.price_euro_es AS `a.priceEuroEs`,
  1768.                 a.price_mq_euro_es AS `a.priceMqEuroEs`,
  1769.                 a.price_euro_be AS `a.priceEuroBe`,
  1770.                 a.price_mq_euro_be AS `a.priceMqEuroBe`,
  1771.                 a.price_rub AS `a.priceRUB`,
  1772.                 a.price_rue AS `a.priceRUE`,
  1773.                 a.price_mq_rub AS `a.priceMqRUB`,
  1774.                 a.price_mq_rue AS `a.priceMqRUE`,
  1775.                 a.price_gbp AS `a.priceGBP`,
  1776.                 a.price_gbe AS `a.priceGBE`,
  1777.                 a.price_mq_gbp AS `a.priceMqGBP`,
  1778.                 a.price_mq_gbe AS `a.priceMqGBE`,
  1779.                 a.price_usd AS `a.priceUSD`,
  1780.                 a.price_use AS `a.priceUSE`,
  1781.                 a.price_fq_usd AS `a.priceFqUSD`,
  1782.                 a.price_fq_use AS `a.priceFqUSE`,
  1783.                 a.price_mq_usd AS `a.priceMqUSD`,
  1784.                 a.price_mq_use AS `a.priceMqUSE`,
  1785.                 a.price_chf AS `a.priceCHF`,
  1786.                 a.price_che AS `a.priceCHE`,
  1787.                 a.price_mq_chf AS `a.priceMqCHF`,
  1788.                 a.price_mq_che AS `a.priceMqCHE`,
  1789.                 a.price_sek AS `a.priceSEK`,
  1790.                 a.price_see AS `a.priceSEE`,
  1791.                 a.price_mq_sek AS `a.priceMqSEK`,
  1792.                 a.price_mq_see AS `a.priceMqSEE`,
  1793.                 a.price_dkk AS `a.priceDKK`,
  1794.                 a.price_dke AS `a.priceDKE`,
  1795.                 a.price_mq_dkk AS `a.priceMqDKK`,
  1796.                 a.price_mq_dke AS `a.priceMqDKE`,
  1797.                 a.price_nok AS `a.priceNOK`,
  1798.                 a.price_noe AS `a.priceNOE`,
  1799.                 a.price_mq_nok AS `a.priceMqNOK`,
  1800.                 a.price_mq_noe AS `a.priceMqNOE`,
  1801.                 a.price_pln AS `a.pricePLN`,
  1802.                 a.price_ple AS `a.pricePLE`,
  1803.                 a.price_mq_pln AS `a.priceMqPLN`,
  1804.                 a.price_mq_ple AS `a.priceMqPLE`,
  1805.                 a.price_cad AS `a.priceCAD`,
  1806.                 a.price_cae AS `a.priceCAE`,
  1807.                 a.price_fq_cad AS `a.priceFqCAD`,
  1808.                 a.price_fq_cae AS `a.priceFqCAE`,
  1809.                 a.price_mq_cad AS `a.priceMqCAD`,
  1810.                 a.price_mq_cae AS `a.priceMqCAE`,
  1811.                 m.id AS `m.id`,
  1812.                 m.name AS `m.name`,
  1813.                 m.alias AS `m.alias`
  1814.             FROM
  1815.                 article a
  1816.             LEFT JOIN interior_article ia ON ia.article_id = a.id
  1817.             LEFT JOIN interior i ON i.id = ia.interior_id
  1818.             LEFT JOIN list_measure m ON m.id = a.measure
  1819.             WHERE i.id = '$interiorId' AND a.price_euro > 0 AND a.delivery != 6 AND a.file <> '' $andWhere
  1820.             GROUP BY a.id
  1821.             ORDER BY a.price_euro ASC
  1822.           ";
  1823.         $item $this->_em->getConnection()->fetchAllAssociative($sql);
  1824.         $item $item $item[0] : null;
  1825.         $minPrice null;
  1826.         if ($item) {
  1827.             $item['id'] = intval($item['id']);
  1828.             // в многомерные массивы переводим
  1829.             foreach ($item as $k => $v) {
  1830.                 if (preg_match("~(.*)\.(.*)~ui"$k$out)) {
  1831.                     $k1 $out[1];
  1832.                     $k2 $out[2];
  1833.                     if (empty($item[$k1])) {
  1834.                         $item[$k1] = [];
  1835.                     }
  1836.                     $item[$k1][$k2] = $v;
  1837.                     unset($item[$k]);
  1838.                 }
  1839.             }
  1840.             $article $item['a'];
  1841.             $article['measure'] = $item['m'];
  1842.             $minPrice LocaleHelper::getMinPriceStrForTitle($article);
  1843.         } else {
  1844.             if ($withOutMeasureMq) {
  1845.                 $minPrice $this->getArticleMinPriceByInteriorId($interiorIdfalse);
  1846.             }
  1847.         }
  1848.         return $minPrice;
  1849.     }
  1850.     /**
  1851.      * @param Collection $collection
  1852.      * @param null $sliderUrl
  1853.      * @return mixed|null
  1854.      * @todo remove from bi
  1855.      */
  1856.     public function _getInteriorForReactSlider(Collection $collection$sliderUrl null)
  1857.     {
  1858.         $q $this->createQueryBuilder('i')
  1859.             ->leftJoin('i.collection''c')
  1860.             ->andWhere('c.id = :collection')
  1861.             ->setParameter('collection'$collection->getId())
  1862.             ->setMaxResults(1);
  1863.         if ($sliderUrl) {
  1864.             $q
  1865.                 ->andWhere('i.id = :sliderUrl')
  1866.                 ->setParameter('sliderUrl'$sliderUrl);
  1867.         } else {
  1868.             $q
  1869.                 ->andWhere('i.status = :status')
  1870.                 ->setParameter('status'BiConst::STATE_PUBLISHED)
  1871.                 ->andWhere('i.isMain = :main')
  1872.                 ->setParameter('main'true);
  1873.         }
  1874.         $r $q->getQuery();
  1875.         try {
  1876.             $items $r->getResult();
  1877.             $interior array_shift($items);
  1878.             return $interior;
  1879.         } catch (NoResultException $e) {
  1880.             return null;
  1881.         }
  1882.     }
  1883.     /**
  1884.      * @param $idCollection
  1885.      * @return float|int|mixed|string|null
  1886.      * @todo remove from bi
  1887.      */
  1888.     public function _getInteriorsCyrirlicImage($idCollection)
  1889.     {
  1890.         $q $this->createQueryBuilder('i')
  1891.             ->select('i')
  1892.             ->leftJoin('i.collection''c')
  1893.             ->andWhere('c.id = :collection')
  1894.             ->setParameter('collection'$idCollection)
  1895.             ->andWhere('i.status = :status')
  1896.             ->setParameter('status'BiConst::STATE_PUBLISHED);
  1897.         $r $q->getQuery();
  1898.         try {
  1899.             return $r->getResult();
  1900.         } catch (NoResultException $e) {
  1901.             return null;
  1902.         }
  1903.     }
  1904.     /**
  1905.      * @param $brand
  1906.      * @return mixed
  1907.      * @todo remove from bi
  1908.      */
  1909.     public function _getInteriorUrlCreateBrand($brand)
  1910.     {
  1911.         $q $this->createQueryBuilder('i')
  1912.             ->select('i,c,f')
  1913.             ->leftJoin('i.collection''c')
  1914.             ->leftJoin('c.factory''f')
  1915.             ->andWhere('f.id =:brand')
  1916.             ->andWhere('c.id is not null')
  1917.             ->andWhere('i.url is null')
  1918.             ->setParameter('brand'$brand)
  1919.             ->addOrderBy('f.name, c.name')
  1920.             ->addOrderBy('i.name''DESC')
  1921.             ->getQuery();
  1922.         return $q->getResult();
  1923.     }
  1924.     /**
  1925.      * @param $collection
  1926.      * @return mixed
  1927.      * @todo remove from bi
  1928.      */
  1929.     public function _getInteriorUrlCreateCollection($collection)
  1930.     {
  1931.         $q $this->createQueryBuilder('i')
  1932.             ->select('i,c,f')
  1933.             ->leftJoin('i.collection''c')
  1934.             ->leftJoin('c.factory''f')
  1935.             ->andWhere('c.id =:collection')
  1936.             ->andWhere('c.id is not null')
  1937.             ->andWhere('i.url is null')
  1938.             ->setParameter('collection'$collection)
  1939.             ->addOrderBy('f.name, c.name')
  1940.             ->addOrderBy('i.name''DESC')
  1941.             ->getQuery();
  1942.         return $q->getResult();
  1943.     }
  1944.     /**
  1945.      * @param $code
  1946.      * @return mixed
  1947.      * @todo remove from bi
  1948.      *
  1949.      */
  1950.     public function _getInteriorUrlCreateCode($code)
  1951.     {
  1952.         $q $this->createQueryBuilder('i')
  1953.             ->select('i,c,f')
  1954.             ->leftJoin('i.collection''c')
  1955.             ->leftJoin('c.factory''f')
  1956.             ->andWhere('i.id =:code')
  1957.             ->andWhere('c.id is not null')
  1958.             ->andWhere('i.url is null')
  1959.             ->setParameter('code'$code)
  1960.             ->addOrderBy('f.name, c.name')
  1961.             ->addOrderBy('i.name''DESC')
  1962.             ->getQuery();
  1963.         return $q->getResult();
  1964.     }
  1965.     /**
  1966.      * @param $limit
  1967.      * @param $page
  1968.      * @return Paginator
  1969.      * @todo remove from bi
  1970.      */
  1971.     public function _getInteriorUrlCreate($limit$page)
  1972.     {
  1973.         $q $this->createQueryBuilder('i')
  1974.             ->select('i,c,f')
  1975.             ->leftJoin('i.collection''c')
  1976.             ->leftJoin('c.factory''f')
  1977.             ->andWhere('c.id is not null')
  1978.             ->andWhere('i.url is null')
  1979.             ->addOrderBy('f.name, c.name')
  1980.             ->addOrderBy('i.name''DESC');
  1981.         $start $page $limit;
  1982.         $q
  1983.             ->setMaxResults($limit)
  1984.             ->setFirstResult($start);
  1985.         $r $q->getQuery();
  1986.         $items = new Paginator($r$fetchJoinCollection true);
  1987.         return $items;
  1988.     }
  1989.     /**
  1990.      * @param $fid
  1991.      * @return array|float|int|mixed|string
  1992.      * @todo remove from bi
  1993.      */
  1994.     public function _getArticlesForUpdateBrand($fid)
  1995.     {
  1996.         $q $this->createQueryBuilder('i')
  1997.             ->select('i,c,f')
  1998.             ->leftJoin('i.collection''c')
  1999.             ->leftJoin('c.factory''f')
  2000.             ->andWhere('f.id =:fid')
  2001.             ->setParameter('fid'$fid);
  2002.         $r $q->getQuery();
  2003.         try {
  2004.             $items $r->getResult();
  2005.         } catch (NoResultException $e) {
  2006.             $items = [];
  2007.         }
  2008.         return $items;
  2009.     }
  2010.     public function save(Interior $ideabool $flush false): void
  2011.     {
  2012.         $this->getEntityManager()->persist($idea);
  2013.         if ($flush) {
  2014.             $this->flush();
  2015.         }
  2016.     }
  2017.     public function flush(): void
  2018.     {
  2019.         $this->getEntityManager()->flush();
  2020.     }
  2021. }