当前位置: 首页>>代码示例>>PHP>>正文


PHP XString::sortArray方法代码示例

本文整理汇总了PHP中XString::sortArray方法的典型用法代码示例。如果您正苦于以下问题:PHP XString::sortArray方法的具体用法?PHP XString::sortArray怎么用?PHP XString::sortArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XString的用法示例。


在下文中一共展示了XString::sortArray方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getServiceOrderList

    private function getServiceOrderList($userId, $pageId, $pageSize)
    {/*{{{*/
        $serviceOrderList = DAL::get()->find_all_charge_orders('serviceorder', $userId, ServiceDef::TYPE_FLOW);
        foreach ($serviceOrderList as $key => $serviceOrder)
        {
            $flow = $serviceOrder->source;
            if (false == $flow instanceof DoctorPatientRef || $flow->space->isNull())
            {
                unset($serviceOrderList[$key]);
                continue;
            }
            if ($serviceOrder->isUnpaid() && $flow->hasSpaceLeftAllowCnt())
            {
                unset($serviceOrderList[$key]);
            }
        }

        XString::sortArray($serviceOrderList, 'ctime');

        $showList = array_slice($serviceOrderList, ($pageId-1)*$pageSize, $pageSize);
        $pageInfo['pages'] = ceil(count($serviceOrderList)/ $pageSize);
        $pageInfo['pagesize'] = $pageSize;
        $pageInfo['nowpage'] = $pageId;
        $pageInfo['total'] = count($serviceOrderList);
        return array('list' => $showList, 'pageInfo' => $pageInfo);
    }/*}}}*/
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:26,代码来源:flowdatabucket.php

