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 = '医院-科室-医生列表';
 }