Commit 6c9588ba authored by taoruidan18083's avatar taoruidan18083

I-23129【建机】e签宝静默签变更接口

parent 9c87737e
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<bm:field name="esign_type"/> <bm:field name="esign_type"/>
<bm:field name="legal_person"/> <bm:field name="legal_person"/>
<bm:field name="id_card_no_leg"/> <bm:field name="id_card_no_leg"/>
</bm:fields> </bm:fields>
<bm:operations> <bm:operations>
<bm:operation name="query"> <bm:operation name="query">
<bm:query-sql><![CDATA[ <bm:query-sql><![CDATA[
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
cs.mobile, cs.mobile,
hs.signer_category, hs.signer_category,
hs.indentity_type, hs.indentity_type,
nvl(hs.auto_sign, 'N') auto_sign, nvl(hs.auto_sign, 'N') auto_sign,
cs.esign_type, cs.esign_type,
(select nvl(hm.bp_name_leg,hm.legal_person) (select nvl(hm.bp_name_leg,hm.legal_person)
from con_contract_bp cb, hls_bp_master hm from con_contract_bp cb, hls_bp_master hm
where cb.bp_id = hm.bp_id where cb.bp_id = hm.bp_id
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<bm:field name="indentity_type"/> <bm:field name="indentity_type"/>
<bm:field name="key_word"/> <bm:field name="key_word"/>
<bm:field name="auto_sign"/> <bm:field name="auto_sign"/>
<bm:field name="agree_auto_sign"/>
<bm:field name="sign_order"/> <bm:field name="sign_order"/>
<bm:field name="sign_type"/> <bm:field name="sign_type"/>
<bm:field name="signer_category"/> <bm:field name="signer_category"/>
...@@ -43,7 +44,8 @@ select * ...@@ -43,7 +44,8 @@ select *
hs.templet_id, hs.templet_id,
hs.indentity_type, hs.indentity_type,
hs.key_word, hs.key_word,
nvl(hs.auto_sign, 'N') auto_sign, wx_ele_auth_sign_online_pkg.get_personal_autosign(cs.bp_id,nvl(hs.auto_sign, 'N')) auto_sign,
wx_ele_auth_sign_online_pkg.get_personal_agree_auto_sign(cs.bp_id) agree_auto_sign,
hs.sign_order, hs.sign_order,
hs.sign_type, hs.sign_type,
hs.signer_category hs.signer_category
......
<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:operations>
<bm:operation name="update">
<bm:update-sql><![CDATA[
BEGIN
wx_ele_auth_sign_online_pkg.ele_bp_auth_signer_update(p_flow_status =>${@flow_status},
p_end_time =>${@end_time},
p_effective_start_time =>${@effective_start_time},
p_effective_end_time =>${@effective_end_time},
p_auth_id =>${@auth_id},
p_bp_id =>${@bp_id});
END;
]]></bm:update-sql>
</bm:operation>
</bm:operations>
</bm:model>
<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:fields>
<bm:field name="bp_id"/>
<bm:field name="auth_id"/>
</bm:fields>
<bm:operations>
<bm:operation name="query">
<bm:query-sql><![CDATA[
select *
from (select c.bp_id, c.auth_id
from bp_auth_ele_flow c
where c.flow_status is null
and c.bp_class = 'ORG'
and c.auth_id is not null
and c.creation_date >= add_months(sysdate, -1)) t1
#WHERE_CLAUSE#
]]></bm:query-sql>
</bm:operation>
<bm:operation name="update">
<bm:update-sql><![CDATA[
BEGIN
wx_ele_auth_sign_online_pkg.ele_bp_auth_flow(p_bp_id =>${@bp_id},
p_auth_id =>${@auth_id},
p_user_id =>nvl(${/session/@user_id},1));
END;
]]></bm:update-sql>
</bm:operation>
<bm:operation name="execute">
<bm:update-sql><![CDATA[
BEGIN
update bp_auth_ele_flow cf
set cf.flow_status = ${@flow_status},
cf.end_time = to_date(${@end_time},'yyyy/mm/dd'),
cf.effective_start_time = to_date(${@effective_start_time},'yyyy/mm/dd'),
cf.effective_end_time = to_date(${@effective_end_time},'yyyy/mm/dd'),
cf.last_update_date = sysdate
where cf.auth_id = ${@auth_id};
update bp_agent_ele_signer cs
set cs.effective_start_time = to_date(${@effective_start_time},'yyyy/mm/dd'),
cs.effective_end_time= to_date(${@effective_end_time},'yyyy/mm/dd'),
cs.sign_status=${@flow_status},
cs.last_update_date = sysdate
where cs.bp_id = ${@bp_id};
update hls_bp_master cc
set cc.sign_auth_status = {@flow_status},
cc.effective_start_time = to_date(${@effective_start_time},'yyyy/mm/dd'),
cc.effective_end_time = to_date(${@effective_end_time},'yyyy/mm/dd'),
cc.last_update_date = sysdate
where cc.bp_id = ${@bp_id};
COMMIT;
end;
]]></bm:update-sql>
</bm:operation>
</bm:operations>
<bm:query-fields>
<bm:query-field field="bp_id" queryOperator="="/>
<bm:query-field field="auth_id" queryOperator="="/>
</bm:query-fields>
</bm:model>
<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:fields>
<bm:field name="bp_id" databaseType="Number" datatype="java.lang.Double"/>
<bm:field name="httpurl" databaseType="VARCHAR2" datatype="java.lang.String"/>
<bm:field name="jsonPut" databaseType="CLOB" datatype="java.sql.Clob"/>
<bm:field name="jsonResult" databaseType="CLOB" datatype="java.sql.Clob"/>
<bm:field name="tokenResult" databaseType="CLOB" datatype="java.sql.Clob"/>
</bm:fields>
<bm:operations>
<bm:operation name="insert">
<bm:update-sql><![CDATA[
BEGIN
wx_ele_auth_sign_online_pkg.hl_bp_savelogs(p_bp_id => ${@bp_id},
p_httpurl => ${@httpurl},
p_jsonPut => ${@jsonPut},
p_jsonResult => ${@jsonResult},
p_token => ${@tokenResult}
);
COMMIT;
END;
]]></bm:update-sql>
</bm:operation>
</bm:operations>
</bm:model>
<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:operations>
<bm:operation name="query">
<bm:query-sql><![CDATA[
SELECT to_char(ADD_MONTHS(SYSDATE, 36),'yyyymmdd') valid_date FROM dual
]]></bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field name="valid_date"/>
</bm:fields>
</bm:model>
<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:operations>
<bm:operation name="insert">
<bm:update-sql><![CDATA[
BEGIN
wx_ele_auth_sign_online_pkg.np_auto_sign_flow(p_contract_id =>${@contract_id},
p_id_no =>${@id_no},
p_sign_time =>to_char(to_date(${@sign_time},'YYYY/MM/DD HH24:MI:SS'),'yyyy/mm/dd'),
p_user_id =>1
);
END;
]]></bm:update-sql>
</bm:operation>
<bm:operation name="update">
<bm:update-sql><![CDATA[
begin
wx_ele_auth_sign_online_pkg.delete_np_signflow(p_id_no =>${@id_no},
p_contract_id=>${@contract_id});
end;
]]></bm:update-sql>
</bm:operation>
</bm:operations>
</bm:model>
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2025年06月10日 10点35分
$Revision: 1.0
$Purpose:
-->
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
<bm:fields>
<bm:field name="bp_id"/>
<bm:field name="bp_name"/>
<bm:field name="social_code"/>
<bm:field name="bp_category"/>
<bm:field name="bp_name_leg"/>
<bm:field name="id_card_no_leg"/>
<bm:field name="bp_name_ag"/>
<bm:field name="id_card_no_ag"/>
<bm:field name="agent_phone"/>
</bm:fields>
<bm:operations>
<bm:operation name="query">
<bm:query-sql><![CDATA[
select t.bp_id,
t.bp_name,
t.bp_category,
t.social_code,
t.bp_name_leg,
t.id_card_no_leg,
t.bp_name_ag,
t.id_card_no_ag,
t.agent_phone
from bp_agent_ele_signer t
#WHERE_CLAUSE#
]]></bm:query-sql>
</bm:operation>
<bm:operation name="update">
<bm:update-sql><![CDATA[
begin
wx_ele_auth_sign_online_pkg.ele_bp_signer_save(
p_bp_id =>${@bp_id},
p_user_id =>nvl(${/session/@user_id},1)
);
end;
]]></bm:update-sql>
</bm:operation>
<bm:operation name="execute">
<bm:update-sql><![CDATA[
BEGIN
UPDATE bp_agent_ele_signer ba
SET ba.sign_url = ${@short_url},
ba.last_updated_by = nvl(${/session/@user_id},1),
ba.last_update_date = sysdate
WHERE ba.bp_id = ${@bp_id};
end;
]]></bm:update-sql>
</bm:operation>
</bm:operations>
<bm:query-fields>
<bm:query-field name="bp_id" queryExpression="t.bp_id= ${@bp_id}"/>
</bm:query-fields>
</bm:model>
...@@ -9,7 +9,7 @@ $Purpose: 商业伙伴授信维护 ...@@ -9,7 +9,7 @@ $Purpose: 商业伙伴授信维护
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true" trace="true"> <a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true" trace="true">
<a:init-procedure> <a:init-procedure>
<a:model-query defaultWhereClause="t1.user_id=${/session/@user_id} and position_code in(9062,006,005,9070)" fetchAll="true" model="csh.CSH509.query_roles_info" rootPath="position_code"/> <a:model-query defaultWhereClause="t1.user_id=${/session/@user_id} and position_code in(9062,006,005,9070)" fetchAll="true" model="csh.CSH509.query_roles_info" rootPath="position_code"/>
<a:model-query model="cont.CON620.get_sys_role" rootPath="role_info"/>
</a:init-procedure> </a:init-procedure>
<a:view> <a:view>
<a:link id="hn1150_get_layout_code_link_id" model="cont.CON500.con_contract_get_layout_code" modelaction="update"/> <a:link id="hn1150_get_layout_code_link_id" model="cont.CON500.con_contract_get_layout_code" modelaction="update"/>
...@@ -23,10 +23,22 @@ $Purpose: 商业伙伴授信维护 ...@@ -23,10 +23,22 @@ $Purpose: 商业伙伴授信维护
<a:link id="check_create_record_link_id" model="hls.HLS361N.hls_bp_master_create_record" <a:link id="check_create_record_link_id" model="hls.HLS361N.hls_bp_master_create_record"
modelaction="update"/> modelaction="update"/>
<a:link id="credit_detail_link" url="${/request/@context_path}/modules/hls/HLS361N/hls_bp_mster_credit_record.lview"/> <a:link id="credit_detail_link" url="${/request/@context_path}/modules/hls/HLS361N/hls_bp_mster_credit_record.lview"/>
<a:link id="wx_ele_sign_auth_detail_link" url="${/request/@context_path}/modules/wx/WX110/wx_ele_sign_auth_create.lview"/>
<script type="text/javascript"><![CDATA[ <script type="text/javascript"><![CDATA[
var user_code=''; var user_code='';
Leaf.onReady(function(){ Leaf.onReady(function(){
user_code='${/model/position_code/record/@position_code}'; user_code='${/model/position_code/record/@position_code}';
if("${/model/role_info/record/@role_code}"=="0006"||"${/model/role_info/record/@role_code}"=="0008"||"${/model/role_info/record/@role_code}"=="0005"||"${/model/role_info/record/@role_code}"=="HAND") {
if (document.getElementById('${/parameter/@layout_code}_user_button5')) {
document.getElementById('${/parameter/@layout_code}_user_button5').style.display = '';
}
} else {
if (document.getElementById('${/parameter/@layout_code}_user_button5')) {
document.getElementById('${/parameter/@layout_code}_user_button5').style.display = 'none';
}
}
}) })
//判断角色是否可以操作 //判断角色是否可以操作
function judgeRoles(position_code){ function judgeRoles(position_code){
...@@ -265,6 +277,15 @@ $Purpose: 商业伙伴授信维护 ...@@ -265,6 +277,15 @@ $Purpose: 商业伙伴授信维护
}); });
} }
window['${/parameter/@layout_code}_user_button5_layout_dynamic_click'] = function() {
var param = {};
param['function_code'] = 'WX110';
param['url_title'] = '静默签授权';
param['winid'] = '${/parameter/@layout_code}_create_win_id'
hls_doc_get_layout_code('hn1150_get_layout_code_link_id', param, 'wx_ele_sign_auth_detail_link', null);
}
]]></script> ]]></script>
......
...@@ -381,6 +381,7 @@ ...@@ -381,6 +381,7 @@
"signOrder": signer_record_data.sign_order, "signOrder": signer_record_data.sign_order,
"key": signer_record_data.key_word, "key": signer_record_data.key_word,
"autoExecute": signer_record_data.auto_sign, "autoExecute": signer_record_data.auto_sign,
"agreeAutoSign":signer_record_data.agree_auto_sign,
"signType": signer_record_data.sign_type, "signType": signer_record_data.sign_type,
"signerFileList": signerFileList "signerFileList": signerFileList
}) })
...@@ -591,6 +592,7 @@ ...@@ -591,6 +592,7 @@
"signOrder": signer_record_data.sign_order, "signOrder": signer_record_data.sign_order,
"key": signer_record_data.key_word, "key": signer_record_data.key_word,
"autoExecute": signer_record_data.auto_sign, "autoExecute": signer_record_data.auto_sign,
"agreeAutoSign":signer_record_data.agree_auto_sign,
"signType": signer_record_data.sign_type, "signType": signer_record_data.sign_type,
"signerFileList": signerFileList "signerFileList": signerFileList
}) })
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
var data_ob=JSON.parse(data);*/ var data_ob=JSON.parse(data);*/
var contract_no= $ctx.parameter.contractNo; var contract_no= $ctx.parameter.contractNo;
var data = "action:" + $ctx.parameter.action + ",flowId:" + $ctx.parameter.flowId + ",signResult:" + $ctx.parameter.signResult + ",flowStatus:" + $ctx.parameter.flowStatus var data = "action:" + $ctx.parameter.action + ",flowId:" + $ctx.parameter.flowId + ",signResult:" + $ctx.parameter.signResult + ",flowStatus:" + $ctx.parameter.flowStatus
+ ",signTime:" + $ctx.parameter.signTime + ",esignType:" + $ctx.parameter.esignType; + ",signTime:" + $ctx.parameter.signTime + ",esignType:" + $ctx.parameter.esignType+ ",idNos:" + $ctx.parameter.idNos;
var logs_bm = $bm('wx.WX100.con_ele_savelogs'); var logs_bm = $bm('wx.WX100.con_ele_savelogs');
logs_bm.insert({ logs_bm.insert({
contract_id:contract_no, contract_id:contract_no,
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
var idNos = $ctx.parameter.idNos; var idNos = $ctx.parameter.idNos;
var idNos_json = JSON.parse(idNos); var idNos_json = JSON.parse(idNos);
var idNos_list = idNos_json.idNoList; var idNos_list = idNos_json.idNoList;
var np_auth_sign_update_bm = $bm('wx.WX110.np_ele_auth_signer_save');
for(var i = 0 ; i < idNos_list.length; i++){ for(var i = 0 ; i < idNos_list.length; i++){
signer_status_update_bm.update({ signer_status_update_bm.update({
contract_id:contract_no, contract_id:contract_no,
...@@ -35,6 +36,21 @@ ...@@ -35,6 +36,21 @@
sign_result:$ctx.parameter.signResult, sign_result:$ctx.parameter.signResult,
esign_type:$ctx.parameter.esignType esign_type:$ctx.parameter.esignType
}); });
}
$ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '修改成功';
}else if($ctx.parameter.action == 'SIGN_FLOW_UPDATE' && $ctx.parameter.signResult == '2' && $ctx.parameter.esignType == 'AE'){
var idNos = $ctx.parameter.idNos;
var idNos_json = JSON.parse(idNos);
var idNos_list = idNos_json.idNoList;
var np_auth_sign_update_bm = $bm('wx.WX110.np_ele_auth_signer_save');
for(var i = 0 ; i < idNos_list.length; i++){
//个人静默签用户首次完成签署,则插入签署流程表
np_auth_sign_update_bm.insert({
contract_id:contract_no,
sign_time:$ctx.parameter.signTime,
id_no:idNos_list[i].idNo
});
} }
$ctx.parameter.return_status = '0'; $ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '修改成功'; $ctx.parameter.return_message = '修改成功';
......
<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:ns1="leaf.application.action" xmlns:p="uncertain.proc" xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true">
<a:init-procedure>
<s:server-script><![CDATA[
importPackage(java.io);
importPackage(Packages.java.util);
function bp_sign_auth_status_update() {
try {
//获取传输过来的数据
var bp_id= $ctx.parameter.bpId;
var data = "action:" + $ctx.parameter.action + ",timestamp:" + $ctx.parameter.timestamp + ",orgName:" + $ctx.parameter.orgName + ",orgIdType:" + $ctx.parameter.orgIdType
+ ",orgIdNum:" + $ctx.parameter.orgIdNum + ",authId:" + $ctx.parameter.authId+ ",effectiveStartTime:" + $ctx.parameter.effectiveStartTime+ ",effectiveEndTime:" + $ctx.parameter.effectiveEndTime+ ",status:" + $ctx.parameter.status;
var logs_bm = $bm('wx.WX110.bp_ele_savelogs');
logs_bm.insert({
bp_id:bp_id,
httpurl:'回调接口',
jsonPut:null,
jsonResult:data.toString(),
tokenResult:null
});
var signer_status_update_bm = $bm('wx.WX110.bp_ele_auth_signer_status_update');
//静默签签署完成
if($ctx.parameter.action == 'AUTOSIGN_AUTHORIZE_FINISH' && $ctx.parameter.status == '2'){
signer_status_update_bm.update({
bp_id:bp_id,
auth_id:$ctx.parameter.authId,
flow_status:$ctx.parameter.status,
end_time:$ctx.parameter.timestamp,
effective_start_time:$ctx.parameter.effectiveStartTime,
effective_end_time:$ctx.parameter.effectiveEndTime
});
$ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '修改成功';
} else if($ctx.parameter.action == 'AUTOSIGN_AUTHORIZE_FINISH' && ($ctx.parameter.status == '3')){
//拒签或者过期是否需要处理,待确认
$ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '修改成功';
}
}catch(e)
{
$ctx.success = "true";
$ctx.parameter.return_status = '1';
$ctx.parameter.return_message = $ctx.get('/error/@message') || String(e);
}
var result = {
code: $ctx.parameter.return_status,
message: $ctx.parameter.return_message
};
$ctx.parameter.json = JSON.stringify(result);
}
bp_sign_auth_status_update();
]]></s:server-script>
<p:echo/>
</a:init-procedure>
<a:service-output output="/parameter/@json"/>
</a:service>
<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:ns1="leaf.application.action" xmlns:p="uncertain.proc" xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true">
<a:init-procedure>
<s:server-script><![CDATA[
function sign_auth_status_update() {
try {
var signer_flow_update_bm =$bm('wx.WX110.np_ele_auth_signer_save');
signer_flow_update_bm.update({
id_no:$ctx.parameter.idNo,
contract_id:$ctx.parameter.contract_id
});
$ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '执行成功';
} catch (e) {
$ctx.success = "false";
$ctx.parameter.return_status = '1';
$ctx.parameter.return_message = String(e);
}
//返回结果
var result = {
code: $ctx.parameter.return_status,
message: $ctx.parameter.return_message
};
$ctx.parameter.json = JSON.stringify(result);
}
if ($ctx.parameter.return_status != 'E' && $ctx.parameter.return_status != 'TIMEOUT') {
sign_auth_status_update();
}
]]></s:server-script>
</a:init-procedure>
<a:service-output output="/parameter/@json"/>
</a:service>
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2025年6月17日9:29:18
$Revision: 1.0
$Purpose:静默签授权发起首页
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" dynamiccreateenabled="true" trace="true">
<a:view>
<a:link id="${/parameter/@layout_code}_con_contract_get_layout_code_link_id"
model="cont.CON500.con_contract_get_layout_code" modelaction="update"/>
<script src="${/request/@context_path}/javascripts/jquery-1.6.4.min.js" type="text/javascript"/>
<a:link id="ele_sign_auth_verify_link_id" url="${/request/@context_path}/modules/wx/WX110/wx_ele_sign_auth_verify.lsc"/>
<a:link id="ele_sign_auth_online_link_id" url="${/request/@context_path}/modules/wx/WX110/wx_ele_sign_auth_online.lsc"/>
<a:link id="ele_sign_auth_history_link_id" url="${/request/@context_path}/modules/wx/WX110/wx_ele_sign_auth_history.lview"/>
<script type="text/javascript"><![CDATA[
jQuery.noConflict();
window['${/parameter/@layout_code}_user_button1_layout_dynamic_click'] = function() {
var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
var bp_agent_ds = $(ds_id);
var records = bp_agent_ds.getSelected();
if(records.length==0){
$L.showInfoMessage("提示",'请选择要维护的数据',null,null);
return;
}
if(records.length>1){
$L.showErrorMessage("提示",'只能选择一条数据进行维护!');
return;
}
if(records[0].get('bp_class')=='NP'){
$L.showErrorMessage("提示",'自然人客户无需发起签约,请重新选择!');
return;
}
Leaf.request({
url:$('ele_sign_auth_verify_link_id').getUrl(),
para:{
bp_id:records[0].get('bp_id')
},
scope:this,
success: function (res) {
if(res.result.check_flag == 'N'){
Leaf.showConfirm('${HLS.PROMPT}', res.result.result_message, function () {
window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
Leaf.request({
url: $('ele_sign_auth_online_link_id').getUrl(),
para: {
bp_id:records[0].get('bp_id')
},
scope: this,
success: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
$('${/parameter/@winid}').close();
},
failure: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
},
error: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
}
});
});
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
}else{
window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
Leaf.request({
url: $('ele_sign_auth_online_link_id').getUrl(),
para: {
bp_id:records[0].get('bp_id')
},
scope: this,
success: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
$('${/parameter/@winid}').close();
},
failure: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
},
error: function () {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
}
});
}
},
error: function() {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
},
failure: function() {
window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
}
});
}
function open_sign_auth_detail_win(id, name) {
var record = window['${/parameter/@layout_code}_hls_link_render_record'][id + '---' + name];
var param = record.data;
param['function_code'] = 'WX110Q';
param['function_usage'] = 'QUERY';
param['maintain_type'] = 'READONLY';
param['bp_id'] = record.get('bp_id');
param['url_title'] = '历史静默签授权信息';
hls_doc_get_layout_code('${/parameter/@layout_code}_con_contract_get_layout_code_link_id', param, 'ele_sign_auth_history_link_id', null);
}
//超链接渲染
window['${/parameter/@bp_seq}${/parameter/@layout_code}_dynamic_link_renderer'] = function (value, record, name, config_record, bp_seq) {
var link_function = '';
window['${/parameter/@bp_seq}${/parameter/@layout_code}_hls_link_render_record'][record.id + '---' + name] = record;
if (name == 'sign_auth_history') {
link_function = 'open_sign_auth_detail_win';
return '<a href="javascript:window[\'' + link_function + '\'](\'' + record.id + '\',\'' + name + '\');">查看'+'</a>';
}
}
]]></script>
<a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
</a:view>
</a:screen>
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2025年6月17日9:29:18
$Revision: 1.0
$Purpose:静默签授权历史记录
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" dynamiccreateenabled="true" trace="true">
<a:view>
<script type="text/javascript"><![CDATA[
Leaf.onReady(function () {
var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'bp_auth_ele_flow');
$(ds_id).setQueryParameter('bp_id', '${/parameter/@bp_id}');
$(ds_id).query();
});
]]></script>
<a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
</a:view>
</a:screen>
<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true">
<a:init-procedure>
<s:server-script><![CDATA[
importPackage(Packages.com.hand.elecon.httpost);
//系统参数获取
function info_query(parameter_code) {
var info = new Object();
var data = null;
var parameter_map = $bm('wx.WX100.sys_parameter_value').queryAsMap({
parameter_code:parameter_code
});
var data = parameter_map.getChildren();
info.code_value = data[0].code_value;
return info;
}
var up_file_token_url = info_query('UP_FILE_TOKEN_URL').code_value;
//组装签署报文信息
var ele_signer_bm = $bm('wx.WX110.org_ele_auth_signer_save');
var ele_signer_map = ele_signer_bm.queryAsMap({
bp_id: $ctx.parameter.bp_id
});
var ele_signer_data = ele_signer_map.getChildren();
//代理店用户信息
var idNo =ele_signer_data[0].social_code;
var name =ele_signer_data[0].bp_name;
//经办人
var agentName = ele_signer_data[0].bp_name_ag;
var agentIdNo = ele_signer_data[0].id_card_no_ag;
var mobile = ele_signer_data[0].agent_phone;
//法人
var legalName = ele_signer_data[0].bp_name_leg;
var legalIdNo = ele_signer_data[0].id_card_no_leg;
var userInfoList = [];
//代理店自动注册经办人
userInfoList.push({
"idNo": idNo,
"name": name,
"agentIdNo": agentIdNo,
"agentName": agentName,
"mobile": mobile,
"legalName": legalName,
"legalIdNo": legalIdNo,
"agentType": "2"
//"signerCategory":'AGENCY_STORE_SIGN' 不需要传入签约类型,签约类型如果为代理店,未注册则会校验需要先进行注册
});
//获取token信息
var logs_bm = $bm('wx.WX110.bp_ele_savelogs');
try {
var token_sign_result = EleFileUpHttpPost.post(up_file_token_url, null, null);
} catch (e) {
raise_app_error('获取token失败,请联系技术人员检查!');
}
var token_sign_result_ob = JSON.parse(token_sign_result);
var access_sign_token = token_sign_result_ob.access_token;
//校验签署人是否存在:如果不存在则创建签署人,参考一步发起签约
var info = info_query('HL_ELE_ACCOUNT_CREATE_PATH');
var httpUrl = info.code_value;
var Param = {
userInfo: userInfoList
}
var result = EleFileUpHttpPost.post(httpUrl, JSON.stringify(Param), access_sign_token);
logs_bm.insert({
bp_id: $ctx.parameter.bp_id,
httpurl: httpUrl,
jsonPut: JSON.stringify(Param),
jsonResult: result,
tokenResult: token_sign_result
});
var result_ob = JSON.parse(result); //根据返回参数形式再定
if (result_ob.code != 0) {
$bm('wx.WX100.rollback').update();
raise_app_error(result_ob.message.toString());
}
//【线上】发起企业授权书签署任务
//获取签约截止日期:待方案确认截止日期取值
var valid_date_bm = $bm('wx.WX110.get_valid_date');
var valid_date_map = valid_date_bm.queryAsMap({
});
var valid_date_data = valid_date_map.getChildren();
var valid_date =valid_date_data[0].valid_date;
var info = info_query('ORG_AUTH_SIGN_ONLINE');
var httpUrl = info.code_value;
var signParam = {
bp_id: $ctx.parameter.bp_id,
valid_date:valid_date,
userInfo: userInfoList
}
var result = EleFileUpHttpPost.post(httpUrl, JSON.stringify(signParam), access_sign_token);
logs_bm.insert({
bp_id: $ctx.parameter.bp_id,
httpurl: httpUrl,
jsonPut: JSON.stringify(signParam),
jsonResult: result,
tokenResult: token_sign_result
});
var result_ob = JSON.parse(result); //根据返回参数形式再定
if (result_ob.code != 0) {
$bm('wx.WX100.rollback').update();
raise_app_error(result_ob.message.toString());
} else if (result_ob.code == 0) {
var auth_id = result_ob.authId;
//插入流程表,用于多次发起签约及兜底逻辑获取签约结果
var flow_update_bm = $bm('wx.WX110.bp_ele_flow_update');
flow_update_bm.update({
bp_id: $ctx.parameter.bp_id,
auth_id: auth_id
})
var info = info_query('ORG_AUTH_GET_SIGNURL');
var httpUrl = info.code_value;
var urlParam = {
authId: auth_id
}
var result = EleFileUpHttpPost.post(httpUrl, JSON.stringify(urlParam), access_sign_token);
logs_bm.insert({
bp_id: $ctx.parameter.bp_id,
httpurl: httpUrl,
jsonPut: JSON.stringify(urlParam),
jsonResult: result,
tokenResult: token_sign_result
});
var result_ob = JSON.parse(result); //根据返回参数形式再定
if (result_ob.code != 0) {
$bm('wx.WX100.rollback').update();
raise_app_error(result_ob.message.toString());
}else if(result_ob.code == 0){
//将签约地址存在签约表中
var short_url = result_ob.shortUrl;
var signer_update_bm = $bm('wx.WX110.org_ele_auth_signer_save');
signer_update_bm.execute({
bp_id: $ctx.parameter.bp_id,
short_url:short_url
})
}
}
]]></s:server-script>
</a:init-procedure>
</a:service>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:s="leaf.plugin.script" xmlns:a="http://www.leaf-framework.org/application" trace="true">
<a:init-procedure>
<s:server-script><![CDATA[
importPackage(java.io);
importPackage(Packages.com.hand.elecon.httpost);
var up_file_token_url = info_query('UP_FILE_TOKEN_URL').code_value;
//系统参数获取
function info_query(parameter_code) {
var info = new Object();
var data = null;
var parameter_map = $bm('wx.WX100.sys_parameter_value').queryAsMap({
parameter_code:parameter_code
});
var data = parameter_map.getChildren();
info.code_value = data[0].code_value;
return info;
}
function sign_auth_query() {
try {
//静默签签约流程
var bp_ele_sign_flow_bm = $bm('wx.WX110.bp_ele_flow_update');
var bp_ele_sign_flow_map;
if($ctx.parameter.p_bp_id && $ctx.parameter.p_auth_id){
bp_ele_sign_flow_map = bp_ele_sign_flow_bm.queryAsMap({
bp_id: $ctx.parameter.p_bp_id,
auth_id: $ctx.parameter.p_auth_id
});
}else{
bp_ele_sign_flow_map = bp_ele_sign_flow_bm.queryAsMap();
}
var bp_ele_sign_flow_data = bp_ele_sign_flow_map.getChildren();
var flows_list = [];
for (var i = 0; i < bp_ele_sign_flow_data.length; i++) {
var auth_id = bp_ele_sign_flow_data[i].auth_id;
flows_list.push({
auth_id:auth_id
})
}
//调用中台查询企业授权结果接口
var info = info_query('ORG_AUTH_QUERY_RESULT');
var httpUrl = info.code_value;
var Param = {
flows: flows_list
}
var logs_bm = $bm('wx.WX110.bp_ele_savelogs');
try {
var token_sign_result = EleFileUpHttpPost.post(up_file_token_url, null, null);
} catch (e) {
raise_app_error('查询企业授权结果获取token失败,请联系技术人员检查!');
}
var token_sign_result_ob = JSON.parse(token_sign_result);
var access_sign_token = token_sign_result_ob.access_token;
var result = EleFileUpHttpPost.post(httpUrl, JSON.stringify(Param), access_sign_token);
logs_bm.insert({
bp_id: $ctx.parameter.p_bp_id || '',
httpurl: httpUrl,
jsonPut: JSON.stringify(Param),
jsonResult: result,
tokenResult: token_sign_result
});
var result_ob = JSON.parse(result); //根据返回参数形式再定
if (result_ob.code == 0) {
var signer_status_update_bm = $bm('wx.WX110.bp_ele_flow_update');
signer_status_update_bm.execute({
bp_id:$ctx.parameter.p_bp_id,
auth_id:result_ob.authId,
flow_status:result_ob.status,
effective_start_time:result_ob.effectiveStartTime,
effective_end_time:result_ob.effectiveEndTime
});
}
$ctx.parameter.return_status = '0';
$ctx.parameter.return_message = '执行成功';
} catch (e) {
$ctx.success = "true";
$ctx.parameter.return_status = 'E';
$ctx.parameter.return_message = $ctx.get('/error/@message') || String(e);
$bm('wx.WX100.rollback').update();
}
var result = {
result: $ctx.parameter.return_status,
message: $ctx.parameter.return_message
};
$ctx.parameter.json = JSON.stringify(result);
}
if ($ctx.parameter.return_status != 'E' && $ctx.parameter.return_status != 'TIMEOUT') {
sign_auth_query();
}
]]></s:server-script>
</a:init-procedure>
<a:service-output/>
</a:service>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2025年06月10日 09点35分
$Revision: 1.0
$Purpose:
-->
<a:service xmlns:ns1="leaf.application.action" xmlns:p="uncertain.proc" xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true">
<a:init-procedure>
<s:server-script ><![CDATA[
importPackage(Packages.com.hand.elecon.httpost);
var up_file_token_url = info_query('UP_FILE_TOKEN_URL').code_value;
//系统参数获取
function info_query(parameter_code) {
var info = new Object();
var data = null;
var parameter_map = $bm('wx.WX100.sys_parameter_value').queryAsMap({
parameter_code:parameter_code
});
var data = parameter_map.getChildren();
info.code_value = data[0].code_value;
return info;
}
//1.存储签署人信息
var org_ele_auth_signer_bm = $bm('wx.WX110.org_ele_auth_signer_save');
org_ele_auth_signer_bm.update({
bp_id: $ctx.parameter.bp_id
});
//2.查找代理店静默签签署人信息
var ele_auth_signer_bm = $bm('wx.WX110.org_ele_auth_signer_save');
var ele_auth_signer_map = ele_auth_signer_bm.queryAsMap({
bp_id: $ctx.parameter.bp_id
});
var ele_auth_signer_data = ele_auth_signer_map.getChildren();
var userInfoList = [];
//代理店传经办人身份证,供应商传法人身份证:校验企业下是否存在其它经办人
var agentIdNo = ele_auth_signer_data[0].id_card_no_ag;
var license = ele_auth_signer_data[0].social_code;
//var mobile = ele_auth_signer_data[0].agent_phone;
userInfoList.push({
"license":license,
"idNo":agentIdNo
});
//调用中台校验经办人
var info = info_query('HL_ELE_AGENT_CHECK_PATH');
var httpUrl = info.code_value;
var verifyParam = {
userInfo:userInfoList
}
var logs_bm = $bm('wx.WX110.bp_ele_savelogs');
try {
var token_sign_result = EleFileUpHttpPost.post(up_file_token_url, null, null);
} catch (e) {
raise_app_error('获取token失败,请联系技术人员检查!');
}
var token_sign_result_ob = JSON.parse(token_sign_result);
var access_sign_token = token_sign_result_ob.access_token;
var post_result = EleFileUpHttpPost.post(httpUrl, JSON.stringify(verifyParam), access_sign_token);
logs_bm.insert({
bp_id:$ctx.parameter.bp_id,
httpurl:httpUrl,
jsonPut:JSON.stringify(verifyParam),
jsonResult:post_result,
tokenResult:token_sign_result
});
var result_ob = JSON.parse(post_result); //根据返回参数形式再定
if (result_ob.code != 0) {
var result_message = result_ob.message;
$ctx.parameter.check_flag = 'N';
$ctx.parameter.result_message = result_message;
}
]]></s:server-script>
</a:init-procedure>
<a:service-output output="/parameter"/>
</a:service>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment