#EC-HJ-18# 调整配置文件获取,实现从UF_PROP表中读取配置信息

feature-LeeD-20221025
shilei 3 years ago
parent 427e0a1a36
commit ad6bfb2c01

@ -1,39 +1,45 @@
package weaver.interfaces.util; package com.customization.sendtodo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import okhttp3.*; import okhttp3.*;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.interfaces.comInfo.PropBean;
import weaver.interfaces.iwhalecloud.util.RSAUtils; import weaver.interfaces.iwhalecloud.util.RSAUtils;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
public class SendMailUtil{ public class SendMailUtil {
public static BaseBean baseBean = new BaseBean(); String emailenable = PropBean.getUfPropValue("emailenable");
String emailenable = baseBean.getPropValue("PORTAL_INFO","emailenable");
public void sendMail(String requestid, String emails, String notificationSubject, String notificationContent){ public void sendMail(String requestid, String emails, String notificationSubject, String notificationContent){
BaseBean baseBean = new BaseBean();
baseBean.writeLog("emailenable:"+emailenable); baseBean.writeLog("emailenable:"+emailenable);
if("1".equals(emailenable)) if("1".equals(emailenable))
{ {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String emailUrl = baseBean.getPropValue("PORTAL_INFO","emailUrl"); String emailUrl = PropBean.getUfPropValue("emailUrl");
String emailMethod = baseBean.getPropValue("PORTAL_INFO","emailMethod"); String emailMethod = PropBean.getUfPropValue("emailMethod");
String emailEventCode = baseBean.getPropValue("PORTAL_INFO","emailEventCode"); String emailEventCode = PropBean.getUfPropValue("emailEventCode");
String emailNotificationType = baseBean.getPropValue("PORTAL_INFO","emailNotificationType"); String emailNotificationType = PropBean.getUfPropValue("emailNotificationType");
String emailChannel = baseBean.getPropValue("PORTAL_INFO","emailChannel"); String emailChannel = PropBean.getUfPropValue("emailChannel");
String emailVersion = baseBean.getPropValue("PORTAL_INFO","emailVersion"); String emailVersion = PropBean.getUfPropValue("emailVersion");
String emailkey = PropBean.getUfPropValue("emailkey");
if(StringUtils.isEmpty(emailkey)){
emailkey = "email";
}
String triggerTime = sdf.format(new Date()); String triggerTime = sdf.format(new Date());
JSONObject requestJson = new JSONObject(); JSONObject requestJson = new JSONObject();
requestJson.put("eventCode",emailEventCode); requestJson.put("eventCode",emailEventCode);
requestJson.put("triggerTime",triggerTime); requestJson.put("triggerTime",triggerTime);
requestJson.put("notificationType",emailNotificationType); requestJson.put("notificationType",emailNotificationType);
requestJson.put("email",emails); requestJson.put(emailkey,emails);
requestJson.put("channel",emailChannel); requestJson.put("channel",emailChannel);
requestJson.put("notificationSubject",notificationSubject); requestJson.put("notificationSubject",notificationSubject);
requestJson.put("notificationContent",notificationContent); requestJson.put("notificationContent",notificationContent);
@ -87,7 +93,6 @@ public class SendMailUtil{
baseBean.writeLog(e); baseBean.writeLog(e);
} }
} }
} }
/*** /***
@ -95,16 +100,16 @@ public class SendMailUtil{
* @return * @return
*/ */
public String doGetAccessToken(){ public String doGetAccessToken(){
BaseBean baseBean = new BaseBean();
baseBean.writeLog("doGetAccessToken == "); baseBean.writeLog("doGetAccessToken == ");
String responseData = "" ; String responseData = "" ;
RSAUtils RSAUtils = new RSAUtils(); RSAUtils RSAUtils = new RSAUtils();
String emailTokenUrl = baseBean.getPropValue("PORTAL_INFO","emailTokenUrl") ; //"http://10.26.4.136:80/api/oauth2/apigAuthorize" String emailTokenUrl = PropBean.getUfPropValue("emailTokenUrl") ; //"http://10.26.4.136:80/api/oauth2/apigAuthorize"
String emainAppCode = baseBean.getPropValue("PORTAL_INFO","emainAppCode") ; String emainAppCode = PropBean.getUfPropValue("emainAppCode") ;
String emailAppSecret = baseBean.getPropValue("PORTAL_INFO","emailAppSecret") ; String emailAppSecret = PropBean.getUfPropValue("emailAppSecret") ;
String emailResponseType = baseBean.getPropValue("PORTAL_INFO","emailResponseType") ; //token String emailResponseType = PropBean.getUfPropValue("emailResponseType") ; //token
String emailPrivateKey = baseBean.getPropValue("PORTAL_INFO","emailPrivateKey") ; String emailPrivateKey = PropBean.getUfPropValue("emailPrivateKey") ;
baseBean.writeLog("emainAppCode == "+emainAppCode); baseBean.writeLog("emainAppCode == "+emainAppCode);

@ -7,8 +7,8 @@ import weaver.conn.RecordSet;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.comInfo.PropBean;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
public class SendPortalDoneUtil { public class SendPortalDoneUtil {
@ -466,8 +466,8 @@ public class SendPortalDoneUtil {
workcode = Util.null2String(rs.getString("loginid")); workcode = Util.null2String(rs.getString("loginid"));
} }
String center = bb.getPropValue("PORTAL_INFO", "center"); String center = PropBean.getUfPropValue("center");
String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType");
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid;
String app_requestUrl = bpm_app_requesturl + requestid; String app_requestUrl = bpm_app_requesturl + requestid;
app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8");

@ -35,14 +35,14 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
String nodeid = Util.null2String(request.getParameter("nodeid")); String nodeid = Util.null2String(request.getParameter("nodeid"));
String workflowname = Util.null2String(request.getParameter("workflowname")); String workflowname = Util.null2String(request.getParameter("workflowname"));
Map<String,Object> params = ParamUtil.request2Map(request); // Map<String,Object> params = ParamUtil.request2Map(request);
params.forEach((t,u)-> { // params.forEach((t,u)-> {
System.out.println(t+"->>>"+u); // System.out.println(t+"->>>"+u);
}); // });
//
for (Map.Entry<String, Object> entry : params.entrySet()) { // for (Map.Entry<String, Object> entry : params.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); // System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
} // }
User user = requestSubmitCmd.getUser(); User user = requestSubmitCmd.getUser();
bb.writeLog("requestid:"+requestid); bb.writeLog("requestid:"+requestid);

@ -3,6 +3,7 @@ package com.customization.sendtodo;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.comInfo.PropBean;
public class SendPortalTodoRunnable implements Runnable{ public class SendPortalTodoRunnable implements Runnable{
@ -27,15 +28,15 @@ public class SendPortalTodoRunnable implements Runnable{
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendPortalDoneUtil sendPortalDoneUtil = new SendPortalDoneUtil(); SendPortalDoneUtil sendPortalDoneUtil = new SendPortalDoneUtil();
BaseBean bb = new BaseBean(); String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String portal_todourl = bb.getPropValue("PORTAL_INFO","portal_todourl"); String portal_doneurl = PropBean.getUfPropValue("portal_doneurl");
String username = bb.getPropValue("PORTAL_INFO","username"); String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String passwd = bb.getPropValue("PORTAL_INFO","passwd"); String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String center = bb.getPropValue("PORTAL_INFO","center"); String username = PropBean.getUfPropValue("username");
String bpm_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_workflowurl"); String passwd = PropBean.getUfPropValue("passwd");
String bpm_app_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_app_workflowurl"); String center = PropBean.getUfPropValue("center");
String portal_doneurl = bb.getPropValue("PORTAL_INFO","portal_doneurl"); String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
String bpm_app_requesturl = bb.getPropValue("PORTAL_INFO","bpm_app_requesturl");
if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ if(Util.getIntValue(requestid) == -1 && "save".equals(src)){
sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);

@ -7,7 +7,6 @@ import weaver.conn.RecordSet;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.util.SendMailUtil;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -348,15 +347,15 @@ public class SendPortalTodoUtil {
int count = 0 ; int count = 0 ;
String countSql =" select t2.userid,h1.loginid\n" + String countSql =" select t2.userid,h1.loginid\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '8', '9', '7', '11'))\n" + " and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '8', '9', '7', '11'))\n" +
" and t2.islasttimes = 1\n" + " and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.REQUESTID = "+requestid+ " and t2.REQUESTID = "+requestid+
" and t2.nodeid = " + noideid ; " and t2.nodeid = " + noideid ;
bb.writeLog("sendTodoDataByNode--countSql:"+countSql); bb.writeLog("sendTodoDataByNode--countSql:"+countSql);
rs.executeQuery(countSql); rs.executeQuery(countSql);
while (rs.next()){ while (rs.next()){
@ -365,13 +364,13 @@ public class SendPortalTodoUtil {
bb.writeLog("sendTodoDataByNode--count:"+count); bb.writeLog("sendTodoDataByNode--count:"+count);
String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" +
" t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; " and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByNode--sql:"+sql); bb.writeLog("sendTodoDataByNode--sql:"+sql);
if(count >0){ if(count >0){
@ -578,13 +577,13 @@ public class SendPortalTodoUtil {
JSONArray taskObjectList = new JSONArray(); JSONArray taskObjectList = new JSONArray();
String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" +
" t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; " and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByReject--sql:"+sql); bb.writeLog("sendTodoDataByReject--sql:"+sql);
rs.executeQuery(sql); rs.executeQuery(sql);
if (rs.next()){ if (rs.next()){

@ -12,6 +12,7 @@ import weaver.file.FileUpload;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Map; import java.util.Map;
@ -60,11 +61,12 @@ public class SendRemarkOperateTodoCmd extends AbstractCommandProxy<Map<String, O
} }
User user = forwardSubmitCmd.getUser(); User user = forwardSubmitCmd.getUser();
//执行推送代办 //执行推送代办
String portal_todourl = bb.getPropValue("PORTAL_INFO", "portal_todourl"); String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String username = bb.getPropValue("PORTAL_INFO", "username"); String username = PropBean.getUfPropValue("username");
String passwd = bb.getPropValue("PORTAL_INFO", "passwd"); String passwd = PropBean.getUfPropValue("passwd");
String center = bb.getPropValue("PORTAL_INFO", "center"); String center = PropBean.getUfPropValue("center");
String bpm_workflowurl = bb.getPropValue("PORTAL_INFO", "bpm_workflowurl"); String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
if (Util.getIntValue(requestid) > 0) { if (Util.getIntValue(requestid) > 0) {
sendTodoDataByCreateNode(requestid, nodeid, user, portal_todourl, username, passwd, bpm_workflowurl, center); sendTodoDataByCreateNode(requestid, nodeid, user, portal_todourl, username, passwd, bpm_workflowurl, center);
} }

@ -10,7 +10,7 @@ public class PropBean {
public static BaseBean bb = new BaseBean(); public static BaseBean bb = new BaseBean();
public static String active = Util.null2String(bb.getPropValue("developProp","active")); public static String active = Util.null2String(bb.getPropValue("developProp","active"));
public static String getPropValue(String pkey) public static String getUfPropValue(String pkey)
{ {
if(StringUtils.isEmpty(active)){ if(StringUtils.isEmpty(active)){
return ""; return "";

@ -1,355 +1,268 @@
package weaver.interfaces.filter; package weaver.interfaces.filter;
import okhttp3.*; import com.api.login.util.LoginUtil;
import org.apache.http.HttpEntity; import okhttp3.OkHttpClient;
import org.apache.http.HttpResponse; import okhttp3.Request;
import org.apache.http.ParseException; import okhttp3.Response;
import org.apache.http.client.methods.CloseableHttpResponse; import weaver.conn.RecordSet;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import java.io.BufferedReader; import weaver.general.Util;
import weaver.hrm.User;
import weaver.general.GCONST;
import weaver.interfaces.comInfo.PropBean;
import weaver.login.VerifyLogin;
import javax.servlet.http.Cookie;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.util.ArrayList;
import java.net.HttpURLConnection; import java.util.Calendar;
import java.net.URL; import java.util.List;
import java.util.Map; import java.util.Map;
import com.sun.jersey.core.util.Base64;
public class HttpRequestUtil extends BaseBean{ public class HttpRequestUtil extends BaseBean{
public String doGetHttp(String url,String session){
BaseBean bb = new BaseBean();
String msgData= "" ;
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
.url(url)
.method("GET", null)
.addHeader("Cookie", "SESSION="+session)
.build();
try {
Response response = client.newCall(request).execute();
/** int code = response.code();
* String bodyMsg = response.body().string();
* bb.writeLog("PortalLoginFilter-response.code():"+code);
* @param url bb.writeLog("PortalLoginFilter-response.body():"+bodyMsg);
* @param encoding if(code == 200){
* @return msgData = bodyMsg;
* @throws ParseException }
* @throws IOException
*/ } catch (IOException e) {
// public String sendPost(String url, Map<String,String> headers,String encoding){ e.printStackTrace();
// String body = ""; }
// return msgData;
// BaseBean bb = new BaseBean(); }
// bb.writeLog("url ==" + url);
//
// //创建httpclient对象
// CloseableHttpClient client = HttpClients.createDefault();
// //创建post方式请求对象
// HttpPost httpPost = new HttpPost(url);
//
// //设置参数到请求对象中
// if (headers != null && headers.size() > 0) {
// for (Map.Entry<String, String> entry : headers.entrySet()) {
// bb.writeLog("key:"+entry.getKey());
// bb.writeLog("val:"+entry.getValue());
// httpPost.addHeader(entry.getKey(),entry.getValue());
// }
// }
//
// //设置header信息
// //指定报文头【Content-type】、【User-Agent】
//// httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//
// //执行请求操作,并拿到结果(同步阻塞)
// CloseableHttpResponse response = null;
// try {
//
// response = client.execute(httpPost);
// bb.writeLog(response.getStatusLine().getStatusCode());
// //获取结果实体
// HttpEntity entity = response.getEntity();
// if (entity != null) {
// //按指定编码转换结果实体为String类型
// body = EntityUtils.toString(entity, encoding);
// }
// EntityUtils.consume(entity);
// //释放链接
// response.close();
// } catch (IOException e) {
// e.printStackTrace();
// bb.writeLog("e:"+e);
// }
//
// return body;
// }
/**
* URLGET
*
* @param url
* URL
* name1=value1&name2=value2
* @return result
*/
// public String sendGet(String url, Map<String,String> headers,String uid) {
// String result = "";
// BufferedReader in = null;
//
// BaseBean bb = new BaseBean();
// bb.writeLog("url ==" + url);
// bb.writeLog("uid ==" + uid);
// try {
// String urlNameString = url ;
// URL realUrl = new URL(urlNameString); // 打开和URL之间的连接
// HttpURLConnection connection= (HttpURLConnection) realUrl.openConnection();
// connection.setRequestProperty("accept", "*/*");
// connection.setRequestProperty("connection", "Keep-Alive");
// connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
//
// connection.setDoOutput(true);
// connection.setDoInput(true);
// connection.setUseCaches(false);
// connection.setRequestMethod("GET");
//
// //connection.addRequestProperty("Cookie", "SESSION="+uid);
//
// if (headers != null && headers.size() > 0)
// {
// for (Map.Entry<String, String> entry : headers.entrySet()) {
// bb.writeLog("key:"+entry.getKey());
// bb.writeLog("val:"+entry.getValue());
// connection.addRequestProperty(entry.getKey(), entry.getValue());
// }
// }
//
// // 建立实际的连接
// connection.connect();
// // 获取所有响应头字段
// //Map<String, List<String>> map = connection.getHeaderFields();
// // 遍历所有的响应头字段
// //for (String key : map.keySet()) {
// // System.out.println(key + "--->" + map.get(key));
// //}
// // 定义 BufferedReader输入流来读取URL的响应
// in = new BufferedReader(new InputStreamReader(
// connection.getInputStream(),"UTF-8"));
// String line;
// while ((line = in.readLine()) != null) {
// result += line;
// }
// } catch (Exception e) {
// bb.writeLog("发送GET请求出现异常" + e);
// e.printStackTrace();
// }
// // 使用finally块来关闭输入流
// finally {
// try {
// if (in != null) {
// in.close();
// }
// } catch (Exception e2) {
// e2.printStackTrace();
// }
// }
//
// return result;
// }
/*** /***
* *
* @param url * @param request
* @param headers * @param staffCode
* @param encode * @param uid
* @return
*/ */
public String httpGet1(String url, Map<String,String> headers, String encode){ public void loginUser(HttpServletRequest request,String staffCode,String uid,String resultCode){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean(); if (!"".equals(staffCode))
//bb.writeLog("url",url); {
if(encode == null){ User user_new = null;
encode = "UTF-8"; String sql = "";
} if ("admin".equals(staffCode)) {
CloseableHttpResponse httpResponse = null; staffCode = "sysadmin";
CloseableHttpClient closeableHttpClient = null; sql = " select * from hrmresourcemanager where loginid =? ";
String content = null; } else {
//since 4.3 不再使用 DefaultHttpClient sql = " select * from HrmResource where loginid =? ";
try {
closeableHttpClient = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet(url);
//设置header
if (headers != null && headers.size() > 0) {
for (Map.Entry<String, String> entry : headers.entrySet()) {
httpGet.addHeader(entry.getKey(),entry.getValue());
}
} }
//bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{staffCode});
httpGet.setHeader("Accept", "*"); if (rs.next()) {
// httpGet.addHeader("Cookie","SESSION="+uid); user_new = new User();
httpResponse = closeableHttpClient.execute(httpGet); user_new.setUid(rs.getInt("id"));
user_new.setLoginid(rs.getString("loginid"));
user_new.setFirstname(rs.getString("firstname"));
user_new.setLastname(rs.getString("lastname"));
user_new.setAliasname(rs.getString("aliasname"));
user_new.setTitle(rs.getString("title"));
user_new.setTitlelocation(rs.getString("titlelocation"));
user_new.setSex(rs.getString("sex"));
user_new.setPwd(rs.getString("password"));
String languageidweaver = rs.getString("systemlanguage");
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
user_new.setTelephone(rs.getString("telephone"));
user_new.setMobile(rs.getString("mobile"));
user_new.setMobilecall(rs.getString("mobilecall"));
user_new.setEmail(rs.getString("email"));
user_new.setCountryid(rs.getString("countryid"));
user_new.setLocationid(rs.getString("locationid"));
user_new.setResourcetype(rs.getString("resourcetype"));
user_new.setStartdate(rs.getString("startdate"));
user_new.setEnddate(rs.getString("enddate"));
user_new.setContractdate(rs.getString("contractdate"));
user_new.setJobtitle(rs.getString("jobtitle"));
user_new.setJobgroup(rs.getString("jobgroup"));
user_new.setJobactivity(rs.getString("jobactivity"));
user_new.setJoblevel(rs.getString("joblevel"));
user_new.setSeclevel(rs.getString("seclevel"));
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
user_new.setManagerid(rs.getString("managerid"));
user_new.setAssistantid(rs.getString("assistantid"));
user_new.setPurchaselimit(rs.getString("purchaselimit"));
user_new.setCurrencyid(rs.getString("currencyid"));
user_new.setLastlogindate(rs.getString("currentdate"));
user_new.setLogintype("1");
user_new.setAccount(rs.getString("account"));
user_new.setLoginip(request.getRemoteAddr());
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new);
request.getSession(true).setAttribute("weaver_uid", uid);
if(httpResponse.getStatusLine().getStatusCode() == 200){
//bb.writeLog(httpResponse.getStatusLine().getStatusCode());
HttpEntity entity = httpResponse.getEntity();
content = EntityUtils.toString(entity, encode);
}
} catch (Exception e) {
e.printStackTrace();
bb.writeLog("er333:"+e);
}finally{
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
} }
} }
try { //关闭连接、释放资源
closeableHttpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
return content;
} }
/*** /****
* *
* @param url * @param request
* @param headers * @param response
* @param encode * @param application
* @return
*/ */
// public String httpGet2(String url,Map<String,String> headers,String encode) public void userSessionFilter(HttpServletRequest request, HttpServletResponse response, ServletContext application,String staffCode,String uid){
// {
//
// BaseBean bb = new BaseBean();
// bb.writeLog("url",url);
// if(encode == null){
// encode = "UTF-8";
// }
// CloseableHttpResponse httpResponse = null;
// CloseableHttpClient closeableHttpClient = null;
// String content = null;
// //since 4.3 不再使用 DefaultHttpClient
// try {
// closeableHttpClient = HttpClientBuilder.create().build();
// HttpGet httpGet = new HttpGet(url);
// //设置header
// if (headers != null && headers.size() > 0) {
// for (Map.Entry<String, String> entry : headers.entrySet()) {
//
// bb.writeLog("key:"+entry.getKey());
// bb.writeLog("val:"+entry.getValue());
//
// httpGet.addHeader(entry.getKey(),entry.getValue());
// }
// }
//
// httpGet.setHeader("Accept", "*");
//
// httpResponse = closeableHttpClient.execute(httpGet);
// if(httpResponse.getStatusLine().getStatusCode() == 200)
// {
// bb.writeLog(httpResponse.getStatusLine().getStatusCode());
// HttpEntity entity = httpResponse.getEntity();
// content = EntityUtils.toString(entity, encode);
// }
// } catch (Exception e) {
// e.printStackTrace();
// bb.writeLog("er333:"+e);
// }finally{
// try {
// httpResponse.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// try { //关闭连接、释放资源
// closeableHttpClient.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return content;
// }
/*** String path = PropBean.getUfPropValue("ecologypath");
* boolean isMutiLangua = Util.isEnableMultiLang();
* @param url //系统使用语言,未使用多语言的用户默认为中文。
* @param jsonstr int isLanguId = 8;
* @return String languId = "8";
*/ if (isMutiLangua) {
// public static String doPostByAuth(String url,String jsonstr,String auth){ isLanguId = Util.getIntValue(request.getParameter("islanguid"), 0);
// CloseableHttpClient httpClient = null; //如何未选择,则默认系统使用语言为简体中文
// HttpPost httpPost = null; if (isLanguId == 0) {
// String result = null; isLanguId = 8;
// try{ }
// String authStr = new String(Base64.encode(auth)); languId = String.valueOf(isLanguId);
// httpClient = HttpClients.createDefault(); Cookie syslanid = new Cookie("Systemlanguid", languId);
// httpPost = new HttpPost(url); syslanid.setMaxAge(-1);
//// String head_param_encode = urlEncode(head_param); syslanid.setPath(path);
// System.out.println("authStr:"+authStr); response.addCookie(syslanid);
// httpPost.addHeader("Connection", "Keep-Alive"); }
// httpPost.addHeader("Cache-Control", "No-Cache");
// httpPost.addHeader("Accept", "*/*"); RecordSet rs = new RecordSet();
// httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); RecordSet rslog = new RecordSet();
// httpPost.addHeader("Authorization", "Basic " + authStr);
// httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"); User newUser = null;
// StringEntity se = new StringEntity(jsonstr); String loginUserId = "" ;
// se.setContentType("application/json;charset=utf-8"); String loginName = "" ;
// httpPost.setEntity(se); String sql = "";
// HttpResponse response = httpClient.execute(httpPost); if ("admin".equals(staffCode)) {
// if(response != null){ staffCode = "sysadmin";
// HttpEntity resEntity = response.getEntity(); sql = " select * from hrmresourcemanager where loginid =? ";
// if(resEntity != null){ } else {
// result = EntityUtils.toString(resEntity,"utf-8"); sql = " select * from HrmResource where loginid =? ";
// } }
// } rs.executeQuery(sql,new Object[]{staffCode});
// }catch(Exception ex){ if (rs.next())
// ex.printStackTrace(); {
// } newUser = new User();
// return result; loginUserId = Util.null2String(rs.getInt("id"));
// } loginName = Util.null2String(rs.getInt("lastname"));
newUser.setUid(rs.getInt("id"));
newUser.setLoginid(rs.getString("loginid"));
newUser.setPwd(rs.getString("password"));
newUser.setFirstname(rs.getString("firstname"));
newUser.setLastname(rs.getString("lastname"));
newUser.setAliasname(rs.getString("aliasname"));
newUser.setTitle(rs.getString("title"));
newUser.setTitlelocation(rs.getString("titlelocation"));
newUser.setSex(rs.getString("sex"));
newUser.setPwd(rs.getString("password"));
String languageIdWeaver = rs.getString("systemlanguage");
newUser.setLanguage(Util.getIntValue(languageIdWeaver, 8));
if (!languId.equalsIgnoreCase(languageIdWeaver) && isMutiLangua) {
User.setUserLang(rs.getInt("id"), Util.getIntValue(languId, 8));
languageIdWeaver = languId;
}
newUser.setTelephone(rs.getString("telephone"));
newUser.setMobile(rs.getString("mobile"));
newUser.setMobilecall(rs.getString("mobilecall"));
newUser.setEmail(rs.getString("email"));
newUser.setCountryid(rs.getString("countryid"));
newUser.setLocationid(rs.getString("locationid"));
newUser.setResourcetype(rs.getString("resourcetype"));
newUser.setStartdate(rs.getString("startdate"));
newUser.setEnddate(rs.getString("enddate"));
newUser.setContractdate(rs.getString("contractdate"));
newUser.setJobtitle(rs.getString("jobtitle"));
newUser.setJobgroup(rs.getString("jobgroup"));
newUser.setJobactivity(rs.getString("jobactivity"));
newUser.setJoblevel(rs.getString("joblevel"));
newUser.setSeclevel(rs.getString("seclevel"));
newUser.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
newUser.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
newUser.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
newUser.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
newUser.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
newUser.setManagerid(rs.getString("managerid"));
newUser.setAssistantid(rs.getString("assistantid"));
newUser.setPurchaselimit(rs.getString("purchaselimit"));
newUser.setCurrencyid(rs.getString("currencyid"));
newUser.setLastlogindate(rs.getString("currentdate"));
newUser.setLogintype("1");
newUser.setAccount(rs.getString("account"));
newUser.setLoginip(request.getRemoteAddr());
String weaverLoginType = Util.null2String(request.getSession(true).getAttribute("weaver_login_type"));
if("".equals(weaverLoginType)){
weaverLoginType = "1";
}
request.getSession(true).setAttribute("weaver_login_type", weaverLoginType);
request.getSession(true).setAttribute("weaver_user@bean", newUser);
request.getSession(true).setAttribute("rtxlogin", "1");
request.getSession(true).setAttribute("weaver_uid", uid);
Util.setCookie(response, "loginidweaver", newUser.getUID() + "", -1);
Util.setCookie(response, "languageidweaver", Util.null2s(languageIdWeaver, "8"), -1);
HttpSession session = request.getSession(true);
session.removeAttribute("validateRand");
session.setAttribute("isie", Util.null2String(request.getParameter("isie")));
session.setAttribute("browser_isie", Util.null2String(request.getParameter("isie")));
// public static String urlEncode(String url) throws UnsupportedEncodingException { Calendar today = Calendar.getInstance();
// if(url == null) { String currentdate = Util.add0(today.get(1), 4) + "-" + Util.add0(today.get(2) + 1, 2) + "-" + Util.add0(today.get(5), 2);
// return null; char separater = Util.getSeparator();
// } rslog.execute("HrmResource_UpdateLoginDate", loginUserId + separater + currentdate);
// final String reserved_char = ";/?:@=&";
// String ret = ""; boolean moreAccountLanding = GCONST.getMOREACCOUNTLANDING();
// for(int i=0; i < url.length(); i++) { if (moreAccountLanding) {
// String cs = String.valueOf( url.charAt(i) ); if (newUser.getUID() != 1) {
// if(reserved_char.contains(cs)){ VerifyLogin verifyLogin = new VerifyLogin();
// ret += cs; List accounts = verifyLogin.getAccountsById(newUser.getUID());
// }else{ request.getSession(true).setAttribute("accounts", accounts);
// ret += URLEncoder.encode(cs, "utf-8"); }
// } Util.setCookie(response, "loginidweaver", newUser.getUID()+"", -1);
// } }
// return ret.replace("+", "%20");
// }
Map userSessions = (Map) application.getAttribute("userSessions");
String uId = String.valueOf(newUser.getUID());
if (userSessions == null) {
userSessions = new java.util.concurrent.ConcurrentHashMap();
}
List slist = (List) userSessions.get(uId);
slist = slist == null ? new ArrayList() : slist;
slist.add(session);
userSessions.put(uId, slist);
application.setAttribute("userSessions", userSessions);
}
// public String doPostByAuth2(String dataJson){ if(!"".equals(loginUserId))
// BaseBean bb = new BaseBean(); {
// String msgData = "" ; LoginUtil.recordLogin(Util.getIntValue(loginUserId),loginName,request.getRemoteAddr());
// OkHttpClient client = new OkHttpClient().newBuilder() }
// .build(); }
// MediaType mediaType = MediaType.parse("application/json");
// RequestBody body = RequestBody.create(mediaType, dataJson);
// Request request = new Request.Builder()
// .url("http://172.16.25.133/portal-web/centerTodo/sync")
// .method("POST", body)
// .addHeader("Authorization", "Basic YWRtaW46VXBvcnRhbF8xMjM=")
// .addHeader("Content-Type", "application/json")
// .build();
// try {
// Response response = client.newCall(request).execute();
// bb.writeLog("response.code():"+response.code());
// bb.writeLog("response.body():"+response.body().string());
//
// msgData = response.body().string();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return msgData;
// }
} }

@ -2,42 +2,44 @@ package weaver.interfaces.filter;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.comInfo.PropBean;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
public class PortalLoginBeforeFilter implements Filter { public class PortalLoginBeforeFilter implements Filter {
private List<String> bpmHostList = new ArrayList<String>(); private List<String> bpmHostList = new ArrayList<String>();
private String portalUserAuth = "" ;
@Override @Override
public void init(FilterConfig filterConfig) throws ServletException { public void init(FilterConfig filterConfig) throws ServletException {
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
String bpm_host_array = bb.getPropValue("PORTAL_INFO", "bpm_host_array"); String bpm_host_array = PropBean.getUfPropValue("bpm_host_array");
if (!"".equals(bpm_host_array)) { if (!"".equals(bpm_host_array)) {
String[] bpm_host_arr = bpm_host_array.split(";"); String[] bpm_host_arr = bpm_host_array.split(";");
for (int i = 0; i < bpm_host_arr.length; i++) { for (int i = 0; i < bpm_host_arr.length; i++) {
bpmHostList.add(bpm_host_arr[i]); bpmHostList.add(bpm_host_arr[i]);
} }
} }
portalUserAuth = PropBean.getUfPropValue("portal_user_auth");
} }
@Override @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException {
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse; HttpServletResponse response = (HttpServletResponse) servletResponse;
ServletContext application = request.getSession().getServletContext();
boolean isExcludedPage = false; boolean isExcludedPage = false;
String requestURL = request.getRequestURL().toString(); String requestURL = request.getRequestURL().toString();
@ -55,212 +57,120 @@ public class PortalLoginBeforeFilter implements Filter {
if (!isExcludedPage) { if (!isExcludedPage) {
//请求地址 //请求地址
String path_lowerCase = getRequestURI.toLowerCase(); String path_lowerCase = getRequestURI.toLowerCase();
if (path_lowerCase.endsWith(".cur") || path_lowerCase.endsWith(".ico") || path_lowerCase.endsWith(".css") || path_lowerCase.endsWith(".htm") || path_lowerCase.endsWith(".png") || path_lowerCase.endsWith(".jpg") || path_lowerCase.endsWith(".gif")) { if (path_lowerCase.endsWith(".cur") || path_lowerCase.endsWith(".ico") || path_lowerCase.endsWith(".css") || path_lowerCase.endsWith(".js") || path_lowerCase.endsWith(".htm") || path_lowerCase.endsWith(".png") || path_lowerCase.endsWith(".jpg") || path_lowerCase.endsWith(".gif")) {
// 如果发现是css或者js文件直接放行 // 如果发现是css或者js文件直接放行
isExcludedPage = true; isExcludedPage = true;
} }
} }
//bb.writeLog("getRequestURI:" + getRequestURI + " isExcludedPage:" + isExcludedPage); //bb.writeLog("getRequestURI:" + getRequestURI + " isExcludedPage:" + isExcludedPage);
if(isExcludedPage)
if (!isExcludedPage) { {
User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); filterChain.doFilter(request, response);
if (loginuser == null) { }else{
String uid = ""; String uid = "";
String cookies = request.getHeader("cookie"); String cookies = request.getHeader("cookie");
if (StringUtils.isNotEmpty(cookies)) { if (StringUtils.isNotEmpty(cookies))
String[] cookievals = cookies.split(";"); {
for (int i = 0; i < cookievals.length; i++) { String[] cookievals = cookies.split(";");
String cookval = cookievals[i]; for (int i = 0; i < cookievals.length; i++) {
if (!"".equals(cookval) && cookval.contains("=")) { String cookval = cookievals[i];
String key = cookval.substring(0, cookval.indexOf("=")); if (!"".equals(cookval) && cookval.contains("=")) {
String value = cookval.substring(cookval.indexOf("=") + 1); String key = cookval.substring(0, cookval.indexOf("="));
if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { String value = cookval.substring(cookval.indexOf("=") + 1);
uid = value; if ("SESSION".equals(key.trim()) || key.contains("SESSION")) {
} uid = value;
} }
} }
} }
}
//ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996; //ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996;
// ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca; // ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca;
// areaId=731; userId=1; orgId=1; // areaId=731; userId=1; orgId=1;
// CLOUD_APP_NAME=dbeptest7_pot-uportal-core; // CLOUD_APP_NAME=dbeptest7_pot-uportal-core;
// CLOUD_APP_ID=44074 // CLOUD_APP_ID=44074
if (StringUtils.isNotEmpty(uid)) { if(StringUtils.isNotEmpty(uid))
String url = bb.getPropValue("PORTAL_INFO", "portal_user_auth"); {
//String url = "http://172.16.25.133/portal-web/user/current" ; User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean");
//bb.writeLog("url:" + url); String weaver_uid = String.valueOf(request.getSession(true).getAttribute("weaver_uid"));
String portal_status = String.valueOf(request.getSession(true).getAttribute("portal_status"));
HttpRequestUtil HttpRequestUtil = new HttpRequestUtil();
Map<String, String> headMap = new HashMap<String, String>(); bb.writeLog("weaver_uid:"+weaver_uid);
headMap.put("Cookie", "SESSION=" + uid); bb.writeLog("uid:"+uid);
String msg = HttpRequestUtil.httpGet1(url, headMap, "UTF-8");
if (!"".equals(msg)) { if(StringUtils.isNotEmpty(weaver_uid))
JSONObject jsonObject = JSONObject.parseObject(msg); {
if ("1".equals(jsonObject.getString("resultCode"))) { if(!uid.equals(weaver_uid))
JSONObject resultObject = jsonObject.getJSONObject("resultObject"); {
String staffCode = resultObject.getString("staffCode"); bb.writeLog("weaver_uid <> uid portal_status:"+portal_status);
if (!"".equals(staffCode)) { String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid);
User user_new = null; if (!"".equals(msg))
String sql = ""; {
if ("admin".equals(staffCode)) { JSONObject jsonObject = JSONObject.parseObject(msg);
staffCode = "sysadmin"; if(jsonObject.containsKey("resultCode")){
sql = " select * from hrmresourcemanager where loginid =? "; String resultCode = jsonObject.getString("resultCode") ;
} else { if("1".equals(resultCode))
sql = " select * from HrmResource where loginid =? "; {
JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode");
httpRequestUtil.userSessionFilter(request,response, application, staffCode, uid);
} }
//bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{staffCode});
if (rs.next()) {
user_new = new User();
user_new.setUid(rs.getInt("id"));
user_new.setLoginid(rs.getString("loginid"));
user_new.setFirstname(rs.getString("firstname"));
user_new.setLastname(rs.getString("lastname"));
user_new.setAliasname(rs.getString("aliasname"));
user_new.setTitle(rs.getString("title"));
user_new.setTitlelocation(rs.getString("titlelocation"));
user_new.setSex(rs.getString("sex"));
user_new.setPwd(rs.getString("password"));
String languageidweaver = rs.getString("systemlanguage");
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
user_new.setTelephone(rs.getString("telephone"));
user_new.setMobile(rs.getString("mobile"));
user_new.setMobilecall(rs.getString("mobilecall"));
user_new.setEmail(rs.getString("email"));
user_new.setCountryid(rs.getString("countryid"));
user_new.setLocationid(rs.getString("locationid"));
user_new.setResourcetype(rs.getString("resourcetype"));
user_new.setStartdate(rs.getString("startdate"));
user_new.setEnddate(rs.getString("enddate"));
user_new.setContractdate(rs.getString("contractdate"));
user_new.setJobtitle(rs.getString("jobtitle"));
user_new.setJobgroup(rs.getString("jobgroup"));
user_new.setJobactivity(rs.getString("jobactivity"));
user_new.setJoblevel(rs.getString("joblevel"));
user_new.setSeclevel(rs.getString("seclevel"));
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
user_new.setManagerid(rs.getString("managerid"));
user_new.setAssistantid(rs.getString("assistantid"));
user_new.setPurchaselimit(rs.getString("purchaselimit"));
user_new.setCurrencyid(rs.getString("currencyid"));
user_new.setLastlogindate(rs.getString("currentdate"));
user_new.setLogintype("1");
user_new.setAccount(rs.getString("account"));
user_new.setLoginip(request.getRemoteAddr()); Util.setCookie(response, "portalStatus", resultCode, -1);
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new);
} // request.getSession(true).setAttribute("portal_status", resultCode);
} }
} }
}else{
bb.writeLog("weaver_uid == uid");
// String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid);
// if (!"".equals(msg))
// {
// JSONObject jsonObject = JSONObject.parseObject(msg);
// if(jsonObject.containsKey("resultCode")){
// String resultCode = jsonObject.getString("resultCode") ;
// request.getSession(true).setAttribute("portal_status", resultCode);
// }
// }
} }
} }else {
}else{ bb.writeLog("weaver_uid is null ");
//用户session存在判断和接口中的codeshi是否一致 String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid);
String uid = ""; if (!"".equals(msg))
String cookies = request.getHeader("cookie"); {
if (StringUtils.isNotEmpty(cookies)) { JSONObject jsonObject = JSONObject.parseObject(msg);
String[] cookievals = cookies.split(";"); if(jsonObject.containsKey("resultCode")){
for (int i = 0; i < cookievals.length; i++) { String resultCode = jsonObject.getString("resultCode") ;
String cookval = cookievals[i]; if("1".equals(resultCode))
if (!"".equals(cookval) && cookval.contains("=")) { {
String key = cookval.substring(0, cookval.indexOf("=")); JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String value = cookval.substring(cookval.indexOf("=") + 1); String staffCode = resultObject.getString("staffCode");
if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { httpRequestUtil.userSessionFilter(request,response, application, staffCode, uid);
uid = value; }
}
}
}
}
if (StringUtils.isNotEmpty(uid)) {
String url = bb.getPropValue("PORTAL_INFO", "portal_user_auth");
//String url = "http://172.16.25.133/portal-web/user/current" ;
//bb.writeLog("url:" + url);
HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); Util.setCookie(response, "portalStatus", resultCode, -1);
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("Cookie", "SESSION=" + uid);
String msg = HttpRequestUtil.httpGet1(url, headMap, "UTF-8");
if (!"".equals(msg)) {
JSONObject jsonObject = JSONObject.parseObject(msg);
if ("1".equals(jsonObject.getString("resultCode"))) {
JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode");
String loginid = loginuser.getLoginid();
if (!(loginid.equals(staffCode))) {
User user_new = null;
String sql = "";
if ("admin".equals(staffCode)) {
staffCode = "sysadmin";
sql = " select * from hrmresourcemanager where loginid =? ";
} else {
sql = " select * from HrmResource where loginid =? ";
}
rs.executeQuery(sql, new Object[]{staffCode}); // request.getSession(true).setAttribute("portal_status", resultCode);
if (rs.next()) { }
user_new = new User(); }
user_new.setUid(rs.getInt("id")); }
user_new.setLoginid(rs.getString("loginid"));
user_new.setFirstname(rs.getString("firstname"));
user_new.setLastname(rs.getString("lastname"));
user_new.setAliasname(rs.getString("aliasname"));
user_new.setTitle(rs.getString("title"));
user_new.setTitlelocation(rs.getString("titlelocation"));
user_new.setSex(rs.getString("sex"));
user_new.setPwd(rs.getString("password"));
String languageidweaver = rs.getString("systemlanguage");
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
user_new.setTelephone(rs.getString("telephone")); // String portalCode = Util.null2String(request.getSession().getAttribute("portal_status"));
user_new.setMobile(rs.getString("mobile")); // if(StringUtils.isNotEmpty(portalCode)){
user_new.setMobilecall(rs.getString("mobilecall")); // if("0".equals(portalCode)){
user_new.setEmail(rs.getString("email")); // bb.writeLog("portalCode == 0");
user_new.setCountryid(rs.getString("countryid")); // request.getRequestDispatcher("/bpm/spa/custom/static/index.html#/main/cs/app/7177140d879d4c4aa56dc6a3c1b65668_loginOutBom").forward(request,response);
user_new.setLocationid(rs.getString("locationid")); // return;
user_new.setResourcetype(rs.getString("resourcetype")); // }
user_new.setStartdate(rs.getString("startdate")); // }
user_new.setEnddate(rs.getString("enddate")); // bb.writeLog(" portalCode:"+portalCode);
user_new.setContractdate(rs.getString("contractdate")); }
user_new.setJobtitle(rs.getString("jobtitle"));
user_new.setJobgroup(rs.getString("jobgroup"));
user_new.setJobactivity(rs.getString("jobactivity"));
user_new.setJoblevel(rs.getString("joblevel"));
user_new.setSeclevel(rs.getString("seclevel"));
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
user_new.setManagerid(rs.getString("managerid"));
user_new.setAssistantid(rs.getString("assistantid"));
user_new.setPurchaselimit(rs.getString("purchaselimit"));
user_new.setCurrencyid(rs.getString("currencyid"));
user_new.setLastlogindate(rs.getString("currentdate"));
user_new.setLogintype("1");
user_new.setAccount(rs.getString("account"));
user_new.setLoginip(request.getRemoteAddr()); filterChain.doFilter(request, response);
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new);
}
}
}
}
}
}
} }
filterChain.doFilter(request, response);
} }
@Override @Override

@ -1,6 +1,7 @@
package weaver.interfaces.filter; package weaver.interfaces.filter;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.api.login.util.LoginUtil;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.common.utils.StringUtils;
@ -8,6 +9,7 @@ import weaver.conn.RecordSet;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.interfaces.comInfo.PropBean;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -25,8 +27,7 @@ public class PortalLoginFilter implements Filter
private List<String> uncheck_sessionurl_custom_list = new ArrayList<String>(); private List<String> uncheck_sessionurl_custom_list = new ArrayList<String>();
private List<String> bpmHostList = new ArrayList<String>(); private List<String> bpmHostList = new ArrayList<String>();
private String path = "/bpm" ; private String path = "/bpm" ;
private String portal_homepage = "" ; private String portalUserAuth = "" ;
private String portal_user_auth = "" ;
@Override @Override
public void init(FilterConfig filterConfig) throws ServletException { public void init(FilterConfig filterConfig) throws ServletException {
@ -34,8 +35,7 @@ public class PortalLoginFilter implements Filter
this.application = filterConfig.getServletContext(); this.application = filterConfig.getServletContext();
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
portal_homepage = bb.getPropValue("PORTAL_INFO","portal_homepage"); portalUserAuth = PropBean.getUfPropValue("portal_user_auth");
portal_user_auth = bb.getPropValue("PORTAL_INFO","portal_user_auth");
String uncheck_init = bb.getPropValue("weaver_session_filter","uncheckurl"); String uncheck_init = bb.getPropValue("weaver_session_filter","uncheckurl");
if(!"".equals(uncheck_init)){ if(!"".equals(uncheck_init)){
@ -74,7 +74,7 @@ public class PortalLoginFilter implements Filter
} }
} }
String bpm_host_array = bb.getPropValue("PORTAL_INFO","bpm_host_array"); String bpm_host_array = PropBean.getUfPropValue("bpm_host_array");
if(!"".equals(bpm_host_array)) if(!"".equals(bpm_host_array))
{ {
String[] bpm_host_arr = bpm_host_array.split(";"); String[] bpm_host_arr = bpm_host_array.split(";");
@ -131,33 +131,39 @@ public class PortalLoginFilter implements Filter
} }
} }
if(!isExcludedPage) if(isExcludedPage)
{ {
//bb.writeLog("getRequestURI:"+getRequestURI+" isExcludedPage:"+isExcludedPage); filterChain.doFilter(request, response);
User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); }else{
if (loginuser == null)
String resultCode = "" ;
String uid = "" ;
String cookies = request.getHeader("cookie");
if(!"".equals(cookies))
{ {
//bb.writeLog("loginuser is null"); String[] cookievals = cookies.split(";");
String uid = "" ; for(int i=0;i<cookievals.length;i++)
String cookies = request.getHeader("cookie");
if(!"".equals(cookies))
{ {
String[] cookievals = cookies.split(";"); String cookval = cookievals[i];
for(int i=0;i<cookievals.length;i++) if(!"".equals(cookval) && cookval.contains("="))
{ {
String cookval = cookievals[i]; String key = cookval.substring(0,cookval.indexOf("="));
if(!"".equals(cookval) && cookval.contains("=")) String value = cookval.substring(cookval.indexOf("=")+1);
{ if("SESSION".equals(key.trim()) || key.contains("SESSION")){
String key = cookval.substring(0,cookval.indexOf("=")); uid = value;
String value = cookval.substring(cookval.indexOf("=")+1);
if("SESSION".equals(key.trim()) || key.contains("SESSION")){
uid = value;
}
} }
} }
} }
}
//ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996; //bb.writeLog("getRequestURI:"+getRequestURI+" isExcludedPage:"+isExcludedPage);
User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean");
if (loginuser == null)
{
//bb.writeLog("loginuser is null");
// ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996;
// ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca; // ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca;
// areaId=731; userId=1; orgId=1; // areaId=731; userId=1; orgId=1;
// CLOUD_APP_NAME=dbeptest7_pot-uportal-core; // CLOUD_APP_NAME=dbeptest7_pot-uportal-core;
@ -165,16 +171,13 @@ public class PortalLoginFilter implements Filter
if(StringUtils.isNotEmpty(uid)) if(StringUtils.isNotEmpty(uid))
{ {
//bb.writeLog("portal_user_auth:"+portal_user_auth);
//String url = "http://172.16.25.133/portal-web/user/current" ;
HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); HttpRequestUtil HttpRequestUtil = new HttpRequestUtil();
Map<String,String> headMap = new HashMap<String,String>(); String msg = HttpRequestUtil.doGetHttp(portalUserAuth,uid);
headMap.put("Cookie","SESSION="+uid);
String msg = HttpRequestUtil.httpGet1(portal_user_auth,headMap,"UTF-8");
if(!"".equals(msg)) if(!"".equals(msg))
{ {
JSONObject jsonObject = JSONObject.parseObject(msg); JSONObject jsonObject = JSONObject.parseObject(msg);
if("1".equals(jsonObject.getString("resultCode"))) resultCode = jsonObject.getString("resultCode") ;
if("1".equals(resultCode))
{ {
JSONObject resultObject = jsonObject.getJSONObject("resultObject"); JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode"); String staffCode = resultObject.getString("staffCode");
@ -236,55 +239,104 @@ public class PortalLoginFilter implements Filter
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new); request.getSession(true).setAttribute("weaver_user@bean", user_new);
} }
}else{
response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0");
response.sendRedirect(portal_homepage);
return;
} }
}else{
response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0");
response.sendRedirect(portal_homepage);
return;
} }
}else{
response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0");
response.sendRedirect(portal_homepage);
return;
} }
}else{ }
}else{
if (StringUtils.isNotEmpty(uid))
{
HttpRequestUtil HttpRequestUtil = new HttpRequestUtil();
String msg = HttpRequestUtil.doGetHttp(portalUserAuth, uid);
if (!"".equals(msg)) {
JSONObject jsonObject = JSONObject.parseObject(msg);
resultCode = jsonObject.getString("resultCode") ;
if ("1".equals(resultCode))
{
JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode");
String loginid = loginuser.getLoginid();
if (!(loginid.equals(staffCode))) {
User user_new = null;
String sql = "";
if ("admin".equals(staffCode)) {
staffCode = "sysadmin";
sql = " select * from hrmresourcemanager where loginid =? ";
} else {
sql = " select * from HrmResource where loginid =? ";
}
rs.executeQuery(sql, new Object[]{staffCode});
if (rs.next()) {
user_new = new User();
user_new.setUid(rs.getInt("id"));
user_new.setLoginid(rs.getString("loginid"));
user_new.setFirstname(rs.getString("firstname"));
user_new.setLastname(rs.getString("lastname"));
user_new.setAliasname(rs.getString("aliasname"));
user_new.setTitle(rs.getString("title"));
user_new.setTitlelocation(rs.getString("titlelocation"));
user_new.setSex(rs.getString("sex"));
user_new.setPwd(rs.getString("password"));
String languageidweaver = rs.getString("systemlanguage");
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
//bb.writeLog("uid-- is null"); user_new.setTelephone(rs.getString("telephone"));
response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 user_new.setMobile(rs.getString("mobile"));
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); user_new.setMobilecall(rs.getString("mobilecall"));
response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 user_new.setEmail(rs.getString("email"));
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); user_new.setCountryid(rs.getString("countryid"));
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. user_new.setLocationid(rs.getString("locationid"));
response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); user_new.setResourcetype(rs.getString("resourcetype"));
user_new.setStartdate(rs.getString("startdate"));
user_new.setEnddate(rs.getString("enddate"));
user_new.setContractdate(rs.getString("contractdate"));
user_new.setJobtitle(rs.getString("jobtitle"));
user_new.setJobgroup(rs.getString("jobgroup"));
user_new.setJobactivity(rs.getString("jobactivity"));
user_new.setJoblevel(rs.getString("joblevel"));
user_new.setSeclevel(rs.getString("seclevel"));
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
user_new.setManagerid(rs.getString("managerid"));
user_new.setAssistantid(rs.getString("assistantid"));
user_new.setPurchaselimit(rs.getString("purchaselimit"));
user_new.setCurrencyid(rs.getString("currencyid"));
user_new.setLastlogindate(rs.getString("currentdate"));
user_new.setLogintype("1");
user_new.setAccount(rs.getString("account"));
user_new.setLoginip(request.getRemoteAddr());
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
request.getSession(true).setAttribute("weaver_user@bean", user_new);
response.sendRedirect(portal_homepage); }
return; }
}
}
} }
} }
if("0".equals(resultCode)){
response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0.
response.setHeader("Expires", "0");
response.sendRedirect("http://172.16.25.133/portal-web/#");
return;
}else{
filterChain.doFilter(request, response);
}
} }
filterChain.doFilter(request, response);
} }
@Override @Override

@ -0,0 +1,137 @@
package weaver.interfaces.job;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.comInfo.PropBean;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.*;
public class DeptManagerCronJob extends BaseCronJob {
@Override
public void execute() {
updateDeptManagerData();
}
/***
*
*/
public void updateDeptManagerData(){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null;
try{
String managerPostion = PropBean.getUfPropValue("managerPostion");
if(StringUtils.isNotEmpty(managerPostion)){
managerPostion = "'"+managerPostion.replace(",","','")+"'";
String deptsql = " select id,supdepid,departmentcode from hrmdepartment h where ifnull(canceled,0)=0 " ;
bb.writeLog("deptsql:"+deptsql);
rs.executeQuery(deptsql);
while (rs.next()){
map = new HashMap<String, String>();
String deptid = Util.null2String(rs.getString("id"));
String supdepid = Util.null2String(rs.getString("supdepid"));
String departmentcode = Util.null2String(rs.getString("departmentcode"));
map.put("deptid",deptid);
map.put("supdepid",supdepid);
map.put("departmentcode",departmentcode);
list.add(map);
}
bb.writeLog("list:"+list.size());
for(int i=0;i<list.size();i++)
{
Map<String,String> dataMap = list.get(i);
String deptid = dataMap.get("deptid");
String supdepid = dataMap.get("supdepid");
String departmentcode = dataMap.get("departmentcode");
String depid = supdepid;
if("0".equals(supdepid)){
depid = deptid ;
}
String userids = "" ;
String sql = " with recursive cte as\n" +
" (\n" +
" select d.id,d.supdepid,d.departmentname from hrmdepartment d\n" +
" where d.id = ? \n" +
" union all \n" +
" select a.id,a.SUPDEPID,a.DEPARTMENTNAME from hrmdepartment a\n" +
" inner join cte b on a.SUPDEPID = b.id\n" +
" )\n" +
" select h.id\n" +
" from hrmresource h where h.DEPARTMENTID in(select id from cte )\n" +
" and jobtitle in(select id from hrmjobtitles h2 where h2.jobtitlename in("+managerPostion+"))" ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql,new Object[]{depid});
while (rs.next()){
String userid = Util.null2String(rs.getString("id"));
userids += StringUtils.isEmpty(userid) ? userid : ","+userid ;
}
bb.writeLog("userids:"+userids);
if(StringUtils.isNotEmpty(userids)){
String departmentdefinedid = "" ;
sql = " select id from hrmdepartmentdefined h where deptid= ?";
rs.executeQuery(sql,new Object[]{deptid});
if (rs.next()){
departmentdefinedid = Util.null2String(rs.getString("id"));
}
bb.writeLog("departmentdefinedid:"+departmentdefinedid);
if(StringUtils.isNotEmpty(departmentdefinedid)){
sql = " update hrmdepartmentdefined set bmfzr = ? where deptid = ?" ;
bb.writeLog("sql:"+sql);
rs.executeUpdate(sql,new Object[]{userids,deptid});
}else{
sql = " insert into hrmdepartmentdefined(deptid,bmfzr) values(?,?) " ;
bb.writeLog("sql:"+sql);
rs.executeUpdate(sql,new Object[]{deptid,userids});
}
String uuid = "" ;
sql = " select uuid from matrixtable_2 m where m.id=? ";
bb.writeLog("sql:"+sql);
rs.executeQuery(sql,new Object[]{deptid});
if(rs.next()){
uuid = Util.null2String(rs.getString("uuid"));
}
if(StringUtils.isNotEmpty(uuid)){
sql = " update matrixtable_2 set bmfzr = ? where id = ?" ;
bb.writeLog("sql:"+sql);
rs.executeUpdate(sql,new Object[]{userids,deptid});
}else{
String randomUUID = UUID.randomUUID().toString();
int dataorder = 0;
sql = " select (max(CAST(DATAORDER as SIGNED INTEGER))+1) as cou from matrixtable_2 " ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if(rs.next()){
dataorder = Util.getIntValue(Util.null2String(rs.getString("cou"),"0"));
}
bb.writeLog("dataorder:"+dataorder);
sql = " insert into matrixtable_2(uuid,dataorder,id,matrix_code,bmfzr) values(?,?,?,?) " ;
bb.writeLog("dataorder:"+dataorder);
rs.executeUpdate(sql,new Object[]{randomUUID,dataorder,deptid,departmentcode,userids});
}
}
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
}
}

@ -11,6 +11,7 @@ import weaver.docs.docs.ImageFileIdUpdate;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.TimeUtil; import weaver.general.TimeUtil;
import weaver.general.Util; import weaver.general.Util;
import weaver.interfaces.comInfo.PropBean;
import weaver.interfaces.schedule.BaseCronJob; import weaver.interfaces.schedule.BaseCronJob;
import java.io.*; import java.io.*;
@ -36,11 +37,11 @@ public class ESiginsCronJob extends BaseCronJob {
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
// String esiginsUrl = "http://172.16.25.133/portal-web/v1/esign/"+sysUserCode+"/esigns" ; // String esiginsUrl = "http://172.16.25.133/portal-web/v1/esign/"+sysUserCode+"/esigns" ;
String esiginsUrl = bb.getPropValue("PORTAL_INFO","esiginsUrl"); String esiginsUrl = PropBean.getUfPropValue("esiginsUrl");
String ecology_app_root = bb.getPropValue("PORTAL_INFO","ecology_app_root"); String ecology_app_root = PropBean.getUfPropValue("ecology_app_root");
String username = bb.getPropValue("PORTAL_INFO","username"); String username = PropBean.getUfPropValue("username");
String passwd = bb.getPropValue("PORTAL_INFO","passwd"); String passwd = PropBean.getUfPropValue("passwd");
List<Map<String,String>> list = new ArrayList<Map<String,String>>(); List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null; Map<String,String> map = null;

@ -10,6 +10,7 @@ import com.alibaba.rocketmq.client.exception.MQClientException;
import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere; import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere;
import com.alibaba.rocketmq.common.protocol.heartbeat.MessageModel; import com.alibaba.rocketmq.common.protocol.heartbeat.MessageModel;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.interfaces.comInfo.PropBean;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet;
@ -40,22 +41,22 @@ public class RocketmqServlet extends HttpServlet {
// consumer.subscribe("dataSync_topic_nj", "BPM"); // consumer.subscribe("dataSync_topic_nj", "BPM");
// consumer.setInstanceName("dataSync_topic_nj"); // consumer.setInstanceName("dataSync_topic_nj");
String consumerGroup = bb.getPropValue("PORTAL_INFO","consumerGroup"); String consumerGroup = PropBean.getUfPropValue("consumerGroup");
bb.writeLog("consumerGroup:"+consumerGroup); bb.writeLog("consumerGroup:"+consumerGroup);
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup); DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup);
String namesrvAddr = bb.getPropValue("PORTAL_INFO","namesrvAddr"); String namesrvAddr = PropBean.getUfPropValue("namesrvAddr");
bb.writeLog("namesrvAddr:"+namesrvAddr); bb.writeLog("namesrvAddr:"+namesrvAddr);
consumer.setNamesrvAddr(namesrvAddr); consumer.setNamesrvAddr(namesrvAddr);
String instanceName = bb.getPropValue("PORTAL_INFO","instanceName"); String instanceName = PropBean.getUfPropValue("instanceName");
bb.writeLog("instanceName:"+instanceName); bb.writeLog("instanceName:"+instanceName);
consumer.setInstanceName(instanceName); consumer.setInstanceName(instanceName);
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
//consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET); //consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);
String topic = bb.getPropValue("PORTAL_INFO","topic"); String topic = PropBean.getUfPropValue("topic");
String subExpression = bb.getPropValue("PORTAL_INFO","subExpression"); String subExpression = PropBean.getUfPropValue("subExpression");
bb.writeLog("topic:"+topic); bb.writeLog("topic:"+topic);
bb.writeLog("subExpression:"+subExpression); bb.writeLog("subExpression:"+subExpression);

@ -11,6 +11,7 @@ import weaver.general.TimeUtil;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo; import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.resource.ResourceComInfo; import weaver.hrm.resource.ResourceComInfo;
import weaver.interfaces.comInfo.PropBean;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
@ -101,7 +102,7 @@ public class RocketmqUtil {
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
String jobTitleId = "" ; String jobTitleId = "" ;
String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode"); String defaultJobCode = PropBean.getUfPropValue("defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){ if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ; String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode}); rs.executeQuery(sql,new Object[]{defaultJobCode});
@ -1078,7 +1079,7 @@ public class RocketmqUtil {
bb.writeLog("currentDate:"+currentDate); bb.writeLog("currentDate:"+currentDate);
String jobTitleId = "" ; String jobTitleId = "" ;
String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode"); String defaultJobCode = PropBean.getUfPropValue("defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){ if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ; String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode}); rs.executeQuery(sql,new Object[]{defaultJobCode});

Loading…
Cancel
Save