public function detail($request, $response)
 {
     /*{{{*/
     $id = $request->id;
     $hfid = $request->hfId;
     $doctor = DAL::get()->find('Doctor', $id);
     $msg = $request->msg;
     if ($doctor->isNull() == false) {
         $hospitalFaculty = $doctor->hospitalfaculty;
         $response->doctorInfo = $this->doctorInfo2Array($doctor);
         $lastDoctorLog = DoctorLog::getDoctorLogInfo($doctor);
         if ($lastDoctorLog instanceof DoctorLog) {
             $msg = "医生更新的信息还未审核,请审核之后再继续编辑!";
         }
     } else {
         $hospitalFaculty = DAL::get()->find('HospitalFaculty', $hfid);
         $response->doctorInfo = $this->doctorInfo2Array($doctor);
     }
     $response->doctor = $doctor;
     $response->threadCategoryTopList = ThreadCateClient::getInstance()->getTopLevelList();
     $response->hospitalFaculty = $hospitalFaculty;
     $response->msg = $msg;
     $response->title = '医生';
     $response->specialPrivilegeHelper = new SpecialPrivilegeHelper($this->inspector);
 }
 public function show($request, $response)
 {
     /*{{{*/
     $response->cates = ThreadCateClient::getInstance()->getTopLevelList();
     $res = $this->auditorClient->getByRoles(array(Auditor::ROLE_LEADER));
     $response->leaders = isset($res[Auditor::ROLE_LEADER]) ? $res[Auditor::ROLE_LEADER] : array();
     $response->group = DAL::get()->find('auditorgroup', $request->id);
     $response->id = $request->id;
     $response->showContent = true;
 }
 public function detail($request, $response)
 {
     $id = $request->id;
     $disease = DAL::get()->find('disease', $id);
     $response->disease = $disease;
     $types = array(DiseaseRelation::TYPE_SYMPTOM, DiseaseRelation::TYPE_LOCATION);
     $response->relations = DAL::get()->queryStringRelation('DiseaseRelation', $disease->id, $types);
     //列出所有标签 不管是否有关联
     $defaultList = LableDefine::getLableList();
     $lableArr = array();
     $diseaseTags = array();
     if ($disease->isNull() == false) {
         $diseaseTags = DiseaseClient::getInstance()->getDiseaseTag($disease->id);
         $diseaseLableList = DiseaseClient::getInstance()->getDiseaseLablesByDisease($disease->id);
         foreach ($defaultList as $id => $title) {
             if (empty($diseaseLableList)) {
                 $lableArr[$title] = array();
             } else {
                 foreach ($diseaseLableList as $diseaseLable) {
                     if ($diseaseLable->lableid == $id) {
                         $lableArr[$title][] = $diseaseLable->objectid;
                     } else {
                         $lableArr[$title][] = array();
                     }
                 }
                 if (isset($lableArr[$title])) {
                     $lableArr[$title] = array_filter($lableArr[$title]);
                 }
             }
         }
     }
     $response->threadCategoryTopList = ThreadCateClient::getInstance()->getTopLevelList();
     $response->threadCategory = DAL::get()->find('ThreadCategory', $disease->threadCategoryId);
     $response->lableArr = $lableArr;
     $response->diseaseTags = $diseaseTags;
     $response->nounClassList = Disease::nounClassDef();
     $response->msg = $request->msg;
     $response->title = '疾病';
 }
    public function showFuwaiAsk($request, $response)
    {/*{{{*/
        if (XDateTime::isSpringHoliday())
        {
            $response->setRedirect(Intention::getIntentionTongzhiUrl());
		    return false;
        }
        $space = array();
        if ($request->host_user_id)
        {
            $space = DAL::get()->find('space', $request->host_user_id);
            if($space->isNull() == false && ($space->modulecase->allowNewMaxNumber == 0 || $space->isCaseAndNewCaseOpen() == false 
                    || $space->isNewCaseOpen() == false || false == $space->user->allowAnswer()))
            {
                throw new BizException('此功能暂时关闭'); 
            }
        }
        $response->caseTitle = $request->case_title;
        $response->isLogin = UserClient::getInstance()->isLogin();
        $response->space = $space;
        $response->categoryList = ThreadCateClient::getInstance()->getTopLevelList();
    }/*}}}*/
    public function getCaseSubCategoryListByCaseCategoryId($caseCategoryId)
    {/*{{{*/
    	$category = DAL::get()->find('threadcategory', $caseCategoryId);
        if($category->isNull())
        {
            $this->setErrorCode(199);
            return 0;
        }

        $caseSubCategoryIds = ThreadCateClient::getInstance()->getShuffleCategoryIds(10, $caseCategoryId);
        $caseSubCategorys = DAL::get()->find('threadcategory', $caseSubCategoryIds[$caseCategoryId]);
        $infos = array();
        foreach($caseSubCategorys as $caseSubCategory)
        {
           $info = array();
           $info['id'] = $caseSubCategory->id;
           $info['caseSubCategoryName'] = str_replace(array('(作废)'), "", $caseSubCategory->name);
           $infos[] = $info;
        }
        $pageInfo = $this->getPageInfo($infos);
        $this->pageInfo = $pageInfo;
        $this->content = $infos;
        return $infos;
    }/*}}}*/
 private function getFlowList4HomePage()
 {/*{{{*/
     $categoryIds = ThreadCateClient::getInstance()->getShuffleCategoryIds(self::THREADCATEGORY_COUNT);
     return FlowClient::getInstance()->getRefList4HomePage($categoryIds, self::THREADCATEGORY_COUNT, self::THREAD_COUNT);
 }/*}}}*/
 public function recommendAuditDetail($request, $response)
 {
     /*{{{*/
     $spaceUserId = $request->space_user_id;
     $recommendThreadCategories = DAL::get()->find_all_by_space('RecommendThreadCategory', $spaceUserId);
     $space = DAL::get()->find('Space', $spaceUserId);
     $response->space = $space;
     //获取医生的捡取问题池设置
     $spaceModuleCase = DAL::get()->find('SpaceModuleCase', $spaceUserId);
     $threadCategoryTopList = ThreadCateClient::getInstance()->getTopLevelList();
     //前端显示固定的分类,利用slot字段做排序
     $threadCategoryIds = array();
     foreach ($recommendThreadCategories as $recommendKey => $recommendThreadCategory) {
         if ($recommendThreadCategory->isNull() || in_array($recommendThreadCategory->threadCategory->id, $threadCategoryIds)) {
             unset($recommendThreadCategories[$recommendKey]);
         }
         $threadCategoryIds[] = $recommendThreadCategory->threadCategory->id;
     }
     XString::sortArray($recommendThreadCategories, 'slot');
     $newRecommendThreadCategories = array_reverse($recommendThreadCategories, false);
     krsort($newRecommendThreadCategories);
     $response->vipCategoryIds = $space->host->prdAdDoctor instanceof PrdADDoctor ? $space->host->prdAdDoctor->getValidCateIds() : array();
     $areaDef = RecommendThreadCategory::$AreaDefs;
     $recommendThreadCategoryLogs = DAL::get()->find_all_by_space('RecommendThreadCategoryLog', $space->id);
     $isUpdateByWap = false;
     foreach ($recommendThreadCategoryLogs as $recommendThreadCategoryLog) {
         if ($recommendThreadCategoryLog->isUpdateByWap()) {
             $isUpdateByWap = true;
             break;
         } else {
             if ($recommendThreadCategoryLog->isUpdateByNet()) {
                 $isUpdateByWap = false;
                 break;
             }
         }
     }
     $response->isUpdateByWap = $isUpdateByWap;
     $response->recommendThreadCategories = $newRecommendThreadCategories;
     $response->threadCategoryTopList = $threadCategoryTopList;
     $response->areaDef = $areaDef;
     $response->maxRecommendThreadCategoryCount = 20;
     $response->message = $request->getRequest('message', '');
     $response->maintainInfo = $request->maintainInfo;
     $response->poolInfo = $request->poolInfo;
     $response->recommendThreadCategoryLogs = $recommendThreadCategoryLogs;
     $response->showContent = 1;
     $response->spaceModuleCase = $spaceModuleCase;
     $response->spaceLastChangeLog = SpaceChangeLogClient::getInstance()->getLastCommonCaseNote($spaceUserId);
 }
