/** * get query * * @param integer $queryId * @param boolean $compatible * @return array */ public function getQuery($queryId, $page = 1, $size = 100, $compatible = false) { $code = API::ERROR_NONE; $info = ''; if (empty($queryId)) { $code = API::ERROR_QUERY_EMPTY; $info = Yii::t('API', 'query id empty error info'); } $result = UserQueryService::getQueryConditionById($queryId); if (CommonService::$ApiResult['FAIL'] == $result['status']) { $code = API::ERROR_QUERY; $info = $result['detail']; } else { $savedSearchCondition = $result['detail']; $result = ExportService::getExportData($savedSearchCondition['query_type'], $savedSearchCondition['search_condition'], $savedSearchCondition['product_id'], null, null, null, $size, $page); $detail = $result['detail']; if (CommonService::$ApiResult['FAIL'] == $result['status']) { $code = API::ERROR_QUERY; $info = $detail; } else { $lowerItem = strtolower($savedSearchCondition['query_type']); $itemList = ucfirst($lowerItem) . 'List'; $idList = ucfirst($lowerItem) . 'IDs'; $list = array(); foreach ($detail as $val) { $id = $val['id']; if ($compatible) { foreach ($val as $key => $field) { unset($val[$key]); $key = $this->fieldNew2Old($key, $lowerItem); $val[$key] = $field; } } $list[$id] = $val; } $info[$itemList] = $list; $info[$idList] = join(',', array_keys($list)); $info['page'] = $page; $info['size'] = $size; $info['type'] = $lowerItem; } } return array($code, $info); }
protected function getSavedSearchRow($productId, $infoType, $queryId) { Yii::app()->user->setState($productId . '_' . $infoType . '_filterSql', null); Yii::app()->user->setState($productId . '_' . $infoType . '_filterColumn', null); if ('-1' == $_GET['query_id']) { $savedSearchRow = UserQueryService::getOpenByMeQuery(); } elseif ('-2' == $_GET['query_id']) { $savedSearchRow = UserQueryService::getAssignToMeQuery(); } elseif ('-3' == $_GET['query_id']) { $savedSearchRow = UserQueryService::getMarkByMeQuery(); } elseif ('-4' == $_GET['query_id']) { $savedSearchRow = UserQueryService::getMailedToMeQuery(); } else { $savedQuery = UserQueryService::getQueryConditionById($_GET['query_id']); if (CommonService::$ApiResult['FAIL'] == $savedQuery['status']) { $accessProductIdNameArr = Yii::app()->user->getState('visit_product_list'); $productName = $accessProductIdNameArr[$productId]; $savedSearchRow['search_condition'] = InfoService::getBlankSearchRowArr($productName, 0, $infoType); } else { $savedSearchRow = $savedQuery['detail']; } } $searchRowArr = $savedSearchRow['search_condition']; return $searchRowArr; }
/** * check if show field is legal * * @author youzhao.zxw<*****@*****.**> * @param int $queryId query id * @param array $showFieldArr show field array * @param array $orderArr order array * @param string $filterSql filter sql * @param int $pageSize page size * @param int $currentPageSize current page size * @return array export date result */ public static function getExportDataByQueryId($queryId, $showFieldArr = null, $orderArr = null, $filterSql = null, $pageSize = null, $currentPage = null) { $resultInfo = UserQueryService::getQueryConditionById($queryId); if (CommonService::$ApiResult['FAIL'] == $resultInfo['status']) { return $resultInfo; } $savedSearchCondition = $resultInfo['detail']; return self::getExportData($savedSearchCondition['query_type'], $savedSearchCondition['search_condition'], $savedSearchCondition['product_id'], $showFieldArr, $orderArr, $filterSql, $pageSize, $currentPage); }