#EC-HJ-12# 待办、已办接口优化

feature-LeeD-20221025
shilei 3 years ago
parent 9ed5357b2f
commit 675809fa92

@ -12,7 +12,7 @@ portal_homepage = http://172.16.25.133/portal-web/#
###以下是和人员同步mq相关的
##RocketMq的consumerGroup cbec-consumer-group_nj_133
consumerGroup = coc-consumer-group_portal_133
consumerGroup = cbec-consumer-group_nj_133
##RocketMq的namesrvAddr
namesrvAddr = 172.16.84.183:9001;172.16.84.187:9001
@ -26,10 +26,15 @@ topic = dataSync_topic_nj
##RocketMq的subExpression
subExpression = BPM
defaultJobCode = Staff
###以下是和门户待办相关的
##门户待办接口
portal_todourl = http://172.16.25.133/portal-web/centerTodo/sync
##门户已办接口
portal_doneurl = http://172.16.25.133/portal-web/centerDone/sync
##待办的用户名
username = admin
@ -54,12 +59,29 @@ ecology_app_root = /app/weaver/ecology
###以下是和邮件相关的
## 是否开启email消息推送 0=不启用1 = 启用
emailenable = 0;
emailUrl = http://10.26.4.136:80/api/rest
emailMethod = sendNotification
eventCode =
notificationType = EMAIL
channel = OA
emailEventCode = MSS_OA_EMAIL_SEND
emailNotificationType = EMAIL
emailChannel = OA
emailVersion = 1.0
emailTokenUrl = http://10.26.4.136:80/api/oauth2/apigAuthorize
emainAppCode = OA
emailAppSecret = fb84e1689ea357b2
emailResponseType = token
emailPrivateKey = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCr1guc7ypKVF0l8mwOdV0c11X4ITjvscVYNbLxoXe6jb2Cm/yDyyAAvPw3NdoePYIw16GGQ739MVPoP0TU6KQE0gYg9hfFNCdOCyGWx+asD/jzYb6gQAmlwgzfC/SgUvVx/blC5mpE3ZcPNsxifRU5DcJkxVA10DPJfLOBctl4y49IC/FfuljytekaA0avbWdEbLJ9JZaHhKumEAVlC/wTCW4qAf28MICmX/28ZLvffJ7jO+P1WvrJHKgtu3kUrlFkfpJQIAxRXVqoL4BoBsCYq6f2UA1B4gyABHB/f0fDjWH7j4XWVq+jwIrvsr/bW/QJEwMRLsEcrtHgPnD5pPqJAgMBAAECggEAFCayTvGXJodVMx2GQX3O8RJpoQMYX7ebunf1p7N1THnRxw7O4o/ADYYcF8dncFNrQJoQ9aNdFOOjgOFmi4dKsMwGbvgdGoG+uD7C7iE8MmJfIf+M8NMBrqAejUukIOcJpJgKEUffH3tS+zREbKpZgkrUSKgA+4aShCbtEBmtWiZnXkOsC6JufcU4xxgzYePUQPvaOemBTdtGUK9CDYpkm4ozfjy6CNeA+oeAjXonMb8M1B+7qucZpKKJytJYxRnLsylQ3oKM0nSIpzhYTHdTBJbQMk+gty2jTgUIfdjt0sW2HL71n0Pt2rI66UcIEi2mz6lVbhAA1YNqzBBX056h2QKBgQDwNhlxTEPwz025eaEpYlyhJpMdnUtaPawAH0Ucabu9B0zWPy0L1tB8GAJdTSwtZ0y2Apo+YOSR3Oc3k54zYAZQXTN+j5uSO2NbKDHRehHVF0gLkfZBVRJJxiRNZ9qVR+kuQYD2ly7fndZjrJ0E+ilnUclJAmHtl/NPqr7/HASnzQKBgQC3IW9RN03l9UhsgXTEvqkTok0xFkoD0R0QuNq1ICOOggIkfEDxHGarRNozkCg6qor98J4whqFT3P825eOG+jRLJL0C3rLVJ15wbWM+SHzfhFNyQFlc2CohPImQvAc808KvH4gkv7HxaWP+8M/35UmAEIkx6KV1OAMp47foct7prQKBgQCujxHUJJDmyS75TusP0Nvxe7/C8JBWpqR8fjzR1gBI8Koks0o/5T4iP6xQMwmcgQnc5m1CUVUorngUCiEXwns0IVaPbTqnfKLKFp6FVIjq6n0/czWZ6oFcvTGaUpMkklpgc9eM2vaEKAYo7sI4YLZ/z45PkPyrFRYKWdFsP+ceLQKBgQCNR74ZahEu14yIKVdscar++reSpx9y0mEaBYK1OZY02xfMDhAL811BxFySaySeHfQc9QUVasgLavN55uEhwOWXE0C+dhCBYV36XmmyIzozNmMqQXqvphTaj1mRz33F75jCghEGSN1+4U/D3wSSutF5e0hcuJ7tT8khCA1Zx0UyAQKBgCVtltsh+bMIlnjKARhIab2G13WkrR89ZEqjRIrFOeCyr5bD3yn/tAJZ7HIhr6/YkjmYi/T04QcElpctPFLHi0wS6Hy9mP2pBI+PIit9mzK3sXoqR/Bew/KqzJF6Ow5iVXiQfcHaYaI9C1EN7iMtVK6h/KWlKjg4Pv+9Xu5INimd
version = 1.0

@ -0,0 +1,51 @@
package com.customization.sendtodo;
import com.sun.jersey.core.util.Base64;
import okhttp3.*;
import weaver.general.BaseBean;
import java.io.IOException;
public class HttpRequestUtil extends BaseBean{
/***
*
* @param dataJson
* @return
*/
public String doPostByAuth(String portal_todourl,String dataJson,String auth){
//"http://172.16.25.133/portal-web/centerTodo/sync"
BaseBean bb = new BaseBean();
String authorization = "Basic "+new String(Base64.encode(auth));
bb.writeLog("authorization:"+authorization);
bb.writeLog("portal_todourl:"+portal_todourl);
bb.writeLog("dataJson:"+dataJson);
bb.writeLog("auth:"+auth);
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(portal_todourl)
.method("POST", body)
.addHeader("Authorization", authorization)
.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());
if(response!=null && response.code() == 200){
msgData = response.body().string();
}
} catch (IOException e) {
e.printStackTrace();
}
return msgData;
}
}