<?php

include 'init.php';
$skipRefresh = false;
if (isset($argv[1]) && 'skipRefresh' == $argv[1]) {
    $skipRefresh = true;
}
$threadCateClient = ThreadCateClient::getInstance();
$tops = $threadCateClient->getTopLevelList();
$res = array();
foreach ($tops as $topCate) {
    $res[$topCate->id] = array();
    $res[$topCate->id]['name'] = mb_convert_encoding($topCate->name, 'utf-8');
    $res[$topCate->id]['childs'] = array();
    $childCates = $threadCateClient->getChildsByCateIds($topCate->childIds);
    foreach ($childCates as $childCate) {
        if ($childCate->id != $topCate->id) {
            $res[$topCate->id]['childs'][$childCate->id] = mb_convert_encoding($childCate->name, 'utf-8');
        }
    }
}
$cateJStr = ' var categories = ' . json_encode($res) . ';';
$groups = DAL::get()->find_all_parent('buinspectgroup');
$groupRes = array();
foreach ($groups as $group) {
    $groupRes[$group->id] = array();
    $groupRes[$group->id]['name'] = mb_convert_encoding($group->displayName, 'utf-8');
    $groupRes[$group->id]['categoryIds'] = $group->getTagIds();
}
$groupStr = "var groups = " . json_encode($groupRes) . ";\n\n";
$dir = dirname(__FILE__);
 public function ajaxSearchDiseaseByThreadCate($request, $response)
 {
     $cateName = $request->cateName;
     $diseaseAry = array();
     $diseaseList = array();
     if ($cateName) {
         $categoryIds = ThreadCateClient::getInstance()->getCategroyIdsByName($cateName);
         $diseaseList = DiseaseClient::getInstance()->getDiseasesByThreadCateIds($categoryIds);
     }
     foreach ($diseaseList as $disease) {
         $items = array();
         $items['id'] = $disease->id;
         $items['name'] = mb_convert_encoding($disease->name, "UTF-8", "GBK");
         $diseaseAry[] = $items;
     }
     echo json_encode($diseaseAry);
     exit;
 }
	private function getZixunInfoWithoutCategoryId($request,$response)
	{/*{{{*/
		$categoryId = $request->getRequest('case_type_id', '0');
        $threadCategory = DAL::get()->find('threadcategory', $categoryId);
        $response->category = $threadCategory;
        $response->threadList = ThreadCateClient::getInstance()->getFlowList4HomePage($categoryId);
	}/*}}}*/
