where($whereArr)->where($where)->count('business_id'); $count = $dataCount ? : 0; return $count; } /** * [getDataMoney 商机金额] * @author Michael_xu * @param * @return */ function getDataMoney($whereArr) { $where = []; $money = $this->where($whereArr)->where($where)->sum('money'); return $money; } /** * 获取商机list * * @param $param * @return mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ function getDataList($param) { $page = !empty($param['page']) ? $param['page'] : 1; $limit = !empty($param['limit']) ? $param['limit'] : 15; unset($param['page']); unset($param['limit']); $userModel = new \app\admin\model\User(); $adminModel = new \app\admin\model\Admin(); $perUserIds = $userModel->getUserByPer('bi', 'business', 'read'); //权限范围内userIds $whereData = $adminModel->getWhere($param, '', $perUserIds); //统计条件 $userIds = $whereData['userIds']; if (!empty($whereData['between_time']['last_time'])) unset($whereData['between_time']['last_time']); $between_time = $whereData['between_time']; $where['business.owner_user_id'] = array('in',$userIds); $where['business.create_time'] = ['between', $between_time]; $where['check_status'] = 2; if (!empty($param['is_end']) && $param['is_end'] == 1) $where['is_end'] = 1; $count = db('crm_business')->alias('business') ->join('__CRM_CONTRACT__ contract', 'contract.business_id = business.business_id', 'left') ->where($where)->group('business.business_id')->count(); $sql = db('crm_business')->alias('business') ->field('business.business_id,business.customer_id,business.money,business.type_id,business.status_id,business.deal_date,business.create_user_id,business.owner_user_id') ->join('__CRM_CONTRACT__ contract', 'contract.business_id = business.business_id', 'left') ->where($where) ->fetchSql() ->limit(($page - 1) * $limit, $limit) ->order(['money' => 'DESC']) ->group('business.business_id') ->select(); return ['dataCount' => $count, 'list' => queryCache($sql)]; } }