@@ 193-218 (lines=26) @@ | ||
190 | * |
|
191 | * @return QueryBuilder |
|
192 | */ |
|
193 | protected function createLeadsCountQb( |
|
194 | \DateTime $start = null, |
|
195 | \DateTime $end = null, |
|
196 | $owners = [] |
|
197 | ) { |
|
198 | $qb = $this |
|
199 | ->createQueryBuilder('l') |
|
200 | ->select('COUNT(DISTINCT l.id)'); |
|
201 | ||
202 | if ($start) { |
|
203 | $qb |
|
204 | ->andWhere('l.createdAt > :start') |
|
205 | ->setParameter('start', $start); |
|
206 | } |
|
207 | if ($end) { |
|
208 | $qb |
|
209 | ->andWhere('l.createdAt < :end') |
|
210 | ->setParameter('end', $end); |
|
211 | } |
|
212 | ||
213 | if ($owners) { |
|
214 | QueryUtils::applyOptimizedIn($qb, 'l.owner', $owners); |
|
215 | } |
|
216 | ||
217 | return $qb; |
|
218 | } |
|
219 | } |
|
220 |
@@ 387-407 (lines=21) @@ | ||
384 | * |
|
385 | * @return QueryBuilder |
|
386 | */ |
|
387 | public function createOpportunitiesCountQb(\DateTime $start = null, \DateTime $end = null, $owners = []) |
|
388 | { |
|
389 | $qb = $this->createQueryBuilder('o'); |
|
390 | $qb->select('COUNT(o.id)'); |
|
391 | if ($start) { |
|
392 | $qb |
|
393 | ->andWhere('o.createdAt > :start') |
|
394 | ->setParameter('start', $start); |
|
395 | } |
|
396 | if ($end) { |
|
397 | $qb |
|
398 | ->andWhere('o.createdAt < :end') |
|
399 | ->setParameter('end', $end); |
|
400 | } |
|
401 | ||
402 | if ($owners) { |
|
403 | QueryUtils::applyOptimizedIn($qb, 'o.owner', $owners); |
|
404 | } |
|
405 | ||
406 | return $qb; |
|
407 | } |
|
408 | ||
409 | /** |
|
410 | * @param AclHelper $aclHelper |