修改 对接 嘉禾 通道到盈谷

main
yanzai 1 year ago
parent e971798c29
commit 3b621bc1cb

@ -52,26 +52,46 @@ class SignInController extends Controller
}elseif ($mainInfo->patient_type==3){
$mainInfo->patient_type=2;
}
$p=[];
$checkroom=$mainInfo->reservation_sources_name;
if($mainInfo->RISRAcceptDeptCode=='FY2003.00'){//超声科
$checkroom_array = explode("_", $checkroom);
if(count($checkroom_array)!=2) {
$fail_item[]=$mainInfo->entrust.' 签到失败:未正确关联学组,学组名称:'.$checkroom;
continue;
}
$p=[
'isStudyGroupRegistration'=>'Y',
'studyGroupName'=>$checkroom_array[0],
'studyGroupCode'=>$checkroom_array[1],
];
}
if($mainInfo->RISRAcceptDeptCode=='FY2004.00'){//放射科
$p=[
'videoRoomName'=>$checkroom,
];
}
$data=[
'hisId'=>$mainInfo->reg_num,
'yizhuId'=>$mainInfo->entrust_id,
'isAppt'=>'Y',
'appointmentTime'=>$mainInfo->reservation_date.' '.$mainInfo->period_begin_time,
'isStudyGroupRegistration'=>null,
'enrolDoctorName'=>'测试医生',
'enrolDoctorCode'=>'ddddd',
'enrolDoctorName'=>'医技预约',
'enrolDoctorCode'=>'FYYJYY',
'admIdIss'=>$mainInfo->patient_type,
'patientName'=>$mainInfo->user_name,
'accessionNo'=>$mainInfo->app_num,
'modalityName'=> $mainInfo->entrust_type,
'videoRoomName'=> $mainInfo->reservation_sources_name,
'hospitalId'=>1
];
$yg_signin= self::YG_SignIn('/insertRegisterInfo',$data);
$data= array_merge($data,$p);
$yg_signin= self::YG_SignIn('?CfgItem=JH1738预约签到',$data);
if($yg_signin['status']==true){
//盈谷返回成功,更新本地状态
$u=DB::table('s_list')->where(['id'=>$mainInfo->id])->update([
'list_status'=>2
'list_status'=>2,
'check_num'=>$yg_signin['data'][0]['checkNo']
]);
if($u){
$success_item[]=$mainInfo->entrust;
@ -105,14 +125,16 @@ class SignInController extends Controller
{
$baseUrl=config('app.globals.YingGuBaseUrl');
$data=json_encode($data,JSON_UNESCAPED_UNICODE);
$r=\Tools::Post($baseUrl.$url,$data,'盈谷签到');
$r=\Tools::PostSoap($baseUrl.$url,$data,'盈谷签到');
if (!json_decode($r, true)) {
return ['status'=>false,'msg'=>"解析检查系统'签到接口'数据出错"];
return ['status'=>false,'msg'=>"解析'删除签到接口'数据出错:".$r];
}
$r = $r['SendResult'];
$res = json_decode($r, true);
if($res['isSuccess']==true){
return ['status'=>true,''];
return ['status'=>true,'msg'=>$res['resultMsg'],'data'=>$res['resultDatas']];
}else{
return ['status'=>false,'msg'=>$res['resultMsg']];
}
@ -141,10 +163,11 @@ class SignInController extends Controller
$fail_item=[];
foreach ($mainInfos as $key=>$mainInfo) {
$data=[
'yizhuId'=>$mainInfo->entrust_id,
'hisId '=>$mainInfo->reg_num
'checkNo'=>$mainInfo->check_num,
'hisId '=>$mainInfo->reg_num,
'hospitalId'=>1
];
$yg_cancelsign= self::YG_CancelSign('/deleteRegisterInfo',$data);
$yg_cancelsign= self::YG_CancelSign('?CfgItem=JH1739取消预约签到',$data);
if($yg_cancelsign['status']==true){
//盈谷返回成功,更新本地状态
$u=DB::table('s_list')->where(['id'=>$mainInfo->id])->update([
@ -176,11 +199,12 @@ class SignInController extends Controller
{
$baseUrl=config('app.globals.YingGuBaseUrl');
$data=json_encode($data,JSON_UNESCAPED_UNICODE);
$r=\Tools::Post($baseUrl.$url,$data,'盈谷删除签到');
$r=\Tools::PostSoap($baseUrl.$url,$data,'盈谷删除签到');
if (!json_decode($r, true)) {
return ['status'=>false,'msg'=>"解析检查系统'删除签到接口'数据出错"];
return ['status'=>false,'msg'=>"解析'删除签到接口'数据出错:".$r];
}
$r = $r['SendResult'];
$res = json_decode($r, true);
if($res['isSuccess']==true){
return ['status'=>true,''];

@ -99,6 +99,62 @@ class Tools
return $r;
}
public static function PostSoap($url, $data_string,$mark='')
{
$data=[
'request_url'=>$url,
'post_data'=>$data_string,
];
$log_id=self::RequestLog($data,0,$mark);
$xml_data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:good="http://goodwillcis.com" xmlns:bjg="http://bjgoodwillcis.com">
<soapenv:Header>
<good:JiaheSecurity>
<!--Optional:-->
<good:UserName>?</good:UserName>
<!--Optional:-->
<good:Token>?</good:Token>
<!--Optional:-->
<good:Sign>?</good:Sign>
<!--Optional:-->
<good:TimeStamp>?</good:TimeStamp>
</good:JiaheSecurity>
</soapenv:Header>
<soapenv:Body>
<bjg:Send>
<!--Optional:-->
<bjg:pInput><![CDATA['.$data_string.']]></bjg:pInput>
</bjg:Send>
</soapenv:Body>
</soapenv:Envelope> ';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/soap+xml;charset=utf-8',
'Content-Length: ' . strlen($xml_data)
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
$r = curl_exec($ch);
try {
$res = explode('<SOAP-ENV:Body>', $r)[1];
$res = explode('</SOAP-ENV:Body>', $res)[0];
$xmlData = simplexml_load_string($res);
$jsonData = json_encode($xmlData, JSON_UNESCAPED_UNICODE);
}catch (Exception $e) {
$jsonData = $e->getMessage();
}
$result = json_decode($jsonData, true);
// dd($result);
curl_close($ch);
$data=[
'response_data'=>$r
];
self::RequestLog($data,$log_id);
return $result;
}
public static function RequestLog($arr,$id,$mark='')
{ //记录请求日志
date_default_timezone_set('PRC');

Loading…
Cancel
Save