示例#1
0
 protected function join(QueryBuilder $qb, $add = false)
 {
     $qb->leftjoin('agency.accounts', 'accounts');
     $qb->leftjoin('agency.users', 'users');
     $qb->leftjoin('users.end', 'users_end');
     $qb->leftjoin('agency.contacts', 'contacts');
     $qb->leftjoin('agency.city', 'city');
     if ($add) {
         $qb->addSelect('accounts');
         $qb->addSelect('users');
         $qb->addSelect('users_end');
         $qb->addSelect('contacts');
         $qb->addSelect('city');
     }
     return $qb;
 }
示例#2
0
 protected function join(QueryBuilder $qb, $add = false)
 {
     $qb->leftjoin('agency_account.turnovers', 'turnovers');
     if ($add) {
         $qb->addSelect('turnovers');
     }
     return $qb;
 }
示例#3
0
 protected function join(QueryBuilder $qb, $add = false)
 {
     $qb->leftjoin('account.contacts', 'contacts');
     $qb->leftjoin('account.owners', 'owners');
     $qb->leftjoin('owners.end', 'owners_end');
     $qb->leftjoin('account.agencies', 'agencies');
     $qb->leftjoin('agencies.turnovers', 'turnovers');
     $qb->leftjoin('account.city', 'city');
     if ($add) {
         $qb->addSelect('contacts');
         $qb->addSelect('owners');
         $qb->addSelect('owners_end');
         $qb->addSelect('agencies');
         $qb->addSelect('turnovers');
         $qb->addSelect('city');
     }
     return $qb;
 }
示例#4
0
 protected function join(QueryBuilder $qb, $add = false)
 {
     $qb->innerjoin('user.user', 'securityUser');
     $qb->leftjoin('user.activities', 'activities');
     $qb->leftjoin('user.assignedAccount', 'assignedAccount');
     $qb->leftjoin('assignedAccount.end', 'assignedAccount_end');
     $qb->leftjoin('user.agencies', 'agencies');
     $qb->leftjoin('agencies.agency', 'agency');
     $qb->leftjoin('agencies.end', 'agencies_end');
     if ($add) {
         $qb->addSelect('securityUser');
         $qb->addSelect('assignedAccount');
         $qb->addSelect('agencies');
         $qb->addSelect('agency');
         $qb->addSelect('agencies_end');
         $qb->addSelect('assignedAccount_end');
     }
     return $qb;
 }
 protected function search(QueryBuilder $qb, $searchs)
 {
     if (is_array($searchs)) {
         foreach ($searchs as $field => $value) {
             if ($value) {
                 switch ($field) {
                     case 'id':
                         $qb->andWhere('campaign.id = :search_id');
                         $qb->setParameter('search_id', $value);
                         break;
                     case 'name':
                         $qb->andWhere('campaign.name LIKE :search_name');
                         $qb->setParameter('search_name', '%' . $value . '%');
                         break;
                     case 'subject':
                         $qb->andWhere('campaign.emailSubject LIKE :search_emailSubject');
                         $qb->setParameter('search_emailSubject', '%' . $value . '%');
                         break;
                     case 'state':
                         $qb->andWhere('campaign.state = :search_state');
                         $qb->setParameter('search_state', $value);
                         break;
                     case 'dateSended':
                         $value = \DateTime::createFromFormat('d-m-Y H:i:s', $value . ':00');
                         $qb->andWhere('campaign.dateSended >= :search_date_sended');
                         $qb->setParameter('search_date_sended', $value);
                         break;
                     case 'dateSendedEnd':
                         $value = \DateTime::createFromFormat('d-m-Y H:i:s', $value . ':00');
                         $qb->andWhere('campaign.dateSended < :search_date_sended_end');
                         $qb->setParameter('search_date_sended_end', $value);
                         break;
                     case 'owner':
                         $qb->andWhere('owner.firstname LIKE :search_owner OR owner.name LIKE :search_owner');
                         $qb->setParameter('search_owner', '%' . $value . '%');
                         break;
                     case 'agency':
                         $qb->leftjoin('owner.agencies', 'owner_agencies');
                         $qb->addSelect('owner_agencies');
                         $qb->leftjoin('owner_agencies.end', 'owner_agencies_end');
                         $qb->addSelect('owner_agencies_end');
                         $qb->andWhere('owner_agencies.agency = :search_agency');
                         $qb->andWhere('owner_agencies.dateCreated <= campaign.dateCreated');
                         $qb->andWhere('owner_agencies_end IS NULL OR owner_agencies_end.dateEnd > campaign.dateCreated');
                         $qb->setParameter('search_agency', $value);
                         break;
                     case 'createdBy':
                         $qb->leftjoin('owner.agencies', 'owner_agencies');
                         $qb->addSelect('owner_agencies');
                         $qb->leftjoin('owner_agencies.end', 'owner_agencies_end');
                         $qb->addSelect('owner_agencies_end');
                         $qb->andWhere('owner_agencies.agency = :search_agency');
                         $qb->andWhere('owner_agencies.dateCreated <= campaign.dateCreated');
                         $qb->andWhere('owner_agencies_end IS NULL OR owner_agencies_end.dateEnd > campaign.dateCreated');
                         $qb->setParameter('search_agency', $value);
                         $qb->andWhere('owner_agencies_end IS NULL');
                         $qb->andWhere('owner = :search_owner');
                         $qb->setParameter('search_owner', $value);
                         break;
                 }
             }
         }
     }
     return $qb;
 }
