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

168 lines
5.3 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\API\PEISApiController;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class PersonController extends Controller
{
public function group_info($hospital, $data)
{
$peis = new PEISApiController();
$info = $peis::Post('团检登记查询', $hospital, $data);
$group_list=[];
foreach ($info['data'] as $it) {
$items = [];
$duoxuan_yi=[];
$group_info = $it;
if (isset($group_info['项目列表'])) {
foreach ($group_info['项目列表'] as $datum) {
$items[] = [
'id' => $datum['Id'],
'name' => $datum['名称'],
'pay_type'=>$datum['收费方式'],
];
}
}
if(isset($group_info['单位Id']) and !empty($group_info['单位Id']) and isset($group_info['分组Id']) and !empty($group_info['分组Id'])){
$items=[];
$peis = new PEISApiController();
$data=[
"单位Id"=>$group_info['单位Id']
];
$fenzu = $peis::Post('单位分组批次查询', 1, $data);
// Log::info(json_encode($fenzu,JSON_UNESCAPED_UNICODE));
if(empty($fenzu['data'])) break;
foreach ($fenzu['data'][0]['分组'] as $key => $value) {
if($value['Id']==$group_info['分组Id']){
$group_info['总计金额']=$value['价格'];
if (isset($value['包含项目信息'])) {
foreach ($value['包含项目信息'] as $datum) {
$items[] = [
'id' => $datum['Id'],
'name' => $datum['名称'],
'pay_type'=>$datum['收费方式'],
];
}
}
if(isset($value['包含多选一组'])){
//多选一
$duo_xuan_yi=[];
$N1=$value['包含多选一组'];
foreach ($N1 as $k=>$v){
$duo_xuan_yi[$k][]=[
'zu_name'=>$v['组名称'],
'item_list'=>[]
];
foreach ($v['包含项目'] as $k2=>$v2){
$duo_xuan_yi[$k]['item_list'][]=
[
'item_id' =>$v2['Id'],
'item_name' => $v2['名称'],
'price'=>$v2['价格']
];
}
}
$duoxuan_yi= $duo_xuan_yi;
}
break;
}
}
}
$checkup_type=DB::table('checkup_type')->where(['status'=>1,'is_del'=>0])->get();
$checkup_type_id=0;
foreach ($checkup_type as $ct) {
if($group_info['体检类型']==$ct->name){
$checkup_type_id=$ct->id;
}
}
$data=[
'name' => $group_info['姓名'],
'id_number' => $group_info['证件号码'],
'combo_name' => $group_info['套餐名称'],
'combo_id' => $group_info['套餐Id'],
'start_time' => $group_info['预约开始日期'],
'end_time' => $group_info['预约结束日期'],
'danwei_name' => $group_info['单位名称'],
'group_name' => $group_info['单位名称'] ,
'bumen_name' => $group_info['部门名称'],
'group_id' => $group_info['预约Id'],
'tongshou_xiane'=>$group_info['统收限额']==0?0.00:$group_info['统收限额'],
'sixi_zong_ji_jin_e'=>$group_info['总计金额'],
'danwei_id'=>$group_info['单位Id'],
'fenzu_id'=>$group_info['分组Id'],
'checkup_type_id'=>$checkup_type_id,
'items' => $items,
'duo_xuan_yi'=>$duoxuan_yi,
];
$group_list[]=$data;
}
return $group_list;
}
//团检登记查询根据身份证和电话查分组id
public function GetGroupUnit()
{
$phone = request('phone');
$id_number = request('id_number');
$hospital_id = request('hospital_id');
if (!isset($phone)) return \Yz::echoError1('电话不能为空');
if (!isset($id_number)) return \Yz::echoError1('身份证不能为空');
if (!isset($hospital_id)) return \Yz::echoError1('医院id不能为空');
$data = [
'电话号码' => null,
'证件号码' => $id_number
];
$res = self::group_info($hospital_id, $data);
$dbinfo=DB::table('web_user_person')->where(['phone'=>$phone,'id_number'=>$id_number])->first();
$list=[];
if(!!$dbinfo){
foreach ($res as $key => $value) {
//dd($res[$key]);
$res[$key]['sex']=$dbinfo->sex;
$res[$key]['phone']=$dbinfo->phone;
$res[$key]['married']=$dbinfo->married ;
if($value['end_time']>=date('Y-m-d')){
$list[]= $res[$key];
}
}
}
return \Yz::Return(true,"查询完成",['unit'=>$list]);
}
//获取团检套餐
public function GetGroupCombo()
{
$hospital_id = request('hospital_id');
$group_id = request('group_id');
if (!isset($group_id)) return \Yz::echoError1('group_id不能为空');
$data = [
'电话号码' => null,
'证件号码' => null,
'预约Id'=>$group_id
];
$res = self::group_info($hospital_id, $data);
if($res[0]['fenzu_id']=="") return \Yz::echoError1("用户分组不能为空");
return \Yz::Return(true,"查询完成",['unit'=>$res]);
}
}