| @@ 166-189 (lines=24) @@ | ||
| 163 | * |
|
| 164 | * @return QueryBuilder |
|
| 165 | */ |
|
| 166 | protected function createLeadsCountQb(\DateTime $start = null, \DateTime $end = null, $owners = []) |
|
| 167 | { |
|
| 168 | $qb = $this->createQueryBuilder('l'); |
|
| 169 | ||
| 170 | $qb |
|
| 171 | ->select('COUNT(DISTINCT l.id)') |
|
| 172 | ->innerJoin('l.opportunities', 'o'); |
|
| 173 | if ($start) { |
|
| 174 | $qb |
|
| 175 | ->andWhere('l.createdAt > :start') |
|
| 176 | ->setParameter('start', $start); |
|
| 177 | } |
|
| 178 | if ($end) { |
|
| 179 | $qb |
|
| 180 | ->andWhere('l.createdAt < :end') |
|
| 181 | ->setParameter('end', $end); |
|
| 182 | } |
|
| 183 | ||
| 184 | if ($owners) { |
|
| 185 | QueryUtils::applyOptimizedIn($qb, 'l.owner', $owners); |
|
| 186 | } |
|
| 187 | ||
| 188 | return $qb; |
|
| 189 | } |
|
| 190 | } |
|
| 191 | ||
| @@ 392-412 (lines=21) @@ | ||
| 389 | * |
|
| 390 | * @return QueryBuilder |
|
| 391 | */ |
|
| 392 | public function createOpportunitiesCountQb(DateTime $start = null, DateTime $end = null, $owners = []) |
|
| 393 | { |
|
| 394 | $qb = $this->createQueryBuilder('o'); |
|
| 395 | $qb->select('COUNT(o.id)'); |
|
| 396 | if ($start) { |
|
| 397 | $qb |
|
| 398 | ->andWhere('o.createdAt > :start') |
|
| 399 | ->setParameter('start', $start); |
|
| 400 | } |
|
| 401 | if ($end) { |
|
| 402 | $qb |
|
| 403 | ->andWhere('o.createdAt < :end') |
|
| 404 | ->setParameter('end', $end); |
|
| 405 | } |
|
| 406 | ||
| 407 | if ($owners) { |
|
| 408 | QueryUtils::applyOptimizedIn($qb, 'o.owner', $owners); |
|
| 409 | } |
|
| 410 | ||
| 411 | return $qb; |
|
| 412 | } |
|
| 413 | ||
| 414 | /** |
|
| 415 | * @param AclHelper $aclHelper |
|