From f61db4f586c100284f315d4f54a02538f9dd686f Mon Sep 17 00:00:00 2001 From: shilei Date: Thu, 27 Oct 2022 17:41:00 +0800 Subject: [PATCH 1/7] =?UTF-8?q?#EC-HJ-17#=20=E5=8E=BB=E6=8E=89=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customization/sendtodo/HttpReqUtils.java | 13 +- .../sendtodo/HttpRequestUtil.java | 12 +- .../sendtodo/SendPortalTodoUtil.java | 72 +-- .../interfaces/filter/HttpRequestUtil.java | 436 +++++++++--------- .../filter/PortalLoginBeforeFilter.java | 12 +- .../interfaces/filter/PortalLoginFilter.java | 10 +- src/weaver/interfaces/util/SendMailUtil.java | 9 +- 7 files changed, 289 insertions(+), 275 deletions(-) diff --git a/src/com/customization/sendtodo/HttpReqUtils.java b/src/com/customization/sendtodo/HttpReqUtils.java index 5ae93ffb..68424c79 100644 --- a/src/com/customization/sendtodo/HttpReqUtils.java +++ b/src/com/customization/sendtodo/HttpReqUtils.java @@ -34,16 +34,17 @@ public class HttpReqUtils extends BaseBean{ .build(); try { Response response = client.newCall(request).execute(); - - bb.writeLog("response.code():"+response.code()); - bb.writeLog("response.body():"+response.body().string()); - - if(response!=null && response.code() == 200){ - msgData = response.body().string(); + int code = response.code(); + String bodyMsg = msgData = response.body().string(); + bb.writeLog("response.code():"+code); + bb.writeLog("response.body():"+bodyMsg); + if(code == 200){ + msgData = bodyMsg; } } catch (IOException e) { e.printStackTrace(); } + bb.writeLog("msgData:"+msgData); return msgData; } diff --git a/src/com/customization/sendtodo/HttpRequestUtil.java b/src/com/customization/sendtodo/HttpRequestUtil.java index ababad8d..3d03baf8 100644 --- a/src/com/customization/sendtodo/HttpRequestUtil.java +++ b/src/com/customization/sendtodo/HttpRequestUtil.java @@ -36,15 +36,17 @@ public class HttpRequestUtil extends BaseBean{ try { Response response = client.newCall(request).execute(); - bb.writeLog("response.code():"+response.code()); - bb.writeLog("response.body():"+response.body().string()); - - if(response!=null && response.code() == 200){ - msgData = response.body().string(); + int code = response.code(); + String bodyMsg = msgData = response.body().string(); + bb.writeLog("response.code():"+code); + bb.writeLog("response.body():"+bodyMsg); + if(code == 200){ + msgData = bodyMsg; } } catch (IOException e) { e.printStackTrace(); } + bb.writeLog("msgData:"+msgData); return msgData; } diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index 9a7873b4..02a452e7 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -2,6 +2,7 @@ package com.customization.sendtodo; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; @@ -12,8 +13,8 @@ import java.util.regex.Pattern; public class SendPortalTodoUtil { - public static String EMAIL_REGEX_DEFAULT = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; - + //public static String EMAIL_REGEX_DEFAULT = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; + public static String EMAIL_REGEX_DEFAULT = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; /*** * 流程发起节点,发起保存不提交,发起节点有待办,下个节点没有待办 * @param requestId @@ -117,32 +118,34 @@ public class SendPortalTodoUtil { requestObject.put("taskObjectList",taskObjectList); String email = Util.null2String(rs.getString("email")) ; + bb.writeLog("email1:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ emailArray.add(email); } } - bb.writeLog("dataJsonnew:"+requestObject.toJSONString()); + //bb.writeLog("dataJsonnew:"+requestObject.toJSONString()); // String username = "admin"; // String passwd = "Uportal_123"; // String todourl = "http://172.16.25.133/portal-web/centerTodo/sync" ; String auth = username + ":" + passwd; String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + if(StringUtils.isNotEmpty(msgdata)){ JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} if(msgObject.containsKey("resultCode")){ String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - System.out.println(emailArray.toJSONString()); - - String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; - String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - - sendMailUtil.sendMail(requestId,emailArray.toJSONString(),notificationSubject,notificationContent); + bb.writeLog("emailArray:"+emailArray.toJSONString()); + if(emailArray.size() > 0) + { + String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; + String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; + sendMailUtil.sendMail(requestId,emailArray.toJSONString(),notificationSubject,notificationContent); + } }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); @@ -265,6 +268,7 @@ public class SendPortalTodoUtil { taskObjectList.add(taskObject); String email = Util.null2String(rs.getString("email")) ; + bb.writeLog("email2:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ emailArray.add(email); @@ -274,7 +278,7 @@ public class SendPortalTodoUtil { requestObject.put("taskObjectList",taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); + //bb.writeLog("requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); bb.writeLog("msgdata:"+msgdata); if(!"".equals(msgdata)){ @@ -284,12 +288,13 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - System.out.println(emailArray.toJSONString()); - - String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; - String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + bb.writeLog("emailArray:"+emailArray.toJSONString()); + if(emailArray.size() > 0) + { + String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; + String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; + sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + } }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } @@ -483,6 +488,7 @@ public class SendPortalTodoUtil { taskObjectList.add(taskObject); String email = Util.null2String(rs.getString("email")) ; + bb.writeLog("email3:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ emailArray.add(email); @@ -492,7 +498,7 @@ public class SendPortalTodoUtil { } String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); + //bb.writeLog("requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); bb.writeLog("msgdata:"+msgdata); if(!"".equals(msgdata)){ @@ -502,10 +508,14 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - System.out.println(emailArray.toJSONString()); - String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; - String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + bb.writeLog("emailArray:"+emailArray.toJSONString()); + if(emailArray.size() > 0) + { + String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; + String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; + sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + } + }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); @@ -615,7 +625,6 @@ public class SendPortalTodoUtil { JSONObject taskObject = new JSONObject(); String objectCode = usercode ; - String operatorCode = usercode ; taskObject.put("objectAction",objectAction); @@ -626,6 +635,7 @@ public class SendPortalTodoUtil { taskObjectList.add(taskObject); String email = Util.null2String(rs.getString("email")) ; + bb.writeLog("email4:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ emailArray.add(email); @@ -636,7 +646,7 @@ public class SendPortalTodoUtil { requestObject.put("taskObjectList",taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); + //bb.writeLog("requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); bb.writeLog("msgdata:"+msgdata); if(!"".equals(msgdata)){ @@ -646,13 +656,13 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - System.out.println(emailArray.toJSONString()); - - String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; - String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); - + bb.writeLog("emailArray:"+emailArray.toJSONString()); + if(emailArray.size() > 0) + { + String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; + String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; + sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + } }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } diff --git a/src/weaver/interfaces/filter/HttpRequestUtil.java b/src/weaver/interfaces/filter/HttpRequestUtil.java index 4a97ef3b..5711c264 100644 --- a/src/weaver/interfaces/filter/HttpRequestUtil.java +++ b/src/weaver/interfaces/filter/HttpRequestUtil.java @@ -33,52 +33,52 @@ public class HttpRequestUtil extends BaseBean{ * @throws ParseException * @throws IOException */ - public String sendPost(String url, Map headers,String encoding){ - String body = ""; - - 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 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; - } +// public String sendPost(String url, Map headers,String encoding){ +// String body = ""; +// +// 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 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; +// } /** @@ -89,69 +89,69 @@ public class HttpRequestUtil extends BaseBean{ * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return result 所代表远程资源的响应结果 */ - public String sendGet(String url, Map 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 entry : headers.entrySet()) { - bb.writeLog("key:"+entry.getKey()); - bb.writeLog("val:"+entry.getValue()); - connection.addRequestProperty(entry.getKey(), entry.getValue()); - } - } - - // 建立实际的连接 - connection.connect(); - // 获取所有响应头字段 - //Map> 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; - } +// public String sendGet(String url, Map 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 entry : headers.entrySet()) { +// bb.writeLog("key:"+entry.getKey()); +// bb.writeLog("val:"+entry.getValue()); +// connection.addRequestProperty(entry.getKey(), entry.getValue()); +// } +// } +// +// // 建立实际的连接 +// connection.connect(); +// // 获取所有响应头字段 +// //Map> 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; +// } /*** @@ -164,7 +164,7 @@ public class HttpRequestUtil extends BaseBean{ public String httpGet1(String url, Map headers, String encode){ BaseBean bb = new BaseBean(); - bb.writeLog("url",url); + //bb.writeLog("url",url); if(encode == null){ encode = "UTF-8"; } @@ -187,7 +187,7 @@ public class HttpRequestUtil extends BaseBean{ httpResponse = closeableHttpClient.execute(httpGet); if(httpResponse.getStatusLine().getStatusCode() == 200){ - bb.writeLog(httpResponse.getStatusLine().getStatusCode()); + //bb.writeLog(httpResponse.getStatusLine().getStatusCode()); HttpEntity entity = httpResponse.getEntity(); content = EntityUtils.toString(entity, encode); } @@ -217,58 +217,58 @@ public class HttpRequestUtil extends BaseBean{ * @param encode * @return */ - public String httpGet2(String url,Map headers,String encode) - { - - 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 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; - } +// public String httpGet2(String url,Map headers,String encode) +// { +// +// 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 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; +// } /*** * @@ -276,37 +276,37 @@ public class HttpRequestUtil extends BaseBean{ * @param jsonstr * @return */ - public static String doPostByAuth(String url,String jsonstr,String auth){ - CloseableHttpClient httpClient = null; - HttpPost httpPost = null; - String result = null; - try{ - String authStr = new String(Base64.encode(auth)); - httpClient = HttpClients.createDefault(); - httpPost = new HttpPost(url); -// String head_param_encode = urlEncode(head_param); - System.out.println("authStr:"+authStr); - httpPost.addHeader("Connection", "Keep-Alive"); - httpPost.addHeader("Cache-Control", "No-Cache"); - httpPost.addHeader("Accept", "*/*"); - httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); - 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"); - StringEntity se = new StringEntity(jsonstr); - se.setContentType("application/json;charset=utf-8"); - httpPost.setEntity(se); - HttpResponse response = httpClient.execute(httpPost); - if(response != null){ - HttpEntity resEntity = response.getEntity(); - if(resEntity != null){ - result = EntityUtils.toString(resEntity,"utf-8"); - } - } - }catch(Exception ex){ - ex.printStackTrace(); - } - return result; - } +// public static String doPostByAuth(String url,String jsonstr,String auth){ +// CloseableHttpClient httpClient = null; +// HttpPost httpPost = null; +// String result = null; +// try{ +// String authStr = new String(Base64.encode(auth)); +// httpClient = HttpClients.createDefault(); +// httpPost = new HttpPost(url); +//// String head_param_encode = urlEncode(head_param); +// System.out.println("authStr:"+authStr); +// httpPost.addHeader("Connection", "Keep-Alive"); +// httpPost.addHeader("Cache-Control", "No-Cache"); +// httpPost.addHeader("Accept", "*/*"); +// httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); +// 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"); +// StringEntity se = new StringEntity(jsonstr); +// se.setContentType("application/json;charset=utf-8"); +// httpPost.setEntity(se); +// HttpResponse response = httpClient.execute(httpPost); +// if(response != null){ +// HttpEntity resEntity = response.getEntity(); +// if(resEntity != null){ +// result = EntityUtils.toString(resEntity,"utf-8"); +// } +// } +// }catch(Exception ex){ +// ex.printStackTrace(); +// } +// return result; +// } // public static String urlEncode(String url) throws UnsupportedEncodingException { @@ -327,29 +327,29 @@ public class HttpRequestUtil extends BaseBean{ // } - public String doPostByAuth2(String dataJson){ - BaseBean bb = new BaseBean(); - String msgData = "" ; - 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; - } +// public String doPostByAuth2(String dataJson){ +// BaseBean bb = new BaseBean(); +// String msgData = "" ; +// 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; +// } } diff --git a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java index 15bf0c94..b0155cea 100644 --- a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java +++ b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java @@ -41,10 +41,10 @@ public class PortalLoginBeforeFilter implements Filter { boolean isExcludedPage = false; String requestURL = request.getRequestURL().toString(); - bb.writeLog("bpmHostList:" + bpmHostList.size()); + //bb.writeLog("bpmHostList:" + bpmHostList.size()); if (!bpmHostList.isEmpty()) { for (String bpm_host_val : bpmHostList) { - bb.writeLog("bpm_host_val:" + bpm_host_val); + //bb.writeLog("bpm_host_val:" + bpm_host_val); if (requestURL.contains(bpm_host_val)) { isExcludedPage = true; } @@ -61,7 +61,7 @@ public class PortalLoginBeforeFilter implements Filter { } } - bb.writeLog("getRequestURI:" + getRequestURI + " isExcludedPage:" + isExcludedPage); + //bb.writeLog("getRequestURI:" + getRequestURI + " isExcludedPage:" + isExcludedPage); if (!isExcludedPage) { User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); @@ -91,7 +91,7 @@ public class PortalLoginBeforeFilter implements Filter { 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); + //bb.writeLog("url:" + url); HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); Map headMap = new HashMap(); @@ -111,7 +111,7 @@ public class PortalLoginBeforeFilter implements Filter { } else { sql = " select * from HrmResource where loginid =? "; } - bb.writeLog("sql:" + sql); + //bb.writeLog("sql:" + sql); rs.executeQuery(sql, new Object[]{staffCode}); if (rs.next()) { user_new = new User(); @@ -184,7 +184,7 @@ public class PortalLoginBeforeFilter implements Filter { 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); + //bb.writeLog("url:" + url); HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); Map headMap = new HashMap(); diff --git a/src/weaver/interfaces/filter/PortalLoginFilter.java b/src/weaver/interfaces/filter/PortalLoginFilter.java index 42eedca3..e1c17071 100644 --- a/src/weaver/interfaces/filter/PortalLoginFilter.java +++ b/src/weaver/interfaces/filter/PortalLoginFilter.java @@ -133,11 +133,11 @@ public class PortalLoginFilter implements Filter if(!isExcludedPage) { - bb.writeLog("getRequestURI:"+getRequestURI+" isExcludedPage:"+isExcludedPage); + //bb.writeLog("getRequestURI:"+getRequestURI+" isExcludedPage:"+isExcludedPage); User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); if (loginuser == null) { - bb.writeLog("loginuser is null"); + //bb.writeLog("loginuser is null"); String uid = "" ; String cookies = request.getHeader("cookie"); if(!"".equals(cookies)) @@ -165,7 +165,7 @@ public class PortalLoginFilter implements Filter if(StringUtils.isNotEmpty(uid)) { - bb.writeLog("portal_user_auth:"+portal_user_auth); + //bb.writeLog("portal_user_auth:"+portal_user_auth); //String url = "http://172.16.25.133/portal-web/user/current" ; HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); Map headMap = new HashMap(); @@ -188,7 +188,7 @@ public class PortalLoginFilter implements Filter }else{ sql = " select * from HrmResource where loginid =? "; } - bb.writeLog("sql:"+sql); + //bb.writeLog("sql:"+sql); rs.executeQuery(sql,new Object[]{staffCode}); if(rs.next()){ user_new = new User(); @@ -271,7 +271,7 @@ public class PortalLoginFilter implements Filter } }else{ - bb.writeLog("uid-- is null"); + //bb.writeLog("uid-- is null"); response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 diff --git a/src/weaver/interfaces/util/SendMailUtil.java b/src/weaver/interfaces/util/SendMailUtil.java index 1afdb83f..b7de5590 100644 --- a/src/weaver/interfaces/util/SendMailUtil.java +++ b/src/weaver/interfaces/util/SendMailUtil.java @@ -16,7 +16,7 @@ public class SendMailUtil{ String emailenable = baseBean.getPropValue("PORTAL_INFO","emailenable"); public void sendMail(String requestid,String emails,String notificationSubject,String notificationContent){ - + baseBean.writeLog("emailenable:"+emailenable); if(!"1".equals(emailenable)){ return; } @@ -40,6 +40,7 @@ public class SendMailUtil{ try{ String responseData = doGetAccessToken(); + baseBean.writeLog("responseData:"+responseData); String accessToken = "" ; if(StringUtils.isNotEmpty(responseData)){ JSONObject responseObject = JSONObject.parseObject(responseData); @@ -63,7 +64,7 @@ public class SendMailUtil{ jsonObject.put("content",requestJson); // "{\r\n \"access_token\": \"\",\r\n \"method\": \"sendNotification\",\r\n \"version\": \"1.0\",\r\n \"content\": {\"eventCode\":\"\", \r\n \"transId\":\"\", \r\n \"triggerTime\":\"20221020094013\",\r\n \"notificationType\":\"EMAIL\",\r\n \"email\":\"798989044@qq.com\", \r\n \"channel\":\"OA\", \r\n \"notificationSubject\":\"新待办到达\",\r\n \"notificationContent\":\"新待办到达,清及时处理\" }\r\n}" - System.out.println(jsonObject.toJSONString()); + baseBean.writeLog("jsonObject:"+jsonObject.toJSONString()); OkHttpClient client = new OkHttpClient().newBuilder().build(); MediaType mediaType = MediaType.parse("application/json"); @@ -111,14 +112,14 @@ public class SendMailUtil{ try { // 生成签名 String sign = RSAUtils.generateSign("", emainAppCode, emailAppSecret, timestamp, emailPrivateKey); -// System.out.println("sign == " + sign); + baseBean.writeLog("sign == " + sign); JSONObject jsonObject = new JSONObject(); jsonObject.put("appCode",emainAppCode); jsonObject.put("appSecret",emailAppSecret); jsonObject.put("responseType",emailResponseType); jsonObject.put("timestamp",timestamp); jsonObject.put("sign",sign); - System.out.println(jsonObject.toJSONString()); + baseBean.writeLog("jsonObject:"+jsonObject.toJSONString()); OkHttpClient client = new OkHttpClient().newBuilder().build(); MediaType mediaType = MediaType.parse("application/json"); From 6031129542031c9120c7b1433203e93c20ffb928 Mon Sep 17 00:00:00 2001 From: WangJie <805650258@qq.com> Date: Thu, 27 Oct 2022 20:21:36 +0800 Subject: [PATCH 2/7] =?UTF-8?q?#=E5=A4=84=E7=90=86=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=BE=85=E5=8A=9E=E5=B7=B2=E5=8A=9E=E6=89=93=E5=BC=80?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB-INF/prop/PORTAL_INFO.properties | 5 + .../sendtodo/SendPortalDoneUtil.java | 596 ++++++++++-------- .../sendtodo/SendPortalTodoRunnable.java | 16 +- .../sendtodo/SendPortalTodoUtil.java | 81 ++- 4 files changed, 386 insertions(+), 312 deletions(-) diff --git a/WEB-INF/prop/PORTAL_INFO.properties b/WEB-INF/prop/PORTAL_INFO.properties index c0e64645..d2ba7472 100644 --- a/WEB-INF/prop/PORTAL_INFO.properties +++ b/WEB-INF/prop/PORTAL_INFO.properties @@ -47,6 +47,11 @@ passwd = Uportal_123 ##流程详情页的url bpm_workflowurl = http://172.16.25.133/bpm +##移动端流程详情页的url +bpm_app_workflowurl = https://131.226.95.10:9443/bpm +##移动端流程表单地址 +bpm_app_requesturl = /bpm/spa/workflow/static4mobileform/index.html#/req?requestid= + ## 门户待办类型 center = MCCM diff --git a/src/com/customization/sendtodo/SendPortalDoneUtil.java b/src/com/customization/sendtodo/SendPortalDoneUtil.java index 42ad71c9..69d8253e 100644 --- a/src/com/customization/sendtodo/SendPortalDoneUtil.java +++ b/src/com/customization/sendtodo/SendPortalDoneUtil.java @@ -8,6 +8,9 @@ import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + public class SendPortalDoneUtil { /*** @@ -16,7 +19,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendDoneDataByCreateNode(String requestid,String noideid,User user,String portal_doneurl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendDoneDataByCreateNode(String requestid, String noideid, User user, String portal_doneurl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -25,87 +28,90 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByCreateNode"); - String ticketType = center ; - String terminal = "1" ; - String actionType = "0" ; + String ticketType = center; + String terminal = "1"; + String actionType = "0"; String taskType = "0"; - String objectAction = "0" ; + String objectAction = "0"; String objectType = "0"; - String objectId = "" ; + String objectId = ""; try { JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select 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" + " from workflow_requestbase t1\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" + " 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); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } String usercode = user.getLoginid(); JSONObject taskObject = new JSONObject(); - String objectCode = usercode ; - String operatorCode = usercode ; - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + String objectCode = usercode; + String operatorCode = usercode; + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalDoneErrorInfo(); } } @@ -124,7 +130,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendDoneDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendDoneDataByNode(String requestid, String noideid, User user, String portal_todourl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -134,15 +140,15 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByNode"); - String ticketType = center ; - String terminal = "1" ; + String ticketType = center; + String terminal = "1"; String taskType = "0"; - String objectId = "" ; + String objectId = ""; try { - int count = 0 ; - String countSql =" select t2.userid,h1.loginid\n" + + int count = 0; + String countSql = " select t2.userid,h1.loginid\n" + " from workflow_requestbase t1\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" + @@ -150,121 +156,127 @@ public class SendPortalDoneUtil { " 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.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid+ - " and t2.nodeid = " + noideid ; - bb.writeLog("sendTodoDataByNode--countSql:"+countSql); + " and t2.REQUESTID = " + requestid + + " and t2.nodeid = " + noideid; + bb.writeLog("sendTodoDataByNode--countSql:" + countSql); rs.executeQuery(countSql); - while (rs.next()){ + while (rs.next()) { count++; } - bb.writeLog("sendTodoDataByNode--count:"+count); + bb.writeLog("sendTodoDataByNode--count:" + count); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select 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" + " from workflow_requestbase t1\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" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; - bb.writeLog("sendTodoDataByNode--sql:"+sql); + " and t1.requestid = " + requestid; + bb.writeLog("sendTodoDataByNode--sql:" + sql); - if(count >0){ + if (count > 0) { JSONArray taskObjectList = new JSONArray(); - String actionType = "1" ; - String objectAction = "1" ; + String actionType = "1"; + String objectAction = "1"; String objectType = "0"; rs.executeQuery(sql); - if (rs.next()){ - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - String objectCode = user.getLoginid() ; - String operatorCode = user.getLoginid() ; + String objectCode = user.getLoginid(); + String operatorCode = user.getLoginid(); JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); - }else{ - String actionType = "2" ; - String objectAction = "0" ; + } else { + String actionType = "2"; + String objectAction = "0"; String objectType = "0"; JSONArray taskObjectList = new JSONArray(); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - sql = " select t2.userid,h1.loginid,h1.email\n" + + sql = " select t2.userid,h1.loginid,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + @@ -272,36 +284,36 @@ public class SendPortalDoneUtil { " 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.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid; - bb.writeLog("sendTodoDataByNode--sql:"+sql); + " and t2.REQUESTID = " + requestid; + bb.writeLog("sendTodoDataByNode--sql:" + sql); rs.executeQuery(sql); - while (rs.next()){ + while (rs.next()) { - String usercode = Util.null2String(rs.getString("loginid")) ; - String objectCode = usercode ; - String operatorCode = usercode ; + String usercode = Util.null2String(rs.getString("loginid")); + String objectCode = usercode; + String operatorCode = usercode; JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); } - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); } String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } } @@ -319,7 +331,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByReject(String requestid, String noideid, User user, String portal_todourl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -329,63 +341,66 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByReject"); RecordSet rs = new RecordSet(); - String ticketType = center ; - String terminal = "1" ; + String ticketType = center; + String terminal = "1"; String taskType = "0"; - String objectAction = "0" ; + String objectAction = "0"; String objectType = "0"; - String objectId = "" ; + String objectId = ""; try { - String actionType = "2" ; + String actionType = "2"; JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select 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" + " from workflow_requestbase t1\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" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; - bb.writeLog("sendTodoDataByReject--sql:"+sql); + " and t1.requestid = " + requestid; + bb.writeLog("sendTodoDataByReject--sql:" + sql); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - sql = " select t2.userid,h1.loginid,h1.email\n" + + sql = " select t2.userid,h1.loginid,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + @@ -393,39 +408,39 @@ public class SendPortalDoneUtil { " 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.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid; + " and t2.REQUESTID = " + requestid; - bb.writeLog("sendTodoDataByReject--sql:"+sql); + bb.writeLog("sendTodoDataByReject--sql:" + sql); rs.executeQuery(sql); - while (rs.next()){ + while (rs.next()) { - String usercode = Util.null2String(rs.getString("loginid")) ; + String usercode = Util.null2String(rs.getString("loginid")); JSONObject taskObject = new JSONObject(); - String objectCode = usercode ; + String objectCode = usercode; - String operatorCode = usercode ; + String operatorCode = usercode; - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); } - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } } @@ -435,59 +450,70 @@ public class SendPortalDoneUtil { } } - public void sendPortalDoneData(String requestid,String nodeid,User user,String portal_doneurl,String username,String passwd,String bpm_workflowurl) { + public void sendPortalDoneData(String requestid, String nodeid, User user, String portal_doneurl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String bpm_app_requesturl) { BaseBean bb = new BaseBean(); - HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); - RecordSet rs = new RecordSet(); - String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - String isRecall = "1"; - String actionType = "0"; - int userid = user.getUID(); - String workcode = ""; - String sql = "select loginid from hrmresource where id = '" + userid + "'"; - rs.execute(sql); - while (rs.next()) { - workcode = Util.null2String(rs.getString("loginid")); - } + try { + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); + RecordSet rs = new RecordSet(); + String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); + String isRecall = "1"; + String actionType = "0"; + int userid = user.getUID(); + String workcode = ""; + String sql = "select loginid from hrmresource where id = '" + userid + "'"; + rs.execute(sql); + while (rs.next()) { + workcode = Util.null2String(rs.getString("loginid")); + } - String center = bb.getPropValue("PORTAL_INFO", "center"); - String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType"); - String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; - String urlApp = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; - sql = " select 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" + - " from workflow_requestbase t1\n" + - " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " 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" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = " + requestid; - rs.execute(sql); - while (rs.next()) { - String title = Util.null2String(rs.getString("requestname")); + String center = bb.getPropValue("PORTAL_INFO", "center"); + String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType"); + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + 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" + + " from workflow_requestbase t1\n" + + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + + " 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" + + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + + " and t1.requestid = " + requestid; + rs.execute(sql); + while (rs.next()) { + String title = Util.null2String(rs.getString("requestname")); + String workflowid = Util.null2String(rs.getString("workflowid")); + String workflowname = getWorkflowname(workflowid); // title = getShortMessageTitle(title); - String creator = Util.null2String(rs.getString("loginid")); - String taskCode = Util.null2String(rs.getString("taskcode")); - JSONObject requestObject = new JSONObject(); - requestObject.put("center", center); - requestObject.put("taskCode", taskCode); - requestObject.put("nodeId", nodeid); - requestObject.put("ticketType", ticketType); - requestObject.put("title", title); - requestObject.put("creator", creator); - requestObject.put("processStaff", workcode); - requestObject.put("processTime", processTime); - requestObject.put("isRecall", isRecall); - requestObject.put("actionType", actionType); - requestObject.put("urlPC", urlPc); - requestObject.put("urlApp", urlApp); + String creator = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + JSONObject requestObject = new JSONObject(); + requestObject.put("center", center); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeid); + requestObject.put("ticketType", workflowname); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("processStaff", workcode); + requestObject.put("processTime", processTime); + requestObject.put("isRecall", isRecall); + requestObject.put("actionType", actionType); + requestObject.put("urlPC", urlPc); + requestObject.put("urlApp", urlApp); + + String auth = username + ":" + passwd; + bb.writeLog("done requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); + bb.writeLog("done msgdata:" + msgdata); + } - String auth = username + ":" + passwd; - bb.writeLog("done requestObject:" + requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); - bb.writeLog("done msgdata:" + msgdata); + } catch (Exception e) { + bb.writeLog("done Exception"); + bb.writeLog(e.getMessage()); } } + private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; @@ -495,5 +521,15 @@ public class SendPortalDoneUtil { return messageTitle; } + private String getWorkflowname(String id) { + RecordSet rs = new RecordSet(); + String name = ""; + rs.executeQuery("select workflowname from workflow_base where id = ?", id); + while (rs.next()) { + name = Util.null2String(rs.getString("workflowname")); + } + return name; + } + } diff --git a/src/com/customization/sendtodo/SendPortalTodoRunnable.java b/src/com/customization/sendtodo/SendPortalTodoRunnable.java index 97023a4e..0d21a9e3 100644 --- a/src/com/customization/sendtodo/SendPortalTodoRunnable.java +++ b/src/com/customization/sendtodo/SendPortalTodoRunnable.java @@ -33,19 +33,21 @@ public class SendPortalTodoRunnable implements Runnable{ String passwd = bb.getPropValue("PORTAL_INFO","passwd"); String center = bb.getPropValue("PORTAL_INFO","center"); String bpm_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_workflowurl"); + String bpm_app_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_app_workflowurl"); String portal_doneurl = bb.getPropValue("PORTAL_INFO","portal_doneurl"); + String bpm_app_requesturl = bb.getPropValue("PORTAL_INFO","bpm_app_requesturl"); if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,username,passwd,bpm_workflowurl,center); + sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); }else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( new_requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( new_requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); }else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){ - sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); }else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){ - sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); } } diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index 02a452e7..3f7696ab 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -8,6 +8,8 @@ import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; import weaver.interfaces.util.SendMailUtil; + +import java.net.URLEncoder; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -20,7 +22,7 @@ public class SendPortalTodoUtil { * @param requestId * @param user */ - public void sendTodoDataByCreater(String requestId, User user, String portal_todourl, String username, String passwd, String bpm_workflowurl, String center){ + public void sendTodoDataByCreater(String requestId, User user, String portal_todourl,String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -47,7 +49,7 @@ public class SendPortalTodoUtil { JSONObject requestObject = new JSONObject(); try { int userid = user.getUID(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t2.nodeid,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t2.nodeid,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskcode,d1.nodename,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + @@ -64,9 +66,11 @@ public class SendPortalTodoUtil { rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; String creator = Util.null2String(rs.getString("loginid")) ; + String workcode = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; @@ -80,7 +84,10 @@ public class SendPortalTodoUtil { messageTitle = getShortMessageTitle(messageTitle); String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestId ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestId; + String app_requestUrl = bpm_app_requesturl+requestId; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestId; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -99,7 +106,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); JSONArray taskObjectList = new JSONArray(); JSONObject taskObject = new JSONObject(); @@ -164,7 +171,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByCreateNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByCreateNode(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -192,7 +199,7 @@ public class SendPortalTodoUtil { try { JSONArray taskObjectList = new JSONArray(); - String sql =" select 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" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -204,9 +211,11 @@ public class SendPortalTodoUtil { bb.writeLog("sendTodoDataByNode--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; String creator = Util.null2String(rs.getString("loginid")) ; + String workcode = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; @@ -219,7 +228,9 @@ public class SendPortalTodoUtil { messageTitle = getShortMessageTitle(messageTitle); String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -238,7 +249,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -314,7 +325,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -353,7 +364,7 @@ public class SendPortalTodoUtil { } bb.writeLog("sendTodoDataByNode--count:"+count); - String sql =" select 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" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -372,12 +383,14 @@ public class SendPortalTodoUtil { rs.executeQuery(sql); if (rs.next()){ + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -385,7 +398,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -404,7 +419,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } String objectCode = user.getLoginid() ; @@ -426,13 +441,14 @@ public class SendPortalTodoUtil { JSONArray taskObjectList = new JSONArray(); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -440,7 +456,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -459,7 +477,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -535,7 +553,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -560,7 +578,7 @@ public class SendPortalTodoUtil { String actionType = "2" ; JSONArray taskObjectList = new JSONArray(); - String sql =" select 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" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -571,13 +589,14 @@ public class SendPortalTodoUtil { bb.writeLog("sendTodoDataByReject--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title ; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -585,7 +604,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -604,7 +625,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -681,4 +702,14 @@ public class SendPortalTodoUtil { return messageTitle; } + private String getWorkflowname(String id){ + RecordSet rs = new RecordSet(); + String name = ""; + rs.executeQuery("select workflowname from workflow_base where id = ?",id); + while (rs.next()){ + name = Util.null2String(rs.getString("workflowname")); + } + return name; + } + } From 0ffaa7595a8957c33793736a47ed8ae5fe448521 Mon Sep 17 00:00:00 2001 From: shilei Date: Thu, 27 Oct 2022 21:29:16 +0800 Subject: [PATCH 3/7] =?UTF-8?q?#EC-HJ-18#=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customization/sendtodo/HttpReqUtils.java | 2 +- .../sendtodo/HttpRequestUtil.java | 2 +- .../sendtodo/SendPortalTodoUtil.java | 42 +++--- src/weaver/interfaces/util/SendMailUtil.java | 140 ++++++++++-------- 4 files changed, 97 insertions(+), 89 deletions(-) diff --git a/src/com/customization/sendtodo/HttpReqUtils.java b/src/com/customization/sendtodo/HttpReqUtils.java index 68424c79..b2b473da 100644 --- a/src/com/customization/sendtodo/HttpReqUtils.java +++ b/src/com/customization/sendtodo/HttpReqUtils.java @@ -35,7 +35,7 @@ public class HttpReqUtils extends BaseBean{ try { Response response = client.newCall(request).execute(); int code = response.code(); - String bodyMsg = msgData = response.body().string(); + String bodyMsg = response.body().string(); bb.writeLog("response.code():"+code); bb.writeLog("response.body():"+bodyMsg); if(code == 200){ diff --git a/src/com/customization/sendtodo/HttpRequestUtil.java b/src/com/customization/sendtodo/HttpRequestUtil.java index 3d03baf8..1a57aac8 100644 --- a/src/com/customization/sendtodo/HttpRequestUtil.java +++ b/src/com/customization/sendtodo/HttpRequestUtil.java @@ -37,7 +37,7 @@ public class HttpRequestUtil extends BaseBean{ Response response = client.newCall(request).execute(); int code = response.code(); - String bodyMsg = msgData = response.body().string(); + String bodyMsg = response.body().string(); bb.writeLog("response.code():"+code); bb.writeLog("response.body():"+bodyMsg); if(code == 200){ diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index 3f7696ab..4e296813 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -31,7 +31,7 @@ public class SendPortalTodoUtil { BaseBean bb = new BaseBean(); RecordSet rs = new RecordSet(); - JSONArray emailArray = new JSONArray(); + String emailArray = ""; String requestname = ""; String requestremark = "" ; @@ -128,7 +128,7 @@ public class SendPortalTodoUtil { bb.writeLog("email1:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ - emailArray.add(email); + emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; } } @@ -146,12 +146,12 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - bb.writeLog("emailArray:"+emailArray.toJSONString()); - if(emailArray.size() > 0) + bb.writeLog("emailArray:"+emailArray); + if(StringUtils.isNotEmpty(emailArray)) { String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - sendMailUtil.sendMail(requestId,emailArray.toJSONString(),notificationSubject,notificationContent); + sendMailUtil.sendMail(requestId,emailArray,notificationSubject,notificationContent); } }else{ @@ -183,7 +183,7 @@ public class SendPortalTodoUtil { String requestremark = "" ; JSONObject requestObject = new JSONObject(); - JSONArray emailArray = new JSONArray(); + String emailArray = ""; Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); BaseBean bb = new BaseBean(); @@ -282,7 +282,7 @@ public class SendPortalTodoUtil { bb.writeLog("email2:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ - emailArray.add(email); + emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; } } @@ -299,12 +299,12 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - bb.writeLog("emailArray:"+emailArray.toJSONString()); - if(emailArray.size() > 0) + bb.writeLog("emailArray:"+emailArray); + if(StringUtils.isNotEmpty(emailArray)) { String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); @@ -342,7 +342,7 @@ public class SendPortalTodoUtil { String objectId = "" ; String requestname = "" ; - JSONArray emailArray = new JSONArray(); + String emailArray = ""; Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); try { @@ -509,7 +509,7 @@ public class SendPortalTodoUtil { bb.writeLog("email3:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ - emailArray.add(email); + emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; } } requestObject.put("taskObjectList",taskObjectList); @@ -526,15 +526,14 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - bb.writeLog("emailArray:"+emailArray.toJSONString()); - if(emailArray.size() > 0) + bb.writeLog("emailArray:"+emailArray); + if(StringUtils.isNotEmpty(emailArray)) { String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } - }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } @@ -560,7 +559,7 @@ public class SendPortalTodoUtil { SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); JSONObject requestObject = new JSONObject(); - JSONArray emailArray = new JSONArray(); + String emailArray = ""; Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); BaseBean bb = new BaseBean(); @@ -659,9 +658,8 @@ public class SendPortalTodoUtil { bb.writeLog("email4:"+email); Matcher matcher = regex.matcher(email); if(matcher.matches()){ - emailArray.add(email); + emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; } - } requestObject.put("taskObjectList",taskObjectList); @@ -677,12 +675,12 @@ public class SendPortalTodoUtil { String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - bb.writeLog("emailArray:"+emailArray.toJSONString()); - if(emailArray.size() > 0) + bb.writeLog("emailArray:"+emailArray); + if(StringUtils.isNotEmpty(emailArray)) { String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time"; String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time"; - sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent); + sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } }else{ sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); diff --git a/src/weaver/interfaces/util/SendMailUtil.java b/src/weaver/interfaces/util/SendMailUtil.java index b7de5590..db42f825 100644 --- a/src/weaver/interfaces/util/SendMailUtil.java +++ b/src/weaver/interfaces/util/SendMailUtil.java @@ -1,5 +1,6 @@ package weaver.interfaces.util; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import okhttp3.*; import org.apache.commons.lang.StringUtils; @@ -15,79 +16,78 @@ public class SendMailUtil{ public static BaseBean baseBean = new BaseBean(); 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.writeLog("emailenable:"+emailenable); - if(!"1".equals(emailenable)){ - return; - } - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss"); - String emailUrl = baseBean.getPropValue("PORTAL_INFO","emailUrl"); - String emailMethod = baseBean.getPropValue("PORTAL_INFO","emailMethod"); - String emailEventCode = baseBean.getPropValue("PORTAL_INFO","emailEventCode"); - String emailNotificationType = baseBean.getPropValue("PORTAL_INFO","emailNotificationType"); - String emailChannel = baseBean.getPropValue("PORTAL_INFO","emailChannel"); - String emailVersion = baseBean.getPropValue("PORTAL_INFO","emailVersion"); - String triggerTime = sdf.format(new Date()); - - JSONObject requestJson = new JSONObject(); - requestJson.put("eventCode",emailEventCode); - requestJson.put("triggerTime",triggerTime); - requestJson.put("notificationType",emailNotificationType); - requestJson.put("email",emails); - requestJson.put("channel",emailChannel); - requestJson.put("notificationSubject",notificationSubject); - requestJson.put("notificationContent",notificationContent); - - try{ - String responseData = doGetAccessToken(); - baseBean.writeLog("responseData:"+responseData); - String accessToken = "" ; - if(StringUtils.isNotEmpty(responseData)){ - JSONObject responseObject = JSONObject.parseObject(responseData); - if(responseObject.containsKey("resCode") && responseObject.containsKey("data")){ - String resCode = responseObject.getString("resCode"); - if("00000".equals(resCode)){ - JSONObject dataObject = responseObject.getJSONObject("data"); - if(dataObject.containsKey("accessToken")){ - accessToken = dataObject.getString("accessToken"); + if("1".equals(emailenable)) + { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String emailUrl = baseBean.getPropValue("PORTAL_INFO","emailUrl"); + String emailMethod = baseBean.getPropValue("PORTAL_INFO","emailMethod"); + String emailEventCode = baseBean.getPropValue("PORTAL_INFO","emailEventCode"); + String emailNotificationType = baseBean.getPropValue("PORTAL_INFO","emailNotificationType"); + String emailChannel = baseBean.getPropValue("PORTAL_INFO","emailChannel"); + String emailVersion = baseBean.getPropValue("PORTAL_INFO","emailVersion"); + String triggerTime = sdf.format(new Date()); + + JSONObject requestJson = new JSONObject(); + requestJson.put("eventCode",emailEventCode); + requestJson.put("triggerTime",triggerTime); + requestJson.put("notificationType",emailNotificationType); + requestJson.put("email",emails); + requestJson.put("channel",emailChannel); + requestJson.put("notificationSubject",notificationSubject); + requestJson.put("notificationContent",notificationContent); + + try{ + String responseData = doGetAccessToken(); + baseBean.writeLog("responseData:"+responseData); + String accessToken = "" ; + if(StringUtils.isNotEmpty(responseData)){ + JSONObject responseObject = JSONObject.parseObject(responseData); + if(responseObject.containsKey("resCode") && responseObject.containsKey("data")){ + String resCode = responseObject.getString("resCode"); + if("00000".equals(resCode)){ + JSONObject dataObject = responseObject.getJSONObject("data"); + if(dataObject.containsKey("accessToken")){ + accessToken = dataObject.getString("accessToken"); + } } } } - } - if(StringUtils.isNotEmpty(accessToken)){ + if(StringUtils.isNotEmpty(accessToken)){ - JSONObject jsonObject = new JSONObject(); - jsonObject.put("access_token",accessToken); - jsonObject.put("method",emailMethod); - jsonObject.put("version",emailVersion); - jsonObject.put("content",requestJson); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("access_token",accessToken); + jsonObject.put("method",emailMethod); + jsonObject.put("version",emailVersion); + jsonObject.put("content",requestJson); // "{\r\n \"access_token\": \"\",\r\n \"method\": \"sendNotification\",\r\n \"version\": \"1.0\",\r\n \"content\": {\"eventCode\":\"\", \r\n \"transId\":\"\", \r\n \"triggerTime\":\"20221020094013\",\r\n \"notificationType\":\"EMAIL\",\r\n \"email\":\"798989044@qq.com\", \r\n \"channel\":\"OA\", \r\n \"notificationSubject\":\"新待办到达\",\r\n \"notificationContent\":\"新待办到达,清及时处理\" }\r\n}" - baseBean.writeLog("jsonObject:"+jsonObject.toJSONString()); - - OkHttpClient client = new OkHttpClient().newBuilder().build(); - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType,jsonObject.toJSONString()); - Request request = new Request.Builder() - .url(emailUrl) - .method("POST", body) - .addHeader("Content-Type", "application/json") - .build(); - Response response = client.newCall(request).execute(); - baseBean.writeLog("response.code():"+response.code()); - baseBean.writeLog("response.body():"+response.body().string()); - - if(response!=null && response.code() != 200){ - baseBean.writeLog(response.body().string()); + baseBean.writeLog("jsonObject:"+jsonObject.toJSONString()); + + OkHttpClient client = new OkHttpClient().newBuilder().build(); + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType,jsonObject.toJSONString()); + Request request = new Request.Builder() + .url(emailUrl) + .method("POST", body) + .addHeader("Content-Type", "application/json") + .build(); + Response response = client.newCall(request).execute(); + int code = response.code(); + String bodyMsg = response.body().string(); + baseBean.writeLog("response.code():"+code); + baseBean.writeLog("response.body():"+bodyMsg); } + }catch (IOException e) { + e.printStackTrace(); + baseBean.writeLog(e); + }catch (Exception e){ + baseBean.writeLog(e); } - }catch (IOException e) { - e.printStackTrace(); - baseBean.writeLog(e); - }catch (Exception e){ - baseBean.writeLog(e); } + } /*** @@ -96,6 +96,7 @@ public class SendMailUtil{ */ public String doGetAccessToken(){ + baseBean.writeLog("doGetAccessToken == "); String responseData = "" ; RSAUtils RSAUtils = new RSAUtils(); @@ -105,6 +106,8 @@ public class SendMailUtil{ String emailResponseType = baseBean.getPropValue("PORTAL_INFO","emailResponseType") ; //token String emailPrivateKey = baseBean.getPropValue("PORTAL_INFO","emailPrivateKey") ; + baseBean.writeLog("emainAppCode == "+emainAppCode); + //String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCt49VVhOmTZVpWPK/bB/ZvpoxrpXt3c9h8DJtHq9vWLGPVMS0a2l+v4U+g8zFpq6Rb6G6nnJ+pYXmojygQhqKG6izWxEojdAF2znt6URsikGe1wRxUpUewRbZVse7Rs0jvJmGZeVZ08gC1iKogyHtHeRinnHJNxC4v/5yhkOBpR6oe4t2IutKNFhSmHdJP5bEkei5gWAZ4xi15pvcWBcUSVEQliW7qRTX9yQUdCq1KzCLEGYNfm27SzKvFpRUAXpgjfFftmB3u7pZ9qhAn/25b0h9sE90Xjwg/UNmLqxUerNNDbIrqWy0x6g/+2Q/c4OXKLk5FlkkEURoBINNDbYgdAgMBAAECggEAAsfZ6XwuoATG5QojZcVC05Y+OJp01vwrQhCRixvccBhVoFsg9YT4cr+PnmtFJwNvpWiaHGQMyZCdeWyQn3MHtlCYVvbcmKSKQXQb1WDmpi7Y+bcU1OWvt8nlmIk34HKVf/2FIgcmssgL6ts8nTmXfxUYp9WAnm28r1fPEWZXsFdGNilFxg6Vymct+5hfnXUA5OMm1RgSvYR/12F4aqILz7kjMBjkF4IJAJpRqR4WlU3vhJ3+FGLnOqnAKRE+rkn10LaKpfOrWY6chm6C2ddNVzGyYaDAqH+TK+9C8qLYZLjbyD8a5LlCU4xdHYbG4VoVpHz7Pop4XQWzOkP7zagvoQKBgQD1MT9K4Kt/Ms3pw/zbv0a3Wvt45OfszMHiVBYXE7Fhp11zqK6wyTUU8ePLO3XxS5GbQwBRlfYhI2aF6nWxq2iphqemD5AqC03m0tJl4g2/q/+Mr0k7ClRJHV2cs80ij9aWdHcNlCW5G37ZXfjiQ9qkiIIr1RLngO59HAEP1ePZzwKBgQC1jgJeDpFRKDZ8SCYKowjnvMgPULZ97LDofS828hgwLSzSI+tOpHOrJnFgIC08JTVxYnB5gw3ybqvPLt9Tz+soledqayTynMwlpDz4WuoQw5mEPvURIqsxkrMFqYFcMLrBbIsyJFboKkfgLpTXlOFe6wv0oe0s37Sgz9IRMe/2UwKBgGQCGUnGR80TANAHg5xx8TsaXhXacAqzHaXeHEB/ZMtrA4AIXnB3MTKA0yPy9dFcvGAyvO+KFiFAGjInBqhYPNFgvgLKuEed4sFyXiT2RhtW4V4VpO3y8Zv84VDoOZSOTL2DdYfRVG2jHGM2pCxN9uFDWKzeNN6+RQg8ouY9nLkbAoGACme1IwbatTgEx2KrK3jkjcN4A8iwbM8f5HMoPZHqaPht1S1R0xQBvRFa9hNiBExtn63wnEYyim5lUl5xVjBYXd8ZgDPbzjvGR3H+PI2ZVJShO78P9Id0IEc0E2L/kvUH/wXlhF4ozO1/aQ3CYgiaUgJOkRqmqSe5Bm5ir7GY+xkCgYBkfmFhBI9m8AxljI3oJAGv43EGw2s6wZkrQXFBStYBSxTkkS9JHMbkNrKgKvsuzPLUCD0hmdTPREh/miO/0VNXZaa05L7xhgvakezI4f2BSY6tCMXHiBmnRXE8JL4+rEvWAKUaMCTynoyGRetl+JmooLZ5Fez1250hw5vWdSUudA=="; //"{\"appCode\":\""+appCode+"\",\r\n\t\"appSecret\":\"9f5a519622a8790b\",\r\n\t\"responseType\":\"token\",\r\n\t\"timestamp\":\"1592212221795\",\r\n\t\"sign\":\"LE4MPesIy8BCxOa958cQxX0cW1ObvOfCn2dDUK6AzCukcvyS6EvFMLzSBFiCgcMT1w9cYAbSIOWL2SENvpC2qxXrgtWJd6B3J1dUmL5ZBtOEGZ6ymRz7IAQraA1TG82Y0ZTgVFhOGS/TtbTjdEhurwcclWdbSPEy6uZesoQpyF7MAW+hb5Y5ioqe1ky7RE15W/gwJDONgLifUoZnXhowjsJHBJ/xCwdfQi48/wu0CX+G46C+fSYHKncGbeeg7hFyaltNWsco0ScWLB/JjKA1qZv+pPFGaWGidfoTErq7Ux8fIYH3cRjRoSNknOcawi+zjy8GMBDjxIk9lX7+Oz1wYA==\"\r\n}" @@ -130,13 +133,20 @@ public class SendMailUtil{ .addHeader("Content-Type", "application/json") .build(); Response response = client.newCall(request).execute(); - baseBean.writeLog("response.code():"+response.code()); - baseBean.writeLog("response.body():"+response.body().string()); - responseData = response.body().string(); + + int code = response.code(); + String bodyMsg = response.body().string(); + baseBean.writeLog("response.code():"+code); + baseBean.writeLog("response.body():"+bodyMsg); + if(code == 200){ + responseData = bodyMsg; + } } catch (IOException e) { e.printStackTrace(); + baseBean.writeLog(e); } catch (Exception e) { e.printStackTrace(); + baseBean.writeLog(e); } return responseData; } From cd5426e8bec3e3b09faba56d61e119c2de9eb921 Mon Sep 17 00:00:00 2001 From: WangJie <805650258@qq.com> Date: Sat, 29 Oct 2022 10:13:31 +0800 Subject: [PATCH 4/7] =?UTF-8?q?#=E5=A4=84=E7=90=86=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=BE=85=E5=8A=9E=E5=B7=B2=E5=8A=9E=E6=89=93=E5=BC=80?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sendtodo/SendPortalDoneUtil.java | 16 +++++++-------- .../sendtodo/SendPortalTodoUtil.java | 20 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/com/customization/sendtodo/SendPortalDoneUtil.java b/src/com/customization/sendtodo/SendPortalDoneUtil.java index 69d8253e..2ea141c3 100644 --- a/src/com/customization/sendtodo/SendPortalDoneUtil.java +++ b/src/com/customization/sendtodo/SendPortalDoneUtil.java @@ -66,8 +66,8 @@ public class SendPortalDoneUtil { String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); - String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -198,8 +198,8 @@ public class SendPortalDoneUtil { String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); - String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -254,8 +254,8 @@ public class SendPortalDoneUtil { String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); - String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -378,8 +378,8 @@ public class SendPortalDoneUtil { String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); - String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index 4e296813..ccda8056 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -86,9 +86,9 @@ public class SendPortalTodoUtil { String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestId ; String app_requestUrl = bpm_app_requesturl+requestId; app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestId; + String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")) ; requestObject.put("center",center); @@ -230,8 +230,8 @@ public class SendPortalTodoUtil { String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; String app_requestUrl = bpm_app_requesturl+requestid; app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")) ; requestObject.put("center",center); @@ -400,8 +400,8 @@ public class SendPortalTodoUtil { String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; String app_requestUrl = bpm_app_requesturl+requestid; app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")) ; requestObject.put("center",center); @@ -458,8 +458,8 @@ public class SendPortalTodoUtil { String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; String app_requestUrl = bpm_app_requesturl+requestid; app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")) ; requestObject.put("center",center); @@ -605,8 +605,8 @@ public class SendPortalTodoUtil { String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; String app_requestUrl = bpm_app_requesturl+requestid; app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")) ; requestObject.put("center",center); From 1b64d49b9a47dd4be3f0c2a6a6231c736aca8749 Mon Sep 17 00:00:00 2001 From: WangJie <805650258@qq.com> Date: Mon, 31 Oct 2022 11:29:04 +0800 Subject: [PATCH 5/7] =?UTF-8?q?#=E5=A4=84=E7=90=86=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=BA=94=E7=94=A8=E8=B7=B3=E8=BD=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interface/mobilelogin/loginsso.jsp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/interface/mobilelogin/loginsso.jsp b/interface/mobilelogin/loginsso.jsp index 52be7da1..cfc85126 100644 --- a/interface/mobilelogin/loginsso.jsp +++ b/interface/mobilelogin/loginsso.jsp @@ -2,6 +2,8 @@ <%@ page import="weaver.general.Util,weaver.hrm.*" %> <%@ page import="weaver.general.BaseBean" %> <%@ page import="java.net.URLDecoder" %> +<%@ page import="com.engine.common.util.ParamUtil" %> +<%@ page import="java.util.Map" %> <% // response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 @@ -13,9 +15,22 @@ BaseBean bb = new BaseBean(); bb.writeLog("loginsso.jsp"); - String em_auth_usercode = Util.null2String(request.getParameter("em_auth_usercode")); + String userCode = Util.null2String(request.getParameter("userCode")); + String em_auth_usercode = ""; + if(!"".equals(userCode)){ + em_auth_usercode = userCode; + }else{ + em_auth_usercode = Util.null2String(request.getParameter("em_auth_usercode")); + } + String forwardurl = Util.null2String(request.getParameter("forwardurl")); + Map params = ParamUtil.request2Map(request); + for (Map.Entry entry : params.entrySet()) { + bb.writeLog(" loginsso 参数 :key= " + entry.getKey() + " and value= " + entry.getValue()); + } + + if(!"".equals(forwardurl)){ forwardurl = URLDecoder.decode(forwardurl,"UTF-8"); From 427e0a1a361ffdd0276189ddfb6845af035705d8 Mon Sep 17 00:00:00 2001 From: WangJie <805650258@qq.com> Date: Wed, 2 Nov 2022 11:07:35 +0800 Subject: [PATCH 6/7] =?UTF-8?q?#=E5=A4=84=E7=90=86excel=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=88=B0=E7=B3=BB=E7=BB=9F=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interface/hjkj/updateDepartMentCode.jsp | 145 ++++++++++++++++ interface/hjkj/updateHrmresource.jsp | 133 +++++++++++++++ interface/hjkj/updatePost.jsp | 104 ++++++++++++ interface/hjkj/updatePostUser.jsp | 144 ++++++++++++++++ interface/hjkj/updateRole.jsp | 68 ++++++++ interface/hjkj/updateRoleUser.jsp | 124 ++++++++++++++ src/weaver/interfaces/util/ReadExcel.java | 192 ++++++++++++++++++++++ 7 files changed, 910 insertions(+) create mode 100644 interface/hjkj/updateDepartMentCode.jsp create mode 100644 interface/hjkj/updateHrmresource.jsp create mode 100644 interface/hjkj/updatePost.jsp create mode 100644 interface/hjkj/updatePostUser.jsp create mode 100644 interface/hjkj/updateRole.jsp create mode 100644 interface/hjkj/updateRoleUser.jsp create mode 100644 src/weaver/interfaces/util/ReadExcel.java diff --git a/interface/hjkj/updateDepartMentCode.jsp b/interface/hjkj/updateDepartMentCode.jsp new file mode 100644 index 00000000..a7895972 --- /dev/null +++ b/interface/hjkj/updateDepartMentCode.jsp @@ -0,0 +1,145 @@ +<%@ page import="java.util.Map" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.Objects" %> +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.HashMap" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + RecordSet rs = new RecordSet(); + int scount = 0; + int fcount = 0; + List> lists = r.readExcel("/whalecloud/cos", "organization.xlsx", 0, 0, 0); + if (Objects.nonNull(lists)) { + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); +// m.forEach((key, value) -> { +// System.out.println(key + ":" + value); +// }); + int ORG_LEVEL = Util.getIntValue(m.get("org_level")); + String ORG_ID = m.get("org_id"); + + String ORG_TYPE = m.get("org_type"); + String PARENT_ORG_ID = m.get("parent_org_id"); + String ORG_CODE = m.get("org_code"); + String ORG_NAME = m.get("org_name"); + + //状态正常 + String canceled = ""; + + //一级部门 + if (ORG_LEVEL == 1) { + String subcompany = "59"; + String supdepid = "0"; + boolean flag = insertDepartment(ORG_NAME, ORG_CODE, canceled, subcompany, supdepid, ORG_ID); + if (flag) { + scount++; + } else { + fcount++; + } + } + + //下及部门 + if (ORG_LEVEL > 1) { + Map map = new HashMap<>(); + map = getSubcompanyid1(lists, PARENT_ORG_ID); + String subcompany = map.get("subcompanyid1"); + String supdepid = map.get("supdepid"); + boolean flag = insertDepartment(ORG_NAME, ORG_CODE, canceled, subcompany, supdepid, ORG_ID); + if (flag) { + scount++; + } else { + fcount++; + } + } + + + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + +<%! + private String getSubcompanyid(List> lists, String id) { + RecordSet rs = new RecordSet(); + String Subcompanyid = ""; + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String ORG_ID = m.get("org_id"); + String ORG_NAME = m.get("org_name"); + String ORG_CODE = m.get("org_code"); + String PARENT_ORG_ID = m.get("parent_org_id"); + if (ORG_ID.equals(id)) { + rs.execute("select id from hrmsubcompany where SUBCOMPANYCODE = '" + ORG_CODE + "'"); + while (rs.next()) { + Subcompanyid = Util.null2String(rs.getString("id")); + } + } + } + return Subcompanyid; + } +%> + +<%! + private Map getSubcompanyid1(List> lists, String id) { + Map res = new HashMap<>(); + RecordSet rs = new RecordSet(); + String subcompanyid1 = ""; + String supdepid = ""; + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String ORG_ID = m.get("org_id"); + + String ORG_CODE = m.get("org_code"); + + if (ORG_ID.equals(id)) { + rs.execute("select id,subcompanyid1 from hrmdepartment where departmentcode = '" + ORG_CODE + "'"); + while (rs.next()) { + supdepid = Util.null2String(rs.getString("id")); + subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")); + res.put("supdepid", supdepid); + res.put("subcompanyid1", subcompanyid1); + } + } + } + + return res; + } +%> + +<%! + private boolean insertDepartment(String ORG_NAME, String ORG_CODE, String canceled, String subcompanyid1, String supdepid, String ORG_ID) { + RecordSet rs = new RecordSet(); + boolean isexist = false; + boolean flag = false; + String sql = "select count(1) as sl from hrmdepartment where departmentcode = ?"; + rs.executeQuery(sql,ORG_CODE); + while (rs.next()){ + if(Util.getIntValue(rs.getString("sl"))>0){ + isexist = true; + } + } + if(isexist){ + String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," + + " subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? "; + + flag = rs.executeUpdate(deptUpdateSql,new Object[]{ORG_NAME,ORG_NAME,canceled,subcompanyid1,ORG_ID,supdepid,ORG_CODE}); + + }else{ + String deptInsertSql = " insert into hrmdepartment(departmentmark,departmentname,departmentcode," + + " canceled,subcompanyid1,supdepid,showorder) values(?,?,?,?,?,?,?) "; + flag = rs.executeUpdate(deptInsertSql, new Object[]{ORG_NAME, ORG_NAME, ORG_CODE, canceled, subcompanyid1, supdepid, ORG_ID}); + } + + + return flag; + } +%> diff --git a/interface/hjkj/updateHrmresource.jsp b/interface/hjkj/updateHrmresource.jsp new file mode 100644 index 00000000..0679351c --- /dev/null +++ b/interface/hjkj/updateHrmresource.jsp @@ -0,0 +1,133 @@ +<%@ page import="java.util.Map" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.Objects" %> +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.HashMap" %> +<%@ page import="org.apache.commons.codec.digest.DigestUtils" %> +<%@ page import="weaver.general.TimeUtil" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + RecordSet rs = new RecordSet(); + int scount = 0; + int fcount = 0; + + List> deptlists = r.readExcel("/whalecloud/cos", "organization.xlsx", 0, 0, 0); + List> hrmlists = r.readExcel("/whalecloud/cos", "staff.xlsx", 0, 0, 0); + if (Objects.nonNull(hrmlists)) { + for (int i = 0; i < hrmlists.size(); i++) { + Map h = hrmlists.get(i); + //部门id + String ORG_ID = Util.null2String(h.get("org_id")); + String STAFF_CODE = Util.null2String(h.get("staff_code")); + + String pwd = "1"; + String creator = "1"; + String jobTitleId = "464"; + String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密 + String STAFF_NAME = Util.null2String(h.get("staff_name")); + Map res = getSubcompanyid1(deptlists,ORG_ID); + String deptId = Util.null2String(res.get("deptid")); + String subcompanyid1 = Util.null2String(res.get("subcompanyid1")); + if("".equals(deptId)) continue; + String E_MAIL = Util.null2String(h.get("e_mail")); + String MOBILE_PHONE = Util.null2String(h.get("mobile_phone")); + String STATUS_CD = Util.null2String(h.get("status_cd")); + String status = "1"; + if("1100".equals(STATUS_CD) || "1200".equals(STATUS_CD) || "1300".equals(STATUS_CD)){ + status = "5"; + } + String STAFF_ID = Util.null2String(h.get("staff_id")); + String systemlanguage = "8" ; + String currentDate = TimeUtil.getCurrentDateString();//当前日期 + String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 + String locationid = "2" ; + String seclevel = "20" ; + String createrid = "1" ; + String lastmodid = "1" ; + boolean flag = insertHrmresource( STAFF_CODE, password, STAFF_NAME, deptId, subcompanyid1, creator, E_MAIL, MOBILE_PHONE, jobTitleId, status, + STAFF_ID, systemlanguage, currentDate, currentDateTime, locationid, seclevel, createrid, lastmodid); + if(flag){ + scount++; + }else{ + fcount++; + } + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + + +<%! + private Map getSubcompanyid1(List> lists, String id) { + Map res = new HashMap<>(); + RecordSet rs = new RecordSet(); + String subcompanyid1 = ""; + String deptid = ""; + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String ORG_ID = m.get("org_id"); + String ORG_CODE = m.get("org_code"); + if (ORG_ID.equals(id)) { + rs.execute("select id,subcompanyid1 from hrmdepartment where departmentcode = '" + ORG_CODE + "'"); + while (rs.next()) { + deptid = Util.null2String(rs.getString("id")); + subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")); + res.put("deptid", deptid); + res.put("subcompanyid1", subcompanyid1); + } + } + } + + return res; + } +%> + + + + + +<%! + private boolean insertHrmresource(String STAFF_CODE,String password,String STAFF_NAME,String deptId,String subcompanyid1,String creator,String E_MAIL,String MOBILE_PHONE,String jobTitleId,String status, + String STAFF_ID,String systemlanguage,String currentDate,String currentDateTime,String locationid,String seclevel,String createrid,String lastmodid) { + RecordSet rs = new RecordSet(); + boolean flag = false; + String loginid = ""; + String sql = " select loginid from hrmresource where workcode=?" ; + + rs.executeQuery(sql,new Object[]{STAFF_CODE}); + if(rs.next()){ + loginid = Util.null2String(rs.getString("loginid")); + } + + if(!"".equals(loginid)){ + String userUpdateSql = " update hrmresource set lastname=?,departmentid=?,subcompanyid1=?," + + " creater=?,email=?,mobile=?,jobtitle=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? "; + + + flag = rs.executeUpdate(userUpdateSql,new Object[]{STAFF_NAME,deptId,subcompanyid1,creator,E_MAIL, + MOBILE_PHONE,jobTitleId,status,STAFF_ID,currentDate,currentDateTime,STAFF_CODE}); + + }else{ + rs.executeProc("HrmResourceMaxId_Get", ""); + rs.next(); + String id = "" + rs.getInt(1); + String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," + + "creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," + + "locationid,seclevel,createrid,lastmodid) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + flag = rs.executeUpdate(userInsertSql,new Object[]{id,STAFF_CODE,password,STAFF_CODE,STAFF_NAME,deptId,subcompanyid1, + creator,E_MAIL,MOBILE_PHONE,jobTitleId,status,STAFF_ID,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime, + locationid,seclevel,createrid,lastmodid}); + } + return flag; + } +%> diff --git a/interface/hjkj/updatePost.jsp b/interface/hjkj/updatePost.jsp new file mode 100644 index 00000000..66c1e46d --- /dev/null +++ b/interface/hjkj/updatePost.jsp @@ -0,0 +1,104 @@ +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.*" %> +<%@ page import="weaver.general.TimeUtil" %> +<%@ page import="weaver.backup.fkcustomer.FkCustomerBrowserDef" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + RecordSet rs = new RecordSet(); + int scount = 0; + int fcount = 0; + String creater = "1"; + String created = TimeUtil.getCurrentTimeString(); + String modified = TimeUtil.getCurrentTimeString(); + String modifier = "1"; + List> deptlists = r.readExcel("/whalecloud/cos", "organization.xlsx", 0, 0, 0); + List> lists = r.readExcel("/whalecloud/cos", "system_post.xlsx", 0, 0, 0); + if (Objects.nonNull(lists)) { + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String SYS_POST_CODE = Util.null2String(m.get("SYS_POST_CODE")); + String SYS_POST_NAME = Util.null2String(m.get("SYS_POST_NAME")); + String IS_SYNC = Util.null2String(m.get("IS_SYNC")); + if (!"YES".equals(IS_SYNC)) { + continue; + } + String allname = "~`~`7 " + SYS_POST_NAME + "`~`8 " + SYS_POST_NAME + "`~`~"; + String ORG_ID = Util.null2String(m.get("ORG_ID")); + Map res = getSubcompanyid1(deptlists, ORG_ID); + String deptid = Util.null2String(res.get("deptid")); + + boolean flag = insertPost(allname, creater, created, modified, modifier, SYS_POST_CODE, deptid); + if (flag) { + scount++; + } else { + fcount++; + } + + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + +<%! + private boolean insertPost(String allname, String creater, String created, String modified, String modifier, String sysPostCode, String departmentId) { + RecordSet rs = new RecordSet(); + boolean iflag = false; + String groupsid = "803"; + String jobactivitiesid = "233"; + String uuid = UUID.randomUUID().toString(); + + String id = ""; + String sql = "select id from hrmjobtitles where jobtitlecode = ?"; + rs.executeQuery(sql,new Object[]{sysPostCode}); + while (rs.next()){ + id = Util.null2String(rs.getString("id")); + } + + if(!"".equals(id)){ + String updateHrmjobactivitiesSl = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=? where id=?"; + iflag = rs.executeUpdate(updateHrmjobactivitiesSl,allname,allname,modified,modifier,id); + + }else{ + uuid = UUID.randomUUID().toString(); + String insertHrmjobactivitiesSql = " insert into hrmjobtitles(jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode,created,creater,modified,modifier,uuid) values(?,?,?,?,?,?,?,?,?,?)"; + iflag = rs.executeUpdate(insertHrmjobactivitiesSql, new Object[]{allname, allname, jobactivitiesid, departmentId, sysPostCode, created, creater, modified, modifier, uuid}); + + } + + return iflag; + } +%> + +<%! + private Map getSubcompanyid1(List> lists, String id) { + Map res = new HashMap<>(); + RecordSet rs = new RecordSet(); + String subcompanyid1 = ""; + String deptid = ""; + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String ORG_ID = m.get("ORG_ID"); + String ORG_CODE = m.get("org_code"); + if (ORG_ID.equals(id)) { + rs.execute("select id,subcompanyid1 from hrmdepartment where departmentcode = '" + ORG_CODE + "'"); + while (rs.next()) { + deptid = Util.null2String(rs.getString("id")); + subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")); + res.put("deptid", deptid); + res.put("subcompanyid1", subcompanyid1); + } + } + } + + return res; + } +%> diff --git a/interface/hjkj/updatePostUser.jsp b/interface/hjkj/updatePostUser.jsp new file mode 100644 index 00000000..c931d5fc --- /dev/null +++ b/interface/hjkj/updatePostUser.jsp @@ -0,0 +1,144 @@ +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.*" %> +<%@ page import="weaver.general.TimeUtil" %> +<%@ page import="weaver.backup.fkcustomer.FkCustomerBrowserDef" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + RecordSet rs = new RecordSet(); + int scount = 0; + int fcount = 0; + String creater = "1"; + String created = TimeUtil.getCurrentTimeString(); + String modified = TimeUtil.getCurrentTimeString(); + String modifier = "1"; + List> deptlists = r.readExcel("/whalecloud/cos", "organization.xlsx", 0, 0, 0); + List> postlists = r.readExcel("/whalecloud/cos", "system_post.xlsx", 0, 0, 0); + List> lists = r.readExcel("/whalecloud/cos", "system_user_post.xlsx", 0, 0, 0); + List> hrmlists = r.readExcel("/whalecloud/cos", "staff.xlsx", 0, 0, 0); + if (Objects.nonNull(lists)) { + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + + String ORG_ID = Util.null2String(m.get("org_id")); + Map deptres = getSubcompanyid1(deptlists,ORG_ID); + String postCode = Util.null2String(m.get("sys_post_code")); + String userCode =Util.null2String(m.get("staff_code")); + String departmentId = Util.null2String(deptres.get("deptid")); + boolean flag = insertPostUser(postCode, departmentId, userCode); + if (flag) { + scount++; + } else { + fcount++; + } + + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + +<%! + private boolean insertPostUser(String postCode, String departmentId,String userCode) { + RecordSet rs = new RecordSet(); + boolean flag = false; + String jobtitlesId = ""; + String userId = ""; + String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 + String updateStaff = "1"; + + String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode= ?"; + rs.executeQuery(queryRoleIdSql, postCode); + if (rs.next()) { + jobtitlesId = rs.getString("id"); + } + + if("".equals(jobtitlesId)){ + jobtitlesId = "464"; + } + + + + String sql = "select id from hrmresource where loginid = ?"; + rs.executeQuery(sql,userCode); + while (rs.next()) { + userId = Util.null2String(rs.getString("id")); + } + + if (!"".equals(userId) && !"".equals(jobtitlesId)) { + String updateUserJobSql = "update hrmresource set jobtitle=?,modified=?,modifier=? where id=?"; + flag = rs.executeUpdate(updateUserJobSql, jobtitlesId, currentDateTime, updateStaff, userId); + } + return flag; + } +%> + +<%! + private String getUserCode(List> lists, String id) { + String code = ""; + RecordSet rs = new RecordSet(); + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String STAFF_ID = Util.null2String(m.get("staff_id")); + String STAFF_CODE = Util.null2String(m.get("staff_code")); + if (STAFF_ID.equals(id)) { + code= STAFF_CODE; + } + } + return code; + } +%> + +<%! + private Map getSubcompanyid1(List> lists, String id) { + Map res = new HashMap<>(); + RecordSet rs = new RecordSet(); + String subcompanyid1 = ""; + String deptid = ""; + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String ORG_ID = m.get("org_id"); + String ORG_CODE = m.get("org_code"); + if (ORG_ID.equals(id)) { + rs.execute("select id,subcompanyid1 from hrmdepartment where departmentcode = '" + ORG_CODE + "'"); + while (rs.next()) { + deptid = Util.null2String(rs.getString("id")); + subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")); + res.put("deptid", deptid); + res.put("subcompanyid1", subcompanyid1); + } + } + } + + return res; + } +%> + + +<%! + private String getPostCode(List> lists, String id) { + String postcode = ""; + + + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String SYS_POST_CODE = Util.null2String(m.get("sys_post_code")); + String SYS_POST_ID = Util.null2String(m.get("sys_post_id")); + if (SYS_POST_ID.equals(id)) { + postcode = SYS_POST_CODE; + break; + } + } + + return postcode; + } +%> + + diff --git a/interface/hjkj/updateRole.jsp b/interface/hjkj/updateRole.jsp new file mode 100644 index 00000000..07c7cfda --- /dev/null +++ b/interface/hjkj/updateRole.jsp @@ -0,0 +1,68 @@ +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.*" %> +<%@ page import="weaver.general.TimeUtil" %> +<%@ page import="weaver.backup.fkcustomer.FkCustomerBrowserDef" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + int scount = 0; + int fcount = 0; + List> lists = r.readExcel("/whalecloud/cos", "system_roles.xlsx", 0, 0, 0); + if (Objects.nonNull(lists)) { + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String SYS_ROLE_CODE = Util.null2String(m.get("SYS_ROLE_CODE")); + String SYS_ROLE_NAME = Util.null2String(m.get("SYS_ROLE_NAME")); + String IS_SYNC = Util.null2String(m.get("IS_SYNC")); + if(!"YES".equals(IS_SYNC)){ + continue; + } + boolean flag = insertRole(SYS_ROLE_CODE, SYS_ROLE_NAME); + if (flag) { + scount++; + } else { + fcount++; + } + + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + +<%! + private boolean insertRole(String sysRoleCode, String sysRoleName) { + boolean flag = false; + RecordSet rs = new RecordSet(); + String rolesmark = "~`~`7 " + sysRoleName + "`~`8 " + sysRoleName + "`~`9 " + sysRoleName + "`~`~"; + String rolesname = "~`~`7 " + sysRoleName + "`~`8 " + sysRoleName + "`~`9 " + sysRoleName + "`~`~"; + String type = "0"; + String subcompanyid = "0"; + String uuid = UUID.randomUUID().toString(); + String queryRoleSql = "select id from hrmroles where ecology_pinyin_search=?"; + rs.executeQuery(queryRoleSql, sysRoleCode); + + String id = ""; + if (rs.next()) { + id = rs.getString("id"); + } + + if ("".equals(id)) { + String insertHrmrolesSql = " insert into hrmroles(rolesmark,rolesname,type,subcompanyid,ecology_pinyin_search,uuid) values(?,?,?,?,?,?)"; + flag = rs.executeUpdate(insertHrmrolesSql, new Object[]{rolesmark, rolesname, type, subcompanyid, sysRoleCode, uuid}); + } else { + String updateHrmrolesSql = " update hrmroles set rolesmark=?,rolesname=? where id=?"; + flag = rs.executeUpdate(updateHrmrolesSql, sysRoleName, sysRoleName, id); + } + return flag; + } +%> + + diff --git a/interface/hjkj/updateRoleUser.jsp b/interface/hjkj/updateRoleUser.jsp new file mode 100644 index 00000000..6dacaefb --- /dev/null +++ b/interface/hjkj/updateRoleUser.jsp @@ -0,0 +1,124 @@ +<%@ page import="weaver.interfaces.util.ReadExcel" %> +<%@ page import="weaver.conn.RecordSet" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="java.util.*" %> +<%@ page import="weaver.general.TimeUtil" %> +<%@ page import="weaver.backup.fkcustomer.FkCustomerBrowserDef" %> +<%@ page import="com.icbc.api.internal.apache.http.impl.cookie.S" %> + + +<%-- + User: wangj + Design Ideas: +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<% + ReadExcel r = new ReadExcel(); + int scount = 0; + int fcount = 0; + List> rolelists = r.readExcel("/whalecloud/cos", "system_roles.xlsx", 0, 0, 0); + List> userlists = r.readExcel("/whalecloud/cos", "system_roles.xlsx", 0, 0, 0); + List> lists = r.readExcel("/whalecloud/cos", "system_user_role.xlsx", 0, 0, 0); + if (Objects.nonNull(lists)) { + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String SYS_ROLE_ID = Util.null2String(m.get("SYS_ROLE_ID")); + String SYS_USER_ID = Util.null2String(m.get("SYS_USER_ID")); + String SYS_ROLE_CODE = getRoleCode(rolelists,SYS_ROLE_ID); + String SYS_USER_CODE = getUserCode(userlists,SYS_USER_ID); + if (!"".equals(SYS_ROLE_CODE) && !"".equals(SYS_USER_CODE)) { + boolean flag = insertRoleUser(SYS_ROLE_CODE, SYS_USER_CODE); + if (flag) { + scount++; + } else { + fcount++; + } + } + + } + } + out.print("success:" + scount + ",false:" + fcount); +%> + +<%! + private boolean insertRoleUser(String systemUserCode, String roleCode) { + boolean flag = false; + RecordSet rs = new RecordSet(); + + String userId = ""; + String roleId = ""; + String rolelevel = "2"; //总部=2;分部=1;部门=0 + String resourcetype = "1"; //1=人力资源 + + + String sql = " select id from hrmresource where loginid=?"; + rs.executeQuery(sql, new Object[]{systemUserCode}); + if (rs.next()) { + userId = Util.null2String(rs.getString("id")); + } + String queryRoleIdSql = "select id from hrmroles where ecology_pinyin_search=?"; + rs.executeQuery(queryRoleIdSql, roleCode); + if (rs.next()) { + roleId = rs.getString("id"); + } + + if (!"".equals(userId) && !"".equals(roleId)) { + //查看是否已存在角色用户关系 + String releationId = ""; + String ifExistSql = "select id from hrmrolemembers where roleid=? and resourceid=?"; + rs.executeQuery(ifExistSql, roleId, userId); + if (rs.next()) { + releationId = rs.getString("id"); + } + + if (!"".equals(releationId)) { + + String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?"; + flag = rs.executeUpdate(delHrmrolemembersSql, releationId); + + } else { + + String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)"; + flag = rs.executeUpdate(insertHrmrolemembersSql, roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()); + + } + } + + return flag; + } +%> + + +<%! + private String getUserCode(List> lists, String id) { + String code = ""; + RecordSet rs = new RecordSet(); + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String STAFF_ID = Util.null2String(m.get("STAFF_ID")); + String STAFF_CODE = Util.null2String(m.get("STAFF_CODE")); + if (STAFF_ID.equals(id)) { + code= STAFF_CODE; + } + } + return code; + } +%> + +<%! + private String getRoleCode(List> lists, String id) { + String code = ""; + RecordSet rs = new RecordSet(); + for (int i = 0; i < lists.size(); i++) { + Map m = lists.get(i); + String SYS_ROLE_ID = Util.null2String(m.get("SYS_ROLE_ID")); + String SYS_ROLE_CODE = Util.null2String(m.get("SYS_ROLE_CODE")); + if (SYS_ROLE_ID.equals(id)) { + code= SYS_ROLE_CODE; + } + } + return code; + } +%> + + diff --git a/src/weaver/interfaces/util/ReadExcel.java b/src/weaver/interfaces/util/ReadExcel.java new file mode 100644 index 00000000..22c5de16 --- /dev/null +++ b/src/weaver/interfaces/util/ReadExcel.java @@ -0,0 +1,192 @@ +package weaver.interfaces.util; + +/** + * 类的详细说明 + * + * @author wangj + * @version 1.00版本 + * @Date 2022/10/17 + */ + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.*; + +/** + * 读取Excel数据 + * @author wangj + * @createTime 2020-11-30 22:54:21 + * @version 1.1 + * @modifyLog 1.1 优化代码 + * + */ +public class ReadExcel { + + /** + * 读取Excel + * @author zql + * @createTime 2020-11-30 22:54:34 + * + * @param filepath 文件路径 + * @param filename 文件名,包括扩展名 + * @param startrow 开始行号,索引从0开始 + * @param startcol 开始列号,索引从0开始 + * @param sheetnum 工作簿,索引从0开始 + * @return + */ + public List> readExcel(String filepath, String filename, int startrow, int startcol, int sheetnum) { + List> varList = new ArrayList>(); + if (filename.endsWith(".xls")) { + varList = this.readExcel2003(filepath, filename, startrow, startcol, sheetnum); + } else if (filename.endsWith(".xlsx")) { + varList = this.readExcel2007(filepath, filename, startrow, startcol, sheetnum); + } else { + System.out.println("Only excel files with XLS or XLSX suffixes are allowed to be read!"); + return null; + } + return varList; + } + + /** + * 读取2003Excel + * @author zql + * @createTime 2020-11-30 22:57:35 + * + * @param filepath 文件路径 + * @param filename 文件名,包括扩展名 + * @param startrow 开始行号,索引从0开始 + * @param startcol 开始列号,索引从0开始 + * @param sheetnum 工作簿,索引从0开始 + * @return + */ + public List> readExcel2003(String filepath, String filename, int startrow, int startcol, int sheetnum) { + List> varList = new ArrayList>(); + try { + ZipSecureFile.setMinInflateRatio(0); + File target = new File(filepath, filename); + FileInputStream fis = new FileInputStream(target); + HSSFWorkbook wb = new HSSFWorkbook(fis); + fis.close(); + // sheet 从0开始 + HSSFSheet sheet = wb.getSheetAt(sheetnum); + // 取得最后一行的行号 + int rowNum = sheet.getLastRowNum() + 1; + + HSSFRow rowTitle = sheet.getRow(0); + // 标题行的最后一个单元格位置 + int cellTitleNum = rowTitle.getLastCellNum(); + String[] title = new String[cellTitleNum]; + for (int i = startcol; i < cellTitleNum; i++) { + HSSFCell cell = rowTitle.getCell(Short.parseShort(String.valueOf(i))); + if (Objects.nonNull(cell)) { + cell.setCellType(CellType.STRING); + title[i] = cell.getStringCellValue(); + } else { + title[i] = ""; + } + } + + // 行循环开始 + for (int i = startrow + 1; i < rowNum; i++) { + Map varpd = new HashMap(); + // 行 + HSSFRow row = sheet.getRow(i); + // 列循环开始 + for (int j = startcol; j < cellTitleNum; j++) { + HSSFCell cell = row.getCell(Short.parseShort(String.valueOf(j))); + String cellValue = ""; + if (Objects.nonNull(cell)) { + // 把类型先设置为字符串类型 + cell.setCellType(CellType.STRING); + cellValue = cell.getStringCellValue(); + } + varpd.put(title[j], cellValue); + } + varList.add(varpd); + } + wb.close(); + } catch (Exception e) { + System.out.println(e); + } + return varList; + } + + /** + * 读取2007Excel + * @author zql + * @createTime 2020-11-30 23:23:20 + * + * @param filepath 文件路径 + * @param filename 文件名,包括扩展名 + * @param startrow 开始行号,索引从0开始 + * @param startcol 开始列号,索引从0开始 + * @param sheetnum 工作簿,索引从0开始 + * @return + */ + public List> readExcel2007(String filepath, String filename, int startrow, int startcol, int sheetnum) { + List> varList = new ArrayList>(); + try { + ZipSecureFile.setMinInflateRatio(0); + File target = new File(filepath, filename); + InputStream ins = new FileInputStream(target); + XSSFWorkbook wb = new XSSFWorkbook(ins); + ins.close(); + // 得到Excel工作表对象 + XSSFSheet sheet = wb.getSheetAt(sheetnum); + // 取得最后一行的行号 + int rowNum = sheet.getLastRowNum() + 1; + + XSSFRow rowTitle = sheet.getRow(0); + int cellTitleNum = rowTitle.getLastCellNum(); + String[] title = new String[cellTitleNum]; + for (int i = startcol; i < cellTitleNum; i++) { + XSSFCell cell = rowTitle.getCell(Short.parseShort(String.valueOf(i))); + if (Objects.nonNull(cell)) { + // 把类型先设置为字符串类型 + cell.setCellType(CellType.STRING); + title[i] = cell.getStringCellValue(); + } else { + title[i] = ""; + } + } + + // 行循环开始 + for (int i = startrow + 1; i < rowNum; i++) { + Map varpd = new HashMap(); + // 得到Excel工作表的行 + XSSFRow row = sheet.getRow(i); + // 列循环开始 + for (int j = startcol; j < cellTitleNum; j++) { + // 得到Excel工作表指定行的单元格 + XSSFCell cell = row.getCell(j); + String cellValue = ""; + if (Objects.nonNull(cell)) { + // 把类型先设置为字符串类型 + cell.setCellType(CellType.STRING); + cellValue = cell.getStringCellValue(); + } + varpd.put(title[j], cellValue); + } + varList.add(varpd); + } + wb.close(); + } catch (Exception e) { + System.out.println(e); + } + return varList; + } + +} + From ad6bfb2c010b5fd8092e743d44c75bf60b4174b7 Mon Sep 17 00:00:00 2001 From: shilei Date: Thu, 3 Nov 2022 19:00:30 +0800 Subject: [PATCH 7/7] =?UTF-8?q?#EC-HJ-18#=20=E8=B0=83=E6=95=B4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E8=8E=B7=E5=8F=96=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E4=BB=8EUF=5FPROP=E8=A1=A8=E4=B8=AD=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customization/sendtodo}/SendMailUtil.java | 45 +- .../sendtodo/SendPortalDoneUtil.java | 6 +- .../sendtodo/SendPortalTodoCmd.java | 16 +- .../sendtodo/SendPortalTodoRunnable.java | 19 +- .../sendtodo/SendPortalTodoUtil.java | 47 +- .../sendtodo/SendRemarkOperateTodoCmd.java | 12 +- src/weaver/interfaces/comInfo/PropBean.java | 2 +- .../interfaces/filter/HttpRequestUtil.java | 561 ++++++++---------- .../filter/PortalLoginBeforeFilter.java | 292 ++++----- .../interfaces/filter/PortalLoginFilter.java | 194 +++--- .../interfaces/job/DeptManagerCronJob.java | 137 +++++ src/weaver/interfaces/job/ESiginsCronJob.java | 9 +- src/weaver/interfaces/mq/RocketmqServlet.java | 11 +- src/weaver/interfaces/mq/RocketmqUtil.java | 5 +- 14 files changed, 689 insertions(+), 667 deletions(-) rename src/{weaver/interfaces/util => com/customization/sendtodo}/SendMailUtil.java (87%) create mode 100644 src/weaver/interfaces/job/DeptManagerCronJob.java diff --git a/src/weaver/interfaces/util/SendMailUtil.java b/src/com/customization/sendtodo/SendMailUtil.java similarity index 87% rename from src/weaver/interfaces/util/SendMailUtil.java rename to src/com/customization/sendtodo/SendMailUtil.java index db42f825..a1ceef3e 100644 --- a/src/weaver/interfaces/util/SendMailUtil.java +++ b/src/com/customization/sendtodo/SendMailUtil.java @@ -1,39 +1,45 @@ -package weaver.interfaces.util; +package com.customization.sendtodo; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import okhttp3.*; import org.apache.commons.lang.StringUtils; import weaver.general.BaseBean; +import weaver.interfaces.comInfo.PropBean; import weaver.interfaces.iwhalecloud.util.RSAUtils; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; -public class SendMailUtil{ +public class SendMailUtil { - public static BaseBean baseBean = new BaseBean(); - String emailenable = baseBean.getPropValue("PORTAL_INFO","emailenable"); + String emailenable = PropBean.getUfPropValue("emailenable"); public void sendMail(String requestid, String emails, String notificationSubject, String notificationContent){ + BaseBean baseBean = new BaseBean(); baseBean.writeLog("emailenable:"+emailenable); if("1".equals(emailenable)) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String emailUrl = baseBean.getPropValue("PORTAL_INFO","emailUrl"); - String emailMethod = baseBean.getPropValue("PORTAL_INFO","emailMethod"); - String emailEventCode = baseBean.getPropValue("PORTAL_INFO","emailEventCode"); - String emailNotificationType = baseBean.getPropValue("PORTAL_INFO","emailNotificationType"); - String emailChannel = baseBean.getPropValue("PORTAL_INFO","emailChannel"); - String emailVersion = baseBean.getPropValue("PORTAL_INFO","emailVersion"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + String emailUrl = PropBean.getUfPropValue("emailUrl"); + String emailMethod = PropBean.getUfPropValue("emailMethod"); + String emailEventCode = PropBean.getUfPropValue("emailEventCode"); + String emailNotificationType = PropBean.getUfPropValue("emailNotificationType"); + String emailChannel = PropBean.getUfPropValue("emailChannel"); + String emailVersion = PropBean.getUfPropValue("emailVersion"); + + String emailkey = PropBean.getUfPropValue("emailkey"); + if(StringUtils.isEmpty(emailkey)){ + emailkey = "email"; + } + String triggerTime = sdf.format(new Date()); JSONObject requestJson = new JSONObject(); requestJson.put("eventCode",emailEventCode); requestJson.put("triggerTime",triggerTime); requestJson.put("notificationType",emailNotificationType); - requestJson.put("email",emails); + requestJson.put(emailkey,emails); requestJson.put("channel",emailChannel); requestJson.put("notificationSubject",notificationSubject); requestJson.put("notificationContent",notificationContent); @@ -87,7 +93,6 @@ public class SendMailUtil{ baseBean.writeLog(e); } } - } /*** @@ -95,16 +100,16 @@ public class SendMailUtil{ * @return */ public String doGetAccessToken(){ - + BaseBean baseBean = new BaseBean(); baseBean.writeLog("doGetAccessToken == "); String responseData = "" ; RSAUtils RSAUtils = new RSAUtils(); - String emailTokenUrl = baseBean.getPropValue("PORTAL_INFO","emailTokenUrl") ; //"http://10.26.4.136:80/api/oauth2/apigAuthorize" - String emainAppCode = baseBean.getPropValue("PORTAL_INFO","emainAppCode") ; - String emailAppSecret = baseBean.getPropValue("PORTAL_INFO","emailAppSecret") ; - String emailResponseType = baseBean.getPropValue("PORTAL_INFO","emailResponseType") ; //token - String emailPrivateKey = baseBean.getPropValue("PORTAL_INFO","emailPrivateKey") ; + String emailTokenUrl = PropBean.getUfPropValue("emailTokenUrl") ; //"http://10.26.4.136:80/api/oauth2/apigAuthorize" + String emainAppCode = PropBean.getUfPropValue("emainAppCode") ; + String emailAppSecret = PropBean.getUfPropValue("emailAppSecret") ; + String emailResponseType = PropBean.getUfPropValue("emailResponseType") ; //token + String emailPrivateKey = PropBean.getUfPropValue("emailPrivateKey") ; baseBean.writeLog("emainAppCode == "+emainAppCode); diff --git a/src/com/customization/sendtodo/SendPortalDoneUtil.java b/src/com/customization/sendtodo/SendPortalDoneUtil.java index 2ea141c3..c6ce3d03 100644 --- a/src/com/customization/sendtodo/SendPortalDoneUtil.java +++ b/src/com/customization/sendtodo/SendPortalDoneUtil.java @@ -7,8 +7,8 @@ import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.comInfo.PropBean; -import java.io.UnsupportedEncodingException; import java.net.URLEncoder; public class SendPortalDoneUtil { @@ -466,8 +466,8 @@ public class SendPortalDoneUtil { workcode = Util.null2String(rs.getString("loginid")); } - String center = bb.getPropValue("PORTAL_INFO", "center"); - String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType"); + String center = PropBean.getUfPropValue("center"); + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); diff --git a/src/com/customization/sendtodo/SendPortalTodoCmd.java b/src/com/customization/sendtodo/SendPortalTodoCmd.java index ac8ca2ed..54fb018d 100644 --- a/src/com/customization/sendtodo/SendPortalTodoCmd.java +++ b/src/com/customization/sendtodo/SendPortalTodoCmd.java @@ -35,14 +35,14 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> String nodeid = Util.null2String(request.getParameter("nodeid")); String workflowname = Util.null2String(request.getParameter("workflowname")); - Map params = ParamUtil.request2Map(request); - params.forEach((t,u)-> { - System.out.println(t+"->>>"+u); - }); - - for (Map.Entry entry : params.entrySet()) { - System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); - } +// Map params = ParamUtil.request2Map(request); +// params.forEach((t,u)-> { +// System.out.println(t+"->>>"+u); +// }); +// +// for (Map.Entry entry : params.entrySet()) { +// System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); +// } User user = requestSubmitCmd.getUser(); bb.writeLog("requestid:"+requestid); diff --git a/src/com/customization/sendtodo/SendPortalTodoRunnable.java b/src/com/customization/sendtodo/SendPortalTodoRunnable.java index 0d21a9e3..c26fec3d 100644 --- a/src/com/customization/sendtodo/SendPortalTodoRunnable.java +++ b/src/com/customization/sendtodo/SendPortalTodoRunnable.java @@ -3,6 +3,7 @@ package com.customization.sendtodo; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.comInfo.PropBean; public class SendPortalTodoRunnable implements Runnable{ @@ -27,15 +28,15 @@ public class SendPortalTodoRunnable implements Runnable{ SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); SendPortalDoneUtil sendPortalDoneUtil = new SendPortalDoneUtil(); - BaseBean bb = new BaseBean(); - String portal_todourl = bb.getPropValue("PORTAL_INFO","portal_todourl"); - String username = bb.getPropValue("PORTAL_INFO","username"); - String passwd = bb.getPropValue("PORTAL_INFO","passwd"); - String center = bb.getPropValue("PORTAL_INFO","center"); - String bpm_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_workflowurl"); - String bpm_app_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_app_workflowurl"); - String portal_doneurl = bb.getPropValue("PORTAL_INFO","portal_doneurl"); - String bpm_app_requesturl = bb.getPropValue("PORTAL_INFO","bpm_app_requesturl"); + String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl"); + String portal_doneurl = PropBean.getUfPropValue("portal_doneurl"); + String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl"); + String portal_todourl = PropBean.getUfPropValue("portal_todourl"); + String username = PropBean.getUfPropValue("username"); + String passwd = PropBean.getUfPropValue("passwd"); + String center = PropBean.getUfPropValue("center"); + String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl"); + 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); diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index ccda8056..a063d2ad 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -7,7 +7,6 @@ import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; -import weaver.interfaces.util.SendMailUtil; import java.net.URLEncoder; import java.util.regex.Matcher; @@ -348,15 +347,15 @@ public class SendPortalTodoUtil { int count = 0 ; String countSql =" select t2.userid,h1.loginid\n" + - " from workflow_requestbase t1\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" + - " 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.islasttimes = 1\n" + - " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid+ - " and t2.nodeid = " + noideid ; + " from workflow_requestbase t1\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" + + " 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.islasttimes = 1\n" + + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + + " and t2.REQUESTID = "+requestid+ + " and t2.nodeid = " + noideid ; bb.writeLog("sendTodoDataByNode--countSql:"+countSql); rs.executeQuery(countSql); while (rs.next()){ @@ -365,13 +364,13 @@ public class SendPortalTodoUtil { 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" + - " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + - " from workflow_requestbase t1\n" + - " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " 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" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + + " from workflow_requestbase t1\n" + + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + + " 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" + + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + + " and t1.requestid = "+requestid ; bb.writeLog("sendTodoDataByNode--sql:"+sql); if(count >0){ @@ -578,13 +577,13 @@ public class SendPortalTodoUtil { JSONArray taskObjectList = new JSONArray(); 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" + - " from workflow_requestbase t1\n" + - " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " 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" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + + " from workflow_requestbase t1\n" + + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + + " 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" + + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + + " and t1.requestid = "+requestid ; bb.writeLog("sendTodoDataByReject--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ diff --git a/src/com/customization/sendtodo/SendRemarkOperateTodoCmd.java b/src/com/customization/sendtodo/SendRemarkOperateTodoCmd.java index 861c7951..7ddd89d8 100644 --- a/src/com/customization/sendtodo/SendRemarkOperateTodoCmd.java +++ b/src/com/customization/sendtodo/SendRemarkOperateTodoCmd.java @@ -12,6 +12,7 @@ import weaver.file.FileUpload; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.comInfo.PropBean; import javax.servlet.http.HttpServletRequest; import java.util.Map; @@ -60,11 +61,12 @@ public class SendRemarkOperateTodoCmd extends AbstractCommandProxy 0) { sendTodoDataByCreateNode(requestid, nodeid, user, portal_todourl, username, passwd, bpm_workflowurl, center); } diff --git a/src/weaver/interfaces/comInfo/PropBean.java b/src/weaver/interfaces/comInfo/PropBean.java index 06443d53..6d98cdf9 100644 --- a/src/weaver/interfaces/comInfo/PropBean.java +++ b/src/weaver/interfaces/comInfo/PropBean.java @@ -10,7 +10,7 @@ public class PropBean { public static BaseBean bb = new BaseBean(); 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)){ return ""; diff --git a/src/weaver/interfaces/filter/HttpRequestUtil.java b/src/weaver/interfaces/filter/HttpRequestUtil.java index 5711c264..8a20f304 100644 --- a/src/weaver/interfaces/filter/HttpRequestUtil.java +++ b/src/weaver/interfaces/filter/HttpRequestUtil.java @@ -1,355 +1,268 @@ package weaver.interfaces.filter; -import okhttp3.*; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.ParseException; -import org.apache.http.client.methods.CloseableHttpResponse; -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 com.api.login.util.LoginUtil; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import weaver.conn.RecordSet; 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.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; import java.util.Map; -import com.sun.jersey.core.util.Base64; 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(); - /** - * 模拟请求 - * - * @param url 资源地址 - * @param encoding 编码 - * @return - * @throws ParseException - * @throws IOException - */ -// public String sendPost(String url, Map headers,String encoding){ -// String body = ""; -// -// 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 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; -// } - - - /** - * 向指定URL发送GET方法的请求 - * - * @param url - * 发送请求的URL - * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 - * @return result 所代表远程资源的响应结果 - */ -// public String sendGet(String url, Map 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 entry : headers.entrySet()) { -// bb.writeLog("key:"+entry.getKey()); -// bb.writeLog("val:"+entry.getValue()); -// connection.addRequestProperty(entry.getKey(), entry.getValue()); -// } -// } -// -// // 建立实际的连接 -// connection.connect(); -// // 获取所有响应头字段 -// //Map> 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; -// } + int code = response.code(); + String bodyMsg = response.body().string(); + bb.writeLog("PortalLoginFilter-response.code():"+code); + bb.writeLog("PortalLoginFilter-response.body():"+bodyMsg); + if(code == 200){ + msgData = bodyMsg; + } + + } catch (IOException e) { + e.printStackTrace(); + } + return msgData; + } /*** * - * @param url - * @param headers - * @param encode - * @return + * @param request + * @param staffCode + * @param uid */ - public String httpGet1(String url, Map headers, String encode){ - - 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 entry : headers.entrySet()) { - httpGet.addHeader(entry.getKey(),entry.getValue()); - } + public void loginUser(HttpServletRequest request,String staffCode,String uid,String resultCode){ + RecordSet rs = new RecordSet(); + if (!"".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 =? "; } + //bb.writeLog("sql:" + sql); + rs.executeQuery(sql, new Object[]{staffCode}); - httpGet.setHeader("Accept", "*"); -// httpGet.addHeader("Cookie","SESSION="+uid); - httpResponse = closeableHttpClient.execute(httpGet); + 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()); + 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 headers - * @param encode - * @return + * @param request + * @param response + * @param application */ -// public String httpGet2(String url,Map headers,String encode) -// { -// -// 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 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; -// } + public void userSessionFilter(HttpServletRequest request, HttpServletResponse response, ServletContext application,String staffCode,String uid){ - /*** - * - * @param url - * @param jsonstr - * @return - */ -// public static String doPostByAuth(String url,String jsonstr,String auth){ -// CloseableHttpClient httpClient = null; -// HttpPost httpPost = null; -// String result = null; -// try{ -// String authStr = new String(Base64.encode(auth)); -// httpClient = HttpClients.createDefault(); -// httpPost = new HttpPost(url); -//// String head_param_encode = urlEncode(head_param); -// System.out.println("authStr:"+authStr); -// httpPost.addHeader("Connection", "Keep-Alive"); -// httpPost.addHeader("Cache-Control", "No-Cache"); -// httpPost.addHeader("Accept", "*/*"); -// httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); -// 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"); -// StringEntity se = new StringEntity(jsonstr); -// se.setContentType("application/json;charset=utf-8"); -// httpPost.setEntity(se); -// HttpResponse response = httpClient.execute(httpPost); -// if(response != null){ -// HttpEntity resEntity = response.getEntity(); -// if(resEntity != null){ -// result = EntityUtils.toString(resEntity,"utf-8"); -// } -// } -// }catch(Exception ex){ -// ex.printStackTrace(); -// } -// return result; -// } + String path = PropBean.getUfPropValue("ecologypath"); + boolean isMutiLangua = Util.isEnableMultiLang(); + //系统使用语言,未使用多语言的用户默认为中文。 + int isLanguId = 8; + String languId = "8"; + if (isMutiLangua) { + isLanguId = Util.getIntValue(request.getParameter("islanguid"), 0); + //如何未选择,则默认系统使用语言为简体中文 + if (isLanguId == 0) { + isLanguId = 8; + } + languId = String.valueOf(isLanguId); + Cookie syslanid = new Cookie("Systemlanguid", languId); + syslanid.setMaxAge(-1); + syslanid.setPath(path); + response.addCookie(syslanid); + } + + RecordSet rs = new RecordSet(); + RecordSet rslog = new RecordSet(); + + User newUser = null; + String loginUserId = "" ; + String loginName = "" ; + 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()) + { + newUser = new User(); + 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 { -// if(url == null) { -// return null; -// } -// final String reserved_char = ";/?:@=&"; -// String ret = ""; -// for(int i=0; i < url.length(); i++) { -// String cs = String.valueOf( url.charAt(i) ); -// if(reserved_char.contains(cs)){ -// ret += cs; -// }else{ -// ret += URLEncoder.encode(cs, "utf-8"); -// } -// } -// return ret.replace("+", "%20"); -// } + Calendar today = Calendar.getInstance(); + String currentdate = Util.add0(today.get(1), 4) + "-" + Util.add0(today.get(2) + 1, 2) + "-" + Util.add0(today.get(5), 2); + char separater = Util.getSeparator(); + rslog.execute("HrmResource_UpdateLoginDate", loginUserId + separater + currentdate); + + boolean moreAccountLanding = GCONST.getMOREACCOUNTLANDING(); + if (moreAccountLanding) { + if (newUser.getUID() != 1) { + VerifyLogin verifyLogin = new VerifyLogin(); + List accounts = verifyLogin.getAccountsById(newUser.getUID()); + request.getSession(true).setAttribute("accounts", accounts); + } + Util.setCookie(response, "loginidweaver", newUser.getUID()+"", -1); + } + 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){ -// BaseBean bb = new BaseBean(); -// String msgData = "" ; -// 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; -// } + if(!"".equals(loginUserId)) + { + LoginUtil.recordLogin(Util.getIntValue(loginUserId),loginName,request.getRemoteAddr()); + } + } } diff --git a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java index b0155cea..b1f9fc54 100644 --- a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java +++ b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java @@ -2,42 +2,44 @@ package weaver.interfaces.filter; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang.StringUtils; -import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.comInfo.PropBean; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class PortalLoginBeforeFilter implements Filter { private List bpmHostList = new ArrayList(); + private String portalUserAuth = "" ; + @Override public void init(FilterConfig filterConfig) throws ServletException { + 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)) { String[] bpm_host_arr = bpm_host_array.split(";"); for (int i = 0; i < bpm_host_arr.length; i++) { bpmHostList.add(bpm_host_arr[i]); } } + portalUserAuth = PropBean.getUfPropValue("portal_user_auth"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException { BaseBean bb = new BaseBean(); - RecordSet rs = new RecordSet(); - + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; + ServletContext application = request.getSession().getServletContext(); boolean isExcludedPage = false; String requestURL = request.getRequestURL().toString(); @@ -55,212 +57,120 @@ public class PortalLoginBeforeFilter implements Filter { if (!isExcludedPage) { //请求地址 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文件,直接放行 isExcludedPage = true; } } - //bb.writeLog("getRequestURI:" + getRequestURI + " isExcludedPage:" + isExcludedPage); - - if (!isExcludedPage) { - User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); - if (loginuser == null) { - String uid = ""; - String cookies = request.getHeader("cookie"); - if (StringUtils.isNotEmpty(cookies)) { - String[] cookievals = cookies.split(";"); - for (int i = 0; i < cookievals.length; i++) { - String cookval = cookievals[i]; - if (!"".equals(cookval) && cookval.contains("=")) { - String key = cookval.substring(0, cookval.indexOf("=")); - String value = cookval.substring(cookval.indexOf("=") + 1); - if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { - uid = value; - } + if(isExcludedPage) + { + filterChain.doFilter(request, response); + }else{ + String uid = ""; + String cookies = request.getHeader("cookie"); + if (StringUtils.isNotEmpty(cookies)) + { + String[] cookievals = cookies.split(";"); + for (int i = 0; i < cookievals.length; i++) { + String cookval = cookievals[i]; + if (!"".equals(cookval) && cookval.contains("=")) { + String key = cookval.substring(0, cookval.indexOf("=")); + String value = cookval.substring(cookval.indexOf("=") + 1); + if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { + uid = value; } } } + } - //ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996; - // ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca; - // areaId=731; userId=1; orgId=1; - // CLOUD_APP_NAME=dbeptest7_pot-uportal-core; - // CLOUD_APP_ID=44074 - - 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(); - Map headMap = new HashMap(); - 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"); - if (!"".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 =? "; + //ecology=BA0A2738FBB4C7664CEECCC8B0CF408B; HTML_VERSION=1603079097996; + // ZSMART_LOCALE=en; SESSION=4e101591-da0e-4425-b035-ffe684f85bca; + // areaId=731; userId=1; orgId=1; + // CLOUD_APP_NAME=dbeptest7_pot-uportal-core; + // CLOUD_APP_ID=44074 + + if(StringUtils.isNotEmpty(uid)) + { + User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); + String weaver_uid = String.valueOf(request.getSession(true).getAttribute("weaver_uid")); + String portal_status = String.valueOf(request.getSession(true).getAttribute("portal_status")); + + bb.writeLog("weaver_uid:"+weaver_uid); + bb.writeLog("uid:"+uid); + + if(StringUtils.isNotEmpty(weaver_uid)) + { + if(!uid.equals(weaver_uid)) + { + bb.writeLog("weaver_uid <> uid portal_status:"+portal_status); + String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid); + if (!"".equals(msg)) + { + JSONObject jsonObject = JSONObject.parseObject(msg); + if(jsonObject.containsKey("resultCode")){ + String resultCode = jsonObject.getString("resultCode") ; + if("1".equals(resultCode)) + { + 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()); - request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); - request.getSession(true).setAttribute("weaver_user@bean", user_new); + Util.setCookie(response, "portalStatus", resultCode, -1); - } +// 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{ - //用户session存在,判断和接口中的codeshi是否一致 - String uid = ""; - String cookies = request.getHeader("cookie"); - if (StringUtils.isNotEmpty(cookies)) { - String[] cookievals = cookies.split(";"); - for (int i = 0; i < cookievals.length; i++) { - String cookval = cookievals[i]; - if (!"".equals(cookval) && cookval.contains("=")) { - String key = cookval.substring(0, cookval.indexOf("=")); - String value = cookval.substring(cookval.indexOf("=") + 1); - if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { - 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); + }else { + bb.writeLog("weaver_uid is null "); + String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid); + if (!"".equals(msg)) + { + JSONObject jsonObject = JSONObject.parseObject(msg); + if(jsonObject.containsKey("resultCode")){ + String resultCode = jsonObject.getString("resultCode") ; + if("1".equals(resultCode)) + { + JSONObject resultObject = jsonObject.getJSONObject("resultObject"); + String staffCode = resultObject.getString("staffCode"); + httpRequestUtil.userSessionFilter(request,response, application, staffCode, uid); + } - HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); - Map headMap = new HashMap(); - 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 =? "; - } + Util.setCookie(response, "portalStatus", resultCode, -1); - 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)); +// request.getSession(true).setAttribute("portal_status", resultCode); + } + } + } - 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")); +// String portalCode = Util.null2String(request.getSession().getAttribute("portal_status")); +// if(StringUtils.isNotEmpty(portalCode)){ +// if("0".equals(portalCode)){ +// bb.writeLog("portalCode == 0"); +// request.getRequestDispatcher("/bpm/spa/custom/static/index.html#/main/cs/app/7177140d879d4c4aa56dc6a3c1b65668_loginOutBom").forward(request,response); +// return; +// } +// } +// bb.writeLog(" portalCode:"+portalCode); + } - user_new.setLoginip(request.getRemoteAddr()); - request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); - request.getSession(true).setAttribute("weaver_user@bean", user_new); + filterChain.doFilter(request, response); - } - } - } - } - } - } } - filterChain.doFilter(request, response); } @Override diff --git a/src/weaver/interfaces/filter/PortalLoginFilter.java b/src/weaver/interfaces/filter/PortalLoginFilter.java index e1c17071..9988396f 100644 --- a/src/weaver/interfaces/filter/PortalLoginFilter.java +++ b/src/weaver/interfaces/filter/PortalLoginFilter.java @@ -1,6 +1,7 @@ package weaver.interfaces.filter; import com.alibaba.fastjson.JSONObject; +import com.api.login.util.LoginUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.dubbo.common.utils.StringUtils; @@ -8,6 +9,7 @@ import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.comInfo.PropBean; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; @@ -25,8 +27,7 @@ public class PortalLoginFilter implements Filter private List uncheck_sessionurl_custom_list = new ArrayList(); private List bpmHostList = new ArrayList(); private String path = "/bpm" ; - private String portal_homepage = "" ; - private String portal_user_auth = "" ; + private String portalUserAuth = "" ; @Override public void init(FilterConfig filterConfig) throws ServletException { @@ -34,8 +35,7 @@ public class PortalLoginFilter implements Filter this.application = filterConfig.getServletContext(); BaseBean bb = new BaseBean(); - portal_homepage = bb.getPropValue("PORTAL_INFO","portal_homepage"); - portal_user_auth = bb.getPropValue("PORTAL_INFO","portal_user_auth"); + portalUserAuth = PropBean.getUfPropValue("portal_user_auth"); String uncheck_init = bb.getPropValue("weaver_session_filter","uncheckurl"); 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)) { 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); - User loginuser = (User) request.getSession(true).getAttribute("weaver_user@bean"); - if (loginuser == null) + filterChain.doFilter(request, response); + }else{ + + String resultCode = "" ; + + String uid = "" ; + String cookies = request.getHeader("cookie"); + if(!"".equals(cookies)) { - //bb.writeLog("loginuser is null"); - String uid = "" ; - String cookies = request.getHeader("cookie"); - if(!"".equals(cookies)) + String[] cookievals = cookies.split(";"); + for(int i=0;i headMap = new HashMap(); - headMap.put("Cookie","SESSION="+uid); - String msg = HttpRequestUtil.httpGet1(portal_user_auth,headMap,"UTF-8"); + String msg = HttpRequestUtil.doGetHttp(portalUserAuth,uid); if(!"".equals(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"); String staffCode = resultObject.getString("staffCode"); @@ -236,55 +239,104 @@ public class PortalLoginFilter implements Filter request.getSession(true).setMaxInactiveInterval(60 * 60 * 24); 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"); - 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"); + 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); - 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 diff --git a/src/weaver/interfaces/job/DeptManagerCronJob.java b/src/weaver/interfaces/job/DeptManagerCronJob.java new file mode 100644 index 00000000..e4156d6a --- /dev/null +++ b/src/weaver/interfaces/job/DeptManagerCronJob.java @@ -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> list = new ArrayList>(); + Map 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 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 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); + } + } + + +} diff --git a/src/weaver/interfaces/job/ESiginsCronJob.java b/src/weaver/interfaces/job/ESiginsCronJob.java index 76a35003..50a63226 100644 --- a/src/weaver/interfaces/job/ESiginsCronJob.java +++ b/src/weaver/interfaces/job/ESiginsCronJob.java @@ -11,6 +11,7 @@ import weaver.docs.docs.ImageFileIdUpdate; import weaver.general.BaseBean; import weaver.general.TimeUtil; import weaver.general.Util; +import weaver.interfaces.comInfo.PropBean; import weaver.interfaces.schedule.BaseCronJob; import java.io.*; @@ -36,11 +37,11 @@ public class ESiginsCronJob extends BaseCronJob { BaseBean bb = new BaseBean(); // String esiginsUrl = "http://172.16.25.133/portal-web/v1/esign/"+sysUserCode+"/esigns" ; - String esiginsUrl = bb.getPropValue("PORTAL_INFO","esiginsUrl"); - String ecology_app_root = bb.getPropValue("PORTAL_INFO","ecology_app_root"); + String esiginsUrl = PropBean.getUfPropValue("esiginsUrl"); + String ecology_app_root = PropBean.getUfPropValue("ecology_app_root"); - String username = bb.getPropValue("PORTAL_INFO","username"); - String passwd = bb.getPropValue("PORTAL_INFO","passwd"); + String username = PropBean.getUfPropValue("username"); + String passwd = PropBean.getUfPropValue("passwd"); List> list = new ArrayList>(); Map map = null; diff --git a/src/weaver/interfaces/mq/RocketmqServlet.java b/src/weaver/interfaces/mq/RocketmqServlet.java index 923caf16..41a5e70f 100644 --- a/src/weaver/interfaces/mq/RocketmqServlet.java +++ b/src/weaver/interfaces/mq/RocketmqServlet.java @@ -10,6 +10,7 @@ import com.alibaba.rocketmq.client.exception.MQClientException; import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere; import com.alibaba.rocketmq.common.protocol.heartbeat.MessageModel; import weaver.general.BaseBean; +import weaver.interfaces.comInfo.PropBean; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -40,22 +41,22 @@ public class RocketmqServlet extends HttpServlet { // consumer.subscribe("dataSync_topic_nj", "BPM"); // consumer.setInstanceName("dataSync_topic_nj"); - String consumerGroup = bb.getPropValue("PORTAL_INFO","consumerGroup"); + String consumerGroup = PropBean.getUfPropValue("consumerGroup"); bb.writeLog("consumerGroup:"+consumerGroup); DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup); - String namesrvAddr = bb.getPropValue("PORTAL_INFO","namesrvAddr"); + String namesrvAddr = PropBean.getUfPropValue("namesrvAddr"); bb.writeLog("namesrvAddr:"+namesrvAddr); consumer.setNamesrvAddr(namesrvAddr); - String instanceName = bb.getPropValue("PORTAL_INFO","instanceName"); + String instanceName = PropBean.getUfPropValue("instanceName"); bb.writeLog("instanceName:"+instanceName); consumer.setInstanceName(instanceName); consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); //consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET); - String topic = bb.getPropValue("PORTAL_INFO","topic"); - String subExpression = bb.getPropValue("PORTAL_INFO","subExpression"); + String topic = PropBean.getUfPropValue("topic"); + String subExpression = PropBean.getUfPropValue("subExpression"); bb.writeLog("topic:"+topic); bb.writeLog("subExpression:"+subExpression); diff --git a/src/weaver/interfaces/mq/RocketmqUtil.java b/src/weaver/interfaces/mq/RocketmqUtil.java index 013cbe8b..95481c7c 100644 --- a/src/weaver/interfaces/mq/RocketmqUtil.java +++ b/src/weaver/interfaces/mq/RocketmqUtil.java @@ -11,6 +11,7 @@ import weaver.general.TimeUtil; import weaver.general.Util; import weaver.hrm.company.DepartmentComInfo; import weaver.hrm.resource.ResourceComInfo; +import weaver.interfaces.comInfo.PropBean; import java.text.SimpleDateFormat; import java.util.Date; @@ -101,7 +102,7 @@ public class RocketmqUtil { String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 String jobTitleId = "" ; - String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode"); + String defaultJobCode = PropBean.getUfPropValue("defaultJobCode"); if(StringUtils.isNotEmpty(defaultJobCode)){ String sql = " select id from hrmjobtitles where jobtitlecode = ?" ; rs.executeQuery(sql,new Object[]{defaultJobCode}); @@ -1078,7 +1079,7 @@ public class RocketmqUtil { bb.writeLog("currentDate:"+currentDate); String jobTitleId = "" ; - String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode"); + String defaultJobCode = PropBean.getUfPropValue("defaultJobCode"); if(StringUtils.isNotEmpty(defaultJobCode)){ String sql = " select id from hrmjobtitles where jobtitlecode = ?" ; rs.executeQuery(sql,new Object[]{defaultJobCode});