@ -0,0 +1,437 @@
package com.customization.sendtodo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
public class SendPortalDoneUtil {
/***
* ,
* @param requestid
* @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){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
RecordSet rs = new RecordSet();
JSONObject requestObject = new JSONObject();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByCreateNode");
String ticketType = center ;
String terminal = "1" ;
String actionType = "0" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
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" +
" 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);
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);
}
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);
taskObjectList.add(taskObject);
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)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
sendPortalErrorUtil.doCreateSendPortalDoneErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
*
*
* @param requestid
* @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){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByNode");
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
String objectId = "" ;
try {
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 ;
bb.writeLog("sendTodoDataByNode--countSql:"+countSql);
rs.executeQuery(countSql);
while (rs.next()){
count++;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
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 (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){
JSONArray taskObjectList = new JSONArray();
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);
}
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);
taskObjectList.add(taskObject);
requestObject.put("taskObjectList",taskObjectList);
}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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
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);
taskObjectList.add(taskObject);
}
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)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
* 退退
*
* @param requestid
* @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){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
JSONObject requestObject = new JSONObject();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByReject");
RecordSet rs = new RecordSet();
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
try {
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" +
" 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()){
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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByReject--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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);
taskObjectList.add(taskObject);
}
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)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -0,0 +1,17 @@
package com.customization.sendtodo;
import weaver.general.BaseBean;
public class SendPortalErrorUtil {
public void doCreateSendPortalTodoErrorInfo(){
BaseBean bb = new BaseBean();
bb.writeLog("doCreateSendPortalTodoErrorInfo");
}
public void doCreateSendPortalDoneErrorInfo(){
BaseBean bb = new BaseBean();
bb.writeLog("doCreateSendPortalDoneErrorInfo");
}
}

@ -1,11 +1,11 @@
package com.customization.sendtodo;
import com.engine.common.util.ParamUtil;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.workflow.cmd.requestForm.RequestSubmitCmd;
import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
@ -25,7 +25,7 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
RequestSubmitCmd requestSubmitCmd = (RequestSubmitCmd)targetCommand;
//获取被代理对象的参数
//对参数做预处理
//requestSubmitCmd.writeLog("requestSubmitCmd params222======"+params);
BaseBean bb = new BaseBean();
HttpServletRequest request = requestSubmitCmd.getRequest();
@ -33,11 +33,23 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
String workflowid = Util.null2String(request.getParameter("workflowid")).trim();
String src = Util.null2String(request.getParameter("src")).trim();
String nodeid = Util.null2String(request.getParameter("nodeid"));
String workflowname = Util.null2String(request.getParameter("workflowname"));
Map<String,Object> params = ParamUtil.request2Map(request);
params.forEach((t,u)-> {
System.out.println(t+"->>>"+u);
});
for (Map.Entry<String, Object> entry : params.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
User user = requestSubmitCmd.getUser();
bb.writeLog("requestid:"+requestid);
bb.writeLog("workflowid:"+workflowid);
bb.writeLog("src:"+src);
bb.writeLog("nodeid:"+nodeid);
bb.writeLog("workflowname:"+workflowname);
//参数回写
//执行标准的业务处理

@ -1,20 +1,12 @@
package com.customization.sendtodo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.util.SendMailUtil;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SendPortalTodoRunnable implements Runnable{
public String EMAIL_REGEX_DEFAULT = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
private String src;
private String new_requestid;
private String requestid;
@ -32,655 +24,27 @@ public class SendPortalTodoRunnable implements Runnable{
@Override
public void run() {
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 portal_doneurl = bb.getPropValue("PORTAL_INFO","portal_doneurl");
if(Util.getIntValue(requestid) == -1 && "save".equals(src)){
sendTodoDataByCreater(new_requestid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
}else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){
sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
sendPortalDoneUtil.sendDoneDataByCreateNode(new_requestid,nodeid,user,portal_doneurl,username,passwd,bpm_workflowurl,center);
}else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){
sendTodoDataByNode(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
}else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){
sendTodoDataByReject(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
}
}
/***
*
* @param requestId
* @param user
*/
public void sendTodoDataByCreater(String requestId, User user, String portal_todourl, String username, String passwd, String bpm_workflowurl, String center){
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
JSONArray emailArray = new JSONArray();
String requestname = "";
String requestremark = "" ;
String actionType = "0" ;
String terminal = "1" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
String ticketType = center ;
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
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" +
" 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" +
" 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,email from hrmresource where status = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where t2.userid in ("+userid+") \n" +
" and (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 (ifnull(t1.currentstatus, -1) = -1 or (ifnull(t1.currentstatus, -1) = 0 and t1.creater in ("+userid+"))) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
" and t2.requestid = "+requestId ;
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);
JSONArray taskObjectList = new JSONArray();
JSONObject taskObject = new JSONObject();
String objectCode = creator ;
String operatorCode = creator ;
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);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
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 = sendPortalTodoUtil.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")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
System.out.println(emailArray.toJSONString());
String notificationSubject = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestId,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalTodoUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
* @param requestid
* @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){
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
RecordSet rs = new RecordSet();
JSONObject requestObject = new JSONObject();
JSONArray emailArray = new JSONArray();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByCreateNode");
String ticketType = center ;
String terminal = "1" ;
String actionType = "0" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
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" +
" 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);
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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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);
taskObjectList.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = sendPortalTodoUtil.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")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
System.out.println(emailArray.toJSONString());
String notificationSubject = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalTodoUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
* @param requestid
* @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){
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByNode");
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
JSONArray emailArray = new JSONArray();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
try {
String actionType = "" ;
int count = 0 ;
String sql =" 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 ;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
count++;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
if(count >0){
JSONArray taskObjectList = new JSONArray();
actionType = "1" ;
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 +
" and t1.currentnodeid = " + noideid ;
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);
}
JSONObject taskObject = new JSONObject();
String objectAction = "1" ;
String objectType = "0";
String objectCode = user.getLoginid() ;
String objectId = "" ;
String operatorCode = user.getLoginid() ;
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);
}else{
JSONArray taskObjectList = new JSONArray();
actionType = "2" ;
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 ;
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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
JSONObject taskObject = new JSONObject();
String objectAction = "0" ;
String objectType = "0";
String objectCode = usercode ;
String objectId = "" ;
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);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
requestObject.put("taskObjectList",taskObjectList);
}
// String username = "admin";
// String passwd = "Uportal_123";
// String todourl = "http://172.16.25.133/portal-web/centerTodo/sync" ;
//"Basic YWRtaW46VXBvcnRhbF8xMjM="
String auth = username + ":" + passwd;
bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = sendPortalTodoUtil.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")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
System.out.println(emailArray.toJSONString());
String notificationSubject = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalTodoUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center);
}
}
/***
* 退
* @param requestid
* @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){
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
JSONObject requestObject = new JSONObject();
JSONArray emailArray = new JSONArray();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByReject");
RecordSet rs = new RecordSet();
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
try {
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" +
" 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()){
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);
}
sql = " 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;
bb.writeLog("sendTodoDataByReject--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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);
taskObjectList.add(taskObject);
}
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = sendPortalTodoUtil.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")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
System.out.println(emailArray.toJSONString());
String notificationSubject = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalTodoUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -1,56 +1,649 @@
package com.customization.sendtodo;
import com.sun.jersey.core.util.Base64;
import okhttp3.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import java.io.IOException;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.util.SendMailUtil;
import java.util.regex.Matcher;
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,}$";
/***
*
* @param portal_todourl
* @param dataJson
* @param auth
* @return
*
* @param requestId
* @param user
*/
public void sendTodoDataByCreater(String requestId, User user, String portal_todourl, String username, String passwd, String bpm_workflowurl, String center){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
JSONArray emailArray = new JSONArray();
String requestname = "";
String requestremark = "" ;
String actionType = "0" ;
String terminal = "1" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
String ticketType = center ;
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
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" +
" 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" +
" 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,email from hrmresource where status = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where t2.userid in ("+userid+") \n" +
" and (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 (ifnull(t1.currentstatus, -1) = -1 or (ifnull(t1.currentstatus, -1) = 0 and t1.creater in ("+userid+"))) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
" and t2.requestid = "+requestId ;
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")) ;
requestname = 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 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);
JSONArray taskObjectList = new JSONArray();
JSONObject taskObject = new JSONObject();
String objectCode = creator ;
String operatorCode = creator ;
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);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
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)){
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 = ""+requestname;
String notificationContent = ""+requestname ;
sendMailUtil.sendMail(requestId,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
* @param requestid
* @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){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
RecordSet rs = new RecordSet();
String requestname = "";
String requestremark = "" ;
JSONObject requestObject = new JSONObject();
JSONArray emailArray = new JSONArray();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByCreateNode");
String ticketType = center ;
String terminal = "1" ;
String actionType = "0" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
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" +
" 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);
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")) ;
requestname = 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 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" +
" 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" +
" 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;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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);
taskObjectList.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
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)){
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 = ""+requestname;
String notificationContent = ""+requestname ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
*
*
* @param requestid
* @param noideid
* @param user
*/
public String doPostByAuth(String portal_todourl,String dataJson,String auth){
//"http://172.16.25.133/portal-web/centerTodo/sync"
public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByNode");
String authorization = "Basic "+new String(Base64.encode(auth));
bb.writeLog("authorization:"+authorization);
bb.writeLog("portal_todourl:"+portal_todourl);
bb.writeLog("dataJson:"+dataJson);
bb.writeLog("auth:"+auth);
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(portal_todourl)
.method("POST", body)
.addHeader("Authorization", authorization)
.addHeader("Content-Type", "application/json")
.build();
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
String objectId = "" ;
JSONArray emailArray = new JSONArray();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
try {
Response response = client.newCall(request).execute();
bb.writeLog("response.code():"+response.code());
bb.writeLog("response.body():"+response.body().string());
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 ;
bb.writeLog("sendTodoDataByNode--countSql:"+countSql);
rs.executeQuery(countSql);
while (rs.next()){
count++;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
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 (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){
JSONArray taskObjectList = new JSONArray();
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")) ;
if(response!=null && response.code() == 200){
msgData = response.body().string();
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() ;
JSONObject taskObject = new JSONObject();
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);
}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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
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);
taskObjectList.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
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)){
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 = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (IOException e) {
} catch (Exception e) {
e.printStackTrace();
}
return msgData;
}
public void doCreateSendPortalTodoErrorInfo(){
/***
* 退退
*
* @param requestid
* @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){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
JSONObject requestObject = new JSONObject();
JSONArray emailArray = new JSONArray();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByReject");
RecordSet rs = new RecordSet();
String ticketType = center ;
String terminal = "1" ;
String taskType = "0";
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
try {
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" +
" 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()){
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);
}
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" +
" 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;
bb.writeLog("sendTodoDataByReject--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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);
taskObjectList.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray.add(email);
}
}
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)){
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 = "";
String notificationContent = "" ;
sendMailUtil.sendMail(requestid,emailArray.toJSONString(),notificationSubject,notificationContent);
}else{
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -34,7 +34,6 @@ public class RocketmqServlet extends HttpServlet {
bb.writeLog("***** resource model initiated");
try{
//DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("portal-producer-group_nj");
//DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("cbec-consumer-group_nj_133");
//consumer.setNamesrvAddr("172.16.84.183:9001;172.16.84.187:9001");
@ -43,25 +42,31 @@ public class RocketmqServlet extends HttpServlet {
String consumerGroup = bb.getPropValue("PORTAL_INFO","consumerGroup");
bb.writeLog("consumerGroup:"+consumerGroup);
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup );
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup);
String namesrvAddr = bb.getPropValue("PORTAL_INFO","namesrvAddr");
bb.writeLog("namesrvAddr:"+namesrvAddr);
consumer.setNamesrvAddr(namesrvAddr);
String instanceName = bb.getPropValue("PORTAL_INFO","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");
consumer.subscribe(topic, subExpression);
bb.writeLog("topic:"+topic);
bb.writeLog("subExpression:"+subExpression);
consumer.subscribe(topic,subExpression);
consumer.setConsumeThreadMin(1);
consumer.setConsumeThreadMax(1);
consumer.setConsumeMessageBatchMaxSize(1);
consumer.setMessageModel(MessageModel.BROADCASTING);
consumer.registerMessageListener(new RocketMsgListener());
// consumer.registerMessageListener(new RocketMsgOrderListener());
/**
* Consumer使start<br>

@ -3,6 +3,7 @@ package weaver.interfaces.mq;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
@ -48,12 +49,12 @@ public class RocketmqUtil {
errcount += errcount2;
}else if("system_roles".equals(tableName)){
JSONArray jsonArray = requestObject.getJSONArray("content");
int errcount3 =updasteSysRoleData(jsonArray);
int errcount3 = updasteSysRoleData(jsonArray);
bb.writeLog("errcount3:"+errcount3);
errcount += errcount3;
}else if("system_post".equals(tableName)){
JSONArray jsonArray = requestObject.getJSONArray("content");
int errcount4 =updasteSysPostData(jsonArray);
int errcount4 = updasteSysPostData(jsonArray);
bb.writeLog("errcount4:"+errcount4);
errcount += errcount4;
}else if("system_user_role".equals(tableName)){
@ -63,7 +64,7 @@ public class RocketmqUtil {
errcount += errcount5;
}else if("system_user_post".equals(tableName)){ // system_user_post
JSONArray jsonArray = requestObject.getJSONArray("content");
int errcount6 = updateSystemPostRoleData(jsonArray);
int errcount6 = updateSystemUserPostData(jsonArray);
bb.writeLog("errcount6:"+errcount6);
errcount += errcount6;
}else if("staff".equals(tableName)){
@ -107,6 +108,25 @@ public class RocketmqUtil {
// "regionId":"731","pwdSmsTel":"21423523523","loginedNum":"78","staffId":"12002",
// "updateStaff":"1"}],"tableName":"system_user","primaryKey":"sysUserId"}],"key":"svcCont"}
String locationid = "2" ;
String seclevel = "20" ;
String createrid = "1" ;
String lastmodid = "1" ;
String creator = "1";
String systemlanguage = "8" ;
String currentDate = TimeUtil.getCurrentDateString();//当前日期
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
String jobTitleId = "" ;
String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode});
if(rs.next()){
jobTitleId = Util.null2String(rs.getString("id"));
}
}
int errcount = 0;
for(int i=0;i<jsonArray.size();i++)
{
@ -133,15 +153,13 @@ public class RocketmqUtil {
String statusCd = Util.null2String(jsonObject.get("statusCd"));
String status = "1";
if("1100".equals(statusCd) || "1200".equals(statusCd) || "1300".equals(statusCd)){
status = "5";
}
bb.writeLog("status:"+status);
bb.writeLog("statusCd:"+statusCd);
// if("1100".equals(statusCd) || "1200".equals(statusCd) || "1300".equals(statusCd)){
// status = "5";
// }
String subcompanyid1 = "" ;
String deptId = "";
if(!"".equals(orgCode)){
if(StringUtils.isNotEmpty(orgCode)){
String sql = " select id,subcompanyid1 from hrmdepartment where departmentcode = ?" ;
rs.executeQuery(sql,new Object[]{orgCode});
if(rs.next()){
@ -152,16 +170,6 @@ public class RocketmqUtil {
bb.writeLog("deptId:"+deptId);
bb.writeLog("subcompanyid1:"+subcompanyid1);
String locationid = "2" ;
String seclevel = "20" ;
String createrid = "1" ;
String lastmodid = "1" ;
String creator = "1";
String jobTitleId = "40";
String systemlanguage = "8" ;
String currentDate = TimeUtil.getCurrentDateString();//当前日期
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
bb.writeLog("status:"+status);
bb.writeLog("currentDate:"+currentDate);
@ -175,12 +183,10 @@ public class RocketmqUtil {
}
String lastname = " ~`~`7 "+staffName+"`~`8 "+staffName+"`~`~";
bb.writeLog("loginid:"+loginid);
if(!"".equals(deptId))
if(StringUtils.isNotEmpty(deptId))
{
if(!"".equals(loginid))
if(StringUtils.isNotEmpty(loginid))
{
if("M".equalsIgnoreCase(actType))
{
@ -208,12 +214,6 @@ public class RocketmqUtil {
}else{
if("A".equalsIgnoreCase(actType))
{
// int tmpid = 0;
// rs.executeSql("select max(id) from HrmResourceVirtual ");
// if(rs.next()){
// tmpid = rs.getInt(1)+1;
// }
String pwd = "1";
String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密
bb.writeLog("password:"+password);
@ -223,7 +223,7 @@ public class RocketmqUtil {
String id = "" + rs.getInt(1);
bb.writeLog("id:"+id);
if(!"".equals(id)){
if(StringUtils.isNotEmpty(id)){
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) " +
@ -237,7 +237,6 @@ public class RocketmqUtil {
errcount++;
}
}
}
}
}
@ -278,11 +277,10 @@ public class RocketmqUtil {
String actType = Util.null2String(jsonObject.get("actType"));
String canceled = "";
if("1100".equals(statusCd)){
canceled = "1";
}
bb.writeLog("canceled:"+canceled);
// if("1100".equals(statusCd)){
// canceled = "1";
// }
// bb.writeLog("canceled:"+canceled);
String supdepid = "0";
String subcompanyid1 = "" ;
@ -317,28 +315,47 @@ public class RocketmqUtil {
bb.writeLog("deptid:"+deptid);
if(!"".equals(deptid))
if(StringUtils.isNotEmpty(deptid))
{
if("M".equalsIgnoreCase(actType)||"D".equalsIgnoreCase(actType))
if("M".equalsIgnoreCase(actType))
{
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
boolean flag = rs.executeUpdate(deptUpdateSql,new Object[]{departmentmark,departmentmark,canceled,subcompanyid1,orgId,supdepid,orgCode});
boolean flag = rs.executeUpdate(deptUpdateSql,new Object[]{departmentmark,departmentmark,subcompanyid1,orgId,supdepid,orgCode});
bb.writeLog("flag:"+flag);
if(!flag){
errcount++;
}
}
}else if("D".equalsIgnoreCase(actType))
{
canceled = "1";
int hrmResourceCount = 0 ;
String queryHrmResourceSql = " select id from hrmresource where departmentid = ? and status !=5 " ;
rs.executeQuery(queryHrmResourceSql,new Object[]{deptid});
if(rs.next()){
hrmResourceCount++;
}
if(hrmResourceCount == 0 ){
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
boolean flag = rs.executeUpdate(deptUpdateSql,new Object[]{departmentmark,departmentmark,canceled,subcompanyid1,orgId,supdepid,orgCode});
bb.writeLog("flag:"+flag);
if(!flag){
errcount++;
}
}
}
}else{
if("A".equalsIgnoreCase(actType))
{
String deptInsertSql = " insert into hrmdepartment(departmentmark,departmentname,departmentcode," +
" canceled,subcompanyid1,supdepid,showorder) values(?,?,?,?,?,?,?) ";
"subcompanyid1,supdepid,showorder) values(?,?,?,?,?,?) ";
bb.writeLog("deptInsertSql:"+deptInsertSql);
boolean flag = rs.executeUpdate(deptInsertSql,new Object[]{departmentmark,departmentmark,orgCode,canceled,subcompanyid1,supdepid,orgId});
boolean flag = rs.executeUpdate(deptInsertSql,new Object[]{departmentmark,departmentmark,orgCode,subcompanyid1,supdepid,orgId});
bb.writeLog("flag:"+flag);
if(!flag){
errcount++;
@ -386,68 +403,81 @@ public class RocketmqUtil {
// "roleName":"weaver role","actType":"A","sysUserId":"20104","createDate":"2022-08-09 10:26:15"}],
// "tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"sysUserRoleId":"32411","updateDate":"2022-10-24 19:10:40",
// "systemInfoCode":"TYMH","hisId":"30145","sysRoleId":"23005",
// "statusCd":"1100","hasUserRole":false,"systemInfoId":"727001",
// "systemUserCode":"weaver44","expDate":"2120-01-01 00:00:00","orgId":"17012","createStaff":"1",
// "effDate":"2022-10-24 19:10:11","systemUserName":"weaver44",
// "orgCode":"testOrg722","roleCode":"TestRole02","manageClass":"1000",
// "roleName":"TestRole02","actType":"D","sysUserId":"28025","createDate":"2022-10-24 19:10:19",
// "updateStaff":"1"}],"tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"}
int errcount = 0 ;
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode"));
if("PC_OA".equalsIgnoreCase(systemInfoCode)){
String roleCode = Util.null2String(jsonObject.get("roleCode")).replace(" ","");
String roleName = Util.null2String(jsonObject.get("roleName"));
String roleCode = Util.null2String(jsonObject.get("roleCode")).replace(" ","");
String roleName = Util.null2String(jsonObject.get("roleName"));
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String systemUserName = Util.null2String(jsonObject.get("systemUserName"));
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String systemUserName = Util.null2String(jsonObject.get("systemUserName"));
String actType = Util.null2String(jsonObject.get("actType"));
String statusCd = Util.null2String(jsonObject.get("statusCd"));
bb.writeLog("statusCd:"+statusCd+" actType:"+actType);
String actType = Util.null2String(jsonObject.get("actType"));
String statusCd = Util.null2String(jsonObject.get("statusCd"));
bb.writeLog("statusCd:"+statusCd+" actType:"+actType);
String rolelevel = "2" ; //总部=2;分部=1;部门=0
String resourcetype = "1"; //1=人力资源
String rolelevel = "2" ; //总部=2;分部=1;部门=0
String resourcetype = "1"; //1=人力资源
if(StringUtils.isNotEmpty(systemUserCode)){
String userId = "";
String roleId = "";
if(!"".equals(systemUserCode)){
String userId = "";
String roleId = "";
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");
}
bb.writeLog("userId:"+userId+" roleId:"+roleId);
String sql = " select id from hrmresource where loginid=?" ;
rs.executeQuery(sql,new Object[]{systemUserCode});
if(rs.next()){
userId = Util.null2String(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);
String queryRoleIdSql = "select id from hrmroles where ecology_pinyin_search=?";
rs.executeQuery(queryRoleIdSql,roleCode);
if (rs.next()){
releationId = rs.getString("id");
roleId = rs.getString("id");
}
bb.writeLog("userId:"+userId+" roleId:"+roleId+"releationId:"+releationId);
if(!"".equals(releationId)){
if("D".equals(actType)){
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
boolean flag = rs.executeUpdate(delHrmrolemembersSql,releationId);
bb.writeLog("delHrmrolemembersSql : "+flag);
if(!flag){
errcount++;
}
bb.writeLog("userId:"+userId+" roleId:"+roleId);
if (StringUtils.isNotEmpty(userId) && StringUtils.isNotEmpty(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");
}
}else{
if("A".equals(actType)){
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolemembersSql,roleId,userId,rolelevel,resourcetype,UUID.randomUUID().toString());
bb.writeLog("insertHrmrolemembersSql : "+flag);
if(!flag){
errcount++;
bb.writeLog("userId:"+userId+" roleId:"+roleId+"releationId:"+releationId);
if(StringUtils.isNotEmpty(releationId)){
if("D".equals(actType)){
String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?";
boolean flag = rs.executeUpdate(delHrmrolemembersSql,releationId);
bb.writeLog("delHrmrolemembersSql : "+flag);
if(!flag){
errcount++;
}
}
}else{
if("A".equals(actType)){
String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolemembersSql,roleId,userId,rolelevel,resourcetype,UUID.randomUUID().toString());
bb.writeLog("insertHrmrolemembersSql : "+flag);
if(!flag){
errcount++;
}
}
}
}
@ -462,7 +492,7 @@ public class RocketmqUtil {
*
* @param jsonArray
*/
public static int updateSystemPostRoleData(JSONArray jsonArray) {
public static int updateSystemUserPostData(JSONArray jsonArray) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
@ -495,10 +525,8 @@ public class RocketmqUtil {
updateStaff = "1";
}
String defaultFlag = Util.null2String(jsonObject.get("defaultFlag"));
bb.writeLog("systemUserCode:"+systemUserCode);
if(!"".equals(systemUserCode)){
if(StringUtils.isNotEmpty(systemUserCode)){
String userId = "";
String jobtitlesId = "";
String departmentId = "";
@ -519,16 +547,9 @@ public class RocketmqUtil {
}
}
if(!"".equals(userId)){
}else{
}
String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? and jobdepartmentid=? ";
String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? ";
bb.writeLog("queryRoleIdSql:"+queryRoleIdSql);
rs.executeQuery(queryRoleIdSql,postCode,departmentId);
rs.executeQuery(queryRoleIdSql,postCode);
if (rs.next()){
jobtitlesId = rs.getString("id");
}
@ -536,36 +557,34 @@ public class RocketmqUtil {
bb.writeLog("departmentId:"+departmentId);
bb.writeLog("jobtitlesId:"+jobtitlesId);
if (!"".equals(userId) && !"".equals(jobtitlesId))
if(StringUtils.isNotEmpty(jobtitlesId))
{
if("A".equals(actType)||"M".equals(actType))
if (StringUtils.isNotEmpty(userId) )
{
String updateUserJobSql = "update hrmresource set jobtitle=?,modified=?,modifier=? where id=?";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,jobtitlesId,currentDateTime,updateStaff,userId);
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
errcount++;
if("A".equals(actType) || "M".equals(actType))
{
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,jobtitlesId,currentDateTime,updateStaff,userId);
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
errcount++;
}
}else if("D".equals(actType)){
jobtitlesId = "" ;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,jobtitlesId,currentDateTime,updateStaff,userId);
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
errcount++;
}
}
}
}else{
if("A".equals(actType)||"M".equals(actType))
{
}
}
}
}
return errcount;
}
@ -605,60 +624,75 @@ public class RocketmqUtil {
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
//角色标识
String sysRoleCode = Util.null2String(jsonObject.get("sysRoleCode")).replace(" ","");
//角色名称
String sysRoleName = Util.null2String(jsonObject.get("sysRoleName"));
//状态1000 有效1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//角色描述
// String sysRoleDesc = Util.null2String(jsonObject.get("sysRoleDesc"));
//角色类型1100管理角色1000普通角色
String sysRoleType = Util.null2String(jsonObject.get("sysRoleType"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode"));
if("PC_OA".equalsIgnoreCase(systemInfoCode)){
bb.writeLog("sysRoleName:"+sysRoleName);
bb.writeLog("sysRoleCode:"+sysRoleCode);
String rolesmark = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`9 "+sysRoleName+"`~`~" ;
String rolesname = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`9 "+sysRoleName+"`~`~" ;
bb.writeLog("rolesmark:"+rolesmark);
bb.writeLog("rolesname:"+rolesname);
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);
bb.writeLog(queryRoleSql);
String id = "";
if (rs.next()){
id = rs.getString("id");
}
bb.writeLog("id:"+id);
if ("".equals(id)){
if ("A".equals(actType)){ //新增
String insertHrmrolesSql = " insert into hrmroles(rolesmark,rolesname,type,subcompanyid,ecology_pinyin_search,uuid) values(?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolesSql,new Object[]{rolesmark,rolesname,type,subcompanyid,sysRoleCode, uuid});
bb.writeLog("insertHrmroles : "+flag);
if(!flag){
errcount++;
}
//角色标识
String sysRoleCode = Util.null2String(jsonObject.get("sysRoleCode")).replace(" ","");
//角色名称
String sysRoleName = Util.null2String(jsonObject.get("sysRoleName"));
//状态1000 有效1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//角色描述
// String sysRoleDesc = Util.null2String(jsonObject.get("sysRoleDesc"));
//角色类型1100管理角色1000普通角色
String sysRoleType = Util.null2String(jsonObject.get("sysRoleType"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
bb.writeLog("sysRoleName:"+sysRoleName);
bb.writeLog("sysRoleCode:"+sysRoleCode);
String rolesmark = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`9 "+sysRoleName+"`~`~" ;
String rolesname = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`9 "+sysRoleName+"`~`~" ;
bb.writeLog("rolesmark:"+rolesmark);
bb.writeLog("rolesname:"+rolesname);
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);
bb.writeLog(queryRoleSql);
String rolesid = "";
if (rs.next()){
rolesid = rs.getString("id");
}
}else {
if ("M".equals(actType)){ //修改
String updateHrmrolesSql = " update hrmroles set rolesmark=?,rolesname=? where id=?";
boolean flag = rs.executeUpdate(updateHrmrolesSql,sysRoleName,sysRoleName,id);
bb.writeLog("updateHrmroles : "+flag);
if(!flag){
errcount++;
bb.writeLog("rolesid:"+rolesid);
if (StringUtils.isNotEmpty(rolesid)){
if ("M".equals(actType)) { //修改
String updateHrmrolesSql = " update hrmroles set rolesmark=?,rolesname=? where id=?";
boolean flag = rs.executeUpdate(updateHrmrolesSql, sysRoleName, sysRoleName, rolesid);
bb.writeLog("updateHrmroles : " + flag);
if (!flag) {
errcount++;
}
}else if ("D".equals(actType)) {
int membercount = 0;
String queryHrmRolesSql = " select id from hrmrolemembers where roleid = ?";
rs.executeQuery(queryHrmRolesSql,new Object[]{rolesid});
while (rs.next()){
membercount++;
}
if(membercount == 0){
String deleteHrmRolesSql = " delete from hrmroles where id = ?";
rs.executeUpdate(deleteHrmRolesSql,rolesid);
}
}
}else {
if ("A".equals(actType)){ //新增
String insertHrmrolesSql = " insert into hrmroles(rolesmark,rolesname,type,subcompanyid,ecology_pinyin_search,uuid) values(?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmrolesSql,new Object[]{rolesmark,rolesname,type,subcompanyid,sysRoleCode, uuid});
bb.writeLog("insertHrmroles : "+flag);
if(!flag){
errcount++;
}
}
}
}
}
return errcount;
}
@ -679,138 +713,120 @@ public class RocketmqUtil {
// "actType":"A","sysPostDesc":"test727","sysPostName":"position727","createDate":"2022-07-27 11:04:39"}],
// "tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"}
// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001",
// "requestObject":[{"content":[{"updateDate":"2022-07-19 00:51:32",
// "orgName":"Default Company","regionNbr":"1","initFlag":"0",
// "sysPostId":"6006","statusCd":"1000","systemInfoId":"727001",
// "sysPostType":"1000","orgId":"1","createStaff":"1","regionId":"731","orgCode":"1",
// "sysPostCode":"CASH_ADMIN","actType":"M","sysPostDesc":"CASH_ADMIN","sysPostName":"CASH_ADMIN",
// "createDate":"2020-11-13 11:02:11","updateStaff":"1"}],"tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"}
String creater ="1";
String created = TimeUtil.getCurrentTimeString() ;
String modified = TimeUtil.getCurrentTimeString() ;
String modifier = "1" ;
for (int i = 0; i < jsonArray.size(); i++)
{
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
//系统岗位编码
String sysPostCode = Util.null2String(jsonObject.get("sysPostCode"));
//系统岗位名称
String sysPostName = Util.null2String(jsonObject.get("sysPostName"));
//部门编码
String orgCode = Util.null2String(jsonObject.get("orgCode"));
//系统岗位状态1000 有效 1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//修改时间
String updateDate = Util.null2String(jsonObject.get("updateDate"));
//修改人
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
//创建时间
String createDate = Util.null2String(jsonObject.get("createDate"));
//创建人
String createStaff = Util.null2String(jsonObject.get("createStaff"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
String sysPostType = Util.null2String(jsonObject.get("sysPostType"));
if("1300".equals(sysPostType)){
String sysPostCode = Util.null2String(jsonObject.get("sysPostCode"));
//系统岗位名称
String sysPostName = Util.null2String(jsonObject.get("sysPostName"));
//部门编码
String orgCode = Util.null2String(jsonObject.get("orgCode"));
//系统岗位状态1000 有效 1100 无效
String statusCd = Util.null2String(jsonObject.get("statusCd"));
//修改时间
String updateDate = Util.null2String(jsonObject.get("updateDate"));
//修改人
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
//创建时间
String createDate = Util.null2String(jsonObject.get("createDate"));
//创建人
String createStaff = Util.null2String(jsonObject.get("createStaff"));
//A:新增M:修改
String actType = Util.null2String(jsonObject.get("actType"));
String departmentId = "";
String querDepartmentIdSql = "select id from hrmdepartment where departmentcode=?";
rs.executeQuery(querDepartmentIdSql,orgCode);
if (rs.next()){
departmentId = rs.getString("id");
}
String allname = "~`~`7 "+sysPostName+"`~`8 "+sysPostName+"`~`~" ;
String groupsid = "" ;
String jobgroupname = allname;
String sql = " select * from hrmjobgroups where jobgroupname = ?";
rs.executeQuery(sql,new Object[]{jobgroupname});
if(rs.next()){
groupsid = Util.null2String(rs.getString("id"));
}
String uuid = UUID.randomUUID().toString();
//creater=1 and created='' and modified='' and modifier and uuid
if("".equals(groupsid)){
sql = " insert into HrmJobGroups(jobgroupname,jobgroupremark,creater,created,modified,modifier,uuid)values(?,?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(sql,new Object[]{jobgroupname,jobgroupname,creater,created,modified,modifier,uuid});
if(flag){
sql = " select id from HrmJobGroups where uuid=? " ;
rs.executeQuery(sql,new Object[]{uuid});
if(rs.next()){
groupsid = Util.null2String(rs.getString("id"));
}
String departmentId = "";
String querDepartmentIdSql = "select id from hrmdepartment where departmentcode=?";
rs.executeQuery(querDepartmentIdSql, orgCode);
if (rs.next()) {
departmentId = rs.getString("id");
}
}
String jobactivitiesid = "" ;
String jobactivityname = allname;
if(!"".equals(groupsid)){
sql = " select id from hrmjobactivities where jobgroupid = ? and jobactivityname = ? ";
rs.executeQuery(sql,new Object[]{groupsid,jobactivityname});
if(rs.next()){
jobactivitiesid = Util.null2String(rs.getString("id"));
}
String allname = "~`~`7 " + sysPostName + "`~`8 " + sysPostName + "`~`~";
if("".equals(jobactivitiesid))
{
uuid = UUID.randomUUID().toString();
sql = " insert into hrmjobactivities(jobactivityname,jobactivitymark,jobgroupid,creater,created,modified,modifier,uuid)values(?,?,?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(sql,new Object[]{jobgroupname,jobgroupname,groupsid,creater,created,modified,modifier,uuid});
if(flag){
sql = " select id from hrmjobactivities where uuid=? " ;
rs.executeQuery(sql,new Object[]{uuid});
if(rs.next()){
jobactivitiesid = Util.null2String(rs.getString("id"));
}
}
String groupsid = "";
String jobgroupname = "DITO_MSS_LEADERSHIP";
String sql = " select * from hrmjobgroups where jobgroupname like '%"+jobgroupname+"%'";
rs.executeQuery(sql);
if (rs.next()) {
groupsid = Util.null2String(rs.getString("id"));
}
if(!"".equals(jobactivitiesid)){
String jobactivitiesid = "";
String jobactivityname = "MSS_LEADERSHIP";
if (StringUtils.isNotEmpty(groupsid)) {
sql = " select id from hrmjobactivities where jobgroupid = ? and jobactivityname like '%"+jobactivityname+"%'";
rs.executeQuery(sql, new Object[]{groupsid});
if (rs.next()) {
jobactivitiesid = Util.null2String(rs.getString("id"));
}
String jobtitlemark = allname ;
String jobtitlename = allname ;
if (StringUtils.isNotEmpty(jobactivitiesid)) {
String queryRoleSql = "select id from hrmjobtitles where jobtitlecode=? and jobdepartmentid=? and jobactivityid = ?";
rs.executeQuery(queryRoleSql,sysPostCode,departmentId,jobactivitiesid);
String jobtitleid = "";
if (rs.next()){
jobtitleid = rs.getString("id");
}
String jobtitlemark = allname;
String jobtitlename = allname;
if ("".equals(jobtitleid))
{
if ("A".equals(actType)){ //新增
uuid = UUID.randomUUID().toString();
String insertHrmjobactivitiesSql = " insert into hrmjobtitles(jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode,created,creater,modified,modifier,uuid) values(?,?,?,?,?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmjobactivitiesSql,new Object[]{jobtitlemark,jobtitlename,jobactivitiesid,departmentId,sysPostCode,created,creater,modified,modifier,uuid});
bb.writeLog("insertHrmjobactivitiesSql flag:"+flag);
if(!flag){
errcount++;
// sql = " select id from hrmjobtitles where uuid=?" ;
// rs.executeQuery(sql,new Object[]{uuid});
// if(rs.next()){
// jobtitleid = Util.null2String(rs.getString("jobtitleid"));
// }
// if(!"".equals(jobtitleid)){
// sql = " update hrmresource set jobtitle = ? where loginid = ? ";
// rs.executeUpdate(sql,new Object[]{jobtitleid,systemUserCode}) ;
// }
}
String queryRoleSql = "select id from hrmjobtitles where jobtitlecode=? and jobactivityid = ?";
rs.executeQuery(queryRoleSql, sysPostCode, departmentId, jobactivitiesid);
String jobtitleid = "";
if (rs.next()) {
jobtitleid = rs.getString("id");
}
}else {
if ("M".equals(actType)){ //修改
String updateHrmjobactivitiesSl = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=? where id=?";
boolean flag = rs.executeUpdate(updateHrmjobactivitiesSl,jobtitlemark,jobtitlename,modified,modifier,jobtitleid);
bb.writeLog("insertHrmjobactivitiesSql flag:"+flag);
if(!"".equals(flag)){
errcount++;
if (StringUtils.isNotEmpty(jobtitleid)) {
if ("M".equals(actType)) { //修改
String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=? where id=?";
boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql, jobtitlemark, jobtitlename, modified, modifier, jobtitleid);
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
if (!"".equals(flag)) {
errcount++;
}
} else if ("D".equals(actType)) {
String canceled = "1";
String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=?,canceled = ? where id=?";
boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql, jobtitlemark, jobtitlename, modified, modifier, canceled, jobtitleid);
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
if (!"".equals(flag)) {
errcount++;
}
}
}else{
if ("A".equals(actType)) { //新增
String uuid = UUID.randomUUID().toString();
String insertHrmjobactivitiesSql = " insert into hrmjobtitles(jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode,created,creater,modified,modifier,uuid) values(?,?,?,?,?,?,?,?,?,?)";
boolean flag = rs.executeUpdate(insertHrmjobactivitiesSql, new Object[]{jobtitlemark, jobtitlename, jobactivitiesid, departmentId, sysPostCode, created, creater, modified, modifier, uuid});
bb.writeLog("insertHrmjobactivitiesSql flag:" + flag);
if (!flag) {
errcount++;
}
}
}
}
}
}
}
return errcount;
}
/***
*
*/
public void removeCache(){
ResourceComInfo resComInfo;
DepartmentComInfo deptComInfo;
@ -838,6 +854,26 @@ public class RocketmqUtil {
// "createDate":"2022-08-09 09:47:54","updateStaff":"1"}],"tableName":"staff","primaryKey":"staffId"}],"key":"svcCont"}
String locationid = "2" ;
String seclevel = "20" ;
String createrid = "1" ;
String lastmodid = "1" ;
String creator = "1";
String systemlanguage = "8" ;
String currentDate = TimeUtil.getCurrentDateString();//当前日期
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
bb.writeLog("currentDate:"+currentDate);
String jobTitleId = "" ;
String defaultJobCode = bb.getPropValue("PORTAL_INFO","defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode});
if(rs.next()){
jobTitleId = Util.null2String(rs.getString("id"));
}
}
int errcount = 0;
for(int i=0;i<jsonArray.size();i++)
{
@ -854,13 +890,15 @@ public class RocketmqUtil {
String pwdSmsTel = Util.null2String(jsonObject.get("pwdSmsTel"));
String loginedNum = Util.null2String(jsonObject.get("sysUserId"));
String statusCd = Util.null2String(jsonObject.get("statusCd"));
String staffType = Util.null2String(jsonObject.get("staffType"));
String status = "1";
if("1100".equals(staffType) || "1200".equals(staffType) || "1300".equals(staffType)){
status = "5";
}
bb.writeLog("status:"+status);
// if("1100".equals(statusCd) || "1200".equals(statusCd) || "1300".equals(statusCd)){
// status = "5";
// }
bb.writeLog("staffType:"+staffType);
String subcompanyid1 = "" ;
@ -876,19 +914,6 @@ public class RocketmqUtil {
bb.writeLog("deptId:"+deptId);
bb.writeLog("subcompanyid1:"+subcompanyid1);
String locationid = "2" ;
String seclevel = "20" ;
String createrid = "1" ;
String lastmodid = "1" ;
String creator = "1";
String jobTitleId = "40";
String systemlanguage = "8" ;
String currentDate = TimeUtil.getCurrentDateString();//当前日期
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
bb.writeLog("status:"+status);
bb.writeLog("currentDate:"+currentDate);
String loginid = "";
String sql = " select loginid from hrmresource where workcode=?" ;
bb.writeLog("sql:"+sql);
@ -898,25 +923,21 @@ public class RocketmqUtil {
loginid = Util.null2String(rs.getString("loginid"));
}
String lastname = " ~`~`7 "+staffName+"`~`8 "+staffName+"`~`~";
bb.writeLog("loginid:"+loginid);
if(!"".equals(deptId))
if(StringUtils.isNotEmpty(deptId))
{
if(!"".equals(loginid))
if(StringUtils.isNotEmpty(loginid))
{
if("M".equalsIgnoreCase(actType))
{
String userUpdateSql = " update hrmresource set lastname=?,departmentid=?,subcompanyid1=?," +
" creater=?,email=?,mobile=?,jobtitle=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? ";
bb.writeLog("userUpdateSql:"+userUpdateSql);
boolean flag = rs.executeUpdate(userUpdateSql,new Object[]{lastname,deptId,subcompanyid1,creator,email,
pwdSmsTel,jobTitleId,status,loginedNum,currentDate,currentDateTime,staffCode});
bb.writeLog("flag:"+flag);
if(!flag){
errcount++;
}
@ -933,12 +954,6 @@ public class RocketmqUtil {
}else{
if("A".equalsIgnoreCase(actType))
{
// int tmpid = 0;
// rs.executeSql("select max(id) from HrmResourceVirtual ");
// if(rs.next()){
// tmpid = rs.getInt(1)+1;
// }
String pwd = "1";
String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密
bb.writeLog("password:"+password);
@ -948,7 +963,7 @@ public class RocketmqUtil {
String id = "" + rs.getInt(1);
bb.writeLog("id:"+id);
if(!"".equals(id)){
if(StringUtils.isNotEmpty(id)){
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) " +
@ -969,5 +984,4 @@ public class RocketmqUtil {
return errcount;
}
}

@ -10,39 +10,31 @@ 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");
public void sendMail(String requestid,String emails,String notificationSubject,String notificationContent){
SimpleDateFormat sdf = new SimpleDateFormat("");
BaseBean bb = new BaseBean();
String emailUrl = bb.getPropValue("PORTAL_INFO","mailUrl");
String emailMethod = bb.getPropValue("PORTAL_INFO","mailMethod");
String eventCode = bb.getPropValue("PORTAL_INFO","eventCode");
String notificationType = bb.getPropValue("PORTAL_INFO","notificationType");
String channel = bb.getPropValue("PORTAL_INFO","channel");
String version = bb.getPropValue("PORTAL_INFO","version");
String triggerTime =sdf.format(new Date());
// {
// "request":{
// "eventCode":"",
// "transId":"",
// "triggerTime":"20221020094013",
// "notificationType":"EMAIL",
// "email":"798989044@qq.com",
// "channel":"OA",
// "notificationSubject":"新待办到达",
// "notificationContent":"新待办到达,清及时处理"
// }
// }
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",eventCode);
requestJson.put("eventCode",emailEventCode);
requestJson.put("triggerTime",triggerTime);
requestJson.put("notificationType",notificationType);
requestJson.put("notificationType",emailNotificationType);
requestJson.put("email",emails);
requestJson.put("channel",channel);
requestJson.put("channel",emailChannel);
requestJson.put("notificationSubject",notificationSubject);
requestJson.put("notificationContent",notificationContent);
@ -67,14 +59,13 @@ public class SendMailUtil {
JSONObject jsonObject = new JSONObject();
jsonObject.put("access_token",accessToken);
jsonObject.put("method",emailMethod);
jsonObject.put("version",version);
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}"
System.out.println(jsonObject.toJSONString());
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType,jsonObject.toJSONString());
Request request = new Request.Builder()
@ -91,49 +82,48 @@ public class SendMailUtil {
}
}
/***
*
* @return
*/
public String doGetAccessToken(){
String responseData = "" ;
BaseBean bb = new BaseBean();
RSAUtils RSAUtils = new RSAUtils();
String tokenUrl = bb.getPropValue("","") ; //"http://10.26.4.136:80/api/oauth2/apigAuthorize"
String appCode = bb.getPropValue("","") ;
String appSecret = bb.getPropValue("","") ;
String responseType = bb.getPropValue("","") ; //token
String privateKey = bb.getPropValue("","") ;
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 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}"
String timestamp = System.currentTimeMillis() + "";
try {
// 生成签名
String sign = RSAUtils.generateSign("", appCode, appSecret, timestamp, privateKey);
System.out.println("sign == " + sign);
String sign = RSAUtils.generateSign("", emainAppCode, emailAppSecret, timestamp, emailPrivateKey);
// System.out.println("sign == " + sign);
JSONObject jsonObject = new JSONObject();
jsonObject.put("appCode",appCode);
jsonObject.put("appSecret",appSecret);
jsonObject.put("responseType",responseType);
jsonObject.put("appCode",emainAppCode);
jsonObject.put("appSecret",emailAppSecret);
jsonObject.put("responseType",emailResponseType);
jsonObject.put("timestamp",timestamp);
jsonObject.put("sign",timestamp);
jsonObject.put("sign",sign);
System.out.println(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(tokenUrl)
.url(emailTokenUrl)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
bb.writeLog("response.code():"+response.code());
bb.writeLog("response.body():"+response.body().string());
baseBean.writeLog("response.code():"+response.code());
baseBean.writeLog("response.body():"+response.body().string());
responseData = response.body().string();
} catch (IOException e) {
e.printStackTrace();
@ -142,4 +132,22 @@ public class SendMailUtil {
}
return responseData;
}
public static void main(String[] args) {
String emailTokenUrl = "http://10.26.4.136:80/api/oauth2/apigAuthorize";
String emainAppCode = "OA" ;
String emailAppSecret = "fb84e1689ea357b2";
String emailResponseType = "token";
String emailPrivateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCr1guc7ypKVF0l8mwOdV0c11X4ITjvscVYNbLxoXe6jb2Cm/yDyyAAvPw3NdoePYIw16GGQ739MVPoP0TU6KQE0gYg9hfFNCdOCyGWx+asD/jzYb6gQAmlwgzfC/SgUvVx/blC5mpE3ZcPNsxifRU5DcJkxVA10DPJfLOBctl4y49IC/FfuljytekaA0avbWdEbLJ9JZaHhKumEAVlC/wTCW4qAf28MICmX/28ZLvffJ7jO+P1WvrJHKgtu3kUrlFkfpJQIAxRXVqoL4BoBsCYq6f2UA1B4gyABHB/f0fDjWH7j4XWVq+jwIrvsr/bW/QJEwMRLsEcrtHgPnD5pPqJAgMBAAECggEAFCayTvGXJodVMx2GQX3O8RJpoQMYX7ebunf1p7N1THnRxw7O4o/ADYYcF8dncFNrQJoQ9aNdFOOjgOFmi4dKsMwGbvgdGoG+uD7C7iE8MmJfIf+M8NMBrqAejUukIOcJpJgKEUffH3tS+zREbKpZgkrUSKgA+4aShCbtEBmtWiZnXkOsC6JufcU4xxgzYePUQPvaOemBTdtGUK9CDYpkm4ozfjy6CNeA+oeAjXonMb8M1B+7qucZpKKJytJYxRnLsylQ3oKM0nSIpzhYTHdTBJbQMk+gty2jTgUIfdjt0sW2HL71n0Pt2rI66UcIEi2mz6lVbhAA1YNqzBBX056h2QKBgQDwNhlxTEPwz025eaEpYlyhJpMdnUtaPawAH0Ucabu9B0zWPy0L1tB8GAJdTSwtZ0y2Apo+YOSR3Oc3k54zYAZQXTN+j5uSO2NbKDHRehHVF0gLkfZBVRJJxiRNZ9qVR+kuQYD2ly7fndZjrJ0E+ilnUclJAmHtl/NPqr7/HASnzQKBgQC3IW9RN03l9UhsgXTEvqkTok0xFkoD0R0QuNq1ICOOggIkfEDxHGarRNozkCg6qor98J4whqFT3P825eOG+jRLJL0C3rLVJ15wbWM+SHzfhFNyQFlc2CohPImQvAc808KvH4gkv7HxaWP+8M/35UmAEIkx6KV1OAMp47foct7prQKBgQCujxHUJJDmyS75TusP0Nvxe7/C8JBWpqR8fjzR1gBI8Koks0o/5T4iP6xQMwmcgQnc5m1CUVUorngUCiEXwns0IVaPbTqnfKLKFp6FVIjq6n0/czWZ6oFcvTGaUpMkklpgc9eM2vaEKAYo7sI4YLZ/z45PkPyrFRYKWdFsP+ceLQKBgQCNR74ZahEu14yIKVdscar++reSpx9y0mEaBYK1OZY02xfMDhAL811BxFySaySeHfQc9QUVasgLavN55uEhwOWXE0C+dhCBYV36XmmyIzozNmMqQXqvphTaj1mRz33F75jCghEGSN1+4U/D3wSSutF5e0hcuJ7tT8khCA1Zx0UyAQKBgCVtltsh+bMIlnjKARhIab2G13WkrR89ZEqjRIrFOeCyr5bD3yn/tAJZ7HIhr6/YkjmYi/T04QcElpctPFLHi0wS6Hy9mP2pBI+PIit9mzK3sXoqR/Bew/KqzJF6Ow5iVXiQfcHaYaI9C1EN7iMtVK6h/KWlKjg4Pv+9Xu5INimd";
String timestamp = System.currentTimeMillis() + "";
try {
String sign = RSAUtils.generateSign("", emainAppCode, emailAppSecret, timestamp, emailPrivateKey);
System.out.println(sign);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Loading…
Cancel
Save