104
if ($form->isSubmitted() && $form->isValid()) {
$code = $form->get('code')->getData();
$company = $form->get('company')->getData();
$type = $form->get('type')->getData();
$installTicket = $form->get('installTicket')-
>getData();
$destructTicket = $form->get('destructTicket')-
>getData();
$stoika = $form->get('stoika')->getData();
}
if (!empty($code)) {
$crossoverquery->andWhere('co.code = :code ')-
>setParameter('code', (substr($code,strpos($code,'-')+1 )));
$crossovercountquery->andWhere('co.code = :code ')-
>setParameter('code', (substr($code,strpos($code,'-')+1 )));
}
if (!empty($company)) {
$crossoverquery->andWhere('ea.company = :company or
eb.company = :company')->setParameter('company',$company);
$crossovercountquery->andWhere('ea.company = :company
or eb.company = :company')->setParameter('company',$company);;
}
if (!empty($type)) {
$crossoverquery->andWhere('LOWER(co.type) LIKE
LOWER(:type) ')->setParameter('type', '%' . trim($type) . '%');
$crossovercountquery->andWhere('LOWER(co.type) LIKE
LOWER(:type) ')->setParameter('type', '%' . trim($type) . '%');
}
if (!empty($installTicket)) {
$crossoverquery->andWhere('co.installTicket =
:installTicket ')->setParameter('installTicket',$installTicket);
$crossovercountquery->andWhere('co.installTicket =
:installTicket ')->setParameter('installTicket',$installTicket);
}
if (!empty($destructTicket)) {
$crossoverquery->andWhere('co.destructTicket =
:destructTicket ')->setParameter('destructTicket',$destructTicket);
$crossovercountquery->andWhere('co.destructTicket =
:destructTicket ')->setParameter('destructTicket',$destructTicket);
}
if (!empty($stoika)) {
$crossoverquery->andWhere('co.standA LIKE :stand OR
co.standB LIKE :stand ')->setParameter('stand', trim($stoika) . '%');
$crossovercountquery->andWhere('co.standA LIKE :stand
OR co.standB LIKE :stand ')->setParameter('stand', trim($stoika) . '%');
}
$count=$crossovercountquery->getQuery()-
>getSingleScalarResult();
$pages = floor($count / 20) + ($count % 20 > 0 ? 1 : 0);
if ($pages < 1) $pages = 1;
if ($pagenum > $pages) $pagenum = $pages;
$companies = $crossoverquery->setFirstResult(($pagenum - 1)
* 20)
->setMaxResults(20)
->getQuery()->getResult();