@@ 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 |
@@ 379-399 (lines=21) @@ | ||
376 | * |
|
377 | * @return QueryBuilder |
|
378 | */ |
|
379 | public function createOpportunitiesCountQb(\DateTime $start = null, \DateTime $end = null, $owners = []) |
|
380 | { |
|
381 | $qb = $this->createQueryBuilder('o'); |
|
382 | $qb->select('COUNT(o.id)'); |
|
383 | if ($start) { |
|
384 | $qb |
|
385 | ->andWhere('o.createdAt >= :start') |
|
386 | ->setParameter('start', $start); |
|
387 | } |
|
388 | if ($end) { |
|
389 | $qb |
|
390 | ->andWhere('o.createdAt <= :end') |
|
391 | ->setParameter('end', $end); |
|
392 | } |
|
393 | ||
394 | if ($owners) { |
|
395 | QueryUtils::applyOptimizedIn($qb, 'o.owner', $owners); |
|
396 | } |
|
397 | ||
398 | return $qb; |
|
399 | } |
|
400 | ||
401 | /** |
|
402 | * @param AclHelper $aclHelper |