示例#6
0
 protected function search(QueryBuilder $qb, $searchs)
 {
     if (is_array($searchs)) {
         foreach ($searchs as $field => $value) {
             if ($value) {
                 switch ($field) {
                     case 'id':
                         $qb->andWhere('activity.id = :search_id');
                         $qb->setParameter('search_id', $value);
                         break;
                     case 'type':
                         $qb->andWhere('type.title LIKE :search_type');
                         $qb->setParameter('search_type', '%' . $value . '%');
                         break;
                     case 'type_type':
                         $qb->andWhere('type.type = :search_type_type');
                         $qb->setParameter('search_type_type', $value);
                         break;
                     case 'account_name':
                         $qb->andWhere('account.name LIKE :search_account_name');
                         $qb->setParameter('search_account_name', '%' . $value . '%');
                         break;
                     case 'user_name':
                         $qb->andWhere('user.name LIKE :search_user_name OR user.firstname LIKE :search_user_name');
                         $qb->setParameter('search_user_name', '%' . $value . '%');
                         break;
                     case 'user':
                         $qb->andWhere('user = :search_user');
                         $qb->setParameter('search_user', $value);
                         break;
                     case 'dateStart':
                         $value = \DateTime::createFromFormat('d-m-Y H:i:s', $value . ':00');
                         $qb->andWhere('activity.dateStart >= :search_date_start');
                         $qb->setParameter('search_date_start', $value);
                         break;
                     case 'dateStartEnd':
                         $value = \DateTime::createFromFormat('d-m-Y H:i:s', $value . ':00');
                         $qb->andWhere('activity.dateStart < :search_date_end');
                         $qb->setParameter('search_date_end', $value);
                         break;
                     case 'comment':
                         $qb->andWhere('activity.comment LIKE :search_comment');
                         $qb->setParameter('search_comment', '%' . $value . '%');
                         break;
                     case 'account':
                         $qb->andWhere('account = :search_account');
                         $qb->setParameter('search_account', $value);
                         break;
                     case 'agency':
                         $qb->leftjoin('user.agencies', 'user_agencies');
                         $qb->leftjoin('user_agencies.end', 'user_agencies_end');
                         $qb->andWhere('user_agencies.agency = :search_agency');
                         $qb->andWhere('user_agencies.dateCreated <= activity.dateCreated');
                         $qb->andWhere('user_agencies_end IS NULL OR user_agencies_end.dateEnd > activity.dateCreated');
                         $qb->setParameter('search_agency', $value);
                         break;
                     case 'activity_account_owner':
                         $qb->leftjoin('account.owners', 'account_owners');
                         $qb->andWhere('account_owners.user = :search_activity_account_owner');
                         $qb->setParameter('search_activity_account_owner', $value);
                         break;
                 }
             }
         }
     }
     return $qb;
 }
示例#7
0
 protected function search(QueryBuilder $qb, $searchs)
 {
     if (is_array($searchs)) {
         foreach ($searchs as $field => $value) {
             if ($value) {
                 switch ($field) {
                     case 'id':
                         $qb->andWhere('contact.id = :search_id');
                         $qb->setParameter('search_id', $value);
                         break;
                     case 'name':
                         $qb->andWhere('contact.name LIKE :search_name OR contact.firstname LIKE :search_name');
                         $qb->setParameter('search_name', '%' . $value . '%');
                         break;
                     case 'email':
                         $qb->andWhere('contact.email LIKE :search_email');
                         $qb->setParameter('search_email', '%' . $value . '%');
                         break;
                     case 'function':
                         $qb->andWhere('contact.function LIKE :search_function');
                         $qb->setParameter('search_function', '%' . $value . '%');
                         break;
                     case 'city':
                         $qb->andWhere('city.name LIKE :search_city OR city.zipcode LIKE :search_city');
                         $qb->setParameter('search_city', '%' . $value . '%');
                         break;
                     case 'phones':
                         $qb->andWhere('phones.phone LIKE :search_phones');
                         $qb->setParameter('search_phones', '%' . $value . '%');
                         break;
                     case 'account_name':
                         $qb->andWhere('account.name LIKE :search_account_name');
                         $qb->setParameter('search_account_name', '%' . $value . '%');
                         break;
                     case 'agency':
                         $qb->andWhere('agencies = :search_agency');
                         $qb->setParameter('search_agency', $value);
                         break;
                     case 'account_owner':
                         $qb->leftjoin('account.owners', 'owners');
                         $qb->andWhere('owners.user = :search_owner');
                         $qb->setParameter('search_owner', $value);
                         break;
                     case 'hasFax':
                         $qb->andWhere('phones.type = :phone_type_fax OR account.fax IS NOT NULL');
                         $qb->setParameter('phone_type_fax', ContactPhone::FAX);
                         break;
                     case 'hasEmail':
                         $qb->andWhere('contact.email IS NOT NULL');
                         break;
                 }
             }
         }
     }
     return $qb;
 }