diff --git a/app/Http/Controllers/ComboItemController.php b/app/Http/Controllers/ComboItemController.php index 5d741b5..caa9cb7 100644 --- a/app/Http/Controllers/ComboItemController.php +++ b/app/Http/Controllers/ComboItemController.php @@ -32,6 +32,7 @@ class ComboItemController extends Controller 'start_time' => $group_info['预约开始日期'], 'end_time' => $group_info['预约结束日期'], 'group_name' => $group_info['单位名称'] . ($group_info['部门名称']), + 'danwei_id' => $group_info['单位Id'], 'items' => $items, 'appointment_number' => $group_info['预约Id'] ]; @@ -119,9 +120,30 @@ class ComboItemController extends Controller // 'code' => 2001, // 'data' => $list // ]); + + $group = $request->post('group'); + $group_info = false; + $group_items=[]; + if (!!$group) { + $group_info = self::group_info($hospital, [ + "电话号码" => null, + "证件号码" => null, + "预约Id" => $group + ]); + if(!!$group_info){ + foreach ($group_info['items'] as $g_items){ + $group_items[]=$g_items['id']; + } + } + + } + + $list_map = []; foreach ($list as $item) { if (!!$item['choose']) { + //判断套餐内是否有这个检查项目,如果有则跳过 + if(in_array($item['id'],$group_items)) continue; if (!isset($list_map['g' . $item['clinic']])) { $list_map['g' . $item['clinic']] = [ 'id' => $item['clinic'], @@ -142,6 +164,39 @@ class ComboItemController extends Controller foreach ($list_map as $item) { $l[] = $item; } + + $arrayB=[ + "一般检查", + "人体成分分析", + "内科", + "外科", + "眼科", + "口腔科室", + "耳鼻喉科", + "妇科", + "妇科(病理)", + "心电图", + "骨密度", + "动脉硬化", + "碳13呼气试验", + "碳14", + "肺功能", + "电测听", + "检验科", + "超声科", + "CT科", + "放射科", + "基因检测" + ]; + $mapB = array_flip($arrayB); + // 定义排序函数 + usort($l, function ($a, $b) use ($mapB, $arrayB) { + $posA = isset($mapB[$a['name']]) ? $mapB[$a['name']] : count($arrayB); + $posB = isset($mapB[$b['name']]) ? $mapB[$b['name']] : count($arrayB); + + return $posA <=> $posB; + }); + return Yo::echo([ 'list' => $l ]); @@ -184,6 +239,27 @@ class ComboItemController extends Controller } } $items = $request->post('items'); + //$group = $request->post('group'); + +// if(!!$group and count($items) != 0){ +// //调用团检登记查询获取单位id +// $data=[ +// "预约Id"=>$group +// ]; +// $peis = new PEISApiController(); +// $combo_info = $peis::Post('团检登记查询', $hospital, $data)['data'][0]; +// var_dump($combo_info); +// } + $group = $request->post('group'); + $group_info = false; + if (!!$group) { + $group_info = self::group_info($hospital, [ + "电话号码" => null, + "证件号码" => null, + "预约Id" => $group + ]); + } + $items_list = []; if (count($items) != 0) { $items_list = self::items($hospital, [ @@ -196,8 +272,23 @@ class ComboItemController extends Controller ]); } $item_list_ret = []; + + //如果是团检并且选择了自选 + $fenzu=false; + if(!!$group and count($items) != 0){ + $data=[ + "单位Id"=>$group_info['danwei_id'] + ]; + $peis = new PEISApiController(); + $fenzu = $peis::Post('获取单位分组', $hospital, $data)['data'][0]; + } + foreach ($items_list as $item) { $count++; + if($fenzu !==false and isset($fenzu['分组'])){ + $item['price']=$item['price']*$fenzu['分组'][0]['增项折扣']; + } + $price += $item['price']; $original_price += $item['price']; $item_list_ret[] = [ @@ -221,15 +312,32 @@ class ComboItemController extends Controller 'show' => $show, ]; } - $group = $request->post('group'); - $group_info = false; - if (!!$group) { - $group_info = self::group_info($hospital, [ - "电话号码" => null, - "证件号码" => null, - "预约Id" => $group - ]); + + if ($group_info !==false) { +// $group_info = self::group_info($hospital, [ +// "电话号码" => null, +// "证件号码" => null, +// "预约Id" => $group +// ]); $count += count($group_info['items']); +// $items =$request->post('items'); +// if(count($items )>0){ +// $data=[ +// "单位Id"=>$group_info['danwei_id'] +// ]; +// $peis = new PEISApiController(); +// $fenzu = $peis::Post('获取单位分组', $hospital, $data)['data'][0]; +// var_dump($fenzu); +// if(isset($fenzu['分组'])){ +// foreach ($fenzu['分组'] as $key=>$zu){ +// foreach ($fenzu['包含项目信息'] as $key2=>$item){ +// if($item['Id']==) +// } +// } +// } +// } + + } return Yo::echo([ 'price' => $price, diff --git a/app/Http/Controllers/PEISApiController.php b/app/Http/Controllers/PEISApiController.php index cde1ccf..f827390 100644 --- a/app/Http/Controllers/PEISApiController.php +++ b/app/Http/Controllers/PEISApiController.php @@ -42,6 +42,7 @@ class PEISApiController extends Controller $api['套餐查询'] = "{$url}/PEISCommon/QueryCombos/{$code}"; $api['个检预约锁定'] = "{$url}/PEISCommon/LockPersonAppointment/{$code}"; $api['个检预约解锁'] = "{$url}/PEISCommon/UnlockPersonAppointment/{$code}"; + $api['获取单位分组'] = "{$url}/PEISCommon/QueryBatchAndGroup/{$code}"; return $api["{$url_code}"] ?? $url_code; } diff --git a/app/Http/Controllers/UserOrderController.php b/app/Http/Controllers/UserOrderController.php index bbf54c9..0bd9776 100644 --- a/app/Http/Controllers/UserOrderController.php +++ b/app/Http/Controllers/UserOrderController.php @@ -201,7 +201,41 @@ class UserOrderController extends Controller $all_items[]=$citem['id']; } } + //团 + $group = $request->post('group'); + $group_info = false; + if (!!$group) { + $cic = new ComboItemController(); + $group_info = $cic->group_info($hospital, [ + "电话号码" => null, + "证件号码" => null, + "预约Id" => $group + ]); + + $buy_info['group'] = [ + 'id' => $group, + 'combo_name' => $group_info['combo_name'], + 'combo_id' => $group_info['combo_id'], + 'group_name' => $group_info['group_name'], + 'items' => $group_info['items'], + 'appointment_number' => $group_info['appointment_number'], + ]; + } + + //自选 $items = $request->post('items'); + + //如果是团检并且选择了自选 + $fenzu=false; + if(!!$group and count($items) != 0){ + $data=[ + "单位Id"=>$group_info['danwei_id'] + ]; + $peis = new PEISApiController(); + $fenzu = $peis::Post('获取单位分组', $hospital, $data)['data'][0]; + } + + $items_list = []; if (count($items) != 0) { $items_list = $cic->items($hospital, [ @@ -214,6 +248,12 @@ class UserOrderController extends Controller ]); } foreach ($items_list as $item) { + + if($fenzu !==false and isset($fenzu['分组'])){ + $item['price']=$item['price']*$fenzu['分组'][0]['增项折扣']; + } + + $price += $item['price']; $buy_info['items'][] = [ 'id' => $item['id'], @@ -222,24 +262,7 @@ class UserOrderController extends Controller ]; $all_items[]=$item['id']; } - $group = $request->post('group'); - $group_info = false; - if (!!$group) { - $cic = new ComboItemController(); - $group_info = $cic->group_info($hospital, [ - "电话号码" => null, - "证件号码" => null, - "预约Id" => $group - ]); - $buy_info['group'] = [ - 'id' => $group, - 'combo_name' => $group_info['combo_name'], - 'combo_id' => $group_info['combo_id'], - 'group_name' => $group_info['group_name'], - 'items' => $group_info['items'], - 'appointment_number' => $group_info['appointment_number'], - ]; - } + $time = $request->post('time'); $time_info = Appointment::where('id', $time['id'])->where('status', 1)->where('del', 2)->first(); if (!$time_info) Yo::error_echo(200046); @@ -283,6 +306,10 @@ class UserOrderController extends Controller if (strtotime($group_info['end_time'] . ' 23:59:59') < strtotime($time_info->date . ' ' . $time_info->end_time)) Yo::error_echo(200047); } $true_price = $price; + //如果是团检判断分组内的统收限额,超过限额的部分收费 + if(!!$fenzu and !!$fenzu['分组'][0]['统收限额'] and $fenzu['分组'][0]['统收限额']<$true_price){ + $true_price=$true_price-$fenzu['分组'][0]['统收限额']; + } if (Login::$info->pay > 0 && $true_price > 0) { $true_price = Login::$info->pay; } diff --git a/北京国康小程序/api/api.js b/北京国康小程序/api/api.js index f73a55f..f5dca53 100644 --- a/北京国康小程序/api/api.js +++ b/北京国康小程序/api/api.js @@ -2,7 +2,7 @@ let url_ = "https://bjgk-api.sixinyun.com"; let report_url_ = "https://bjgk-api.sixinyun.com"; //let report_url_ = "http://192.168.31.106:5173"; let h5_url_ = "https://bjgk-api.sixinyun.com"; -const dev =1; +const dev =0; if (dev === 1) { url_ = "http://beijingguokang"; report_url_ = "http://192.168.31.106:5173"; @@ -12,7 +12,7 @@ let url_array = {}; url_array['Question/save'] = `${url_}/api/Mp/Question/save`; url_array['Question/push'] = `${url_}/api/Mp/Question/push`; url_array['Question/list'] = `${url_}/api/Mp/Question/list`; -url_array['Readme'] = `${h5_url_}/#/pages/main/post/post?id=1`; +url_array['Readme'] = `${h5_url_}/h5/#/pages/main/post/post?id=1`; url_array['Report'] = `${report_url_}/report/#/pages/main/list/list`; url_array['UserPerson/group'] = `${url_}/api/Mp/UserPerson/group`; url_array['Order/refund'] = `${url_}/api/Mp/Order/refund`; diff --git a/北京国康小程序/api/index.js b/北京国康小程序/api/index.js index 7f8432d..3e1ab8c 100644 --- a/北京国康小程序/api/index.js +++ b/北京国康小程序/api/index.js @@ -4,7 +4,7 @@ import { import $api from './api.js' let url_ = "https://bjgk-api.sixinyun.com"; let chat_url = "https://bjgk-api.sixinyun.com" -const dev = 1 +const dev = 0 if (dev === 1) { url_ = "http://beijingguokang" chat_url = "http://192.168.31.106:5173"