|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
|
|
|
|
|
|
|
|
|
<%@ page import="weaver.general.Util,weaver.conn.RecordSet" %>
|
|
|
|
|
<%@ page import="weaver.integration.logging.Logger"%>
|
|
|
|
|
<%@ page import="weaver.integration.logging.LoggerFactory"%>
|
|
|
|
|
<%@ page import="java.net.URL" %>
|
|
|
|
|
<%@ page import="java.net.URLConnection" %>
|
|
|
|
|
<%@ page import="org.apache.commons.lang3.StringUtils" %>
|
|
|
|
|
<%@ page import="weaver.interfaces.HrmTransferDao" %>
|
|
|
|
|
<%@ page import="java.io.*" %>
|
|
|
|
|
<%@ page import="weaver.sm.SM4Utils" %>
|
|
|
|
|
<%@ page import="weaver.general.BaseBean" %>
|
|
|
|
|
<%@ include file="/systeminfo/init_wev8.jsp" %>
|
|
|
|
|
|
|
|
|
|
<%
|
|
|
|
|
Logger log = LoggerFactory.getLogger();
|
|
|
|
|
new BaseBean().writeLog("统一待办Userid===",11111);
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
|
|
|
|
|
String workflowId = request.getParameter("workflowid");
|
|
|
|
|
String sysId = request.getParameter("sysid");
|
|
|
|
|
|
|
|
|
|
int userId = user.getUID() ;
|
|
|
|
|
new BaseBean().writeLog("统一待办Userid===",userId);
|
|
|
|
|
String appURL ;
|
|
|
|
|
if(StringUtils.isNotBlank(workflowId)){
|
|
|
|
|
//新建异构系统
|
|
|
|
|
log.error("workflowid="+workflowId);
|
|
|
|
|
rs.executeQuery("select * from ofs_workflow where workflowid = ?",workflowId);
|
|
|
|
|
rs.next();
|
|
|
|
|
appURL = rs.getString("APPCWURL");
|
|
|
|
|
if ("".equals(Util.null2String(sysId))){
|
|
|
|
|
sysId = rs.getString("SYSID");
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//访问异构系统流程
|
|
|
|
|
String todoDataId = request.getParameter("tododataid");
|
|
|
|
|
log.error("todoDataId="+todoDataId);
|
|
|
|
|
String isRemark = request.getParameter("isremark");
|
|
|
|
|
log.error("isRemark="+isRemark);
|
|
|
|
|
|
|
|
|
|
if( "0".equals(isRemark) || "8".equals(isRemark)){
|
|
|
|
|
rs.executeQuery("select * from ofs_todo_data where id = ?",todoDataId);
|
|
|
|
|
rs.next();
|
|
|
|
|
appURL = Util.null2String(rs.getString("appurlsrc"));
|
|
|
|
|
if ("".equals(Util.null2String(sysId))){
|
|
|
|
|
sysId = rs.getString("SYSID");
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
rs.executeQuery("select * from ofs_done_data where id = ?",todoDataId);
|
|
|
|
|
rs.next();
|
|
|
|
|
appURL = Util.null2String(rs.getString("appurlsrc"));
|
|
|
|
|
if ("".equals(Util.null2String(sysId))){
|
|
|
|
|
sysId = rs.getString("SYSID");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rs.executeQuery("select * from ofs_sysinfo where sysid = ?" , sysId);
|
|
|
|
|
if(rs.next()){
|
|
|
|
|
String prefixURL = Util.null2String(rs.getString("Appprefixurl"));
|
|
|
|
|
String hrmTransRule = Util.null2String(rs.getString("HRMTRANSRULE"));//人员转换关系
|
|
|
|
|
|
|
|
|
|
HrmTransferDao hrmTransferDao = new HrmTransferDao();
|
|
|
|
|
String loginId = hrmTransferDao.getHrmResourceIdByHrmTransRule(hrmTransRule, Util.null2String(userId));
|
|
|
|
|
new BaseBean().writeLog("loginidOld====="+loginId);
|
|
|
|
|
if(loginId.length() > 8){
|
|
|
|
|
|
|
|
|
|
loginId = loginId.substring(0,8);
|
|
|
|
|
new BaseBean().writeLog("loginidNew====="+loginId);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
long stamp = System.currentTimeMillis();
|
|
|
|
|
String token = this.getToken(prefixURL, loginId, stamp);
|
|
|
|
|
String toURL = this.getURL(prefixURL, appURL, token, loginId, stamp);
|
|
|
|
|
log.info("==============APP端访问异构系统地址:"+toURL);
|
|
|
|
|
response.sendRedirect(toURL);
|
|
|
|
|
%>
|
|
|
|
|
|
|
|
|
|
<%
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
log.error("根据标识:"+sysId+"未查询到数据");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<%!
|
|
|
|
|
Logger log = LoggerFactory.getLogger();
|
|
|
|
|
|
|
|
|
|
private String getURL(String prefixURL, String toURL, String token,String loginId, long stamp) throws UnsupportedEncodingException {
|
|
|
|
|
StringBuilder url = new StringBuilder() ;
|
|
|
|
|
if(toURL.startsWith("http://") || toURL.startsWith("https://")){
|
|
|
|
|
url.append(toURL);
|
|
|
|
|
}else{
|
|
|
|
|
url.append(prefixURL).append(toURL);
|
|
|
|
|
}
|
|
|
|
|
if(url.toString().contains("#")){
|
|
|
|
|
String[] split = toURL.split("#");
|
|
|
|
|
url.append(split[0]).append("&loginid="+loginId+"&stamp="+stamp+"&token=").append(URLEncoder.encode(token,"UTF-8")).append("#").append(split[1]) ;
|
|
|
|
|
}else{
|
|
|
|
|
if(toURL.contains("?")){
|
|
|
|
|
url.append("&");
|
|
|
|
|
}else{
|
|
|
|
|
url.append("?");
|
|
|
|
|
}
|
|
|
|
|
url.append("loginid="+loginId+"&stamp="+stamp+"&token=").append(URLEncoder.encode(token,"UTF-8")) ;
|
|
|
|
|
}
|
|
|
|
|
return url.toString() ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String getToken(String prefixURL, String loginId, long stamp){
|
|
|
|
|
|
|
|
|
|
//加密就是SM4 ECB模式,NoPadding 不填充。加密key是bankoftianjincom
|
|
|
|
|
//String key = "bankoftianjincom";
|
|
|
|
|
SM4Utils sm4Utils = new SM4Utils();
|
|
|
|
|
String result = sm4Utils.encrypt(loginId + "" + stamp, "bankoftianjincom", "SM4");
|
|
|
|
|
|
|
|
|
|
log.info("=============apptransferforee9_token:"+result);
|
|
|
|
|
|
|
|
|
|
return result ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
%>
|