Exemple #1
0
 /**
  * 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);
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 /**
  * 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);
 }