private function doOrderExecuteOnConf($request, $response)
    {/*{{{*/
        $orderid = $request->orderid;
        $order = DAL::get()->find('telorder', $orderid);
        $this->returnConditionDesc($response, $order->id);
        $owner = $order->executer;
        $patient = $order->patient;
        $doctor = $order->executer->relatedObject->space->host;
        $curOwner = $this->currentOwner;//这个是管理员
        $adminTelephone = DAL::get()->find_by_ownerid('AdminTelephone',$curOwner->id);
        DBC::requireFalse($adminTelephone->isNull(), '请绑定坐席电话');
        $response->order = $order;//订单
        $response->patient = $patient;//患者
        $response->owner = $owner;//医生
        $response->doctor = $doctor;//医生信息
        $response->curOwner = $curOwner;//管理员
        $response->adminTelephone = $adminTelephone;
        $phones = $this->filterEmptyPhone(array($adminTelephone->telselected, 
            $order->patientPhone,
            $order->patient->mobile, $patient->phone, $patient->backupPhone,
            $owner->getSpaceExt()->phone1, $owner->getSpaceExt()->phone2, $owner->getSpaceExt()->phone3));
        $admin = new NullEntity();
        $partner1 = new NullEntity();
        $partner2 = new NullEntity();
        $teleconf = phoneConferenceClient::getInstance()->getInitPhoneConf($order->id);
        $response->teleconf = $teleconf;
        $this->checkConfCanExecute($order->id, $teleconf, $request, $response);

        $consultConf = new ConsultPhoneConference($teleconf);
        $controlButton = TeleconfControlButton::init($consultConf);
        if (false == $teleconf->isNull())
        {
            $admin = $consultConf->getPartnerByRole(ConferenceMember::ADMIN);
            $partner1 = $consultConf->getPartnerByRole(ConferenceMember::PARTNER1);
            $partner2 = $consultConf->getPartnerByRole(ConferenceMember::PARTNER2);
        }
        $response->admin = $admin;
        $response->partner1 = $partner1;
        $response->partner2 = $partner2;

        $response->controlButton = $controlButton;
        $errorMsgs = array();
        $errorMsgs = $this->checkPhoneNumber($phones, $errorMsgs);
        $response->errorMsgs = $errorMsgs;
        $phoneStatus = DAL::get()->queryPhoneStatus('ConferenceMember',$phones);
        $response->phoneStatus = $phoneStatus;
        $response->disease = $order->diseaseDesc;
        $infos = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($order->notification->proposal);
        $attachmentIds = array();
        if (false == empty($infos->patientAttachment))
        {
            foreach ($infos->patientAttachment as $pa)
            {
                $attachmentIds[] = $pa->patientAttachmentId;
            }
        }
        $response->attachmentIds = $attachmentIds;
    }/*}}}*/
 public function showDetail($request, $response)
 {/*{{{*/
     DBC::requireNotEmptyString($request->id, "ID不能为空!");
     DBC::requireTrue(class_exists($request->type, "无效的病历类型!"));
     $source = DAL::get()->find($request->type, $request->id);
     if ($source->isNull())
     {
         throw new BizException('病历资料不存在!');
     }
     $response->bingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($source);
     $response->patient = $source->patient;
     $response->callback = $request->callback;
 }/*}}}*/
<?php

/**
 *病例详情模块 (信息展示,不能修改)
 *需要参数:binglis (病例dto的数组)
 */
$bingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($proposal);
$patient = $proposal->patient;
$paObjId = $proposal->id;
$paObjType = get_class($proposal);
$patientBingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($patient);
?>
<style>
.categoryColor{
    background-color: #00A3FF;
}
</style>

<div class="detail-module_splitter">
    <div class="detail-module_title">
        <h3>病例</h3>
    </div>
    <?php 
include dirname(__FILE__) . '/_proposalforhighlight.php';
include dirname(__FILE__) . '/../bingli.php';
?>
</div>

