664 lines
22 KiB
PHP
664 lines
22 KiB
PHP
<?php
|
||
|
||
namespace app\api\controller;
|
||
|
||
use think\Db;
|
||
use app\common\model\TabConf;
|
||
use wanghua\general_utility_tools_php\file\upload\FileUpload;
|
||
use wanghua\general_utility_tools_php\http\Curl;
|
||
use wanghua\general_utility_tools_php\tool\Tools;
|
||
use wanghua\general_utility_tools_php\Validate;
|
||
use think\Controller;
|
||
|
||
class Ttmedicalreport extends BaseHttpApi
|
||
{
|
||
protected $controller_comments = '疼痛科病历报告(听译问诊)(一个基本信息对应一个报告)';
|
||
|
||
/**
|
||
* desc:获取疼痛科病历报告(一个基本信息对应一个报告)
|
||
*
|
||
* api/Ttmedicalreport/getTtmedicalreportDetail
|
||
*
|
||
* 参数:
|
||
* hdruserbaseinfo_id 统一基本信息 统一基本信息 必须
|
||
*
|
||
* 所有字段说明<span style="color: gray">(可能有部分额外字段未在此体现)</span>:
|
||
* 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 科室
|
||
*
|
||
* 所有字段说明<span style="color: gray">(可能有部分额外字段未在此体现)</span>:
|
||
* 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 .= <<<EOF
|
||
//\n【主诉】:$main_complaint
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【主诉】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($medical_history){
|
||
$data['medical_history'] = $medical_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【病史】:$medical_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【病史】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($personal_history){
|
||
$data['personal_history'] = $personal_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【个人史】:$personal_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【个人史】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($menstrual_marital_history){
|
||
$data['menstrual_marital_history'] = $menstrual_marital_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【婚姻史】:$menstrual_marital_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【婚姻史】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($family_history){
|
||
$data['family_history'] = $family_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【家族史】:$family_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【家族史】:无
|
||
//EOF;
|
||
}
|
||
if($diagnosis){
|
||
$data['diagnosis'] = $diagnosis;
|
||
// $report_content .= <<<EOF
|
||
//\n【诊断】:$diagnosis
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【诊断】:无
|
||
//EOF;
|
||
}
|
||
|
||
|
||
|
||
|
||
if($past_history){
|
||
$data['past_history'] = $past_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【既往史】:$past_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【既往史】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($allergy_history){
|
||
$data['allergy_history'] = $allergy_history;
|
||
// $report_content .= <<<EOF
|
||
//\n【过敏史】:$allergy_history
|
||
//EOF;
|
||
// }else{
|
||
// $report_content .= <<<EOF
|
||
//\n【过敏史】:无
|
||
//EOF;
|
||
}
|
||
|
||
if($treatment){
|
||
$data['treatment'] = $treatment;
|
||
}
|
||
|
||
if($report_content){
|
||
$data['report_content'] = $report_content;
|
||
}
|
||
|
||
$dataid = Db::table(TabConf::$fa_tt_medical_report)
|
||
->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());
|
||
}
|
||
}
|
||
|
||
} |