コード例 #1
0
ファイル: KDoctor.php プロジェクト: MedicalProjectto/medical
 function actionList()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit);
     if ($projectid = $this->get('projectid')) {
         $whArr = array('piid' => $this->get('piid'), 'projectid' => $projectid, 'hospitalid' => $this->get('hospitalid'), 'username%' => $this->get('username'));
         CFun::removeArrayNull($whArr);
         // print_r($whArr);
         $MProject = $this->LoadApiModelMedical('project');
         $patientArr = $MProject->getAppends('doctor', $whArr, $exArr);
         // print_r($patientArr);
         if (false !== $patientArr) {
             if (!empty($patientArr['data'])) {
                 foreach ($patientArr['data'] as &$r0001) {
                     $r0001['num_patient'] = $MProject->getCounts('patient', array('projectid' => $r0001['projectid'], 'doctorid' => $r0001['doctorid']));
                 }
             }
             $this->response($patientArr);
         }
     }
     $this->error('没有找到任何新医生信息');
 }
コード例 #2
0
ファイル: KPatient.php プロジェクト: MedicalProjectto/medical
 function actionAppend()
 {
     $userid = $this->userid;
     //医生的userid
     if ($this->isPost() && ($projectid = $this->post('projectid'))) {
         $postArr = $this->posts('patientid');
         //病人id序列
         $othArr = $this->posts('num_goal');
         $MProject = $this->LoadApiModelMedical('project');
         $MUser = $this->LoadApiModelMedical('user');
         $user = $MUser->getUser($userid);
         $role = intval($user['role']);
         $hospitalid = $user['hospitalid'];
         if ($role >= 10) {
             if ($role >= 20) {
                 $doctorid = $this->post('doctorid');
                 $doctorid = $doctorid ? $doctorid : $userid;
                 //相当于操作帮别人(doctorid)添加
             } else {
                 $doctorid = $userid;
             }
             if (($mobile = $this->post('mobile')) && ($idcard = $this->post('idcard'))) {
                 //直接添加
                 $userinfo = array('mobile' => $mobile, 'idcard' => $idcard, 'doctorid' => $this->post('doctorid', $userid), 'role' => -10, 'hospitalid' => $hospitalid, 'username' => $this->post('username'), 'plain' => substr($mobile, -6));
                 $userinfo = array_merge($userinfo, $this->posts('email,deptid,truename,sex,ethnic,birthplace,address,idcard,age,height,weight,tel,num_ill,date_in,date_out,deptname,avatar'));
                 CFun::removeArrayNull($userinfo, true);
                 // print_r($userinfo);exit;
                 $retArr = $MUser->addUser($userinfo);
                 // print_r($retArr);exit;
                 if (1 != $retArr['status']) {
                     $this->error('添加病人信息时失败:' . $retArr['message']);
                 }
                 $patientid = $retArr['user']['id'];
                 $postArr['patientid'] = array($patientid);
             }
             $ok = $MProject->appendPatient($projectid, $doctorid, $postArr);
         } else {
             $this->error('操作无权限');
         }
         if (false !== $ok) {
             $this->response($postArr);
         } else {
             $this->error('为项目添加病人失败或已添加过');
         }
     }
     $this->error('添加病人失败');
 }
コード例 #3
0
ファイル: KTpl.php プロジェクト: MedicalProjectto/medical
 function actionList()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit, 'join_detail' => true);
     if (1) {
         $whArr = array('kindid' => $this->get('kindid'), 'name%' => $this->get('name'));
         CFun::removeArrayNull($whArr);
         $MTpl = $this->LoadApiModelMedical('tpl');
         $tplArr = $MTpl->getTpls(null, $whArr, $exArr);
         if ($tplArr) {
             $this->response($tplArr);
         }
     }
     $this->error('没有找到任何模板');
 }
コード例 #4
0
ファイル: KProject.php プロジェクト: MedicalProjectto/medical
 function actionList()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit);
     if (1) {
         $whArr = array('hospitalid' => $this->get('hospitalid'), 'userid' => $this->get('userid'), 'status' => $this->get('status'));
         CFun::removeArrayNull($whArr);
         $MProject = $this->LoadApiModelMedical('project');
         $projectArr = $MProject->getProjects(null, $whArr, $exArr);
         // $this->dump($project);
         if ($projectArr) {
             $this->response($projectArr);
         }
     }
     $this->error('没有找到任何项目');
 }
コード例 #5
0
ファイル: KReport.php プロジェクト: MedicalProjectto/medical
 function actionList()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 10);
     $exArr = array('page' => $page, 'limit' => $limit);
     if ($tplid = $this->get('tplid')) {
         $whArr = array('userid' => $userid, 'patientid' => $this->get('patientid'));
         CFun::removeArrayNull($whArr);
         $MTpl = $this->LoadApiModelMedical('tpl');
         $reportArr = $MTpl->getTplReports($tplid, $whArr, $exArr);
         // $this->dump($reportArr);
         if (false !== $reportArr) {
             $this->response($reportArr);
         }
     }
     $this->error('尚未填写报告');
 }
