diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php
index 4811204..dfbab14 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php
@@ -33,9 +33,10 @@ class HealthCheckupController extends Controller
//查询能否进行免费体检
public function CheckRequirements(){
$id_card_num=request('id_card_num');
+ $name=request('name');
$type=request('type');//体检类型 1,健康证2老年人
$s=app()->make(AppointmentService::class);
- return $s->CheckAppointment($id_card_num,$type);
+ return $s->CheckAppointment($name,$id_card_num,$type);
}
//获取个人预约记录详情
diff --git a/Laravel/app/Http/Controllers/TestController.php b/Laravel/app/Http/Controllers/TestController.php
index 2894467..311dec1 100644
--- a/Laravel/app/Http/Controllers/TestController.php
+++ b/Laravel/app/Http/Controllers/TestController.php
@@ -3,11 +3,21 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
-use Illuminate\Support\Facades\DB;
class TestController extends Controller
{
public function DBtest(){
- echo DB::table('users')->count();
+ //echo DB::table('users')->count();
+ $SendData='
+
+ 任普
+
+ 110224195806025611
+ ';
+
+ $url = config('app.globals.GongWeiBaseUrl');
+ return \Yz::XmlHttp($SendData,$url);
+
+
}
}
diff --git a/Laravel/app/Lib/Yz.php b/Laravel/app/Lib/Yz.php
index 2bb8947..f0fab95 100644
--- a/Laravel/app/Lib/Yz.php
+++ b/Laravel/app/Lib/Yz.php
@@ -1,4 +1,8 @@
+
+ '
+ .$SendData.
+ '
+';
+
+ $headers = array(
+ "Content-type: text/xml;charset=utf-8",
+ "Accept: text/xml",
+ "Cache-Control: no-cache",
+ "Pragma: no-cache",
+ "Content-length: ".strlen($xml_post_string),
+ "appCode: glMzZT",
+ "sign: E98BB73DE7356B1641BCA0D025D7CD11",
+ "apiCode: 9051ecd6-dd16-4cdb-9a38-ca159114febd",
+ );
+
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
+
+
+
+ $resdata = curl_exec($ch);
+// 记录请求结束时间
+ $end_time = microtime(true);
+ // 计算时间差
+ $request_time = $end_time - $start_time;
+
+// 打印请求时间
+ echo "请求时间:{$request_time} 秒";
+
+
+
+ $result="";
+ try {
+ if(curl_errno($ch)) {
+ $result=curl_error($ch);
+ // print curl_error($ch);
+ } else {
+ curl_close($ch);
+
+ $res = explode('', $resdata)[1];
+ $res = explode('', $res)[0];
+
+ $xmlObject = simplexml_load_string($res);
+ $jsonData = json_encode($xmlObject);
+ $result = json_decode($jsonData, true);
+ }
+ }catch (Exception $e) {
+ $result = $e->getMessage();
+ }
+
+ LogService::CheckTableName();
+ date_default_timezone_set('PRC');
+ $table_name='zz_request_log_' . date('ym');
+ $formatted_date= date("Y-m-d H:i:s");
+ DB::table($table_name)->insert([
+ 'request_ip'=>'',
+ 'response_data'=>json_encode($result, JSON_UNESCAPED_UNICODE),
+ 'header_data'=>'',
+ 'post_data'=>$SendData,
+ 'get_data'=>'',
+ 'request_url'=>$url,
+ 'create_time' => $formatted_date,
+ 'update_time' => $formatted_date
+
+ ]);
+
+ return $result;
+ }
+
}
diff --git a/Laravel/app/Services/Admin/YeWu/AppointmentService.php b/Laravel/app/Services/Admin/YeWu/AppointmentService.php
index 8bae60f..fcebd21 100644
--- a/Laravel/app/Services/Admin/YeWu/AppointmentService.php
+++ b/Laravel/app/Services/Admin/YeWu/AppointmentService.php
@@ -48,7 +48,7 @@ class AppointmentService
}
//检测是否有登记预约记录
- public function CheckAppointment($id_card_num,$type){
+ public function CheckAppointment($name,$id_card_num,$type){
if(strlen($id_card_num)>0){
date_default_timezone_set('PRC');
$currentYear = date('Y');
@@ -69,9 +69,19 @@ class AppointmentService
$result['msg']='已体检过';
$result['info']=$c;
}else{
- $result['status']=true;
- $result['msg']='可以继续,本年度无免费体检记录';
- $result['info']=$c;
+
+ $gongwei= self::CheckGongWei($name,$id_card_num);
+ if( $gongwei['status']===false) {
+ $result['status'] = false;
+ $result['msg'] = $gongwei['msg'];
+ $result['GongWeiinfo'] = $gongwei['GongWeiinfo'];
+ return $result;
+ }
+ $result['status']=true;
+ $result['msg']='可以继续,本年度无免费体检记录';
+ $result['info']=$c;
+
+
}
@@ -82,6 +92,39 @@ class AppointmentService
return $result;
}
+ public function CheckGongWei($name,$id_card_num){
+ date_default_timezone_set('PRC');
+ $currentYear = date('Y');
+ $firstDay = date('Y-01-01', strtotime($currentYear));
+ $lastDay = date('Y-12-31', strtotime($currentYear));
+ $SendData='
+
+ '.$name.'
+
+ '.$id_card_num.'
+ ';
+
+ $url = config('app.globals.GongWeiBaseUrl').'/jkdacp/webservice/DPService?wsdl';
+ $res=\Yz::XmlHttp($SendData,$url);
+ //如果没有返回queryCheckUp节点,返回异常
+ if(!isset($res['queryCheckUp'])) {
+ $result['status']=false;
+ $result['msg']='公卫接口异常';
+ $result['GongWeiinfo']=$res;
+ return $result;
+ }
+ $result=[];
+ if(isset($res['queryCheckUp']['tjrq']) and ($res['queryCheckUp']['tjrq']>=$firstDay and $res['queryCheckUp']['tjrq']<=$lastDay)){
+ $result['status']=false;
+ $result['msg']='公卫有记录';
+ $result['GongWeiinfo']=$res['queryCheckUp'];
+ }else{
+ $result['status']=true;
+ $result['msg']='公卫有无记录';
+ $result['GongWeiinfo']=$res['queryCheckUp'];
+ }
+ return $result;
+ }
function isOver65($idCard) {
// 从身份证号中提取出生日期
diff --git a/Laravel/config/app.php b/Laravel/config/app.php
index ef6ebfa..55e9b7d 100644
--- a/Laravel/config/app.php
+++ b/Laravel/config/app.php
@@ -12,7 +12,7 @@ return [
'WxReturnCodeUrl_local'=>'http://192.168.31.106:5173/#/getWxCode/', //获取code后引导返回到前端的地址 开发
'WxReturnCodeUrl_server'=>'https://www.yanzai.vip/common/mH5/#/getWxCode/', //获取code后引导返回到前端的地址 生产
-
+ 'GongWeiBaseUrl'=>'http://114.242.58.53:8082/jkdacp/webservice/DPService?wsdl', //公卫接口地址,外网测试地址
],
diff --git a/el-admin/src/views/AppointmentMngr/AppointmentList.vue b/el-admin/src/views/AppointmentMngr/AppointmentList.vue
index fd3137b..f6ebe4b 100644
--- a/el-admin/src/views/AppointmentMngr/AppointmentList.vue
+++ b/el-admin/src/views/AppointmentMngr/AppointmentList.vue
@@ -49,6 +49,12 @@
已体检
+
+
+ 免费
+ 收费
+
+
{{scope.row.date.substring(0,10)}} ({{scope.row.time}})