(可能有部分额外字段未在此体现):
* id ID
* userbaseid 基本信息ID
* doctor 所属医生
* username 病人
* report_content 报告内容
* name 病人姓名
* phone 病人电话
* from 来源:num_per=数智人,ty=听译助手,h5=h5网页问诊
* create_time 生成时间
* ticket 对话票据(数据隔离)
* hdruserbaseinfo_id 统一基本信息
* author:wh
*/
function getTtmedicalreportDetail(){
Tools::log_to_write_txt(['获取疼痛科病历报告(一个基本信息对应一个报告) 入参:'=>input()]);
$api_desc = '获取疼痛科病历报告(一个基本信息对应一个报告)';
try {
$hdruserbaseinfo_id = input('hdruserbaseinfo_id');
if(empty($hdruserbaseinfo_id)){
return json(Tools::set_fail('hdruserbaseinfo_id参数错误'));
}
$model_obj = Db::table(TabConf::$fa_tt_medical_report);
if(input('hdruserbaseinfo_id')){
$model_obj->where('hdruserbaseinfo_id',input('hdruserbaseinfo_id'));
}
$item = $model_obj->find();
$data = $item;
return json(Tools::set_ok('ok',$data));
}catch(\Exception $e){
Tools::log_to_write_txt([
'error'=>'获取疼痛科病历报告(一个基本信息对应一个报告).异常.'.$e->getMessage(),
'参数'=>input(),
'error_info'=>$e->getTraceAsString()
]);
return json(Tools::set_res(500,'操作异常',[]));
}
}
/**
* desc:根据id查询报告
*
* reportid 报告id
*
* api/Ttmedicalreport/getTtmedicalreportDetailbyId
* author:wh
*/
function getTtmedicalreportDetailbyId(){
Tools::log_to_write_txt(['根据id查询报告 入参:'=>input()]);
$api_desc = '根据id查询报告';
try {
$reportid = input('reportid');
if(empty($reportid)){
return json(Tools::set_fail('reportid参数错误'));
}
$model_obj = Db::table(TabConf::$fa_tt_medical_report);
$model_obj->where('id',$reportid);
$item = $model_obj->find();
$data = $item;
return json(Tools::set_ok('ok',$data));
}catch(\Exception $e){
Tools::log_to_write_txt([
'error'=>'根据id查询报告.异常.'.$e->getMessage(),
'参数'=>input(),
'error_info'=>$e->getTraceAsString()
]);
return json(Tools::set_res(500,'操作异常',[]));
}
}
/**
* desc:获取疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)
*
* api/Ttmedicalreport/getTtmedicalreportList
*
* 参数:
* 带分页
* current_page 当前页码
* list_rows 每页显示条数 默认15
* userbaseid 基本信息ID
* doctor 所属医生
* username 病人
* report_content 报告内容
* name 病人姓名
* phone 病人电话
* from 来源:num_per=数智人,ty=听译助手,h5=h5网页问诊
* hdruserbaseinfo_id 统一基本信息
* hdrdepartment_id 科室
*
* 所有字段说明(可能有部分额外字段未在此体现):
* id ID
* userbaseid 基本信息ID
* doctor 所属医生
* username 病人
* report_content 报告内容
* name 病人姓名
* phone 病人电话
* from 来源:num_per=数智人,ty=听译助手,h5=h5网页问诊
* create_time 生成时间
* ticket 对话票据(数据隔离)
* hdruserbaseinfo_id 统一基本信息
* hdrdepartment_id 科室
* author:wh
*/
function getTtmedicalreportList(){
Tools::log_to_write_txt(['获取疼痛科病历报告(听译问诊)(一个基本信息对应一个报告) 入参:'=>input()]);
$api_desc = '获取疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)';
try {
$userbaseid = input('userbaseid');
$doctor = input('doctor');
$username = input('username');
$report_content = input('report_content');
$name = input('name');
$phone = input('phone');
$from = input('from');
$hdruserbaseinfo_id = input('hdruserbaseinfo_id');
$hdrdepartment_id = input('hdrdepartment_id');
$status = input('status');
$model_obj = Db::table(TabConf::$fa_tt_medical_report);
if(input('userbaseid')){
$model_obj->where('userbaseid',input('userbaseid'));
}
if(isset($status)){
$model_obj->where('status',$status);
}
if(input('doctor')){
$model_obj->where('doctor',input('doctor'));
}
if(input('username')){
$model_obj->where('username',input('username'));
}
if(input('report_content')){
$model_obj->where('report_content',input('report_content'));
}
if(input('name')){
$model_obj->where('name',input('name'));
}
if(input('phone')){
$model_obj->where('phone',input('phone'));
}
if(input('from')){
$model_obj->where('from',input('from'));
}
if(input('hdruserbaseinfo_id')){
$model_obj->where('hdruserbaseinfo_id',input('hdruserbaseinfo_id'));
}
if(input('hdrdepartment_id')){
$model_obj->where('hdrdepartment_id',input('hdrdepartment_id'));
}
$data = $model_obj->paginate(['page'=>input('current_page',1),'list_rows'=>input('list_rows',15)])
->each(function($item, $key){
return $item;
});
Tools::log_to_write_txt(['查询sql:'=>$model_obj->getLastSql()]);
// ['total'] => int(30)
// ['per_page'] => int(15)
// ['current_page'] => int(1)
// ['last_page''] => int(2)
$data = $data->toArray();//包含 data列表
return json(Tools::set_ok('ok',$data));
}catch(\Exception $e){
Tools::log_to_write_txt([
'error'=>'获取疼痛科病历报告(听译问诊)(一个基本信息对应一个报告).异常.'.$e->getMessage(),
'参数'=>input(),
'error_info'=>$e->getTraceAsString()
]);
return json(Tools::set_res(500,'操作异常',[]));
}
}
/**
* 新增疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)
*
* 参数:
* userbaseid 基本信息ID
* doctor 所属医生 【必须】
* username 医生电话(账号) 【必须】
* report_content 报告内容
* name 病人姓名 【必须】
* phone 病人电话 【必须】
* from 来源:num_per=数智人,ty=听译助手,h5=h5网页问诊,doc_add=医生添加 【必须】
* ticket 对话票据(数据隔离) 【必须】
* qa_type 问答模式:free=自由问答,fix=固定问答 【必须】
* hdruserbaseinfo_id 统一基本信息 【必须】
* hdrdepartment_id 科室 【必须】
* uniqueid 唯一ID 【必须】
* api/Ttmedicalreport/addTtmedicalreport
*/
function addTtmedicalreport(){
Tools::log_to_write_txt(['新增疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)'=>input()]);
$api_desc = '新增疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)';
Db::startTrans();
try {
$userbaseid = input('userbaseid');
$doctor = input('doctor');
if(empty($doctor)){
return json(Tools::set_fail('参数错误.1',['error_msg'=>'错误信息:doctor错误']));
}
$username = input('username');
if(empty($username)){
return json(Tools::set_fail('参数错误.2',['error_msg'=>'错误信息:username错误']));
}
$report_content = input('report_content');
$name = input('name');
if(empty($name)){
return json(Tools::set_fail('参数错误.4',['error_msg'=>'错误信息:name错误']));
}
$phone = input('phone');
if(empty($phone)){
return json(Tools::set_fail('参数错误.5',['error_msg'=>'错误信息:phone错误']));
}
$from = input('from');
if(empty($from)){
return json(Tools::set_fail('参数错误.6',['error_msg'=>'错误信息:from错误']));
}
$ticket = input('ticket');
if(empty($ticket)){
return json(Tools::set_fail('参数错误.7',['error_msg'=>'错误信息:ticket错误']));
}
$qa_type = input('qa_type');
if(empty($qa_type)){
return json(Tools::set_fail('参数错误.8',['error_msg'=>'错误信息:qa_type错误']));
}
$hdruserbaseinfo_id = input('hdruserbaseinfo_id');
if(empty($hdruserbaseinfo_id)){
return json(Tools::set_fail('参数错误.9',['error_msg'=>'错误信息:hdruserbaseinfo_id错误']));
}
$hdrdepartment_id = input('hdrdepartment_id');
if(empty($hdrdepartment_id)){
return json(Tools::set_fail('参数错误.10',['error_msg'=>'错误信息:hdrdepartment_id错误']));
}
$uniqueid = input('uniqueid');
if(empty($uniqueid)){
return json(Tools::set_fail('参数错误.11',['error_msg'=>'错误信息:uniqueid错误']));
}
$gender = input('gender');
if(empty($gender)){
return json(Tools::set_fail('参数错误.5',['error_msg'=>'错误信息:gender错误']));
}
$age = input('age');
if(empty($age)){
return json(Tools::set_fail('参数错误.6',['error_msg'=>'错误信息:age错误']));
}
$data = [
'userbaseid'=>$userbaseid?:'',
'doctor'=>$doctor?:'',
'username'=>$username?:'',
'report_content'=>$report_content?:'',
'name'=>$name?:'',
'phone'=>$phone?:'',
'from'=>$from?:'',
'ticket'=>$ticket?:'',
'qa_type'=>$qa_type?:'',
'hdruserbaseinfo_id'=>$hdruserbaseinfo_id?:'',
'hdrdepartment_id'=>$hdrdepartment_id?:'',
'uniqueid'=>$uniqueid?:'',
'gender'=>$gender?:'',
'age'=>$age?:''
];
$dataid = Db::table(TabConf::$fa_tt_medical_report)->insertGetId($data);
//$this->operateLog('新增疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)',api_user_info('id'));
Db::commit();
return json(Tools::set_ok('ok',$dataid));
}catch (\Exception $e){
Db::rollback();
Tools::log_to_write_txt([
'error'=>'新增疼痛科病历报告(听译问诊)(一个基本信息对应一个报告).异常.'.$e->getMessage(),
'input'=>input(),
'error_info'=>$e->getTraceAsString()
]);
return json(Tools::set_fail());
}
}
/**
* 根据报告ID修改报告
* 参数:
* id ID 【必须】
* doctor 所属医生
* username 医生电话(账号)
* report_content 报告内容
* name 病人姓名
* phone 病人电话
* from 来源:num_per=数智人,ty=听译助手,h5=h5网页问诊,doc_add=医生添加
* qa_type 问答模式:free=自由问答,fix=固定问答
* hdruserbaseinfo_id 统一基本信息
* hdrdepartment_id 科室
* hdrdepartment 科室名称
* gender 病人性别
* age 病人年龄
* edu 教育程度
* career_year 职业及年限
* power 体力要求
* satisfaction 经济满意度
* old_career_year 过往职业及年限
* old_career_power 过往职业体力要求
* support 社会支持度
* marriage 婚姻状况
* live 居住情况
* home 家庭关系
* address 地址
* wechat_no 微信号
* is_flow 是否接受随访:yes=是,no=否
* diagnosis 诊断
* main_complaint 主诉
* medical_history 病史
* past_history 既往史
* allergy_history 过敏史
* family_history 家族史
* personal_history 个人史
* menstrual_marital_history 月经婚育史
* treatment 医嘱
* api/Ttmedicalreport/updateTtReportById
*
*/
function updateTtReportById(){
Tools::log_to_write_txt(['根据报告ID修改报告'=>input()]);
$api_desc = '根据报告ID修改报告';
Db::startTrans();
try {
$doctor = input('doctor');
$username = input('username');
$report_content = input('report_content');
$name = input('name');
$phone = input('phone');
$from = input('from');
$qa_type = input('qa_type');
$hdruserbaseinfo_id = input('hdruserbaseinfo_id');
$hdrdepartment_id = input('hdrdepartment_id');
$hdrdepartment = input('hdrdepartment');
$gender = input('gender');
$age = input('age');
$edu = input('edu');
$career_year = input('career_year');
$power = input('power');
$satisfaction = input('satisfaction');
$old_career_year = input('old_career_year');
$old_career_power = input('old_career_power');
$support = input('support');
$marriage = input('marriage');
$live = input('live');
$home = input('home');
$address = input('address');
$wechat_no = input('wechat_no');
$is_flow = input('is_flow');
$diagnosis = input('diagnosis');
$main_complaint = input('main_complaint');
$medical_history = input('medical_history');
$past_history = input('past_history');
$allergy_history = input('allergy_history');
$family_history = input('family_history');
$personal_history = input('personal_history');
$menstrual_marital_history = input('menstrual_marital_history');
$treatment = input('treatment');
if(empty(input('id'))){
return json(Tools::set_fail('参数错误。0',['error_msg'=>'错误信息:id错误']));
}
//存在则修改
$data = [];
if($doctor){
$data['doctor'] = $doctor;
}
if($username){
$data['username'] = $username;
}
if($name){
$data['name'] = $name;
}
if($phone){
$data['phone'] = $phone;
}
if($from){
$data['from'] = $from;
}
if($qa_type){
$data['qa_type'] = $qa_type;
}
if($hdruserbaseinfo_id){
$data['hdruserbaseinfo_id'] = $hdruserbaseinfo_id;
}
if($hdrdepartment_id){
$data['hdrdepartment_id'] = $hdrdepartment_id;
}
if($hdrdepartment){
$data['hdrdepartment'] = $hdrdepartment;
}
if($gender){
$data['gender'] = $gender;
}
if($age){
$data['age'] = $age;
}
if($edu){
$data['edu'] = $edu;
}
if($career_year){
$data['career_year'] = $career_year;
}
if($power){
$data['power'] = $power;
}
if($satisfaction){
$data['satisfaction'] = $satisfaction;
}
if($old_career_year){
$data['old_career_year'] = $old_career_year;
}
if($old_career_power){
$data['old_career_power'] = $old_career_power;
}
if($support){
$data['support'] = $support;
}
if($marriage){
$data['marriage'] = $marriage;
}
if($live){
$data['live'] = $live;
}
if($home){
$data['home'] = $home;
}
if($address){
$data['address'] = $address;
}
if($wechat_no){
$data['wechat_no'] = $wechat_no;
}
if($is_flow){
$data['is_flow'] = $is_flow;
}
if($main_complaint){
$data['main_complaint'] = $main_complaint;
// $report_content .= <<data($data)
->where('id',input('id'))
->update();
//$this->operateLog('根据报告ID修改报告',api_user_info('id'));
Db::commit();
//if($hdruserbaseinfo_id){
// $data['id'] = $hdruserbaseinfo_id;
// $url = request()->domain().'/api/Hdruserbaseinfo/updateHdruserbaseinfoById';
// Tools::log_to_write_txt(['修改基本信息'=>$data,'url'=>$url]);
// $res = Curl::curl_post($url,$data);
// Tools::log_to_write_txt(['修改基本信息返回,结束'=>$res]);
//}
return json(Tools::set_ok('ok',$dataid));
}catch (\Exception $e){
Db::rollback();
Tools::log_to_write_txt([
'error'=>'根据报告ID修改报告.异常.'.$e->getMessage(),
'input'=>input(),
'error_info'=>$e->getTraceAsString()
]);
return json(Tools::set_fail());
}
}
}