yc征信授权电子签页面修改为批量

This commit is contained in:
zhanglei 2021-07-19 15:21:01 +08:00
parent 46e42b2f45
commit 2050b4b8e6
7 changed files with 547 additions and 171 deletions

View File

@ -132,7 +132,7 @@
var flag = window.confirm("已经生成过合同,是否重新制作委托扣款授权书");
if(flag==true){
//废除之前生成过的合同
var resultStatus = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.CreditAuthAward","updateDocContractStatusContract","contract_id=<%=ContractId%>,CustomerType=<%=customerType%>,FlowUnid=<%=applyId%>");
var resultStatus = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","updateDocContractStatusContract","contract_id=<%=ContractId%>,CustomerType=<%=customerType%>,FlowUnid=<%=applyId%>");
if("error"==resultStatus){
AsDebug.showMessage("提示","生成合同失败!","","",true);
return;
@ -270,7 +270,7 @@
var flag = window.confirm("修改数据会作废已制作或已签约的合同,是否修改");
if(flag==true){
//废除之前生成过的合同
var resultStatus = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.CreditAuthAward","updateDocContractStatusContract","contract_id=<%=ContractId%>,CustomerType=<%=customerType%>,FlowUnid=<%=applyId%>");
var resultStatus = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","updateDocContractStatusContract","contract_id=<%=ContractId%>,CustomerType=<%=customerType%>,FlowUnid=<%=applyId%>");
if("error"==resultStatus){
AsDebug.showMessage("提示","修改失败!","","",true);
return;

View File

@ -14,15 +14,19 @@
ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
dwTemp.Style="1"; //--设置为Grid风格--
dwTemp.ReadOnly = "1"; //只读模式
dwTemp.MultiSelect=true; //多选
dwTemp.setPageSize(10);
dwTemp.genHTMLObjectWindow(sFlowUnid);
String flag = "false";
if(CurUser.hasRole("401")){
flag = "true";
}
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
{"true","All","Button","生成征信授权书","生成征信授权书","createCreditPdf()","","","","btn_icon_generate",""},
{"true","All","Button","发起电子签约","发起电子签约","signOnLine()","","","","btn_icon_generate",""},
{"true","All","Button","查看签约状态","查看签约状态","getStatus()","","","","btn_icon_detail",""},
{"true","All","Button","重发签约短信","重发签约短信","sendMessageAgain()","","","","btn_icon_refresh",""},
{flag,"All","Button","生成征信授权书","生成征信授权书","createCreditPdf()","","","","btn_icon_generate",""},
{flag,"All","Button","发起电子签约","发起电子签约","signOnLine()","","","","btn_icon_generate",""},
{flag,"All","Button","查看签约状态","查看签约状态","getStatus()","","","","btn_icon_detail",""},
{flag,"All","Button","重发签约短信","重发签约短信","sendMessageAgain()","","","","btn_icon_refresh",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
@ -31,83 +35,150 @@
$("#DIV_Data_myiframe0_"+i+"_4").css("color","Blue");
}
})
//在加载完表格后调用
function showPDF(filePath,name){
var sUrl="/Ample/Doc/showPDF.jsp";
var param="filePath="+filePath;
AsControl.OpenPage(sUrl,param,"",name);
}
function downloadFile(filePath,fileName){
if(!frames["downloadTemplate"]) $("<iframe name='downloadTemplate' style='display:none;'></iframe>").appendTo("body");
var src = sWebRootPath+"/servlet/view/docDownloadServletByPath?CompClientID=<%=sCompClientID%>&filePath="+encodeURIComponent(encodeURIComponent(filePath))+"&fileName="+encodeURIComponent(encodeURIComponent(fileName));
window.open(src, "downloadTemplate");
}
function afterSearch(){
for(var i=0;i<getRowCount(0);i++){
var filelist=getObj(0,i,"fileList").innerHTML;
var obj=eval('('+filelist+')');
var html="";
html+='<a onclick=downloadFile(\''+getItemValue(0,i,"ID")+'\')><font color="blue">'+"下载&nbsp&nbsp&nbsp&nbsp&nbsp"+'</font></a>';
getObj(0,i,"FILENAME").innerHTML=html+'<font >'+getObj(0,i,"FILENAME").innerHTML+'</font>';
for(var file in obj){
html+='<a onclick=downloadFile(\''+obj[file]['filepath']+'\',\''+obj[file]['filename']+'\')><font color="blue">'+obj[file]['filename']+'</font></a>';
html+='【上传时间:'+obj[file]['inputtime']+'】';
if(obj[file]['pdf']=="true"){
html+='<a class="btn_icon btn_icon_search" onclick="showPDF(\''+obj[file]['filepath']+'\',\''+obj[file]['filename']+'\');">&nbsp;</a>';
}
html+='</br>';
}
getObj(0,i,"fileList").innerHTML=html;
getObj(0,i,"fileList").style["white-space"]="pre-wrap";
}
}
function downloadFile(id){
if(typeof(id)==undefined || id=='') {
alert("请先生成征信授权书再下载!");
return;
}
if(!frames["downloadTemplate"]) $("<iframe name='downloadTemplate' style='display:none;'></iframe>").appendTo("body");
window.open(sWebRootPath+"/servlet/view/docDownloadServlet?CompClientID=<%=sCompClientID%>&sqlString=save@"+id, "downloadTemplate");
}
<%--//在加载完表格后调用--%>
<%--function afterSearch(){--%>
<%--for(var i=0;i<getRowCount(0);i++){--%>
<%--var html="";--%>
<%--html+='<a onclick=downloadFile(\''+getItemValue(0,i,"ID")+'\')><font color="blue">'+"下载&nbsp&nbsp&nbsp&nbsp&nbsp"+'</font></a>';--%>
<%--getObj(0,i,"FILENAME").innerHTML=html+'<font >'+getObj(0,i,"FILENAME").innerHTML+'</font>';--%>
<%--}--%>
<%--}--%>
<%--function downloadFile(id){--%>
<%--if(typeof(id)==undefined || id=='') {--%>
<%--alert("请先生成征信授权书再下载!");--%>
<%--return;--%>
<%--}--%>
<%--if(!frames["downloadTemplate"]) $("<iframe name='downloadTemplate' style='display:none;'></iframe>").appendTo("body");--%>
<%--window.open(sWebRootPath+"/servlet/view/docDownloadServlet?CompClientID=<%=sCompClientID%>&sqlString=save@"+id, "downloadTemplate");--%>
<%--}--%>
function createCreditPdf(){
var fullName = getItemValue(0,getRow(0),'fullName');
var certId = getItemValue(0,getRow(0),'certId');
var phone = getItemValue(0,getRow(0),'phone');
var flowunid = getItemValue(0,getRow(0),'flowunid');
var creditauth = getItemValue(0,getRow(0),'creditauth');
var credittype = getItemValue(0,getRow(0),'credittype');
var objectType = credittype;
var operationType = objectType;
var param={};
var tempParam={};
var sparam="";
//模板号
var relation = getItemValue(0,getRow(0),'relation');
var tempId = "65b12cbfd98611eb970e00163e0ad612";
/**creditauth
* 征信授权书_安鹏
征信授权书_安鹏
征信授权书_邮储
借款服务确认书_邮储
*/
if("申请人"== relation && "征信授权书_邮储" == creditauth){
tempId = "65bd277ad98611eb970e00163e0ad612";//申请人的情况下征信授权书_邮储
}else if("申请人"== relation && "借款服务确认书_邮储" == creditauth){
tempId = "134f3d88e2f811eb970e00163e0ad612";//申请人的情况下借款服务确认书_邮储
}
param["templateNo"]= tempId;
var fullNames=getItemValueArray(0,"fullName");
var certIds=getItemValueArray(0,"certId");
var phones=getItemValueArray(0,"phone");
var creditauths=getItemValueArray(0,"creditauth");
var credittypes=getItemValueArray(0,"credittype");
var relations=getItemValueArray(0,"relation");
var signTypes=getItemValueArray(0,"sign_type");
var projectNo = "<%=projectNo%>";
//生成文件关联关系
tempParam["OBJECTTYPE"] = objectType;
tempParam["insurance_no"] = flowunid;
tempParam["contract_no"] = certId;
tempParam["contract_id"] = "<%=projectNo%>";
tempParam["project_id"] = "<%=projectNo%>";
tempParam["PROJ_ID"] = "<%=projectNo%>";//注意变量名,不要改
tempParam["CONTRACT_ID"] = "<%=projectNo%>";//注意变量名,不要改
tempParam["CUST_ID"] = certId;//注意变量名,不要改
tempParam["PLAN_NUMBER"] = phone;//注意变量名,不要改
tempParam["customername"] = fullName;
//生成模板固定参数
tempParam["CurUserId"]="<%=CurUser.getUserID()%>";
tempParam["CurOrgId"]="<%=CurUser.getOrgID()%>";
tempParam["fileSavePath"]="<%=CurConfig.getConfigure("FileSavePath")%>";
param["templateParam"]=JSON.stringify(tempParam).replace(/,/g,"@");//生成模板的参数据
for(var key in param){
if(sparam.length>0){sparam+=",";}
sparam+=key+"="+param[key];
var flowunid = "<%=sFlowUnid%>";
if(typeof(relations)=="undefined"||relations==null||relations==""){alert("请选择");return;}
var number = 0;
for(var i=0; i < relations.length;i++) {
var signType = signTypes[i];
alert(signType);
}
var deleteresult = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthDeleteAction","deleteCreditAuth","certId="+certId+",projectNo="+projectNo+",objectType="+objectType);
var result=RunJavaMethodTrans("com.tenwa.officetempalte.action.CreateOfficeAction","createOfficeByTemplate", sparam);
// word转pdf
var id = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthSignAction","wordToPdfCreditAuth",
"projectNo="+projectNo+",operationType="+objectType
+",fullName="+fullName+",certId="+certId+",phone="+phone+",flowUnid="+flowunid);
if(typeof(id)=="undefined" || id.length <= 0 || id==""){
RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthDeleteAction","deleteCreditAuth","certId="+certId+",projectNo="+projectNo+",objectType="+objectType);
}else {
for(var i=0; i < relations.length;i++) {
var fullName = fullNames[i];
var certId = certIds[i];
var phone = phones[i];
var creditauth = creditauths[i];
var credittype = credittypes[i];
var relation = relations[i];
var objectType = credittype;
var operationType = objectType;
var param = {};
var tempParam = {};
var sparam = "";
if ("担保人" == relation) {
var checkCreditAuth = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthDeleteAction", "checkCreditAuth", "flowUnid=" + flowunid);
if ("" == checkCreditAuth || "Ent02" == checkCreditAuth) {
if(1==relations.length){
alert("当前担保人类型不支持线上签约!");
return;
}else {
number++;
continue;
}
}
}
//模板号 征信授权书_安鹏
var tempId = "65b12cbfd98611eb970e00163e0ad612";
/**creditauth
*
征信授权书_安鹏 99001
征信授权书_邮储 99002
借款服务确认书_邮储99003
*/
if ("申请人" == relation && "征信授权书_邮储" == creditauth) {
tempId = "65bd277ad98611eb970e00163e0ad612";//申请人的情况下征信授权书_邮储
} else if ("申请人" == relation && "借款服务确认书_邮储" == creditauth) {
tempId = "134f3d88e2f811eb970e00163e0ad612";//申请人的情况下借款服务确认书_邮储
}
param["templateNo"] = tempId;
//生成文件关联关系
tempParam["OBJECTTYPE"] = objectType;
tempParam["insurance_no"] = flowunid;
tempParam["contract_no"] = certId;
tempParam["contract_id"] = "<%=projectNo%>";
tempParam["project_id"] = "<%=projectNo%>";
tempParam["PROJ_ID"] = "<%=projectNo%>";//注意变量名,不要改
tempParam["CONTRACT_ID"] = "<%=projectNo%>";//注意变量名,不要改
tempParam["CUST_ID"] = certId;//注意变量名,不要改
tempParam["PLAN_NUMBER"] = phone;//注意变量名,不要改
tempParam["customername"] = fullName;
//生成模板固定参数
tempParam["CurUserId"] = "<%=CurUser.getUserID()%>";
tempParam["CurOrgId"] = "<%=CurUser.getOrgID()%>";
tempParam["fileSavePath"] = "<%=CurConfig.getConfigure("FileSavePath")%>";
param["templateParam"] = JSON.stringify(tempParam).replace(/,/g, "@");//生成模板的参数据
for (var key in param) {
if (sparam.length > 0) {
sparam += ",";
}
sparam += key + "=" + param[key];
}
var deleteresult = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthDeleteAction", "deleteCreditAuth", "certId=" + certId + ",projectNo=" + projectNo + ",objectType=" + objectType);
var result = RunJavaMethodTrans("com.tenwa.officetempalte.action.CreateOfficeAction", "createOfficeByTemplate", sparam);
// word转pdf
var id = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthSignAction", "wordToPdfCreditAuth",
"projectNo=" + projectNo + ",operationType=" + objectType
+ ",fullName=" + fullName + ",certId=" + certId + ",phone=" + phone + ",flowUnid=" + flowunid);
if (typeof (id) == "undefined" || id.length <= 0 || id == "") {
RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthDeleteAction", "deleteCreditAuth", "certId=" + certId + ",projectNo=" + projectNo + ",objectType=" + objectType);
} else {
number++;
}
}
if(relations.length==0){
alert("请先选择数据!!!");
return;
}else if(number==0){
alert("生成失败!!!");
}else if(number==relations.length){
alert("生成成功!!!");
}else{
alert("部分生成成功!!!");
}
reloadSelf();
}
@ -117,63 +188,63 @@
* 发起电子签约
*/
function signOnLine(){
var fullName = getItemValue(0,getRow(0),'fullName');
var certId = getItemValue(0,getRow(0),'certId');
var phone = getItemValue(0,getRow(0),'phone');
var flowunid = getItemValue(0,getRow(0),'flowunid');
var fullNames=getItemValueArray(0,"fullName");
var certIds=getItemValueArray(0,"certId");
var phones=getItemValueArray(0,"phone");
var creditauths=getItemValueArray(0,"creditauth");
var credittypes=getItemValueArray(0,"credittype");
var relations=getItemValueArray(0,"relation");
var attributeIds=getItemValueArray(0,"ID");
var projectNo = "<%=projectNo%>";
//模板号
var relation = getItemValue(0,getRow(0),'relation');
var attributeId = getItemValue(0,getRow(0),'ID');
var creditauth = getItemValue(0,getRow(0),'creditauth');
var credittype = getItemValue(0,getRow(0),'credittype');
var objectType = credittype;
var operationType = objectType;
if(typeof(attributeId)==undefined || attributeId=='') {
alert("请先生成征信授权书,再发起电子签约!");
return;
}
/**creditauth
* 征信授权书_安鹏
征信授权书_安鹏
征信授权书_邮储
借款服务确认书_邮储
*/
if("申请人"== relation && "征信授权书_邮储" == creditauth){
tempId = "65bd277ad98611eb970e00163e0ad612";//申请人的情况下征信授权书_邮储
}else if("申请人"== relation && "借款服务确认书_邮储" == creditauth){
tempId = "134f3d88e2f811eb970e00163e0ad612";//申请人的情况下借款服务确认书_邮储
}
//自然人电子签约
var sReturn = "";
sReturn = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthActionNewUtils","signIng",
"attributeId="+attributeId+",projectNo="+projectNo+",operationType="+objectType +",relation="+relation
+",fullName="+fullName+",certId="+certId+",phone="+phone+",flowUnid="+flowunid+",creditauth="+credittype);
var flowunid = "<%=sFlowUnid%>";
if(typeof(relations)=="undefined"||relations==null||relations==""){alert("请选择");return;}
var number = 0;
var applyCount = 0;
for(var i=0; i < relations.length;i++) {
var fullName = fullNames[i];
var certId = certIds[i];
var phone = phones[i];
var creditauth = creditauths[i];
var credittype = credittypes[i];
var relation = relations[i];
var attributeId = attributeIds[i];
var objectType = credittype;
var operationType = objectType;
if (typeof (attributeId) == undefined || attributeId == '') {
if (1 == relations.length) {
alert("请先生成pdf文件再发起电子签约");
return;
} else {
number++;
continue;
}
}
if ("申请人" == relation) {
applyCount++;
if(applyCount > 1){//申请人只需要发起一次电子签约,后台代码整合
continue;
}
}
//自然人电子签约
var sReturn = RunJavaMethodTrans("com.tenwa.channelportal.action.alpha.CreditAuthActionNewUtils", "signIng",
"attributeId=" + attributeId + ",projectNo=" + projectNo + ",operationType=" + objectType + ",relation=" + relation
+ ",fullName=" + fullName + ",certId=" + certId + ",phone=" + phone + ",flowUnid=" + flowunid + ",creditauth=" + credittype);
var sReturns = sReturn.split("@");
if("success"==sReturns[0]){
AsDebug.showMessage("提示","电子签约发起成功!","","",true,"","","",function(){
window.location.reload();
});
}else if(sReturns[1].indexOf("用户认证信息与合同签署方信息不匹配")!=-1){
var message="";
if("true"==sReturns[0]){
message = "部分合同发送成功;注意发送失败合同:";
if("success" == sReturn) {
number++;
}
AsDebug.showMessage("提示",message+sReturns[1],"","",true,"","","",function(){
window.location.reload();
});
}else{
var message="";
if("true"==sReturns[0]){
message = "部分合同发送成功;注意发送失败合同";
}else{
message = "电子签约发送失败";
}
AsDebug.showMessage("提示",message,"","",true,"","","",function(){
window.location.reload();
});
}
if(relations.length==0){
alert("请先选择数据!!!");
return;
}else if(number==0){
alert("发起电子签约失败!!!");
}else if(number==relations.length){
alert("发起电子签约成功!!!");
}else{
alert("部分发起电子签约成功!!!");
}
location.reload();
}
//查询电子签约状态

View File

@ -83,13 +83,6 @@ public class CreditAuthActionNewUtils {
String subjectId = pbo.getAttribute("subjectid").getString();
logger.info("signIng0708 个人征信授权 subjectId=" + subjectId);
Map<String, List<Map<String, String>>> parameter = new HashMap<String, List<Map<String, String>>>();
// List<Map<String, String>> companyPar = new LinkedList<Map<String, String>>();
// // 添加公司公章
// Map<String, String> param1 = new HashMap<String, String>();
// param1.put("type", "1");// 1标识当期发起公司公章2标识当前公司下的子公司
// param1.put("mobile", "12599998888");//子公司添加接收手机号如果不需要接收直接填写一个虚拟不存在就行如果需要传真实手机号
// companyPar.add(param1);
// parameter.put("COMPANY", companyPar);
//添加个人基本信息
List<Map<String, String>> personPar = new LinkedList<Map<String, String>>();
Map<String, String> sqPar = new HashMap<String, String>();
@ -109,7 +102,7 @@ public class CreditAuthActionNewUtils {
String makefullPath = bo.getAttribute("FULLPATH").toString();// 获取生成文件路径
Long documentId = null;
if("申请人".equals(relation)){
// TODO: 2021/7/12 申请人安鹏征信授权邮储征信授权邮储借款告知书一起签
// : 2021/7/12 申请人安鹏征信授权邮储征信授权邮储借款告知书一起签
logger.info("申请人一起签");
Map<String, String> docAttrMap = new HashMap<>();
for(String createType : docAttrIdMap.keySet()){
@ -149,7 +142,7 @@ public class CreditAuthActionNewUtils {
String contractDocId = boTemp.getAttribute("id")
.toString();
fromCondtion.put("id", contractDocId);
otherProperty.put("SIGNPROCESS", "0");// 发起电子签约
otherProperty.put("SIGNPROCESS", "1");// 发起电子签约
otherProperty.put("CONTRACTDOCID", contractDocId);// 发起电子签约
otherProperty.put("INPUTTIME",DateAssistant.getTodayNow());
// 拷表的方法
@ -170,7 +163,7 @@ public class CreditAuthActionNewUtils {
String contractDocId = bo.getAttribute("id")
.toString();
fromCondtion.put("id", contractDocId);
otherProperty.put("SIGNPROCESS", "0");// 发起电子签约
otherProperty.put("SIGNPROCESS", "1");// 发起电子签约
otherProperty.put("CONTRACTDOCID", contractDocId);// 发起电子签约
otherProperty.put("INPUTTIME",DateAssistant.getTodayNow());
// 拷表的方法
@ -182,7 +175,7 @@ public class CreditAuthActionNewUtils {
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
System.out.println("自然人电子签约异常:" + e.getMessage());
logger.error("征信授权 电子签约异常:" + e.getMessage(), e);
return "flase@error";
}
}
@ -213,6 +206,7 @@ public class CreditAuthActionNewUtils {
}
return null;
}
/**
* 查看签约结果
* @param tx
@ -228,8 +222,12 @@ public class CreditAuthActionNewUtils {
.setParameter("attributeId", attributeId).getSingleResult(true);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid").setParameter("flowUnid", flowUnid).getSingleResult(true);
if(null == pbo || bo == null ){
return "请检查合同文件是否生成!";
return "请检查是否已发起签约,或者文件是否生成!";
} else {
String signSts = bo.getAttribute("SIGN_TYPE").toString();
if("COMPLETE".equals(signSts)){
return "已完成";
}
String subjectId = pbo.getAttribute("subjectid").getString();
logger.info("contractSignStatus0708 个人征信授权 subjectId=" + subjectId);
long signContractId = new Long(
@ -264,7 +262,6 @@ public class CreditAuthActionNewUtils {
logger.info("个人征信授权 无需执行合同盖章。 合同下载log===" + downloadstatus);
boTemp.setAttributeValue("PROCESS", "6");
boTemp.setAttributeValue("SIGN_TYPE", "COMPLETE");// 法人客户当盖完章改为完成状态
boTemp.setAttributeValue("SENDPROCESS", "2");
contBom.saveObject(boTemp);
}
logger.info("contractSignStatus20210712 电子签约已完成,个人征信授权 无需执行合同盖章。");
@ -275,7 +272,6 @@ public class CreditAuthActionNewUtils {
Map<String, String> otherProperty = new HashMap<String, String>();
String contractDocId = bo.getAttribute("id").toString();
fromCondtion.put("id", contractDocId);
otherProperty.put("SIGNPROCESS", "2");// 已完成电子签约
otherProperty.put("CONTRACTDOCID", contractDocId);// 已完成电子签约
otherProperty.put("INPUTTIME",DateAssistant.getTodayNow());
// 拷表的方法
@ -284,7 +280,6 @@ public class CreditAuthActionNewUtils {
logger.info("个人征信授权 无需执行合同盖章。 合同下载log===" + downloadstatus);
bo.setAttributeValue("PROCESS", "6");
bo.setAttributeValue("SIGN_TYPE", "COMPLETE");// 法人客户当盖完章改为完成状态
bo.setAttributeValue("SENDPROCESS", "2");
contBom.saveObject(bo);
logger.info("contractSignStatus20210429 电子签约已完成,个人征信授权 无需执行合同盖章。");
return "已完成";
@ -295,40 +290,41 @@ public class CreditAuthActionNewUtils {
}
}
/**
* 重发签约短信
* @param tx
* @return
*/
public String sendMessageAgain(JBOTransaction tx) {
try{
logger.info("sendMessageAgain20210708 个人征信授权 projectNo="+ projectNo+ " fullName="+ fullName);
BizObjectManager pbm = JBOFactory.getBizObjectManager(LB_PROJECT_INFO_TEMP.CLASS_NAME, tx);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid").setParameter("flowUnid", flowUnid).getSingleResult(true);
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
BizObject bo = null;
bo = contBom.createQuery("select singcontract_id,filename from O where attribute_id=:attributeId"
+" and file_flag = 'yes' and sendprocess = '1' and sign_type = 'SIGNING'")
+" and file_flag = 'yes' and sendprocess = '1'")
.setParameter("attributeId", attributeId).getSingleResult(true);
String subjectId = pbo.getAttribute("subjectid").getString();
logger.info("sendMessageAgain20210708 个人征信授权 subjectId=" + subjectId);
if(bo == null ){
if(bo == null ) {
// 查询lb_doc_contract_list表
bo = contBom.createQuery("attribute_id=:attributeId and file_flag='yes' and (sendprocess='0' or sendprocess='1' ) ")
.setParameter("attributeId", attributeId).getSingleResult(true);
if(bo == null ){
if (bo == null) {
logger.info("sendMessageAgain20210708 请检查合同文件是否生成");
return "请检查合同文件是否生成!";
}
long signContractId =
new Long(bo.getAttribute("SINGCONTRACT_ID") == null ? null : bo.getAttribute("SINGCONTRACT_ID").getString());
CreditAuthActionTwoUtil catu = new CreditAuthActionTwoUtil();
String contractStatus = catu.getContractStatus(subjectId, signContractId);
if("success".equals(contractStatus)){
logger.info("sendMessageAgain20210708 电子签约已完成,无需再发送短信。");
return "签约已完成,无需再发送短信。";
}
logger.info("sendMessageAgain20210708 请检查合同文件是否生成111");
return "请检查合同文件是否生成!";
}
long signContractId =new Long(bo.getAttribute("SINGCONTRACT_ID")==null ? null : bo.getAttribute("SINGCONTRACT_ID").getString());
KHSQContractSignActionTwoUtil catu = new KHSQContractSignActionTwoUtil();
return catu.messageSend(subjectId, signContractId);
String signSts = bo.getAttribute("SIGN_TYPE").toString();
if("COMPLETE".equals(signSts)){
return "success";
}
if("SIGNING".equals(signSts)){
BizObjectManager pbm = JBOFactory.getBizObjectManager(LB_PROJECT_INFO_TEMP.CLASS_NAME, tx);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid").setParameter("flowUnid", flowUnid).getSingleResult(true);
String subjectId = pbo.getAttribute("subjectid").getString();
long signContractId =new Long(bo.getAttribute("SINGCONTRACT_ID")==null ? null : bo.getAttribute("SINGCONTRACT_ID").getString());
KHSQContractSignActionTwoUtil catu = new KHSQContractSignActionTwoUtil();
return catu.messageSend(subjectId, signContractId);
}
return "success";
} catch (Exception e) {
try {
tx.rollback();

View File

@ -8,6 +8,9 @@ import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP;
/**
* 删除征信合同记录
@ -17,6 +20,16 @@ public class CreditAuthDeleteAction {
String objectType;//文件类型
String projectNo;//项目编号
String certId;//身份证号
String flowUnid;;//流程编号
public String getFlowUnid() {
return flowUnid;
}
public void setFlowUnid(String flowUnid) {
this.flowUnid = flowUnid;
}
public String getObjectType() {
return objectType;
@ -57,15 +70,36 @@ public class CreditAuthDeleteAction {
String lbDocLibraryId = bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", lbDocBizId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager bom2 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
String docAttributeId = bom2.createQuery("library_id=:library_id").setParameter("library_id", lbDocLibraryId).getSingleResult(false).getAttribute("id").toString();
Map<String,String> condtion= new HashMap<String,String>();
condtion.put("id", lbDocBizId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", lbDocLibraryId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", docAttributeId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME, condtion, tx);
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
// 查询lb_doc_contract_list表
BizObject bo = contBom.createQuery("attribute_id=:attributeId and file_flag='yes' and sendprocess='1' ")
.setParameter("attributeId", docAttributeId).getSingleResult(true);
if(null == bo){
Map<String,String> condtion= new HashMap<String,String>();
condtion.put("id", lbDocBizId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", lbDocLibraryId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME, condtion, tx);
condtion.clear();
condtion.put("id", docAttributeId);
DataOperatorUtil.deleteJBOByCondtion(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME, condtion, tx);
}
}
}
/**
* 判断担保人是否为法人
* @param tx
* @throws Exception
*/
public String checkCreditAuth(JBOTransaction tx) throws Exception{
BizObjectManager pbm = JBOFactory.getBizObjectManager(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME, tx);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid")
.setParameter("flowUnid", flowUnid).getSingleResult(true);
if(null == pbo){
return "";
}
return pbo.getAttribute("CERTTYPE").toString();
}
}

View File

@ -0,0 +1,27 @@
package com.tenwa.channelportal.action.alpha;
import java.util.HashMap;
import java.util.Map;
public class CreditAuthTypesMap {
/**
* 如果是申请人的话则需要签3份 99001 99002 99003
* @return
*/
public static Map<String, String> initApplicant(){
Map<String, String> creditAuthMap = new HashMap<>();
creditAuthMap.put("99001", "安鹏征信授权");
creditAuthMap.put("99002", "邮储征信授权");
creditAuthMap.put("99003", "邮储借款告知书");
return creditAuthMap;
}
public static Map<String, String> initOther(){
Map<String, String> creditAuthMap = new HashMap<>();
creditAuthMap.put("99001", "安鹏征信授权");
return creditAuthMap;
}
}

View File

@ -0,0 +1,105 @@
package com.tenwa.channelportal.action.alpha;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.dict.als.manage.NameManager;
import com.tenwa.channelportal.action.alpha.CreditAuthTypesMap;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP;
public class DocListCreditAuth {
/**
* 征信授权文件查询
* @param certId
* @param relation
* @param flowunid
* @return
* @throws Exception
*/
public static String findFileListByUser(String certId, String relation, String flowunid) throws Exception {
// TODO: 2021/7/19 查询文件信息
BizObjectManager pbm = JBOFactory.getBizObjectManager(LB_PROJECT_INFO_TEMP.CLASS_NAME);
BizObject pbo = pbm.createQuery("FLOWUNID=:flowUnid").setParameter("flowUnid", flowunid).getSingleResult(true);
String projectNo = pbo.getAttribute("PROJECT_NO").toString();
Map<String, String> creditAuthTypesMap = CreditAuthTypesMap.initOther();
if("申请人".equals(relation)){
creditAuthTypesMap = CreditAuthTypesMap.initApplicant();
}
List<JSONObject> boJsonList = new ArrayList<JSONObject>();
for(String objectType : creditAuthTypesMap.keySet()){
BizObjectManager bom = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
BizObject lbDocBiz = bom.createQuery("OBJECTTYPE=:objectType and CUST_ID=:certId and PROJ_ID=:projectNo ")
.setParameter("objectType", objectType).setParameter("certId",certId).setParameter("projectNo",projectNo).getSingleResult(false);
if(null == lbDocBiz){
continue;
}
String lbDocBizId = lbDocBiz.getAttribute("id").toString();
BizObjectManager bom1 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
String lbDocLibraryId = bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", lbDocBizId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager bom2 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
BizObject fileBizObj = bom2.createQuery("library_id=:library_id").setParameter("library_id", lbDocLibraryId).getSingleResult(false);
if(null == fileBizObj){
continue;
}
JSONObject boJson = new JSONObject();
boJson.put("id", fileBizObj.getAttribute("id").getString());
boJson.put("fileType",fileBizObj.getAttribute("CONTENT_TYPE").getString());
boJson.put("objecttype", objectType);
boJson.put("FILE_NAME",fileBizObj.getAttribute("FILENAME").getString());
boJson.put("FILE_PATH",fileBizObj.getAttribute("FULLPATH").getString());
boJson.put("INPUTTIME",fileBizObj.getAttribute("INPUTTIME").getString());
boJsonList.add(boJson);
}
if(boJsonList.size()==0){
return "0";
}
String FileHtml = getFileHtml(boJsonList);
return FileHtml;
}
public static String getFileHtml(List<JSONObject> list) throws Exception {
StringBuffer sb=new StringBuffer();
sb.append("{");
for(int i=0;i<list.size();i++){
JSONObject bo=list.get(i);
sb.append("\"" +i+"\""+":{");
String type= bo.get("fileType").toString();
if(type.indexOf("application/msword")>=0||type.indexOf("application/vnd.openxmlformats-officedocument.wordprocessingml.document")>=0
||type.indexOf("application/vnd.ms-excel")>=0||type.indexOf("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")>=0){
sb.append("\"word\":\""+true+"\",");
}else{
sb.append("\"word\":\""+false+"\",");
}
if(type.indexOf("application/pdf")>=0){
sb.append("\"pdf\":\""+true+"\",");
}else{
sb.append("\"pdf\":\""+false+"\",");
}
sb.append("\"id\":\""+bo.get("id").toString()+"\",");
sb.append("\"objecttype\":\""+bo.get("objecttype").toString()+"\",");
sb.append("\"filename\":\""+bo.get("FILE_NAME").toString()+"\",");
sb.append("\"filepath\":\""+bo.get("FILE_PATH").toString()+"\",");
sb.append("\"inputtime\":\""+bo.get("INPUTTIME").toString()+"\",");
sb.append("},");
}
//删除最后一个逗号
if(sb.length()>1){
sb.deleteCharAt(sb.length() - 1);
}
sb.append("}");
return sb.toString();
}
}

View File

@ -0,0 +1,143 @@
/**
*
*/
package com.tenwa.lease.flow.project.commcheck;
import com.tenwa.app.manage.qiyuesuo.v2.ContractSignVtwoUtils;
import jbo.app.tenwa.customer.CUSTOMER_FAMILY_TEMP;
import jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_EQUIPMENT_CAR_TEMP;
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.template.check.DefaultBussinessCheck;
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 订单中所有用户征信授权电子版是否已签署
*
*/
public class UserCreditAuthCheck extends DefaultBussinessCheck {
private static final Logger logger = LoggerFactory.getLogger(UserCreditAuthCheck.class);
@Override
public Object run(Transaction transaction) throws Exception {
StringBuffer Message = new StringBuffer();
Message.append("未填写:");
String flowunid=this.getAttribute("ObjectNo").toString();
BizObjectManager lpitMange = JBOFactory.getBizObjectManager(LB_PROJECT_INFO_TEMP.CLASS_NAME, transaction);
BizObject lpit = lpitMange.createQuery("FLOWUNID=:flowunid").setParameter("FLOWUNID", flowunid).getSingleResult(false);
String projectNo = lpit.getAttribute("CAR_TYPE").getString();
// : 2021/7/15 查询申请人
BizObjectManager lult = JBOFactory.getBizObjectManager(LB_UNION_LESSEE_TEMP.CLASS_NAME);
BizObject lults = lult.createQuery("flowunid=:flowUnid").setParameter("flowUnid", flowunid).getSingleResult(false);
BizObjectManager customer = JBOFactory.getBizObjectManager(CUSTOMER_PERSON_TEMP.CLASS_NAME);
BizObject cust = customer.createQuery("flowunid=:flowUnid and customerid=:customerid").setParameter("flowUnid", flowunid).setParameter("customerid", lults.getAttribute("customer_id").toString()).getSingleResult(false);
Map<String, String> creditAuthMap = initApplicant();
boolean checkCredit = checkCreditAuth(projectNo, cust.getAttribute("CERTID").toString(), creditAuthMap, transaction);
if(checkCredit){
//申请人未完成征信授权书签约
putMsg("申请人未完成征信授权书签约");
setPass(false);
return null;
}
creditAuthMap = initOther();
BizObjectManager lgutManager = JBOFactory.getBizObjectManager(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME, transaction);
List<BizObject> lgutList = lgutManager.createQuery("FLOWUNID=:flowunid").setParameter("FLOWUNID", flowunid).getResultList(false);
// : 2021/7/15 担保人
for(BizObject lgut : lgutList){
String certid = lgut.getAttribute("CERTID").getString();
String certType = lgut.getAttribute("CERTTYPE").getString();
logger.info("UserCreditAuthCheck 当前担保人certType=" + certType);
if("Ent02".equals(certType)){
logger.info("UserCreditAuthCheck 当前担保人是法人【Ent02】不参与签约校验");
continue;
}
checkCredit = checkCreditAuth(projectNo, certid, creditAuthMap, transaction);
if(checkCredit){
//担保人未完成征信授权书签约
putMsg("担保人未完成征信授权书签约");
setPass(false);
return null;
}
}
// : 2021/7/15 共同申请人
BizObjectManager cftManager = JBOFactory.getBizObjectManager(CUSTOMER_FAMILY_TEMP.CLASS_NAME, transaction);
BizObject cft = cftManager.createQuery("flowunid=:flowUnid and Partner_='Y' ").setParameter("flowUnid", flowunid).getSingleResult(false);
String certid = cft.getAttribute("certid").getString();
checkCredit = checkCreditAuth(projectNo, certid, creditAuthMap, transaction);
if(checkCredit){
//共同申请人未完成征信授权书签约
putMsg("共同申请人未完成征信授权书签约");
setPass(false);
return null;
}
putMsg("征信授权委托书已全部完成数字签约!");
setPass(true);
return null;
}
/**
* 判断当前用户是否已签署
* creditAuthMap.put("99001", "安鹏征信授权");
* creditAuthMap.put("99002", "邮储征信授权");
* creditAuthMap.put("99003", "邮储借款告知书");
* @param projectNo
* @param certId
* @param creditAuthMap
* @return
*/
private boolean checkCreditAuth(String projectNo, String certId, Map<String, String> creditAuthMap, Transaction transaction) throws Exception {
// : 2021/7/15 如果是申请人的话则需要签3份 99001 99002 99003
for(String objectType : creditAuthMap.keySet()){
BizObjectManager bom = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
BizObject lbDocBiz = bom.createQuery("OBJECTTYPE=:objectType and CUST_ID=:certId and PROJ_ID=:projectNo ")
.setParameter("objectType",objectType).setParameter("certId",certId).setParameter("projectNo",projectNo).getSingleResult(false);
if(null == lbDocBiz){
return true;
}
String lbDocBizId = lbDocBiz.getAttribute("id").toString();
BizObjectManager bom1 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
String lbDocLibraryId = bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", lbDocBizId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager bom2 = JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
String docAttributeId = bom2.createQuery("library_id=:library_id").setParameter("library_id", lbDocLibraryId).getSingleResult(false).getAttribute("id").toString();
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, transaction);
BizObject bo = contBom.createQuery("select singcontract_id,filename from O " +
" where attribute_id=:attributeId and file_flag = 'yes' and sendprocess = '2' and sign_type = 'COMPLETE'").setParameter("attributeId", docAttributeId).getSingleResult(true);
if(null == bo){
return true;
}
}
return false;
}
/**
* 如果是申请人的话则需要签3份 99001 99002 99003
* @return
*/
private Map<String, String> initApplicant(){
Map<String, String> creditAuthMap = new HashMap<>();
creditAuthMap.put("99001", "安鹏征信授权");
creditAuthMap.put("99002", "邮储征信授权");
creditAuthMap.put("99003", "邮储借款告知书");
return creditAuthMap;
}
private Map<String, String> initOther(){
Map<String, String> creditAuthMap = new HashMap<>();
creditAuthMap.put("99001", "安鹏征信授权");
return creditAuthMap;
}
}