|
|
|
|
@ -129,9 +129,12 @@ class OrderController extends Controller
|
|
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
//如果是套餐
|
|
|
|
|
$checkup_type_id=false; //体检类型id
|
|
|
|
|
if (isset($combo_id) and $combo_id <> 0) {
|
|
|
|
|
$combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first();
|
|
|
|
|
if (!$combo_info) return \Yz::echoError1("套餐不存在");
|
|
|
|
|
if(!isset($combo_info->checkup_type_id)) return \Yz::echoError1("套餐未关联体检类型");
|
|
|
|
|
$checkup_type_id=$combo_info->checkup_type_id;
|
|
|
|
|
$price += $combo_info->price;
|
|
|
|
|
$title = $combo_info->name;
|
|
|
|
|
$buy_info['combo'] = [
|
|
|
|
|
@ -201,43 +204,49 @@ class OrderController extends Controller
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//检查号源是否可用
|
|
|
|
|
$plan = new PlanController();
|
|
|
|
|
$plan_check = $plan->CheckPlan($plan_id, $hospital_id, $type, $person->sex,$price,$checkup_type_id);
|
|
|
|
|
if ($plan_check['status'] === false) return \Yz::echoError1($plan_check['msg']);
|
|
|
|
|
$plan=$plan_check['plan'];
|
|
|
|
|
|
|
|
|
|
//判断号源是否可用vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
|
|
|
|
$plan = DB::table('plans')->where(['id' => $plan_id, 'hospital_id' => $hospital_id, 'status' => 1, 'is_del' => 0])->first();
|
|
|
|
|
if (!$plan) return \Yz::echoError1("号源不可用");
|
|
|
|
|
//判断个检/团检类型
|
|
|
|
|
if ($plan->use_type <> 0 and $plan->use_type <> $type) {
|
|
|
|
|
$type_temp = '';
|
|
|
|
|
if ($plan->use_type == 1) $type_temp = '个检';
|
|
|
|
|
if ($plan->use_type == 2) $type_temp = '团检';
|
|
|
|
|
return \Yz::echoError1("此号源为" . $type_temp . "号源,不可用");
|
|
|
|
|
}
|
|
|
|
|
//判断是否是预留号源
|
|
|
|
|
if ($plan->type <> 1) return \Yz::echoError1("此号源为预留号源,不可用");
|
|
|
|
|
//判断是否是vip
|
|
|
|
|
//判断性别
|
|
|
|
|
if ($plan->sex <> 0 and $plan->sex <> $person->sex) return \Yz::echoError1("此号源性别与体检人性别不符,不可用");
|
|
|
|
|
//判断体检类型checkup_type
|
|
|
|
|
//判断金额
|
|
|
|
|
if ($plan->use_type == 1 and $plan->amount_limit1 <> 0) {
|
|
|
|
|
if ($price < $plan->amount_limit1) return \Yz::echoError1("未达到此号源限制的金额,不可用");
|
|
|
|
|
}
|
|
|
|
|
if ($plan->use_type == 2 and $plan->amount_limit2 <> 0) {
|
|
|
|
|
if ($price < $plan->amount_limit2) return \Yz::echoError1("未达到此号源限制的金额,不可用");
|
|
|
|
|
}
|
|
|
|
|
//判断时间是否过期
|
|
|
|
|
$plan_datetime = $plan->date . ' ' . $plan->time;
|
|
|
|
|
if ($plan_datetime < date('Y-m-d H:i:s')) return \Yz::echoError1("号源已过期,不可用");
|
|
|
|
|
// $plan = DB::table('plans')->where(['id' => $plan_id, 'hospital_id' => $hospital_id, 'status' => 1, 'is_del' => 0])->first();
|
|
|
|
|
// if (!$plan) return \Yz::echoError1("号源不可用");
|
|
|
|
|
// //判断个检/团检类型
|
|
|
|
|
// if ($plan->use_type <> 0 and $plan->use_type <> $type) {
|
|
|
|
|
// $type_temp = '';
|
|
|
|
|
// if ($plan->use_type == 1) $type_temp = '个检';
|
|
|
|
|
// if ($plan->use_type == 2) $type_temp = '团检';
|
|
|
|
|
// return \Yz::echoError1("此号源为" . $type_temp . "号源,不可用");
|
|
|
|
|
// }
|
|
|
|
|
// //判断是否是预留号源
|
|
|
|
|
// if ($plan->type <> 1) return \Yz::echoError1("此号源为预留号源,不可用");
|
|
|
|
|
// //判断是否是vip
|
|
|
|
|
// //判断性别
|
|
|
|
|
// if ($plan->sex <> 0 and $plan->sex <> $person->sex) return \Yz::echoError1("此号源性别与体检人性别不符,不可用");
|
|
|
|
|
// //判断体检类型checkup_type
|
|
|
|
|
// //判断金额
|
|
|
|
|
// if ($plan->use_type == 1 and $plan->amount_limit1 <> 0) {
|
|
|
|
|
// if ($price < $plan->amount_limit1) return \Yz::echoError1("未达到此号源限制的金额,不可用");
|
|
|
|
|
// }
|
|
|
|
|
// if ($plan->use_type == 2 and $plan->amount_limit2 <> 0) {
|
|
|
|
|
// if ($price < $plan->amount_limit2) return \Yz::echoError1("未达到此号源限制的金额,不可用");
|
|
|
|
|
// }
|
|
|
|
|
// //判断时间是否过期
|
|
|
|
|
// $plan_datetime = $plan->date . ' ' . $plan->time;
|
|
|
|
|
// if ($plan_datetime < date('Y-m-d H:i:s')) return \Yz::echoError1("号源已过期,不可用");
|
|
|
|
|
//判断号源是否可用^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
//如果是团检 判断 团检登记人的有效时间范围
|
|
|
|
|
//如果是团检 判断号源在 团检登记人的有效时间范围内
|
|
|
|
|
$plan_datetime = $plan->date . ' ' . $plan->time;
|
|
|
|
|
if (!!$group_info) {
|
|
|
|
|
if (!($plan_datetime > $group_info['start_time'] . ' 00:00:00' and $plan_datetime < $group_info['end_time'] . ' 23:59:59')) {
|
|
|
|
|
return \Yz::echoError1("预约日期不在单位有效时间范围内,请重新选择");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//构建订单号
|
|
|
|
|
$order_num = $this->generateOrderNumber();
|
|
|
|
|
$data = [
|
|
|
|
|
|