|
@@ -162,7 +162,6 @@ class ESignContractServer
|
|
|
//获取对应关键字定位
|
|
//获取对应关键字定位
|
|
|
//dd(111);
|
|
//dd(111);
|
|
|
$positionRet=ESignContractServer::creatServer()->getKeywordPositions($fileId,$keywords);
|
|
$positionRet=ESignContractServer::creatServer()->getKeywordPositions($fileId,$keywords);
|
|
|
- dd($positionRet);
|
|
|
|
|
if(empty($positionRet['code'])){
|
|
if(empty($positionRet['code'])){
|
|
|
return ['code'=>0,'msg'=>'签署区域定位失败'];
|
|
return ['code'=>0,'msg'=>'签署区域定位失败'];
|
|
|
}else{
|
|
}else{
|
|
@@ -190,13 +189,15 @@ class ESignContractServer
|
|
|
$signersData = [];
|
|
$signersData = [];
|
|
|
//签署方是机构还是个人
|
|
//签署方是机构还是个人
|
|
|
if ($value['auth_type'] == 'PSN'){
|
|
if ($value['auth_type'] == 'PSN'){
|
|
|
- $signerType = 0;
|
|
|
|
|
$member = Member::where('psnId',$value['id_no'])->first();
|
|
$member = Member::where('psnId',$value['id_no'])->first();
|
|
|
//获取企业签章
|
|
//获取企业签章
|
|
|
$m_id = $member->{'id'};
|
|
$m_id = $member->{'id'};
|
|
|
- $seal=MemberSeal::where('m_id',$m_id)->select(['id','seal_id'])->first();
|
|
|
|
|
|
|
+ $seal=MemberSeal::where('m_id',$m_id)->where('seal_status',1)->select(['id','seal_id'])->first();
|
|
|
|
|
+ //印章ID
|
|
|
|
|
+ $assignedSealId=$seal->{'seal_id'};
|
|
|
//组装信息
|
|
//组装信息
|
|
|
- $signersData[] = [
|
|
|
|
|
|
|
+ $signersData = [
|
|
|
|
|
+ "signerType" => 0,
|
|
|
"psnSignerInfo" => [
|
|
"psnSignerInfo" => [
|
|
|
"psnAccount" => $member->{'phone'},
|
|
"psnAccount" => $member->{'phone'},
|
|
|
'psnInfo'=>[
|
|
'psnInfo'=>[
|
|
@@ -205,6 +206,21 @@ class ESignContractServer
|
|
|
'psnIDCardType'=>'CRED_PSN_CH_IDCARD',
|
|
'psnIDCardType'=>'CRED_PSN_CH_IDCARD',
|
|
|
],
|
|
],
|
|
|
],
|
|
],
|
|
|
|
|
+ "signFields" =>[
|
|
|
|
|
+ [
|
|
|
|
|
+ "fileId" =>$fileId,
|
|
|
|
|
+ "normalSignFieldConfig" => [
|
|
|
|
|
+ "autoSign" =>false,
|
|
|
|
|
+ "signFieldStyle" =>1,
|
|
|
|
|
+ "assignedSealId"=>$assignedSealId, // 在signFields中设置 assignedSealId为授权企业印章id
|
|
|
|
|
+ "signFieldPosition" => [
|
|
|
|
|
+ "positionPage" =>$value['positionPage'].'',
|
|
|
|
|
+ "positionX" =>(int)$value['positionX'],
|
|
|
|
|
+ "positionY" =>(int)$value['positionY'],
|
|
|
|
|
+ ]
|
|
|
|
|
+ ]
|
|
|
|
|
+ ]
|
|
|
|
|
+ ],
|
|
|
];
|
|
];
|
|
|
}else{
|
|
}else{
|
|
|
$signerType = 1;
|
|
$signerType = 1;
|
|
@@ -212,7 +228,10 @@ class ESignContractServer
|
|
|
//获取用户签章
|
|
//获取用户签章
|
|
|
$firm_id = $firm->{'id'};
|
|
$firm_id = $firm->{'id'};
|
|
|
$seal=FirmSeal::where('firm_id',$firm_id)->where('seal_type','CONTRACT')->select(['id','seal_id'])->first();
|
|
$seal=FirmSeal::where('firm_id',$firm_id)->where('seal_type','CONTRACT')->select(['id','seal_id'])->first();
|
|
|
- $signersData[] = [
|
|
|
|
|
|
|
+ //印章ID
|
|
|
|
|
+ $assignedSealId=$seal->{'seal_id'};
|
|
|
|
|
+ $signersData = [
|
|
|
|
|
+ "signerType" => 1,
|
|
|
"orgSignerInfo" => [
|
|
"orgSignerInfo" => [
|
|
|
"orgName" => $firm->{'firm_name'},
|
|
"orgName" => $firm->{'firm_name'},
|
|
|
'orgInfo'=>[
|
|
'orgInfo'=>[
|
|
@@ -226,31 +245,24 @@ class ESignContractServer
|
|
|
'psnIDCardType'=>'CRED_PSN_CH_IDCARD'
|
|
'psnIDCardType'=>'CRED_PSN_CH_IDCARD'
|
|
|
]
|
|
]
|
|
|
]
|
|
]
|
|
|
-
|
|
|
|
|
],
|
|
],
|
|
|
- ];
|
|
|
|
|
- }
|
|
|
|
|
- //印章ID
|
|
|
|
|
- $assignedSealId=$seal->{'seal_id'};
|
|
|
|
|
-
|
|
|
|
|
- $signersData[] = [
|
|
|
|
|
- "signFields" =>[
|
|
|
|
|
- [
|
|
|
|
|
- "fileId" =>$fileId,
|
|
|
|
|
- "normalSignFieldConfig" => [
|
|
|
|
|
- "autoSign" =>false,
|
|
|
|
|
- "signFieldStyle" =>1,
|
|
|
|
|
- "assignedSealId"=>$assignedSealId, // 在signFields中设置 assignedSealId为授权企业印章id
|
|
|
|
|
- "signFieldPosition" => [
|
|
|
|
|
- "positionPage" =>$value['pageNum'].'',
|
|
|
|
|
- "positionX" =>(int)$value['positionX'],
|
|
|
|
|
- "positionY" =>(int)$value['positionY'],
|
|
|
|
|
|
|
+ "signFields" =>[
|
|
|
|
|
+ [
|
|
|
|
|
+ "fileId" =>$fileId,
|
|
|
|
|
+ "normalSignFieldConfig" => [
|
|
|
|
|
+ "autoSign" =>false,
|
|
|
|
|
+ "signFieldStyle" =>1,
|
|
|
|
|
+ "assignedSealId"=>$assignedSealId, // 在signFields中设置 assignedSealId为授权企业印章id
|
|
|
|
|
+ "signFieldPosition" => [
|
|
|
|
|
+ "positionPage" =>$value['positionPage'].'',
|
|
|
|
|
+ "positionX" =>(int)$value['positionX'],
|
|
|
|
|
+ "positionY" =>(int)$value['positionY'],
|
|
|
|
|
+ ]
|
|
|
]
|
|
]
|
|
|
]
|
|
]
|
|
|
- ]
|
|
|
|
|
- ],
|
|
|
|
|
- "signerType" =>$signerType
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ ],
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
$signers[]=$signersData;
|
|
$signers[]=$signersData;
|
|
|
//对应签署方做记录
|
|
//对应签署方做记录
|
|
@@ -259,7 +271,7 @@ class ESignContractServer
|
|
|
'authType' => $value['auth_type'],
|
|
'authType' => $value['auth_type'],
|
|
|
'id_no' => $value['id_no'],
|
|
'id_no' => $value['id_no'],
|
|
|
'keyword' => $value['keyword'],
|
|
'keyword' => $value['keyword'],
|
|
|
- 'page_num' => $value['pageNum'],
|
|
|
|
|
|
|
+ 'page_num' => $value['positionPage'],
|
|
|
'position_x' => $value['positionX'],
|
|
'position_x' => $value['positionX'],
|
|
|
'position_y' => $value['positionY'],
|
|
'position_y' => $value['positionY'],
|
|
|
]);
|
|
]);
|
|
@@ -302,7 +314,7 @@ class ESignContractServer
|
|
|
"signFlowTitle" =>$signFlowTitle,
|
|
"signFlowTitle" =>$signFlowTitle,
|
|
|
"autoStart"=>true,
|
|
"autoStart"=>true,
|
|
|
"autoFinish"=>true,
|
|
"autoFinish"=>true,
|
|
|
- 'notifyUrl'=>route('notify.esignNotify')
|
|
|
|
|
|
|
+ 'notifyUrl'=>route('adminApi.notify.esignNotify')
|
|
|
],
|
|
],
|
|
|
"signers"=>$signers
|
|
"signers"=>$signers
|
|
|
];
|
|
];
|
|
@@ -314,8 +326,7 @@ class ESignContractServer
|
|
|
// EsignLogHelper::printMsg($signAndBuildSignAndJsonHeader);
|
|
// EsignLogHelper::printMsg($signAndBuildSignAndJsonHeader);
|
|
|
$response = EsignHttpHelper::doCommHttp($config['eSignHost'], $apiaddr, $requestType, $signAndBuildSignAndJsonHeader, $paramStr);
|
|
$response = EsignHttpHelper::doCommHttp($config['eSignHost'], $apiaddr, $requestType, $signAndBuildSignAndJsonHeader, $paramStr);
|
|
|
// EsignLogHelper::printMsg($response->getStatus());
|
|
// EsignLogHelper::printMsg($response->getStatus());
|
|
|
-// EsignLogHelper::printMsg($response->getBody());
|
|
|
|
|
-
|
|
|
|
|
|
|
+ EsignLogHelper::printMsg($response->getBody());
|
|
|
$signFlowId = false;
|
|
$signFlowId = false;
|
|
|
if($response->getStatus() == 200){
|
|
if($response->getStatus() == 200){
|
|
|
$result = json_decode($response->getBody());
|
|
$result = json_decode($response->getBody());
|