<div id="bingliForDoctorAndService">
    <!--分级信息 start-->
    <div class="detail-module_splitter">
    public function ajaxAttachmentList($request, $response)
    {/*{{{*/
        $destIds = $request->ids;
        $order = DAL::get()->find('telorder', $request->orderId);

        $bingLi = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($order->notification->proposal);
        $patientAttachments = $patientAttachmentIds = array();
        if (false == empty($bingLi->patientAttachment))
        {
            foreach ($bingLi->patientAttachment as $patientAttachment)
            {
                $patientAttachmentIds[] = $patientAttachment->patientAttachmentId;
            }
        }
        if (false == empty($patientAttachmentIds))
        {
            $patientAttachments = DAL::get()->find('patientAttachment', $patientAttachmentIds);
        }

        $response->destIds = $destIds;
        $response->attachmentlists = $patientAttachments;
        $response->order = $order;
	    $response->type = $request->type;
    }/*}}}*/
 private function getBingliDetail($id, $type)
 {/*{{{*/
     $source = DAL::get()->find($type, $id);
     $bingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($source);
     $isTreated = array_pop($bingliSet->treated)->treated;
     $diseaseList = empty($bingliSet->disease) ? array() : $bingliSet->disease;
     $diseaseDescList = empty($bingliSet->conditiondesc) ? array() : $bingliSet->conditiondesc;
     $diseaseStr = $diseaseDesc = $goalStr = '';
     foreach($diseaseList as $diseaseDto)
     {
         $diseaseStr .= $diseaseDto->diseaseName.' ';
     }
     $content['disease'] = $diseaseStr; 
     $content['isOldPatient'] = isset(BookingOrder::$treatedDesc[$isTreated]) ? BookingOrder::$treatedDesc[$isTreated] : '否';
     foreach($diseaseDescList as $diseaseDescDto)
     {
         if($diseaseDescDto->conditionDesc)
             $diseaseDesc .= str_replace(array("<br/>", "<br />"), "\n", $diseaseDescDto->conditionDesc).' ';
     }
     $content['diseaseDesc'] = $diseaseDesc; 
     $goalArray = Intention::getGoalDisplay(array_pop($bingliSet->goal)->goal);
     foreach($goalArray as $key => $value)
     {
         if ($value)
             $goalStr .= (BookingOrder::$goalDesc[$key])." ";
     }
     $content['goal'] = $goalStr; 
     $content['lastSeeTime'] = isset($bingliSet->lastTreatedTime) && 
         false == empty($bingliSet->lastTreatedTime) ? array_pop($bingliSet->lastTreatedTime)->lastTreatedTime : "";
     $content['time'] = isset($bingliSet->schedule) && 
         false == empty($bingliSet->schedule) ? array_pop($bingliSet->schedule)->schedule : "";
     $content['address'] = isset($bingliSet->address) && 
         false == empty($bingliSet->address) ? array_pop($bingliSet->address)->address : "";
     return $content;
 }/*}}}*/
 public function showOrderDetailMenu($request, $response)
 {
     /*{{{*/
     $telOrder = DAL::get()->find('telOrder', $request->telOrderId);
     DBC::requireTrue($telOrder->space->id == $this->user->id, '没有权限');
     $infos = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($telOrder->notification->proposal);
     $attachmentIds = array();
     if (false == empty($infos->patientAttachment)) {
         foreach ($infos->patientAttachment as $pa) {
             $attachmentIds[] = $pa->patientAttachmentId;
         }
     }
     $response->attachmentIds = $attachmentIds;
     $patientId = $telOrder->patient->isNull() ? 0 : $telOrder->patient->id;
     $flow = DAL::get()->find_by_patientid_and_spaceid('DoctorPatientRef', $telOrder->patient->id, $telOrder->executer->relatedObject->id);
     $response->telOrder = $telOrder;
     $response->flow = isset($flow) && $flow->isNull() == false ? $flow : new NullEntity();
     $telOrderId = $request->telOrderId;
     if (false == empty($telOrderId)) {
         $visitOrder = DAL::get()->find_by_orderid('TelVisit', $request->telOrderId);
         if ($visitOrder->content != '' && $visitOrder->rank != TelVisit::RANK_ZERO) {
             $response->vistitordertype = true;
         }
     }
 }
