getSubUserByStr($request['structure_id'], 2); } } $perUserIds = $userModel->getUserByPer('bi', 'customer', 'read'); //权限范围内userIds $userIds = $map_user_ids ? array_intersect($map_user_ids, $perUserIds) : $perUserIds; //数组交集 $where['id'] = array('in',$userIds); $where['type'] = 1; $userList = db('admin_user')->where($where)->field('id,username,realname')->select(); foreach ($userList as $k=>$v) { $whereArr = []; $customer_num = 0; //跟进客户数 $record_num = 0; //跟进次数 $whereArr['create_user_id'] = $v['id']; $start_time = $request['start_time']; $end_time = $request['end_time']; if ($start_time && $end_time) { $create_time = array('between',array($start_time,$end_time)); } $whereArr['create_time'] = $create_time; $userList[$k]['customer_num'] = $customer_num = $this->getCustomerNum($whereArr); $userList[$k]['record_num'] = $record_num = $this->getRecordNum($whereArr); } return $userList ? : []; } /** * 根据条件获取跟进客户数 * @author zhi * @param * @return */ function getCustomerNum($whereArr){ $dataCount = db('admin_record')->where($whereArr)->group('types_id')->count(); return $dataCount; } /** * [根据条件获取跟进次数] * @author zhi * @param * @return */ function getRecordNum($whereArr){ $dataCount = db('admin_record')->where($whereArr)->count(); return $dataCount; } /** * 跟进次数排行 * @author zhi * @param * @return */ function getSortByCount($whereArr) { $count = db('admin_record')->group('create_user_id')->field('create_user_id,count(record_id) as count')->order('count desc')->where($whereArr)->select(); return $count; } /** * 跟进客户排行 * @author zhi * @param * @return */ function getSortByCustomer($whereArr) { $list = db('admin_record')->group('create_user_id')->field('create_user_id')->where($whereArr)->select(); foreach ($list as $key => $value) { $where = array(); $where['create_user_id'] = array('eq',$value['create_user_id']); $list[$key]['count'] = count(db('admin_record')->group('types_id')->field('count(types_id) as count')->order('count desc')->where($where)->select()); } return sort_select($list,'count'); } }