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>