private function detailWithSpace($request, $response, Doctor $doctor) {/*{{{*/ $response->newUser = $doctor->space->user; $response->scheduleWeek = ScheduleClient::getInstance()->getScheduleWeek($doctor->space->id); //最新文章 $articleList = array(); $articleCount = 0; if ($doctor->space->isOpened()) { $articleList = ArticleClient::getInstance()->getList($doctor->space->id, '', 0, 5, array('orderby'=>'fld_ArticleUpdateTime desc')); $articleCount = ArticleClient::getInstance()->getStickArticle($doctor->space->id, 0); } $response->articleList = isset($articleList['articleList']) ? $articleList['articleList'] : array() ; $response->articleCount = $articleCount; //最新回复 $doctorPatientRefs = array(); if ($doctor->space->isOpened() && $doctor->space->isCaseAndNewCaseOpen()) { $doctorPatientRefs = DAL::get()->find_all_lastpost_by_space('doctorpatientref', $doctor->space, 5); } $response->doctorPatientRefs = $doctorPatientRefs; $spaceAskedThreadsCount = SpaceClient::getInstance()->getCountOfAskedThreadsCount($doctor->space->id, $this->curUser->id); $spaceAskedFlowsCount = SpaceClient::getInstance()->getCountOfAskedFlowsCount($doctor->space->id, $this->curUser->id); $spaceRepliedThreadsCount = SpaceClient::getInstance()->getCountOfRepliedThreadsCount($doctor->space->id, $this->curUser->id); $spaceRepliedFlowsCount = SpaceClient::getInstance()->getCountOfRepliedFlowsCount($doctor->space->id, $this->curUser->id); $response->spaceAskedCount = $spaceAskedThreadsCount + $spaceAskedFlowsCount; $response->spaceRepliedCount = $spaceRepliedThreadsCount + $spaceRepliedFlowsCount; //最新在线时间 $activityTimeInfo = SpaceClient::getInstance()->getActivityTime('space', array($doctor->space->id)); $activityTime = isset($activityTimeInfo[$doctor->space->id]) ? $activityTimeInfo[$doctor->space->id] : 0; $response->activityTime = $activityTime; $owner = DAL::get()->find_by_relatedobjectid_and_relatedobjecttype('TelOwner', $doctor->space->user->id, 'User'); $response->productList = ProductClient::getInstance()->getProducts($doctor->space, array(ServiceDef::TYPE_TELORDER)); $response->owner = $owner; $response->presentCnt = PresentClient::getInstance()->getCntOfPresent($doctor->space->id); //加号 $isBooking = $doctor->space->isBookingOpened(); $contract = $spaceBusinessRequirement = array(); $successOrderCount = 0; if($isBooking) { $contract = $doctor->space->getBookingContract(); $spaceBusinessRequirement = $doctor->space->getSpaceBusinessRequirement4Booking(); //在该医生处成功加号数量 if($contract->isNull() == false) $successOrderCount = PlussignChannelClient::getInstance()->getOrderCount(array($contract->id)); } $response->isBooking = $isBooking; $response->spaceBusinessRequirement = $spaceBusinessRequirement; $response->successOrderCount = $successOrderCount; $response->telVisitInfos = array(); //电话 if ($doctor->space->isPhoneOpenedForFront()) { $telVisitList = PaymentClient::getInstance()->getPatientPhoneServiceList($doctor->space->user->id, 1, 10); $response->telVisitTotalCnt = isset($telVisitList['pageInfo']['total']) ? $telVisitList['pageInfo']['total'] : 0; $telVisitInfos = DAL::get()->queryLatestCompleteOrderIdsBySpaceId('TelOrder', $doctor->space->user->id, $count = 10); $response->telVisitInfos = $telVisitInfos; $response->ScoreDesc = TelVisit::$scoreDesc; $response->callingLogs = PaymentClient::getInstance()->getDoctorRecentPhoneRecords($doctor->space); } $response->ref = DAL::get()->find_by_userid_and_spaceid('DoctorPatientRef', $this->curUser->id, $doctor->space->id); $this->hasOnlyPatientFlow($request, $response, $doctor); }/*}}}*/
public function delete($request, $response) { $scheduleId = $request->id; $result = ScheduleClient::getInstance()->deleteSchedule($scheduleId); $response->result = $result; $response->actionDesc = "删除"; $response->id = $scheduleId; $response->_my_template = '/default/processmsg'; }
public function getDoctorScheduleByDoctorId($doctorId) {/*{{{*/ $doctor = DAL::get()->find('doctor', $doctorId); if($doctor->isNull()) { $this->setErrorCode(132); return 0; } if($doctor->hasSpace()) { $bookOrderWeek = ScheduleClient::getInstance()->getScheduleWeek($doctor->space->id); } $scheduleInfos = DoctorClient::getInstance()->getFormatScheduleList($doctor->id, true); $doctorInfo['scheduleInfos'] = $scheduleInfos['tables'][$doctor->id]; for ($i = 1; $i <= 7; $i++) { for ($j = 1; $j <= 3; $j++) { $canBookingOrder = 0; if (isset($doctorInfo['scheduleInfos'][$i][$j]['fee']) && !$doctorInfo['scheduleInfos'][$i][$j]['fee']) { $doctorInfo['scheduleInfos'][$i][$j]['fee'] = "0.00"; } if(isset($bookOrderWeek[$i][$j]) && $bookOrderWeek[$i][$j]) { $canBookingOrder = 1; } if($canBookingOrder == 1) { $doctorInfo['scheduleInfos'][$i][$j]['canBookingOrder'] = $canBookingOrder; } } } if($doctor->workStatus) $doctorInfo['workStatus'] = '已退休'; else $doctorInfo['workStatus'] = '未退休'; $doctorInfo['abortDiagnosis'] = ''; $doctorInfo['diagnosisNotice'] = ''; if($doctor->hasSpace()) { if($doctor->space->note1 && $doctor->space->offlineNoteValidTime > (time()-86400)) $doctorInfo['abortDiagnosis'] = $doctor->space->note1; if($doctor->space->note2) $doctorInfo['diagnosisNotice'] = $doctor->space->note2; } $doctorInfo['hospitalAddress'] = ''; $doctorInfo['hospitalPhoneNumber'] = ''; if(false == $doctor->hospitalfaculty->hospital->isNull()) { $doctorInfo['hospitalAddress'] = $doctor->hospitalfaculty->hospital->address; $doctorInfo['hospitalPhoneNumber'] = $doctor->hospitalfaculty->phone; } $remarkOffLine = empty($scheduleInfos['remarkOffLine'][$doctor->id]) == false ? implode('<br />', $scheduleInfos['remarkOffLine'][$doctor->id]) .'<br>': ''; $doctorInfo['adminComment'] = $remarkOffLine.implode('<br />', $scheduleInfos['remark'][$doctor->id]); $doctorInfo['bookingOrderComment'] = ""; $spaceBusinessRequirement = $doctor->space->getSpaceBusinessRequirement4Booking(); if($spaceBusinessRequirement && false == $spaceBusinessRequirement->isNull() && trim($spaceBusinessRequirement->disease) != '') { $doctorInfo['bookingOrderComment'] = "以下病情患者,可在好大夫网站预约我的加号:".$spaceBusinessRequirement->disease; } $doctorInfo['comment'] = "突发原因有可能导致门诊时间改变,请以医院当日公布为准,或拨打医院电话确认:".$doctor->hospitalfaculty->hospital->phone; $this->content = $doctorInfo; }/*}}}*/
public function scheduleDetail($request, $response) { $id = $request->id; $doctor = DAL::get()->find('Doctor', $id); $doctorList = DoctorClient::getInstance()->getListByPrimaryId($doctor->primaryId); $scheduleList = ScheduleClient::getInstance()->getAllDoctorScheduleList($doctor->primaryId); $response->doctor = $doctor; $response->doctorList = $doctorList; $response->scheduleList = $scheduleList; $response->msg = $request->msg; $response->title = '医院-科室-医生列表'; }