<?php

$keyWords = array();
if (isset($proposal) && false == $proposal->isNull()) {
    $bingLiSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($proposal);
    $bingLiSetArray = BingLiDto::transBingLiDtoInfos2Array($bingLiSet);
    $sensitiveWords = BeanFinder::get('ContentFilter')->getSensitiveWordsRecursive("Flow", $bingLiSetArray);
    $words = $proposal->getNecessaryWords();
    $keyWords = array_values(array_unique(array_merge($sensitiveWords, $words)));
}
?>

<script type="text/javascript" src="http://i1.hdfimg.com/js/highlighter/highlight.js?1"></script>
<script>
function highlightWords()
{
    heightLight($('.highlight'), <?php 
echo json_encode(XString::convertEncoding($keyWords, 'utf-8', 'gbk'));
?>
);
}
window.onload=highlightWords;

</script>

 public function selectBingLiSubmit($request, $response)
 {
     /*{{{*/
     $dtoIds = $request->getRequest('dtoids', array());
     $obj = DAL::get()->find($request->objname, $request->objid);
     if (false == $obj->isNull()) {
         BingLiDtoClient::getInstance()->replaceBingLi4RelatedObj($obj, $dtoIds);
     }
     $lostBingliTypes = array();
     if ($obj instanceof ProposalBase) {
         $lostBingliTypes = NotificationRuleFactory::create($obj)->checkBingli();
     }
     if (false == empty($lostBingliTypes)) {
         $this->forwardSelectBingLi($response, $obj, urldecode($request->backurl), $lostBingliTypes);
         return parent::DIRECT_OUTPUT;
     }
     $patient = DAL::get()->find('patient', $request->getRequest('patientid', 0));
     if (false == $patient->isNull()) {
         S3LogClient::getInstance()->add($this->curInspector, $patient->getLogable()->action(PatientLog::ACTION_BU_UPDATE_BINGLI, $request->objname . ' id:' . $obj->id));
     }
     echo '<pre>';
     if (trim($request->backurl)) {
         $response->setRedirect(urldecode($request->backurl));
     } else {
         die('保存成功');
     }
 }
 private function getBingliDetail($id, $type)
 {/*{{{*/
     $source = new NullEntity();
     if($type)
     {
         $source = DAL::get()->find($type, $id);
     }
     $diseaseDesc = '';
     $diseaseDescList = array();
     if(false == $source->isNull())
     {
         $bingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($source);
         $diseaseDescList = empty($bingliSet->conditiondesc) ? array() : $bingliSet->conditiondesc;
     }
     foreach($diseaseDescList as $diseaseDescDto)
     {
         if($diseaseDescDto->conditionDesc)
             $diseaseDesc .= nl2br($diseaseDescDto->conditionDesc).' ';
     }
     $content['diseaseDesc'] = $diseaseDesc; 
     return $content;
 }/*}}}*/
    private function intentionDetail($intention, $request, $response)
    {/*{{{*/
        $curUser = $this->_newUser;
        $response->intention = $intention;
        $response->space = $intention->space;
        $response->patient = $intention->patient;

        $bingLiSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($intention);
        $response->bingliSet = $bingLiSet;

        if($intention->isRefused())
        {
            $reasion = empty($intention->adminComment)?'':',原因如下:';
            throw new BizException('您的问题已经失效'.$reasion); 
        }
    }/*}}}*/
<div class='bingLiInfo_first'>
<?php 
$firstSource = DAL::get()->find('proposal', $flow->id);
if (false == $firstSource->isNull()) {
    $bingliSet = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($firstSource);
    //疾病
    include '_disease.php';
    //病情描述
    include '_conditiondesc.php';
    //希望医生提供的帮助
    include '_hopehelp.php';
    //所就诊科室
    include '_hospital.php';
    //治疗情况
    include '_treatment.php';
    //用药情况
    include '_medicine.php';
    //内容
    include '_content.php';
    //加号信息
    include '_booking.php';
    //电话咨询信息
    include '_telorder.php';
}
?>

</div>