更新到检接口

main
yanzai 1 year ago
parent 16bad4b6fb
commit 02ea930740

@ -15,97 +15,105 @@ class OrderController extends Controller
$password = request('password'); $password = request('password');
$serve_id = request('serve_id'); $serve_id = request('serve_id');
$exam_id = request('exam_id'); $exam_id = request('exam_id');
if(!isset($exam_id) or empty($exam_id)) return \Yz::echoError1("体检号不能为空");
if ($password !== 'YRtA1rx1iWgbpYKX') return \Yz::echoError1("校验密码失败"); if ($password !== 'YRtA1rx1iWgbpYKX') return \Yz::echoError1("校验密码失败");
if (isset($serve_id) and !empty($serve_id) and $serve_id <> '') { //到检通知 if (isset($serve_id) and !empty($serve_id) and $serve_id <> '') { //到检通知
$orderInfo = DB::table('orders')->where('appointment_number', $serve_id)->orderBy('id', 'desc')->first(); $orderInfo = DB::table('orders')->where('appointment_number', $serve_id)->orderBy('id', 'desc')->first();
if (!$orderInfo) return \Yz::echoError1("未找到有效订单"); if (!$orderInfo){
if (!!$exam_id) { return $this->CreateOrder($exam_id);
if ($orderInfo->status == 1) return \Yz::echoError1("订单未付款"); }else{
if ($orderInfo->status == 3) return \Yz::echoError1("订单已取消"); if (!!$exam_id) {
if ($orderInfo->status == 4 || $orderInfo->check_status == 2) return \Yz::echoError1("人员已经到检"); if ($orderInfo->status == 1) return \Yz::echoError1("订单未付款");
if ($orderInfo->status == 5) return \Yz::echoError1("订单已退款"); if ($orderInfo->status == 3) return \Yz::echoError1("订单已取消");
if ($orderInfo->status == 4 || $orderInfo->check_status == 2) return \Yz::echoError1("人员已经到检");
if ($orderInfo->status == 5) return \Yz::echoError1("订单已退款");
// $peis = new PEISApiController(); // $peis = new PEISApiController();
// $data = [ // $data = [
// "电话号码" => $orderInfo->phone, // "电话号码" => $orderInfo->phone,
// "证件号码" => $orderInfo->id_number, // "证件号码" => $orderInfo->id_number,
// ]; // ];
// $info = $peis::Post('分诊查询体检号', $orderInfo->hospital_id,$data); // $info = $peis::Post('分诊查询体检号', $orderInfo->hospital_id,$data);
DB::table('orders')->where('id', $orderInfo->id)->update([ DB::table('orders')->where('id', $orderInfo->id)->update([
'status' => 4,
// 'tj_number'=>$info['data'][0]['体检号'],
'tj_number' => $exam_id,
'check_status' => 2,
'check_time' => date('Y-m-d H:i:s')
]);
return \Yz::Return(true, "", ['id' => $orderInfo->id]);
} else {
return \Yz::echoError1("体检号不能为空");
}
} else { //体检直接登记用户信息没经过h5登记。根据体检号查询信息入库
if (isset($exam_id)) {
$peis = new PEISApiController();
$data = [
'电话号码' => "",
'证件号码' => "",
'体检号' => $exam_id,
'包含内部信息' => true
];
$reports = $peis::Post('体检报告查询', 1, $data);
if (isset($reports['data'][0]['收费项目列表'])) {
$data = $reports['data'][0];
$items=[];
foreach ($data['收费项目列表'] as $it) {
$items[]=[
'id' => $it['收费项目Id'],
'name' => $it['收费项目名称'],
'price' => '',
];
}
$buyInfo=[
'combo'=>[
'id'=>0,
'name'=>'',
'price'=>''
],
'items'=>$items,
'group'=>[
'id'=>'',
]
];
$sex = 0;
if ($data['性别'] == '男') $sex = 1;
if ($data['性别'] == '女') $sex = 2;
$dataInfo = [
'title' => $data['套餐名称'],
'type' => $data['单位名称'] == '个人' ? 1 : 2,
'source' => '体检推送',
'name' => $data['姓名'],
'id_number' => $data['证件号码'],
'buy_info' => json_encode($buyInfo, JSON_UNESCAPED_UNICODE),
'status' => 4, 'status' => 4,
'plan_number' => $data['分诊信息'], // 'tj_number'=>$info['data'][0]['体检号'],
'phone' => $data['电话号码'], 'tj_number' => $exam_id,
'sex' => $sex,
'birthday' => explode('T', $data['出生日期'])[0],
'check_status' => 2, 'check_status' => 2,
'check_time' => $data['登记时间'], 'check_time' => date('Y-m-d H:i:s')
]; ]);
$insert=DB::table('orders')->insert($dataInfo); return \Yz::Return(true, "", ['id' => $orderInfo->id]);
if($insert){
return \Yz::Return(true, "创建成功", ['id' => $insert]);
}else{
return \Yz::echoError1("创建失败");
}
} else { } else {
return \Yz::echoError1("根据体检号查询用户信息出错,结果非预期"); return \Yz::echoError1("体检号不能为空");
} }
}
} else { //体检直接登记用户信息没经过h5登记。根据体检号查询信息入库
return $this->CreateOrder($exam_id);
}
}
//根据体检号拉取数据进行存储
public function CreateOrder($exam_id)
{
if (isset($exam_id)) {
$peis = new PEISApiController();
$data = [
'电话号码' => "",
'证件号码' => "",
'体检号' => $exam_id,
'包含内部信息' => true
];
$reports = $peis::Post('体检报告查询', 1, $data);
if (isset($reports['data'][0]['收费项目列表'])) {
$data = $reports['data'][0];
$items=[];
foreach ($data['收费项目列表'] as $it) {
$items[]=[
'id' => $it['收费项目Id'],
'name' => $it['收费项目名称'],
'price' => '',
];
}
$buyInfo=[
'combo'=>[
'id'=>0,
'name'=>'',
'price'=>''
],
'items'=>$items,
'group'=>[
'id'=>'',
]
];
$sex = 0;
if ($data['性别'] == '男') $sex = 1;
if ($data['性别'] == '女') $sex = 2;
$dataInfo = [
'title' => $data['套餐名称'],
'type' => $data['单位名称'] == '个人' ? 1 : 2,
'source' => '体检推送',
'name' => $data['姓名'],
'id_number' => $data['证件号码'],
'buy_info' => json_encode($buyInfo, JSON_UNESCAPED_UNICODE),
'status' => 4,
'plan_number' => $data['分诊信息'],
'phone' => $data['电话号码'],
'sex' => $sex,
'birthday' => explode('T', $data['出生日期'])[0],
'check_status' => 2,
'check_time' => $data['登记时间'],
];
$insert=DB::table('orders')->insert($dataInfo);
if($insert){
return \Yz::Return(true, "创建成功", ['id' => $insert]);
}else{
return \Yz::echoError1("创建失败");
}
} else { } else {
return \Yz::echoError1("体检号不能为空"); return \Yz::echoError1("根据体检号查询用户信息出错,结果非预期");
} }
}
} else {
return \Yz::echoError1("体检号不能为空");
}
} }
public function GetH5Order() public function GetH5Order()

Loading…
Cancel
Save