@ -9,95 +9,135 @@ use Illuminate\Support\Facades\DB;
class ReportController extends Controller
class ReportController extends Controller
{
{
public function GetReportList(){
public function GetReportList()
$openid =request('openid');
{
if(!isset($openid)) return \Yz::echoError1("openid不能为空");
$openid = request('openid');
$user = DB::table('web_users')->where(['openid' => $openid, 'status' => 1, 'is_del' => 0])->first();
if (!isset($openid)) return \Yz::echoError1("openid不能为空");
if (!$user) return \Yz::echoError1('用户不存在');
$user = DB::table('web_users')->where(['openid' => $openid, 'status' => 1, 'is_del' => 0])->first();
$persons=DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->pluck('id_number')->toArray();
if (!$user) return \Yz::echoError1('用户不存在');
$persons = DB::table('web_user_person')->where(['user_id' => $user->id, 'is_del' => 0])->pluck('id_number')->toArray();
$list=DB::table('report_l1_records')->select('姓名','性别','登记时间','套餐名称','体检号','体检状态','is_read')->whereIn('证件号码',$persons)->get();
return \Yz::Return(true,"查询完成",['list'=>$list]);
$list = DB::table('report_l1_records')->select('姓名', '性别', '登记时间', '套餐名称', '体检号', '体检状态', 'is_read')->whereIn('证件号码', $persons)->get();
}
return \Yz::Return(true, "查询完成", ['list' => $list]);
public function GetReportJieLunJianYi()
}
{
$YiBanJianChaList=[
public function GetReportJieLunJianYi()
['name'=>"身高(cm)",
{
'code'=>"SG"],
$YiBanJianChaList = [
['name'=>"体重(kg)",
['name' => "身高(cm)",
'code'=>"TZ"],
'code' => "SG"],
['name'=>"收缩压",
['name' => "体重(kg)",
'code'=>"XY(SSY)"],
'code' => "TZ"],
['name'=>"血红蛋白",
['name' => "收缩压",
'code'=>"BXBSM"],
'code' => "XY(SSY)"],
];
['name' => "血红蛋白",
$tijian_num =request('tijian_num');
'code' => "BXBSM"],
$report=DB::table('report_l1_records as a')->where(['a.体检号'=>$tijian_num])->first();
];
if(!!$report){
$tijian_num = request('tijian_num');
if($report->体检状态=='报告未出') return \Yz::echoError1("此报告暂时未出");
$report = DB::table('report_l1_records as a')->where(['a.体检号' => $tijian_num])->first();
$items=DB::table('report_l2_items as b')->leftJoin('report_l3_base_items as c' ,'b.id','=','c.report_l2_id')->where(['b.reprort_l1_id'=>$report->id])->get();
if (!!$report) {
$v_error_items=[];
if ($report->体检状态 == '报告未出') return \Yz::echoError1("此报告暂时未出");
$error_items=[];
$items = DB::table('report_l2_items as b')->leftJoin('report_l3_base_items as c', 'b.id', '=', 'c.report_l2_id')->where(['b.reprort_l1_id' => $report->id])->get();
$base_items=[];
$v_error_items = [];
foreach($items as $item){
$error_items = [];
foreach ($YiBanJianChaList as $ybitem) {
$base_items = [];
if($item->基础项目代码==$ybitem['code']){
foreach ($items as $item) {
$base_items[]=[
foreach ($YiBanJianChaList as $ybitem) {
'name'=>$ybitem['name'],
if ($item->基础项目代码 == $ybitem['code']) {
'value'=>$item->结果值,
$base_items[] = [
];
'name' => $ybitem['name'],
}
'value' => $item->结果值,
}
];
if($item->异常标识!=null and $item->异常标识!=''){
$error_items[]=$item;
}
}
}
}
if ($item->异常标识 != null and $item->异常标识 != '') {
$info=[];
$error_items[] = $item;
$info['name']=$report->姓名;
}
$info['base_date']=$base_items;
}
$info['items']=[
'all_count'=>count($items),
$info = [];
'ipt_error_count'=>count($v_error_items),//重要异常数量
$info['name'] = $report->姓名;
'error_count'=>count($error_items),//异常数量
$info['base_date'] = $base_items;
$info['items'] = [
];
'all_count' => count($items),
$info['content']=$report->总检建议;
'ipt_error_count' => count($v_error_items),//重要异常数量
'error_count' => count($error_items),//异常数量
return \Yz::Return(true,"查询完成",['info'=>$info]);
}else{
];
return \Yz::echoError1("查询报告失败");
$info['content'] = $report->总检建议;
}
}
return \Yz::Return(true, "查询完成", ['info' => $info]);
//完整报告中的列表
} else {
return \Yz::echoError1("查询报告失败");
}
}
//完整报告中的列表
public function GetReportDetaiList()
public function GetReportDetaiList()
{
{
$tijian_num =request('tijian_num');
$tijian_num = request('tijian_num');
$report=DB::table('report_l1_records as a')->where(['a.体检号'=>$tijian_num])->first();
$report = DB::table('report_l1_records as a')->where(['a.体检号' => $tijian_num])->first();
if(!$report) return \Yz::echoError1("查询报告失败");
if (!$report) return \Yz::echoError1("查询报告失败");
if($report->体检状态=='报告未出') return \Yz::echoError1("此报告暂时未出");
if ($report->体检状态 == '报告未出') return \Yz::echoError1("此报告暂时未出");
$items=DB::table('report_l2_items as b')->leftJoin('report_l3_base_items as c' ,'b.id','=','c.report_l2_id')->where(['b.reprort_l1_id'=>$report->id])->get();
$items = DB::table('report_l2_items as b')->leftJoin('report_l3_base_items as c', 'b.id', '=', 'c.report_l2_id')->where(['b.reprort_l1_id' => $report->id])->get();
$list=[];
$list = [];
foreach($items as $item){
foreach ($items as $item) {
$ShouFeiName = $item->收费项目名称;
$ShouFeiName = $item->收费项目名称;
if (!isset($list[$ShouFeiName])) {
if (!isset($list[$ShouFeiName])) {
$error_count=0;
$error_count = 0;
$list[$ShouFeiName] = ['id'=>$item->report_l2_id,'error_count'=>$error_count];
$list[$ShouFeiName] = ['id' => $item->report_l2_id, 'error_count' => $error_count];
}
}
if($item->异常标识!=null and $item->异常标识!=''){
if ($item->异常标识 != null and $item->异常标识 != '') {
$error_count++;
$error_count++;
}
}
$list[$ShouFeiName] = ['id'=>$item->report_l2_id,'error_count'=>$error_count];
$list[$ShouFeiName] = ['id' => $item->report_l2_id, 'error_count' => $error_count];
}
}
return \Yz::Return(true,"查询完成",['list'=>$list]);
return \Yz::Return(true, "查询完成", ['list' => $list]);
}
}
public function GetReportDetai(){
$id =request('id');
$items=DB::table('report_l3_base_items')->where(['report_l2_id'=>$id])->get();
foreach ($items as $item){
public function GetReportDetai()
{
$id = request('id');
$l2 = DB::table('report_l2_items')->where(['id' => $id])->first();
$items = DB::table('report_l3_base_items')->where(['report_l2_id' => $id])->orderBy('基础项目顺序')->get();
if ($l2->科室类型 == 'PACS') {
$suojian = [];
$zhenduan = [];
foreach ($items as $item) {
$suojian[] = $item->所见;
$jielun[] = $item->结论;
}
if (count($items) > 0) {
return \Yz::Return(true, "查询完成", ['is_pacs'=>true,'suojian' => $suojian,'jielun' => $jielun]);
} else {
return \Yz::echoError1('此项暂无内容');
}
} else {
$error_items = [];
foreach ($items as $item) {
if ($item->异常标识 != null and $item->异常标识 != '') {
$m = '';
if ($item->异常标识 == '↓') {
$m = '低';
}
if ($item->异常标识 == '↑') {
$m = '高';
}
$error_items[] = $item->基础项目名称 . $m;
}
}
if (count($items) > 0) {
return \Yz::Return(true, "查询完成", ['is_pacs'=>false,'list' => $items, 'error_items' => $error_items]);
} else {
return \Yz::echoError1('此项暂无内容');
}
}
}
}
}
}
}