录医案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

283 lines
9.9 KiB

9 months ago
<?php
/**
*
*/
include_once(dirname(dirname(__FILE__))."/library/publicBase.php");
class index extends publicBase {
public function home() {
$id = $this->get('id');
$mCase = new mCase();
$data = $mCase->getCaseInfo($id);
$this->view['data'] = $data;
$this->setViewFormat('html');
$this->setViewTpl('index/home.html');
}
public function ajax_save_case() {
$name = $this->post('name');
$source = $this->post('source');
9 months ago
$original = $this->post('original');
$method = $this->post('method');
$herbs = $this->post('herbs');
//新增药方
$mCase = new mCase();
$id = $mCase->createCase($name, $source, $original, $method, $herbs);
if (!$id) $this->ajax_json(false, $mCase->getError());
$this->ajax_json(true, '添加成功');
}
public function ajax_update_case() {
$id = $this->post('id');
$name = $this->post('name');
$source = $this->post('source');
$original = $this->post('original');
$method = $this->post('method');
$herbs = $this->post('herbs');
$mCase = new mCase();
$res = $mCase->updateCase($id, $name, $source, $original, $method, $herbs);
if (!$res) $this->ajax_json(false, $mCase->getError());
$this->ajax_json(true, '保存成功');
9 months ago
}
public function ajax_search() {
9 months ago
$content = $this->post('content');
9 months ago
if(empty($content))$this->ajax_json(false, '非法请求');
9 months ago
$start = $this->post('start') ? $this->post('start') : 0;
9 months ago
$pagesize = $this->post('pagesize') ? $this->post('pagesize') : 500;
9 months ago
9 months ago
$mCase = new mCase();
$data = $mCase->getCaseByName($content,$start,$pagesize);
9 months ago
$this->ajax_json(true, '获取成功', $data);
}
public function ajax_case_detail() {
9 months ago
$id = $this->get('id');
9 months ago
if(empty($id))$this->ajax_json(false, '非法请求');
9 months ago
$mCase = new mCase();
$data = $mCase->getCaseInfo($id);
9 months ago
if (empty($data)) $this->ajax_json(false, $mCase->getError());
9 months ago
$this->ajax_json(true, '获取成功', $data);
}
public function ajax_save_user_case() {
9 months ago
$uid = $this->post('uid');
$token = $this->post('token');
9 months ago
if(empty($uid) || empty($token))$this->ajax_json(false, '非法请求');
9 months ago
$mUser = new mUser();
$is_login = $mUser->validateToken($uid,$token);
if(!$is_login)$this->ajax_json(false, '请登录后操作');
$mUserCase = new mUserCase();
$name = $this->post('name');
if(empty($name)) $this->ajax_json(false, '药方名称不能为空');
$id = $this->post('id');
if($id){
$data = array(
'uid' => $uid,
'name' => $_POST['name'],
'feedback' => $_POST['feedback'],
);
$res = $mUserCase->updateUserCase($id,$data);
if(!$res)$this->ajax_json(false, $mUserCase->getError());
$this->ajax_json(true, '保存成功');
}
$case_id = $this->post('case_id');
$patient_name = $this->post('patient_name');
$patient_age = $this->post('patient_age')+0;
$patient_sex = $this->post('patient_sex')+0;
$prescribe_num = $this->post('prescribe_num')+0;
$prescribe_herb = $this->post('prescribe_herb');
$patient_say = $this->post('patient_say');
$first_diagnosis = $this->post('first_diagnosis');
$diagnosis = $this->post('diagnosis');
if(empty($case_id)) $this->ajax_json(false, '找不到相关药方');
if(empty($patient_name)) $this->ajax_json(false, '患者姓名不能为空');
if(empty($patient_age)) $this->ajax_json(false, '患者年龄不能为空');
if(empty($prescribe_num)) $this->ajax_json(false, '开药数量不能为空');
if(empty($prescribe_herb)) $this->ajax_json(false, '开药详情不能为空');
if(empty($patient_say)) $this->ajax_json(false, '主诉不能为空');
if(empty($first_diagnosis)) $this->ajax_json(false, '舌诊脉诊不能为空');
if(empty($diagnosis)) $this->ajax_json(false, '诊断不能为空');
$prescribe_herb = $mUserCase->formatUserCaseHerbs($uid, $prescribe_herb);
if(!$prescribe_herb)$this->ajax_json(false, $mUserCase->getError());
$data = array(
'name' => $name,
'patient_name' => $patient_name,
'patient_age' => $patient_age,
'patient_sex' => $patient_sex,
'patient_say' => $patient_say,
'first_diagnosis' => $first_diagnosis,
'diagnosis' => $diagnosis,
'prescribe_num' => $prescribe_num,
'prescribe_herb' => $prescribe_herb,
'case_id' => $case_id,
'uid' => $uid,
);
$id = $mUserCase->createUserCase($data);
if(!$id)$this->ajax_json(false, '保存失败');
//更新药方使用次数 这个后期会增加定时脚本去修正
$mCase = new mCase();
$mCase->updateCaseSearchNum($id);
$this->ajax_json(true, '保存成功',array('id' => $id));
9 months ago
}
9 months ago
public function ajax_user_case() {
9 months ago
$uid = $this->post('uid');
$token = $this->post('token');
9 months ago
if(empty($uid) || empty($token))$this->ajax_json(false, '非法请求');
9 months ago
$mUser = new mUser();
$is_login = $mUser->validateToken($uid,$token);
if(!$is_login)$this->ajax_json(false, '请登录后操作');
$start = $this->post('start') ? $this->post('start') : 0;
$pagesize = $this->post('pagesize') ? $this->post('pagesize') : 500;
$mUserCase = new mUserCase();
9 months ago
$id = $this->post('id');
9 months ago
if($id){
9 months ago
$data = $mUserCase->getUserCaseInfo($id, $uid);
if(!$data)$this->ajax_json(false, $mUserCase->getError());
$this->ajax_json(true, '获取成功', $data);
9 months ago
}
9 months ago
$data = $mUserCase->getUserCaseList($uid, $start, $pagesize);
9 months ago
$this->ajax_json(true, '获取成功', $data);
}
public function ajax_collect_log() {
9 months ago
$start = $this->get('start') ? $this->get('start') : 0;
9 months ago
$pagesize = $this->get('pagesize') ? $this->get('pagesize') : 500;
9 months ago
9 months ago
$mCase = new mCase();
$data = $mCase->getCollectLog($start,$pagesize);
9 months ago
$this->ajax_json(true, '获取成功', $data);
}
public function ajax_login(){
9 months ago
$code = $this->get('code');
9 months ago
if(!$code)$this->ajax_json(false, '非法请求');
9 months ago
$mUser = new mUser();
$openid = $mUser->getOpenid($code);
if(!$openid)$this->ajax_json(false, $mUser->getError());
$user = $mUser->getUserByOpenid($openid);
if($user){
$data = array(
'uid' => $user['uid'],
'token'=> $mUser->getToken($user['uid']),
);
$this->ajax_json(true, '登录成功', $data);
}
//获取唯一uid串
$uid = $mUser->createUniqueUid($openid);
$user = $mUser->getUserByUid($uid);
if($user)$this->ajax_json(false, 'uid生成失败');
$id = $mUser->createUser(array('uid'=>$uid,'openid'=>$openid));
if(!$id)$this->ajax_json(false, '用户创建失败');
9 months ago
$data = array(
9 months ago
'uid' => $uid,
'token'=> $mUser->getToken($uid),
9 months ago
);
$this->ajax_json(true, '登录成功', $data);
}
public function ajax_contact_us(){
$this->ajax_json(true, '获取成功',array('img_url'=> CONTACT_US_IMG_URL));
}
public function ajax_pdf_url(){
9 months ago
$uid = $this->post('uid');
$token = $this->post('token');
if(empty($uid) || empty($token))$this->ajax_json(false, '非法请求');
9 months ago
9 months ago
$mUser = new mUser();
$is_login = $mUser->validateToken($uid,$token);
if(!$is_login)$this->ajax_json(false, '请登录后操作');
$mUserCase = new mUserCase();
$id = $this->post('id');
if($id){
$data = $mUserCase->getUserCaseInfo($id, $uid);
if (!$data) $this->ajax_json(false, $mUserCase->getError());
$pdf_url = $mUserCase->createUserCasePdf($uid, $data);
$this->ajax_json(true, '获取成功',array('pdf_url'=> $pdf_url));
}
//如果id不存在默认保存前500个医案
$start = $this->post('start') ? $this->post('start') : 0;
$pagesize = $this->post('pagesize') ? $this->post('pagesize') : 500;
$data = $mUserCase->getUserCaseList($uid, $start, $pagesize, true);
if (!$data) $this->ajax_json(false, $mUserCase->getError());
$pdf_url = $mUserCase->createUserCasePdf($uid, $data);
$this->ajax_json(true, '获取成功',array('pdf_url'=> $pdf_url));
9 months ago
}
public function ajax_mail(){
9 months ago
$uid = $this->post('uid');
$token = $this->post('token');
if(empty($uid) || empty($token))$this->ajax_json(false, '非法请求');
9 months ago
9 months ago
$mUser = new mUser();
$is_login = $mUser->validateToken($uid,$token);
if(!$is_login)$this->ajax_json(false, '请登录后操作');
$email = $this->post('email');
if(empty($email))$this->ajax_json(false, '邮箱地址不能为空');
if(!filter_var($email, FILTER_VALIDATE_EMAIL))$this->ajax_json(false, '邮箱地址无效');
$pdf_url = $this->post('pdf_url');
if(empty($pdf_url))$this->ajax_json(false, 'pdf地址不能为空');
if(!filter_var($pdf_url, FILTER_VALIDATE_URL))$this->ajax_json(false, 'pdf地址无效');
$directory_name = basename(dirname($pdf_url));
if($directory_name != $uid)$this->ajax_json(false, '非法请求');
$mUserCase = new mUserCase();
$res = $mUserCase->sendMail(array($email),date('Y年m月d日',time()).'-医案导出','',sprintf(USER_CASE_PDF_PATH, $uid) . basename($pdf_url));
if(!$res)$this->ajax_json(true, '发送失败');
9 months ago
$this->ajax_json(true, '发送成功');
}
}