コード例 #6
0
ファイル: KPi.php プロジェクト: MedicalProjectto/medical
 function actionList()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit);
     if ($projectid = $this->get('projectid')) {
         $whArr = array('projectid' => $projectid, 'hospitalid' => $this->get('hospitalid'), 'username%' => $this->get('username'));
         CFun::removeArrayNull($whArr);
         // print_r($whArr);
         $MProject = $this->LoadApiModelMedical('project');
         $patientArr = $MProject->getAppends('pi', $whArr, $exArr);
         // print_r($patientArr);
         if ($patientArr) {
             $this->response($patientArr);
         }
     }
     $this->error('没有找到任何新PI信息');
 }
コード例 #7
0
ファイル: KMessage.php プロジェクト: MedicalProjectto/medical
 function actionChat()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit, 'order' => 'id desc', 'fields' => 'id,userid,targetid friendid,content msg,ctime');
     //lastime
     if (1) {
         $MMessage = $this->LoadApiModel('message');
         $date = $this->get('date');
         list($date_start, $date_end) = CTime::DeltaMonths(-1);
         // echo "$date_start, $date_end";
         $date = $date ? $date : $date_start;
         $friendid = $this->get('id');
         if ($friendid) {
             //我与指定好友的消息(也就是我发给别人的)
             $whArr = array('type' => 0, 'targetid in' => array($friendid, $userid), 'removed>' => -1);
             $messArr = $MMessage->getMessages(null, $whArr, $exArr);
         } else {
             //别人发给我的
             $whArr = array('type' => 0, 'or' => array('userid' => $userid, 'targetid' => $userid), 'removed>' => -1);
             // $exArr['fields'] .= ',max(ctime) lastime';
             // $exArr['group']   = 'userid,targetid';
             $messArr = $MMessage->getLastMessages($userid, $page);
             // print_r($messArr);
             $messArr = array('data' => $messArr, 'total' => count($messArr));
         }
         CFun::removeArrayNull($whArr);
         // print_r($whArr);
         // print_r($messArr);
         if (false !== $messArr) {
             if (isset($messArr['data'])) {
                 $MUser = $this->LoadApiModelMedical('user');
                 $uid_fild = $friendid ? 'userid' : 'friendid';
                 $fid_arr = $this->getArrayColumn($messArr['data'], $uid_fild);
                 $userArr = $MUser->getUsers($fid_arr, null, array('limit' => count($fid_arr), 'only_data' => true, 'fields' => 'id,username,idcard,mobile'));
                 if ($friendid) {
                     $messArr['data'] = $this->joinToArray($messArr['data'], $userArr, 'userid:id', 'user');
                 } else {
                     $messArr['data'] = $this->joinToArray($messArr['data'], $userArr, 'friendid:id', 'user');
                 }
             }
             $this->response($messArr);
         }
     }
     $this->error('没有任何消息');
 }
コード例 #8
0
ファイル: KTerm.php プロジェクト: MedicalProjectto/medical
 function actionDetail()
 {
     //判断是否登入
     $userid = $this->userid;
     $termid = $this->get('id');
     $MTerm = $this->LoadApiModelMedical('term');
     if ($this->isPost() && $termid) {
         //更新profile
         $postArr = $this->posts('hospitalid,name,itype,vtype,editbypat');
         $values = $this->posts('id,val');
         // $termid  = $this->post('termid');
         CFun::removeArrayNull($values);
         $retArr = $MTerm->updateTerm($termid, $postArr, $values);
         if (!$retArr['status']) {
             $this->error('设置资料失败');
         }
     }
     $term = $MTerm->getTerm($termid, null, array('join_val' => true, 'join_cate' => true));
     // print_r($term);
     if ($term) {
         $this->response($term);
     }
     $this->error('获取资料失败');
 }
コード例 #9
0
ファイル: KUser.php プロジェクト: MedicalProjectto/medical
 public function actionJoined()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 20);
     $exArr = array('page' => $page, 'limit' => $limit, 'fields' => '^ctime', 'order' => 'id desc', 'join' => array('project' => 'projectid:id'));
     $role = $this->get('role');
     $q = $this->get('q');
     $whArr = array('patientid' => $userid);
     CFun::removeArrayNull($whArr);
     // print_r($whArr);
     $MProject = $this->LoadApiModelMedical('project');
     $dataArr = $MProject->getAppends('patient', $whArr, $exArr);
     // print_r($dataArr);
     if (is_array($dataArr)) {
         $this->response($dataArr);
     }
     $this->error('没有找到用户');
 }
