/** 医生本人登录response页面数据 **/ private function index4Space($request, $response) { /*{{{*/ $nowPage = $request->getRequest('p', 1); $pageSize = 20; $role = 'space'; $type = $request->getRequest('type', 'all'); if (false == in_array($type, array('all', 'topic', 'message'))) { $type = 'all'; } list($pagelink, $topicList) = $this->getTopicListByType($type, $role, $nowPage, $pageSize); if ($type == 'message' && empty($topicList['list'])) { $topic4MessageList = ResidentEvilClient::getInstance()->getAllTopicsBySpaceId($this->user->id, 1, 5); $response->topic4Message = $topic4MessageList['list']; } if (empty($topicList['list'])) { $memberCount = PatientClubClient::getInstance()->getResidentEvilMemberCount('regroup', $this->space->user->id); $groups = ForumClient::getInstance()->getAllGroupsBySpace($this->space->id, $nowPage, $pageSize); $pageInfo = $groups['pageInfo']; $pagelink = PageNav::getNavLink(PageNav::getPageNavTemplateForSpace("/patient/index?role={$role}&type={$type}&p="), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']); $response->memberCount = $memberCount; } else { $groups = ForumClient::getInstance()->getAllGroupsBySpace($this->space->id); } $groupIds = array_keys($groups['list']); if (false == empty($groupIds)) { $countsArr = ResidentEvilClient::getInstance()->getTopicCountByGroupIds($groupIds); } $response->countsArr = $countsArr; $groupCount = isset($groups['list']) ? count($groups['list']) : 0; $response->cntsInfo = empty($groups['list']) ? array() : ForumClient::getInstance()->getLeadersCntByGroups($groups['list']); $response->type = $type; $response->role = $role; $response->groups = $groups['list']; $response->pagelink = $pagelink; $response->topicList = $topicList['list']; $response->groupCount = $groupCount; }
private function getPatientInfoForPatient($response, $thread) {/*{{{*/ /** 患友会分组*/ if ($this->_newSpace->isDoctor() && $this->_newSpace->isPatientOpened()) { $isResidentEvil = ForumClient::getInstance()->isResidentEvil($this->_newSpace->id, $thread->user->id); //成员数 $memberCount = PatientClubClient::getInstance()->getResidentEvilMemberCount('regroup', $this->_newSpace->id); //所有组(去掉默认组) $groupList = DAL::get()->find_all_by_spaceid_and_type('ReGroup', $this->_newSpace->id, ReGroup::TYPE_1); //用户所在组 $groups = ForumClient::getInstance()->getGroupByUserId($thread->user->id, $this->_newSpace->id); $reboardIdArr = array(); $spaceTopic = array(); if (empty($groups['list']) == false){ foreach($groups['list'] as $group) { if ($group->reboard->isNull() == false) $reboardIdArr[] = $group->reboard->id; } } //取话题 if (empty($reboardIdArr) == false) $spaceTopic = DAL::get()->find_all_by_reboardid_and_spaceid('ReTopic', $reboardIdArr, $this->_newSpace->id, 5); $groupList = ForumClient::getInstance()->getResidentEvilSpaceByUserId($thread->user->id); list($groupInfo, $reSpaceList) = SpaceClient::getInstance()->sortGroupBySpace($groupList); if(isset($reSpaceList[$thread->space->id])) unset($reSpaceList[$thread->space->id]); $response->reSpaceList = $reSpaceList; $response->groups = $groups; $response->spaceTopic = $spaceTopic; $response->isResidentEvil = $isResidentEvil; $response->memberCount = $memberCount; } }/*}}}*/
/** * @brief 修改患者所在小组 * @author oylw * @exampleUrl http://dev.mobile-api.haodf.com/doctorapi/patientclub_modifyGroup?userId=123456&patientId=123&newGroupId=876 * * @Param $userId 用户ID * @Param $patientId 用户ID * @Param $newGroupId 用户ID */ public function modifyGroup($userId, $patientId, $newGroupId) {/*{{{*/ $user = DAL::get()->find('User', $userId); if ($user->isNull()) { $this->setErrorCode(838); return 0; } $patient = DAL::get()->find('patient', $patientId); if($patient->isNull()) { $this->setErrorCode(316); return 0; } $member = PatientClubClient::getInstance()->updateMember($userId, $patientId, $newGroupId, ReGroupMember::MEMBER_PATIENT_TYPE_WEB); $this->content = $member->regroup->name; }/*}}}*/
/** * deletePatientCaseByDoctor * 修改病历头的状态 * @param mixed $patientCaseId * @access public * @return void */ public function deletePatientCaseByDoctor($userId, $clientId, $patientCaseId) {/*{{{*/ if(empty($clientId)) { return 0; } $doctorOwner = DAL::get()->find_by_userid('DoctorOwner',$userId); if($doctorOwner->isNull()) { return 0; } $patientCase = DAL::get()->find('PatientCase', $patientCaseId); if($patientCase->isNull() || $patientCase->doctorOwner->id != $doctorOwner->id) { return 0; } PatientClubClient::getInstance()->removePatientCaseMember($patientCaseId, $doctorOwner->id); PatientCourseClient::getInstance()->deletePatientCaseByDoctor($patientCaseId); $patientCase = DAL::get()->find('PatientCase', $patientCaseId); $this->content = array('clientId'=>$clientId, 'patientCaseId'=>$patientCase->id, 'ver'=>$patientCase->ver); }/*}}}*/
public function setDoctorPatientRefClose($request, $response) { /*{{{*/ $refId = $request->refId; $close = $request->close; $ticketId = $request->ticketId; $ref = DAL::get()->find('doctorpatientref', $refId); if (false == $ref->isNull()) { DoctorPatientPostClient::getInstance()->setDoctorPatientRefClose($this->curInspector, $refId, $close); $patientSignin = DAL::get()->find_by_patientid_and_spaceid('PatientSignin', $ref->patient->id, $ref->space->id); if (DoctorPatientRef::STATUS_CLOSED == $close && false == $patientSignin->isNull()) { PatientClubClient::getInstance()->deleteDynamicPostByPost($patientSignin->id, 'PatientSignin'); } } if (empty($ticketId)) { $response->setRedirect($response->router->urlfor('nfsaudit/notalk', array('c' => 'nfsaudit', 'a' => 'notalk', 'refId' => $refId))); } else { $response->setRedirect($response->router->urlfor('nfsaudit/nexttask', array('c' => 'nfsaudit', 'a' => 'nexttask', 'ticketId' => $ticketId))); } }
public function updateStatus($request, $response) { /*{{{*/ $ids = $request->ids; if (!is_array($ids)) { $ids = array($ids); } $spaces = DAL::get()->find('Space', $ids); foreach ($ids as $id) { $space = $spaces[$id]; $this->buildBookingTask($id, $space, $request->arg); if ($space->updateStatus == 2) { PatientClubClient::getInstance()->sendDynamicPost4OffLine($space->id); } else { if ($space->updateStatus == 4) { PatientClubClient::getInstance()->addRadioMessage4OnLine($space->id); } } } $response->id = implode(' ', $ids); $response->result = $request; $response->actionDesc = "更新/设置 空间"; $response->_my_template = '/default/processmsg'; }
public function ajaxAddPatientCase($request, $response) { /*{{{*/ $doctorOwnerId = $request->doctorOwnerId; $doctorOwner = DAL::get()->find("doctorowner", $doctorOwnerId); DBC::requireFalse($doctorOwner->isNull(), 'doctorOwner不存在'); $status = PatientCase::STATUS_COMPLETE; $patientCase = $this->createPatienCase($doctorOwner, $request); if ($patientCase->isNull()) { echo json_encode(array('success' => 0)); return parent::DIRECT_OUTPUT; } $groupId = $request->groupId; $group = DAL::get()->find('regroup', $groupId); if ($group->isNull()) { $unGroup = DAL::get()->find_by_doctorownerid_and_type('regroup', $doctorOwner->id, ReGroup::TYPE_2); $groupId = $unGroup->id; } if ($groupId > 0) { PatientClubClient::getInstance()->updateMember($doctorOwner->user->id, $patientCase->id, $groupId, ReGroupMember::MEMBER_PATIENT_TYPE_MYINPUT, ReGroupPatientCaseMember::ATTENTION_FALSE); } $patientCourse = $this->createPatientCourse($patientCase, $request); if ($patientCourse->isNull()) { echo json_encode(array('success' => 0)); return parent::DIRECT_OUTPUT; } echo json_encode(array('success' => 1, 'msg' => $response->router->urlfor('outpatienttool/patientcaseinput', array('doctorId' => $doctorOwner->source->id)))); return parent::DIRECT_OUTPUT; }
public function updateIsAttention($request, $response) { /*{{{*/ $memberId = $request->memberId; $type = $request->type ? 'patient' : 'patientcase'; $updateMemberId = PatientClubClient::getInstance()->updateIsAttention($memberId, $type); if ($updateMemberId == $memberId) { echo 'success'; } else { echo 'failure'; } return self::DIRECT_OUTPUT; }
/** 拒绝申请 */ public function refuse($request, $response) { $patient_id = $request->getRequest('space_patient_id', 0); PatientClubClient::getInstance()->refuse($patient_id); $this->message('患者已经被拒绝', $response); }
*/ error_reporting(0); header('Cache-Control: private;'); include_once($base.'/../config/config.php'); require(dirname(__FILE__).'/../assembly.php'); DAL::get()->setUp('usercenter'); $user_id = isset($_COOKIE['userinfo']['id'])?$_COOKIE['userinfo']['id']:0; $code_version = 1; $msgCount = 0; $msg = array('id' => 0, 'title' => '', 'content' => '', 'sender' => '', 'senderId' => 0); $msgNext = 0; if ($user_id > 0) { //触发站内信 PatientClubClient::getInstance()->createOffLineStationletter($user_id); $user = DAL::get()->find('user', $user_id); $msgClient = StationLetterClient::getInstance(); $msgCount = $msgClient->getUnreadMsgCount($user_id); $msgCount = (is_array($msgCount)) ? 0 : $msgCount; $username = ($_COOKIE['userinfo']['ver'] == '2.0') ? iconv('UTF-8', 'GBK', $_COOKIE['userinfo']['name']) : $_COOKIE['userinfo']['name']; $time = isset($_COOKIE['userinfo']['time'])?$_COOKIE['userinfo']['time']:0; //给用户发1月19号故障说明的站内信, 过了1月30号就不发了 by qzl //$msgClient->sendApologyLetterFor0119($user_id); if ($msgCount > 0) { $msg_alt = $msgClient->getNextUnreadMsg($user_id); if ($msg_alt) $msg = $msg_alt; //var_dump($msg); if ($msg['id']) {