<?php

include 'init.php';
$jsStr = '';
$rootCate = DAL::get()->find('ThreadCategory', ThreadCategory::ROOT_CATE_ID);
$list = ThreadCateClient::getInstance()->getTopLevelList();
foreach ($list as $threadCategory) {
    $res = array();
    if ($threadCategory->id == 0) {
        $res = array(mb_convert_encoding($rootCate->name, 'utf-8', 'gbk'));
    } else {
        $topCate = DAL::get()->find('ThreadCategory', $threadCategory->id);
        if ($topCate != null && false == $topCate->isNull()) {
            $childCates = ThreadCateClient::getInstance()->getChildsByCateIds($topCate->childIds);
            foreach ($childCates as $childCate) {
                $res[$childCate->id] = mb_convert_encoding($childCate->name, 'utf-8', 'gbk');
            }
        }
    }
    $jsStr .= 'var caseType_' . $threadCategory->id . ' = ' . json_encode($res) . ";\n\n";
}
$dir = dirname(__FILE__);
file_put_contents("{$dir}/../root/public/script/casetype.js", $jsStr);
$refreshFile = "{$dir}/../templates/threadcate/recommendauditdetail.php";
$old = file_get_contents($refreshFile);
$new = preg_replace('/casetype.js\\?[0-9]{1,}/', 'casetype.js?' . time(), $old);
file_put_contents($refreshFile, $new);
 public function showGroup($request, $response)
 {
     /*{{{*/
     $groupId = $request->id;
     if (empty($groupId)) {
         $group = new NullEntity();
     } else {
         $group = $this->getGroup($groupId);
         DBC::requireFalse($group->isNull(), '无效的组');
         DBC::requireFalse($group->isDeleted(), '此组以删除');
     }
     $response->group = $group;
     $response->categoryList = ThreadCateClient::getInstance()->getTopLevelList();
     $response->leaderList = DAL::get()->find_all_by_role_and_active('inspector', Inspector::ROLE_LEADER, Inspector::ACTIVE_YES);
     $response->app = $request->app;
     $response->showContent = true;
 }