コード例 #10
0
 function actionEntry()
 {
     $userid = $this->userid;
     //管理员的userid
     $page = $this->get('page', 1);
     $limit = $this->get('limit', 1000);
     $exArr = array('page' => $page, 'limit' => $limit, 'no_hospital' => 1, 'only_data' => true, 'fields' => '^ctime,hospitalid');
     if (!function_exists('__append_role')) {
         function __append_role(&$rowArr, $role, $uidfield)
         {
             if (!$rowArr) {
                 return $rowArr;
             }
             foreach ($rowArr as &$r0001) {
                 $r0001['role'] = $role;
                 $r0001['uid'] = $r0001[$uidfield];
             }
         }
     }
     $type = $this->rest(0);
     $typeArr = array('pi' => 20, 'doctor' => 10, 'patient' => -10);
     $flipArr = array_flip($typeArr);
     if (1) {
         $MUser = $this->LoadApiModelMedical('user');
         $user = $MUser->getUser($userid);
         $roleU = $user['role'];
         $hospitalid = $user['hospitalid'];
         $hospitalid = $this->get('hospitalid', $hospitalid, true);
         //获取所有项目
         $MProject = $this->LoadApiModelMedical('project');
         $projectidP = $projectid = $this->get('projectid');
         if (isset($typeArr[$type])) {
             $role = $typeArr[$type];
             $uidfield = $flipArr[$role] . 'id';
             $wh_app = array();
             if ($projectid) {
                 //获取指定项目的相关人员
                 // $pid_arr = array($projectid);
                 $project = $MProject->getProject($projectid);
                 if (!$project) {
                     $this->error('项目不存在');
                 }
                 $makerid = $project['userid'];
                 if ($roleU >= 80 || $makerid == $userid) {
                     $wh_app = array('projectid' => $projectid);
                 } else {
                     $wh_app = array('projectid' => $projectid, 'hospitalid' => $hospitalid);
                     if ($roleU <= 10 && $roleU > $role) {
                         $wh_app[$flipArr[$roleU] . 'id'] = $userid;
                     }
                 }
             } else {
                 //获取hospitalid下所有项目的相关人员
                 if (!isset($typeArr[$type])) {
                     $this->error('错误的请求');
                 }
                 $projArr = $MProject->getProjects(null, array('hospitalid' => $hospitalid, 'status' => 0), array('fields' => 'distinct id', 'keyas' => 'id', 'only_data' => true));
                 if (!$projArr) {
                     $this->error('没有活动项目存在');
                 }
                 $pid_arr = array_keys($projArr);
                 $wh_app = array('hospitalid' => $hospitalid, 'projectid in' => $pid_arr);
             }
             $wh_app['username%'] = $this->get('q');
             CFun::removeArrayNull($wh_app, true);
             // print_r($wh_app);
             $appendArr = $MProject->getAppends($type, $wh_app, $exArr);
             $uid_arr = $this->getArrayColumn($appendArr, $uidfield);
             __append_role($appendArr, $typeArr[$type], $uidfield);
         } else {
             if ($roleU >= 80) {
                 $wh_app = array('projectid' => $projectid);
             } else {
                 $wh_app = array('projectid' => $projectid, 'hospitalid' => $hospitalid);
             }
             $wh_app['username%'] = $this->get('q');
             CFun::removeArrayNull($wh_app, true);
             // print_r($wh_app);
             $appendArr1 = $MProject->getAppends('pi', $wh_app, $exArr);
             $appendArr2 = $MProject->getAppends('doctor', $wh_app, $exArr);
             $appendArr3 = $MProject->getAppends('patient', $wh_app, $exArr);
             __append_role($appendArr1, 20, 'piid');
             __append_role($appendArr2, 10, 'doctorid');
             __append_role($appendArr3, -10, 'patientid');
             $appendArr = array_merge($appendArr1, $appendArr2, $appendArr3);
             $uid_arr1 = $this->getArrayColumn($appendArr, 'piid');
             $uid_arr2 = $this->getArrayColumn($appendArr, 'doctorid');
             $uid_arr3 = $this->getArrayColumn($appendArr, 'patientid');
             $uid_arr = array_merge($uid_arr1, $uid_arr2, $uid_arr3);
             $uid_arr = array_unique($uid_arr);
         }
         if (false !== $appendArr) {
             if ($appendArr) {
                 $pid_arr = $this->getArrayColumn($appendArr, 'projectid');
                 $projectArr = $MProject->getProjects($pid_arr, null, array('only_data' => true, 'fields' => '^notice,remark,status,hospitalid,fullname,opendate,closedate'));
                 // print_r($projectArr);
                 $appendArr = $this->joinToArray($appendArr, $projectArr, 'projectid:id', 'project');
                 $userArr = $MUser->getUsers($uid_arr, null, array('only_data' => true, 'limit' => count($uid_arr), 'fields' => 'id,idcard,mobile,tel,age,username,height,weight,ethnic,avatar'));
                 $appendArr = $this->joinToArray($appendArr, $userArr, 'uid:id', 'user');
             }
             $this->response($appendArr);
         }
     }
     $this->error('没有找到用户信息');
 }