示例2: leftCaseBrowse

 private function leftCaseBrowse($request, $response, $res, $telOrderFlowIds)
 {
     /*{{{*/
     //我的list
     $currentUserFlowList = $myProposalThreads = array();
     $allProposalThreads = DAL::get()->find_all_spaceNotProcessList('Proposal', $this->space, ServiceDef::TYPE_FLOW, array());
     $otherProposalThreads = $allProposalThreads;
     if (false == $this->user->isNull()) {
         $otherProposalThreads = array();
         $myPatientIds = empty($this->user->patientList) ? array() : array_keys($this->user->patientList);
         $myProposalThreads = array();
         foreach ($allProposalThreads as $proposalThread) {
             if (in_array($proposalThread->patient->id, $myPatientIds)) {
                 $myProposalThreads[$proposalThread->id] = $proposalThread;
             } else {
                 $otherProposalThreads[$proposalThread->id] = $proposalThread;
             }
         }
         if (false == empty($myProposalThreads)) {
             XString::sortArray($myProposalThreads, 'utime');
         }
         $userSelfFlow = FlowClient::getInstance()->getAllFlows(array('spaceId' => $this->space->id, 'userId' => $this->user->id));
         if (false == empty($userSelfFlow['refs'])) {
             XString::sortArray($userSelfFlow['refs'], 'lastPostTime');
         }
         $currentUserFlowList = $myProposalThreads + $userSelfFlow['refs'];
     }
     $otherProposalThreads = array_slice($otherProposalThreads, 0, 10);
     $otherFlowList = array();
     if (count($otherProposalThreads) < 10) {
         $flowLimit = 10 - count($otherProposalThreads);
         $flowRes = FlowClient::getInstance()->getAllFlows(array('spaceId' => $this->space->id, 'limit' => $flowLimit, 'filterUserId' => $this->user->id));
         $otherFlowList = $flowRes['refs'];
     }
     uasort($otherFlowList, function ($a, $b) {
         if ($a->lastPostTime == $b->lastPostTime) {
             return 0;
         }
         return $a->lastPostTime < $b->lastPostTime ? 1 : -1;
     });
     $freeList = $otherProposalThreads + $otherFlowList;
     if (false == $this->isSpaceLogin()) {
         foreach ($telOrderFlowIds as $key => $telOrderFlowId) {
             if (array_key_exists($telOrderFlowId, $currentUserFlowList)) {
                 unset($telOrderFlowIds[$key]);
             }
         }
         $telOrderFlowIds = array_reverse($telOrderFlowIds);
         $threeTelOrderFlowIds = array_slice($telOrderFlowIds, 0, 3);
         foreach ($threeTelOrderFlowIds as $telOrderFlowId) {
             if (array_key_exists($telOrderFlowId, $freeList)) {
                 unset($freeList[$telOrderFlowId]);
             }
         }
         $threeTelOrderFlows = DAL::get()->find('doctorpatientref', $threeTelOrderFlowIds);
         $tmpArr = array();
         foreach ($threeTelOrderFlows as $key => $telOrderFlow) {
             $tmpArr[$key] = $telOrderFlow;
         }
         foreach ($freeList as $key => $freeFlow) {
             $tmpArr[$key] = $freeFlow;
         }
         $freeList = $tmpArr;
     }
     $flowCount = FlowClient::getInstance()->getFlowListCount($this->space->id, array('p_type' => 'all', 'isBrowser' => $this->user->isNull()));
     $flowCount = count($allProposalThreads) + $flowCount;
     $owner = DAL::get()->find_by_relatedObject('telowner', $this->space->user);
     $response->freeList = array_slice($freeList, 0, 10);
     $response->flowCount = $flowCount;
     $response->currentUserFlowList = $currentUserFlowList;
     $response->controller = 'index';
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:72,代码来源:indexcontroller.php

示例3: showQuestionOfValueRange

 public function showQuestionOfValueRange($request, $response)
 {
     /*{{{*/
     $this->checkAuditor();
     $ranges = DAL::get()->find_all_by_questionid('questionvaluerange', $request->questionid);
     XString::sortArray($ranges, 'checkupquestionsheetid', false);
     $response->ranges = $ranges;
     $response->question = DAL::get()->find('question', $request->questionid);
     $response->checkupQuestionSheets = DAL::get()->find_all('checkupquestionsheet');
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:10,代码来源:checkupcontroller.php

示例4: mobile

 public function mobile($request, $response)
 {
     /*{{{*/
     $response->objects = $response->orderCntList = array();
     $today = XDateTime::now();
     if ($request->today) {
         $today = XDateTime::valueof($request->today);
     }
     $response->today = $today;
     $options['startTime'] = $today->toShortString();
     $options['endTime'] = $today->addDay(1)->toShortString();
     $options['status'] = $request->getRequest('status', PresentOrder::STATUS_PAID_YES);
     $groupBy = 'spaceid';
     $response->status = $options['status'];
     $orderCntList = PresentClient::getInstance()->getCntsInPresentOrder($groupBy, $options);
     $list = array();
     $allAmount = $allCnt = 0;
     $response->sortType = $request->getRequest('sortType', 'cnt');
     if ($orderCntList) {
         foreach ($orderCntList as $key => $ordersCnt) {
             $list[$key]['id'] = $key;
             $list[$key]['cnt'] = $ordersCnt['cnt'];
             $list[$key]['amount'] = $ordersCnt['amount'];
             $allAmount += $ordersCnt['amount'];
             $allCnt += $ordersCnt['cnt'];
         }
         XString::sortArray($list, $response->sortType);
         $response->orderCntList = $list;
         $objectIds = array_keys($orderCntList);
         $response->objects = DAL::get()->find('space', $objectIds);
     }
     $response->allAmount = $allAmount;
     $response->allCnt = $allCnt;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:34,代码来源:presentcontroller.php

示例5: getArtcleList

    /**
        * @brief 获取文章列表
        * @author meihao
        * @exampleUrl http://dev.mobile-api.haodf.com/doctorapi/patientclub_getArtcleList?userId=1&pageSize=1&pageId=1&os=1&xdoc=1
        *
        * @Param $userId  用户id
        * @Param $pageSize  每页条数
        * @Param $pageId  页号
        * @Param $os 
        *
        * @Returns   array('articleId', 'doctorId', 'grade', 'title', 'ctime', 'categroy', 'readCount', intro', 'url');
     */
    public function getArtcleList($userId, $pageSize, $pageId, $os)
    {/*{{{*/
        $this->_initPageInfo($pageId, $pageSize);
        $space = DAL::get()->find_by_fld_SpaceUserId('space', $userId);
    	if ($space->isNull())
        {
            $predoctor = DAL::get()->find_by_userid('predoctor', $userId);
            if(!$predoctor->isNull())
            {
                    return 0;
            }
            $this->setErrorCode(144);
            return 0;
        }
        $categoryId = null;
        $options['orderby'] = 'topLevel desc, fld_ArticleCreateTime desc';
		$res = ArticleClient::getInstance()->getList($space->id, $categoryId, $pageId, $pageSize, $options);
        $articleList = $res['articleList'];
        $pageInfo = $res['pageInfo'];
        $this->pageInfo = $pageInfo;
        $infos = array();
        $topArticleList = array();
        $bottomArticleList = array();
        foreach($articleList as $article)
        {
            if ($article->topLevel)
            {
                $topArticleList[] = $article;
            }
            else
            {
                $bottomArticleList[] = $article;
            }
        }
        XString::sortArray($topArticleList, 'topLevel');
        XString::sortArray($bottomArticleList, 'ctime');
        $articleList = array_merge_recursive($topArticleList, $bottomArticleList); 
        foreach($articleList as $article)
        {
            if (trim(strip_tags($article->content)) == '')
            {
                continue;
            }
            $info = array();
            $info['articleId'] = $article->id;
            $info['doctorId'] = $space->host->id;
            $info['grade'] = ($article->topLevel)? 3 : 0;
            $info['title'] = $article->title;
            $info['ctime'] = XDateTime::printTime4Touch($article->ctime->getTime(), 'Y-m-d');
            $info['category'] = '['.$article->articleCategory->name.']';
            $info['readCount'] = $this->getHits($article);
            //$info['intro'] = trim(mb_substr(XString::getContentWithOutHtml($article->content), 0, 90, 'gbk'));
            $info['intro'] = mb_substr(trim(preg_replace(array("/(&#[0-9]+;)/", "/(&\w+;)/"), '', str_replace(array("\r", "\n"), '', strip_tags(htmlspecialchars_decode($article->content))))), 0, 90, 'GBK');
            $info['url'] = "http://www.".URL_PREFIX."haodf.com/index/mobilearticle?id=".$info['articleId']."&clkfrom=".$os;
            $infos[] = $info;
        }
        $this->content = $infos;
    }/*}}}*/
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:70,代码来源:patientclubdatabucket.php

示例6: showMedicineDiary

 public function showMedicineDiary($request, $response)
 {
     /*{{{*/
     $diary = DAL::get()->find('medicinediary', $request->diaryid);
     if ($diary->isNull()) {
         throw new BizException('该用药日记不存在');
     }
     if (false == empty($diary->medicineAnswerIds)) {
         $medicineAnswers = DAL::get()->find('medicineanswer', $diary->medicineAnswerIds);
         XString::sortArray($medicineAnswers, 'medicineUserScheme');
         XString::sortArray($medicineAnswers, 'doTime');
         $response->medicineAnswers = $medicineAnswers;
     }
     $response->medicineDiary = $diary;
     $response->ticketId = $request->ticketid;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:16,代码来源:followupcontroller.php

示例7: showPostLog

 public function showPostLog($request, $response)
 {
     /*{{{*/
     $postId = $request->postid;
     $post = DAL::get()->find('DoctorPatientPost', $postId);
     $postLogList = DAL::get()->find_all_by_doctorpatientpostid_and_doctorpatientrefid('DoctorPatientLog', $postId, $post->doctorPatientRef->id);
     XString::sortArray($postLogList, 'ctime');
     $response->postLogList = $postLogList;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:9,代码来源:nfsauditcontroller.php

示例8: getHealthApplyPatientList

    private function getHealthApplyPatientList($userId)
    {/*{{{*/
        $user = DAL::get()->find('user', $userId);//$userId);
        DBC::requireFalse($user->isNull(),'用户不存在');
        $vars = array();
        $vars['UserName'] = $user->name;
        $vars['Type'] = (string) PatientHealthApply::TYPE_NEW;
        $applyList = DAL::get()->find_all_list4Search('PatientHealthApply',$vars);
        XString::sortArray($applyList, 'ctime', true);

        $applyPatientIds = array();
        $applyPatientInfos = array();
        $patientInfos = array();
        foreach($applyList as $apply)
        {
            //只取该患者名下最新更新的一条健康日志申请
            if (false == in_array($apply->patient->id, $applyPatientIds))
            {
                $applyPatientIds[] = $apply->patient->id;
                $patientInfo['id'] = $apply->patient->id;
                $patientInfo['name'] = $apply->patient->name;
                $patientInfo['status'] = $apply->getApplyStatus();
                $applyPatientInfos[] = $patientInfo;
                if ($apply->status != PatientHealthApply::STATUS_INVALID)
                {
                    $patientInfos[] = $patientInfo;
                }
            }
        }
        return $applyPatientInfos;
    }/*}}}*/
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:31,代码来源:myhealthcontroller.php

示例9: array_merge

<?php

$caselogs = S3LogClient::getInstance()->getLogList($orgPatientCase->getLogable(), false);
$courselogs = S3LogClient::getInstance()->getLogList($patientCourse->getLogable(), false);
$logs = array_merge($caselogs, $courselogs);
XString::sortArray($logs, 'ctime');
?>
<div class="detail-module mt20">
<div class="tb">操作记录:</div>
<table class="question_table"> 
    <thead class="check_audit">
        <tr> 
            <th>#</th> 
            <th>时间</th> 
            <th>操作人</th> 
            <th>描述</th>
        </tr>
    </thead>
    <tbody>
    <?php 
if (empty($logs)) {
    ?>
    <tr> 
        <td colspan=5><span class="ml10">无备注</span</td>
    </tr> 
    <?php 
} else {
    ?>
    <?php 
    $total = count($logs);
    foreach ($logs as $num => $log) {
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:31,代码来源:_patientcourselog.php

示例10: filterProposalIds

 protected static function filterProposalIds(Array $ids)
 {/*{{{*/
     $sIds = DAL::get()->find_id_by_sources('ServiceOrder', 'Proposal', $ids);
     $pIds = DAL::get()->querySourceIds('ServiceOrder', $sIds);
     $proposalList = DAL::get()->find('Proposal', $pIds);
     XString::sortArray($proposalList, 'ctime', true);
     $proposalIds = array();
     foreach ($proposalList as $proposal)
     {
         $proposalIds[] = $proposal->id;
     }
     return $proposalIds;
 }/*}}}*/
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:13,代码来源:telproposaldto.php

示例11: doctorCollection

 public function doctorCollection($request, $response)
 {
     /*{{{*/
     $patientId = $request->patientId;
     $patientCaseId = $request->patientCaseId;
     $response->patientId = $patientId;
     $response->patientCaseId = $patientCaseId;
     $list = $this->getPatientCaseandBreadCrumbNavigation($patientCaseId, $patientId);
     $breadcrumbNavigation = $list['breadcrumbNavigation'];
     $patientCase = $list['patientCase'];
     if (false == $patientCase->isNull()) {
         list($patientCourses, $pageInfo) = PatientFileClient::getInstance()->getPatientCourseList($patientCase, $request->pageId, 10);
         $response->patientCourses = $patientCourses;
         $patientCourseDetails = array();
         foreach ($patientCourses as $patientCourse) {
             if ($patientCourse->isCompleted()) {
                 $courseDetails = array();
                 foreach ($patientCourse->patientCourseDetails as $patientCourseDetail) {
                     $patientCourseDetailContents = $patientCourseDetail->patientCourseDetailContents;
                     XString::sortArray($patientCourseDetailContents, 'occurDate');
                     foreach ($patientCourseDetailContents as $detailContent) {
                         $courseKey = $detailContent->occurDate . $detailContent->patientCourseDetailCategory->name;
                         $courseDetails[$courseKey][$detailContent->contentType][] = $detailContent;
                         $courseDetails[$courseKey]['type'] = $detailContent->patientCourseDetailCategory->name;
                         $courseDetails[$courseKey]['date'] = $detailContent->occurDate;
                     }
                 }
                 ksort($courseDetails);
                 $patientCourseDetails[$patientCourse->id] = $courseDetails;
             } else {
                 $courseDetails = $courseInfos = array();
                 foreach ($patientCourse->patientCourseDetails as $patientCourseDetail) {
                     $patientCourseDetailContents = $patientCourseDetail->patientCourseDetailContents;
                     XString::sortArray($patientCourseDetailContents, 'occurDate');
                     foreach ($patientCourseDetailContents as $detailContent) {
                         $courseInfos['unaudit'][$detailContent->contentType][$detailContent->ctime->toString() . $detailContent->id] = $detailContent;
                     }
                 }
                 if (isset($courseInfos['unaudit'])) {
                     foreach ($courseInfos['unaudit'] as $key => $details) {
                         ksort($details);
                         $courseDetails['unaudit'][$key] = $details;
                     }
                 }
                 $patientCourseDetails[$patientCourse->id] = $courseDetails;
             }
         }
         $response->patientCourseDetails = $patientCourseDetails;
         $response->patientCase = $patientCase;
         $url = "/adminpatient/doctorcollection?patientId={$patientId}&patientCaseId={$patientCaseId}&pageId=";
         $response->pageLink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace("{$url}"), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']);
         $doctorOwner = DAL::get()->find_by_userid('doctorOwner', $this->space->id);
         $memberId = DAL::get()->queryMemberIdByOwnerIdAndPatientCaseId('regrouppatientcasemember', $doctorOwner->id, $patientCase->id);
         $member = DAL::get()->find('regroupPatientCaseMember', $memberId);
         $response->member = $member;
         $response->patientGroup = $member->regroup;
         $response->groupNames = array($member->regroup->name);
     } else {
         $response->patientCase = NullEntity::create();
         $response->patientCourses = array();
         $response->pageLink = '';
         $response->patientGroup = NullEntity::create();
         $response->groupNames = array();
     }
     $response->breadcrumbNavigation = $breadcrumbNavigation;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:66,代码来源:adminpatientcontroller.php

示例12: getArticleList

 /** 获取文章列表 zj **/
 private function getArticleList($categoryId, $classicCategoryId, $request, $response)
 {
     /*{{{*/
     if ($request->category_id == '') {
         $page = intval($request->getRequest('page', 1));
     } else {
         $page = intval($request->getRequest('p', 1));
     }
     $options = array();
     $options['articleLevel'] = Article::LEVEL_0;
     $userId = UserClient::getInstance()->getCheckedSeed('id');
     $res = ArticleClient::getInstance()->getList($this->space->id, $categoryId, $page, $pageSize = 20, $options, $userId);
     $articleList = $res['articleList'];
     $pagelink = "";
     if (isset($res['pageInfo']) && false == empty($res['pageInfo']) && '' == $request->category_id) {
         $pageInfo = $res['pageInfo'];
         $pagelink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace('lanmu_', 2, 3, 1, true), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']);
         $pagelink = str_replace("href=\"lanmu_1\"", "href=\"lanmu\"", $pagelink);
     } else {
         if (isset($res['pageInfo']) && false == empty($res['pageInfo'])) {
             $pageInfo = $res['pageInfo'];
             $pagelink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace('?p='), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']);
         }
     }
     $category = new NullEntity();
     if ($categoryId) {
         $category = DAL::get()->find('ArticleCategory', $categoryId);
     }
     $response->category = $category;
     $response->categoryId = $categoryId;
     $response->isClassicsCase = $categoryId == $classicCategoryId;
     $topArticleList = array();
     $downArticleList = array();
     foreach ($articleList as $article) {
         if ($article->topLevel) {
             $topArticleList[] = $article;
         } else {
             $downArticleList[] = $article;
         }
     }
     XString::sortArray($topArticleList, 'topLevel');
     $response->topArticleList = $topArticleList;
     XString::sortArray($downArticleList, 'ctime');
     $response->downArticleList = $downArticleList;
     $newHitRes = array();
     if (false == empty($articleList) && false == $this->isSpaceLogin()) {
         $hitRes = HitClient::getInstance()->getHitsNoCache(array_keys($articleList));
         $articleIds = array_keys($articleList);
         foreach ($articleIds as $articleId) {
             $redisKey = "article_" . $articleId;
             $newHitRes[$articleId] = HitClient::getInstance()->getHitCntByKey($redisKey);
         }
     }
     $response->hitRes = $newHitRes;
     if ($this->isSpaceLogin()) {
         $response->maxTop = ArticleClient::getInstance()->getMaxTopLevel($this->space->id, $isAll = false);
         $response->minTop = ArticleClient::getInstance()->getMinTopLevel($this->space->id);
     }
     $response->pagelink = $pagelink;
     $response->articleId = $request->articleId;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:62,代码来源:articlecontroller.php

示例13: ajaxLoadItem

 public function ajaxLoadItem($request, $response)
 {
     /*{{{*/
     $parentId = $request->parentid;
     $items = array();
     $return = array();
     //        $items['id'] = 0;//为0有输入检查
     //        $items['name'] = '------';
     //        $return[] = $items;
     if ($parentId > 0) {
         $questions = DAL::get()->find_all_by_categoryid_and_isdeleted('nfsQuestion', $parentId, nfsQuestion::IS_DELETED_FALSE);
         XString::sortArray($questions, 'id');
         foreach ($questions as $question) {
             $items['id'] = $question->id;
             $items['name'] = mb_convert_encoding($question->title, 'utf-8', 'gbk');
             $return[] = $items;
         }
     }
     echo json_encode($return);
     return parent::DIRECT_OUTPUT;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:21,代码来源:patientcasehistorycontroller.php

示例14: showContracts

    public function showContracts($request, $response)
    {/*{{{*/
        $params = array();
        $params['doctorName'] = $this->_newSpace->name;
        $params['pageSize'] = 20;
        $params['nowPage'] = $request->page ? $request->page : 1; 
        $params['status'] = TelContract::STATUS_CONFIRM;

        //代码可以删除
        $res = array();
        $telContract = new NullEntity();
        if (false == empty($res['telContracts']))
        {
            $telContracts = $res['telContracts'];
            XString::sortArray($telContracts, 'ctime');
            krsort($telContracts);
            $telContract = array_shift($telContracts);
        }
        $response->telContract = $telContract;
        $response->actionClass = $request->actionclass;
    }/*}}}*/
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:21,代码来源:adminpaymentcontroller.php

示例15: browserList

 private function browserList($request, $response, $threadsCount, $flowsCount, $flowType = '')
 {
     /*{{{*/
     $chargeFlowCount = FlowClient::getInstance()->getPaiedFlowCntBySpace($this->space, $needCache = true);
     $response->chargeCount = $chargeFlowCount;
     $response->freeCount = $response->allCount - $response->chargeCount;
     $options = array();
     $options['spaceId'] = $this->space->id;
     $nowPage = intval($request->getRequest('p', 1));
     $nowPage = $nowPage > 0 ? $nowPage : 1;
     $pageSize = 25;
     //当前患者的proposal & flow
     $myProposals = $myFlows = array();
     $myProposalsCount = $myFlowsCount = 0;
     if ($this->user->isNull() == false && $this->user->id != $this->space->user->id) {
         $myPatientIds = array_keys($this->user->patientList);
         if (false == empty($myPatientIds)) {
             $myProposalOptions = array();
             $myProposalOptions['patientIds'] = $myPatientIds;
             $myProposals = DAL::get()->find_all_spaceNotProcessList('proposal', $this->space, ServiceDef::TYPE_FLOW, $myProposalOptions);
         }
         $myFlows = FlowClient::getInstance()->getUserSpaceFlows($this->space->id, $this->user->id);
         XString::sortArray($myFlows, 'lastPostTime');
         if ($nowPage == 1 && false == empty($myFlows)) {
             $response->lastPostList = DoctorPatientPostClient::getInstance()->getLastPosts4Flows(array_keys($myFlows));
         }
         $myProposalsCount = count($myProposals);
         $myFlowsCount = count($myFlows);
         if ($nowPage > 1) {
             $myProposals = array();
             $myFlows = array();
         }
     }
     $options['nowPage'] = $nowPage;
     $options['pageSize'] = $pageSize;
     if (false == $this->user->isNull()) {
         $options['excludeuser'] = $this->user->id;
     }
     $otherUserProposalList = DAL::get()->find_all_spaceNotProcessList('proposal', $this->space, ServiceDef::TYPE_FLOW, $options);
     $nowPageThreadCount = count($otherUserProposalList);
     if ($nowPageThreadCount < $pageSize) {
         if ($nowPageThreadCount > 0) {
             $options['from'] = 0;
             $options['pageSize'] = $pageSize - $nowPageThreadCount;
         } else {
             $options['from'] = ($nowPage - 1) * $pageSize == $threadsCount - $myProposalsCount ? 0 : ($nowPage - 1) * $pageSize - $threadsCount + $myProposalsCount;
             $options['pageSize'] = $pageSize;
         }
         if (false == $this->user->isNull()) {
             $options['filterUserId'] = $this->user->id;
         }
         //排除随访的
         if (strtolower($flowType) == 'allcaseflow') {
             $flowBinds = array();
             $flowBinds['isBrowser'] = $this->user->isNull();
             $flowBinds['isOpenFollowup'] = false;
             //患者本人,过滤掉本人的flow
             if (false == $this->user->isNull() && $this->isSpaceBrowse()) {
                 $flowBinds['excludeuserid'] = $this->user->id;
             }
             $notFollowupFlowList = $flowsList = FlowClient::getInstance()->getFlowListBySection($this->space->id, $options['from'], $options['pageSize'], $flowBinds);
             $flowList = $otherUserProposalList + $notFollowupFlowList;
         } else {
             $res = FlowClient::getInstance()->getAllFlows($options);
             $flowList = $otherUserProposalList + $res['refs'];
         }
     } else {
         $flowList = $otherUserProposalList;
     }
     $pageInfo = Pager::calcPageInfo($flowsCount + $threadsCount - $myProposalsCount - $myFlowsCount, $nowPage, $pageSize);
     $response->pageLink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace('?type=' . $flowType . '&p='), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']);
     /**
      * 原来是先取我的意向、我的咨询、我的流、其他流
      * => 我的方案、我的流、其他方案、其他流
      */
     $spaceAllList = array_merge($myProposals, $myFlows);
     $spaceAllList = array_merge($spaceAllList, $flowList);
     $response->allList = $spaceAllList;
     $response->patientIdsOfFlower = $this->getUserIdsforPresent($this->space->id, $response->allList);
     $response->demand = $this->getSpaceDemand();
     $response->telOrders = $this->getTelOrderFlows();
     $response->chargeIds = $this->filterPaiedFlowIds($spaceAllList);
     $response->hasCNZZ = 1;
 }
开发者ID:sdgdsffdsfff,项目名称:hdf-client,代码行数:84,代码来源:threadcontroller.php


注:本文中的XString::sortArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。