Code Duplication    Length = 19-23 lines in 2 locations

src/Oro/Bundle/SalesBundle/Entity/Repository/OpportunityRepository.php 2 locations

@@ 518-540 (lines=23) @@
515
     *
516
     * @return double
517
     */
518
    public function getOpenWeightedPipelineAmount(
519
        AclHelper $aclHelper,
520
        \DateTime $start = null,
521
        \DateTime $end = null,
522
        $owners = []
523
    ) {
524
        $qb = $this->createQueryBuilder('o');
525
526
        $qb
527
            ->select('SUM(o.budgetAmount * o.probability)')
528
            ->andWhere('o.status = :status')
529
            ->andWhere('o.probability != 0')
530
            ->andWhere('o.probability != 1')
531
            ->setParameter('status', self::OPPORTUNITY_STATE_IN_PROGRESS_CODE);
532
533
        $this->setCreationPeriod($qb, $start, $end);
534
535
        if ($owners) {
536
            QueryUtils::applyOptimizedIn($qb, 'o.owner', $owners);
537
        }
538
539
        return $aclHelper->apply($qb)->getSingleScalarResult();
540
    }
541
542
    /**
543
     * @param AclHelper $aclHelper
@@ 579-597 (lines=19) @@
576
     *
577
     * @return int
578
     */
579
    public function getWonOpportunitiesToDateCount(
580
        AclHelper $aclHelper,
581
        \DateTime $start = null,
582
        \DateTime $end = null,
583
        $owners = []
584
    ) {
585
        $qb = $this->createQueryBuilder('o');
586
        $qb->select('COUNT(o.id)')
587
            ->andWhere('o.status = :status')
588
            ->setParameter('status', self::OPPORTUNITY_STATUS_CLOSED_WON_CODE);
589
590
        $this->setClosedPeriod($qb, $start, $end);
591
592
        if ($owners) {
593
            QueryUtils::applyOptimizedIn($qb, 'o.owner', $owners);
594
        }
595
596
        return $aclHelper->apply($qb)->getSingleScalarResult();
597
    }
598
599
    /**
600
     * @param AclHelper $aclHelper