From 6031129542031c9120c7b1433203e93c20ffb928 Mon Sep 17 00:00:00 2001 From: WangJie <805650258@qq.com> Date: Thu, 27 Oct 2022 20:21:36 +0800 Subject: [PATCH] =?UTF-8?q?#=E5=A4=84=E7=90=86=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E5=B7=B2=E5=8A=9E=E6=89=93=E5=BC=80=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB-INF/prop/PORTAL_INFO.properties | 5 + .../sendtodo/SendPortalDoneUtil.java | 596 ++++++++++-------- .../sendtodo/SendPortalTodoRunnable.java | 16 +- .../sendtodo/SendPortalTodoUtil.java | 81 ++- 4 files changed, 386 insertions(+), 312 deletions(-) diff --git a/WEB-INF/prop/PORTAL_INFO.properties b/WEB-INF/prop/PORTAL_INFO.properties index c0e64645..d2ba7472 100644 --- a/WEB-INF/prop/PORTAL_INFO.properties +++ b/WEB-INF/prop/PORTAL_INFO.properties @@ -47,6 +47,11 @@ passwd = Uportal_123 ##流程详情页的url bpm_workflowurl = http://172.16.25.133/bpm +##移动端流程详情页的url +bpm_app_workflowurl = https://131.226.95.10:9443/bpm +##移动端流程表单地址 +bpm_app_requesturl = /bpm/spa/workflow/static4mobileform/index.html#/req?requestid= + ## 门户待办类型 center = MCCM diff --git a/src/com/customization/sendtodo/SendPortalDoneUtil.java b/src/com/customization/sendtodo/SendPortalDoneUtil.java index 42ad71c9..69d8253e 100644 --- a/src/com/customization/sendtodo/SendPortalDoneUtil.java +++ b/src/com/customization/sendtodo/SendPortalDoneUtil.java @@ -8,6 +8,9 @@ import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + public class SendPortalDoneUtil { /*** @@ -16,7 +19,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendDoneDataByCreateNode(String requestid,String noideid,User user,String portal_doneurl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendDoneDataByCreateNode(String requestid, String noideid, User user, String portal_doneurl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -25,87 +28,90 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByCreateNode"); - String ticketType = center ; - String terminal = "1" ; - String actionType = "0" ; + String ticketType = center; + String terminal = "1"; + String actionType = "0"; String taskType = "0"; - String objectAction = "0" ; + String objectAction = "0"; String objectType = "0"; - String objectId = "" ; + String objectId = ""; try { JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ + " left join workflow_nodebase d1 on d1.id = t1.currentnodeid " + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + " and t1.requestid = " + requestid; - bb.writeLog("sendTodoDataByNode--sql:"+sql); + bb.writeLog("sendTodoDataByNode--sql:" + sql); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } String usercode = user.getLoginid(); JSONObject taskObject = new JSONObject(); - String objectCode = usercode ; - String operatorCode = usercode ; - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + String objectCode = usercode; + String operatorCode = usercode; + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalDoneErrorInfo(); } } @@ -124,7 +130,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendDoneDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendDoneDataByNode(String requestid, String noideid, User user, String portal_todourl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -134,15 +140,15 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByNode"); - String ticketType = center ; - String terminal = "1" ; + String ticketType = center; + String terminal = "1"; String taskType = "0"; - String objectId = "" ; + String objectId = ""; try { - int count = 0 ; - String countSql =" select t2.userid,h1.loginid\n" + + int count = 0; + String countSql = " select t2.userid,h1.loginid\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + @@ -150,121 +156,127 @@ public class SendPortalDoneUtil { " and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '8', '9', '7', '11'))\n" + " and t2.islasttimes = 1\n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid+ - " and t2.nodeid = " + noideid ; - bb.writeLog("sendTodoDataByNode--countSql:"+countSql); + " and t2.REQUESTID = " + requestid + + " and t2.nodeid = " + noideid; + bb.writeLog("sendTodoDataByNode--countSql:" + countSql); rs.executeQuery(countSql); - while (rs.next()){ + while (rs.next()) { count++; } - bb.writeLog("sendTodoDataByNode--count:"+count); + bb.writeLog("sendTodoDataByNode--count:" + count); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ + " left join workflow_nodebase d1 on d1.id = t1.currentnodeid " + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; - bb.writeLog("sendTodoDataByNode--sql:"+sql); + " and t1.requestid = " + requestid; + bb.writeLog("sendTodoDataByNode--sql:" + sql); - if(count >0){ + if (count > 0) { JSONArray taskObjectList = new JSONArray(); - String actionType = "1" ; - String objectAction = "1" ; + String actionType = "1"; + String objectAction = "1"; String objectType = "0"; rs.executeQuery(sql); - if (rs.next()){ - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - String objectCode = user.getLoginid() ; - String operatorCode = user.getLoginid() ; + String objectCode = user.getLoginid(); + String operatorCode = user.getLoginid(); JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); - }else{ - String actionType = "2" ; - String objectAction = "0" ; + } else { + String actionType = "2"; + String objectAction = "0"; String objectType = "0"; JSONArray taskObjectList = new JSONArray(); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - sql = " select t2.userid,h1.loginid,h1.email\n" + + sql = " select t2.userid,h1.loginid,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + @@ -272,36 +284,36 @@ public class SendPortalDoneUtil { " and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '8', '9', '7', '11'))\n" + " and t2.islasttimes = 1\n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid; - bb.writeLog("sendTodoDataByNode--sql:"+sql); + " and t2.REQUESTID = " + requestid; + bb.writeLog("sendTodoDataByNode--sql:" + sql); rs.executeQuery(sql); - while (rs.next()){ + while (rs.next()) { - String usercode = Util.null2String(rs.getString("loginid")) ; - String objectCode = usercode ; - String operatorCode = usercode ; + String usercode = Util.null2String(rs.getString("loginid")); + String objectCode = usercode; + String operatorCode = usercode; JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); } - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); } String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } } @@ -319,7 +331,7 @@ public class SendPortalDoneUtil { * @param noideid * @param user */ - public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByReject(String requestid, String noideid, User user, String portal_todourl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl) { HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -329,63 +341,66 @@ public class SendPortalDoneUtil { BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByReject"); RecordSet rs = new RecordSet(); - String ticketType = center ; - String terminal = "1" ; + String ticketType = center; + String terminal = "1"; String taskType = "0"; - String objectAction = "0" ; + String objectAction = "0"; String objectType = "0"; - String objectId = "" ; + String objectId = ""; try { - String actionType = "2" ; + String actionType = "2"; JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql = " select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ + " left join workflow_nodebase d1 on d1.id = t1.currentnodeid " + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; - bb.writeLog("sendTodoDataByReject--sql:"+sql); + " and t1.requestid = " + requestid; + bb.writeLog("sendTodoDataByReject--sql:" + sql); rs.executeQuery(sql); - if (rs.next()){ - - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String taskCode = Util.null2String(rs.getString("taskcode")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("taskCode",taskCode); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + if (rs.next()) { + + String title = Util.null2String(rs.getString("requestname")); + String creator = Util.null2String(rs.getString("loginid")); + String workcode = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + String nodeId = Util.null2String(rs.getString("nodeid")); + + String createdate = Util.null2String(rs.getString("createdate")); + String createtime = Util.null2String(rs.getString("createtime")); + String messageTitle = Util.null2String(rs.getString("requestname")); + String messageContent = Util.null2String(rs.getString("requestname")); + + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String urlDing = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; + String nodeName = Util.null2String(rs.getString("nodeName")); + + requestObject.put("center", center); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeId); + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", createdate + " " + createtime); + requestObject.put("messageTitle", messageTitle); + requestObject.put("messageContent", messageContent); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlApp", urlApp); + requestObject.put("urlDing", urlDing); + requestObject.put("nodeName", nodeName); + requestObject.put("ticketType", ticketType); } - sql = " select t2.userid,h1.loginid,h1.email\n" + + sql = " select t2.userid,h1.loginid,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + @@ -393,39 +408,39 @@ public class SendPortalDoneUtil { " and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '8', '9', '7', '11'))\n" + " and t2.islasttimes = 1\n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.REQUESTID = "+requestid; + " and t2.REQUESTID = " + requestid; - bb.writeLog("sendTodoDataByReject--sql:"+sql); + bb.writeLog("sendTodoDataByReject--sql:" + sql); rs.executeQuery(sql); - while (rs.next()){ + while (rs.next()) { - String usercode = Util.null2String(rs.getString("loginid")) ; + String usercode = Util.null2String(rs.getString("loginid")); JSONObject taskObject = new JSONObject(); - String objectCode = usercode ; + String objectCode = usercode; - String operatorCode = usercode ; + String operatorCode = usercode; - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); + taskObject.put("objectAction", objectAction); + taskObject.put("objectType", objectType); + taskObject.put("objectCode", objectCode); + taskObject.put("objectId", objectId); + taskObject.put("operatorCode", operatorCode); taskObjectList.add(taskObject); } - requestObject.put("taskObjectList",taskObjectList); + requestObject.put("taskObjectList", taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ + bb.writeLog("requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth); + bb.writeLog("msgdata:" + msgdata); + if (!"".equals(msgdata)) { JSONObject msgObject = JSONObject.parseObject(msgdata); //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ + if (msgObject.containsKey("resultCode")) { String resultCode = msgObject.getString("resultCode"); - if(!"0".equals(resultCode)){ + if (!"0".equals(resultCode)) { sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); } } @@ -435,59 +450,70 @@ public class SendPortalDoneUtil { } } - public void sendPortalDoneData(String requestid,String nodeid,User user,String portal_doneurl,String username,String passwd,String bpm_workflowurl) { + public void sendPortalDoneData(String requestid, String nodeid, User user, String portal_doneurl, String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String bpm_app_requesturl) { BaseBean bb = new BaseBean(); - HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); - RecordSet rs = new RecordSet(); - String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - String isRecall = "1"; - String actionType = "0"; - int userid = user.getUID(); - String workcode = ""; - String sql = "select loginid from hrmresource where id = '" + userid + "'"; - rs.execute(sql); - while (rs.next()) { - workcode = Util.null2String(rs.getString("loginid")); - } + try { + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); + RecordSet rs = new RecordSet(); + String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); + String isRecall = "1"; + String actionType = "0"; + int userid = user.getUID(); + String workcode = ""; + String sql = "select loginid from hrmresource where id = '" + userid + "'"; + rs.execute(sql); + while (rs.next()) { + workcode = Util.null2String(rs.getString("loginid")); + } - String center = bb.getPropValue("PORTAL_INFO", "center"); - String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType"); - String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; - String urlApp = "[newtab]" + bpm_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; - sql = " select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + - " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + - " from workflow_requestbase t1\n" + - " inner join workflow_base t3 on t1.workflowid = t3.id\n" + - " left join workflow_nodebase d1 on d1.id = t1.currentnodeid " + - " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = " + requestid; - rs.execute(sql); - while (rs.next()) { - String title = Util.null2String(rs.getString("requestname")); + String center = bb.getPropValue("PORTAL_INFO", "center"); + String ticketType = bb.getPropValue("PORTAL_INFO", "done_ticketType"); + String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; + String app_requestUrl = bpm_app_requesturl + requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); + String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + sql = " select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + + " from workflow_requestbase t1\n" + + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + + " left join workflow_nodebase d1 on d1.id = t1.currentnodeid " + + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + + " and t1.requestid = " + requestid; + rs.execute(sql); + while (rs.next()) { + String title = Util.null2String(rs.getString("requestname")); + String workflowid = Util.null2String(rs.getString("workflowid")); + String workflowname = getWorkflowname(workflowid); // title = getShortMessageTitle(title); - String creator = Util.null2String(rs.getString("loginid")); - String taskCode = Util.null2String(rs.getString("taskcode")); - JSONObject requestObject = new JSONObject(); - requestObject.put("center", center); - requestObject.put("taskCode", taskCode); - requestObject.put("nodeId", nodeid); - requestObject.put("ticketType", ticketType); - requestObject.put("title", title); - requestObject.put("creator", creator); - requestObject.put("processStaff", workcode); - requestObject.put("processTime", processTime); - requestObject.put("isRecall", isRecall); - requestObject.put("actionType", actionType); - requestObject.put("urlPC", urlPc); - requestObject.put("urlApp", urlApp); + String creator = Util.null2String(rs.getString("loginid")); + String taskCode = Util.null2String(rs.getString("taskcode")); + JSONObject requestObject = new JSONObject(); + requestObject.put("center", center); + requestObject.put("taskCode", taskCode); + requestObject.put("nodeId", nodeid); + requestObject.put("ticketType", workflowname); + requestObject.put("title", title); + requestObject.put("creator", creator); + requestObject.put("processStaff", workcode); + requestObject.put("processTime", processTime); + requestObject.put("isRecall", isRecall); + requestObject.put("actionType", actionType); + requestObject.put("urlPC", urlPc); + requestObject.put("urlApp", urlApp); + + String auth = username + ":" + passwd; + bb.writeLog("done requestObject:" + requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); + bb.writeLog("done msgdata:" + msgdata); + } - String auth = username + ":" + passwd; - bb.writeLog("done requestObject:" + requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); - bb.writeLog("done msgdata:" + msgdata); + } catch (Exception e) { + bb.writeLog("done Exception"); + bb.writeLog(e.getMessage()); } } + private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; @@ -495,5 +521,15 @@ public class SendPortalDoneUtil { return messageTitle; } + private String getWorkflowname(String id) { + RecordSet rs = new RecordSet(); + String name = ""; + rs.executeQuery("select workflowname from workflow_base where id = ?", id); + while (rs.next()) { + name = Util.null2String(rs.getString("workflowname")); + } + return name; + } + } diff --git a/src/com/customization/sendtodo/SendPortalTodoRunnable.java b/src/com/customization/sendtodo/SendPortalTodoRunnable.java index 97023a4e..0d21a9e3 100644 --- a/src/com/customization/sendtodo/SendPortalTodoRunnable.java +++ b/src/com/customization/sendtodo/SendPortalTodoRunnable.java @@ -33,19 +33,21 @@ public class SendPortalTodoRunnable implements Runnable{ String passwd = bb.getPropValue("PORTAL_INFO","passwd"); String center = bb.getPropValue("PORTAL_INFO","center"); String bpm_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_workflowurl"); + String bpm_app_workflowurl = bb.getPropValue("PORTAL_INFO","bpm_app_workflowurl"); String portal_doneurl = bb.getPropValue("PORTAL_INFO","portal_doneurl"); + String bpm_app_requesturl = bb.getPropValue("PORTAL_INFO","bpm_app_requesturl"); if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,username,passwd,bpm_workflowurl,center); + sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); }else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( new_requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( new_requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); }else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){ - sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); }else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){ - sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,username,passwd,bpm_workflowurl,center); - sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl, username, passwd, bpm_workflowurl); + sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalDoneUtil.sendPortalDoneData( requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); } } diff --git a/src/com/customization/sendtodo/SendPortalTodoUtil.java b/src/com/customization/sendtodo/SendPortalTodoUtil.java index 02a452e7..3f7696ab 100644 --- a/src/com/customization/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/sendtodo/SendPortalTodoUtil.java @@ -8,6 +8,8 @@ import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; import weaver.interfaces.util.SendMailUtil; + +import java.net.URLEncoder; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -20,7 +22,7 @@ public class SendPortalTodoUtil { * @param requestId * @param user */ - public void sendTodoDataByCreater(String requestId, User user, String portal_todourl, String username, String passwd, String bpm_workflowurl, String center){ + public void sendTodoDataByCreater(String requestId, User user, String portal_todourl,String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -47,7 +49,7 @@ public class SendPortalTodoUtil { JSONObject requestObject = new JSONObject(); try { int userid = user.getUID(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t2.nodeid,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t2.nodeid,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskcode,d1.nodename,h1.email\n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + @@ -64,9 +66,11 @@ public class SendPortalTodoUtil { rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; String creator = Util.null2String(rs.getString("loginid")) ; + String workcode = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; @@ -80,7 +84,10 @@ public class SendPortalTodoUtil { messageTitle = getShortMessageTitle(messageTitle); String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestId ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestId; + String app_requestUrl = bpm_app_requesturl+requestId; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; + String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestId; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -99,7 +106,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); JSONArray taskObjectList = new JSONArray(); JSONObject taskObject = new JSONObject(); @@ -164,7 +171,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByCreateNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByCreateNode(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -192,7 +199,7 @@ public class SendPortalTodoUtil { try { JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -204,9 +211,11 @@ public class SendPortalTodoUtil { bb.writeLog("sendTodoDataByNode--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; String creator = Util.null2String(rs.getString("loginid")) ; + String workcode = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; @@ -219,7 +228,9 @@ public class SendPortalTodoUtil { messageTitle = getShortMessageTitle(messageTitle); String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -238,7 +249,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -314,7 +325,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -353,7 +364,7 @@ public class SendPortalTodoUtil { } bb.writeLog("sendTodoDataByNode--count:"+count); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -372,12 +383,14 @@ public class SendPortalTodoUtil { rs.executeQuery(sql); if (rs.next()){ + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -385,7 +398,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -404,7 +419,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } String objectCode = user.getLoginid() ; @@ -426,13 +441,14 @@ public class SendPortalTodoUtil { JSONArray taskObjectList = new JSONArray(); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -440,7 +456,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -459,7 +477,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -535,7 +553,7 @@ public class SendPortalTodoUtil { * @param noideid * @param user */ - public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ + public void sendTodoDataByReject(String requestid,String noideid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); @@ -560,7 +578,7 @@ public class SendPortalTodoUtil { String actionType = "2" ; JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + + String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -571,13 +589,14 @@ public class SendPortalTodoUtil { bb.writeLog("sendTodoDataByReject--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ - + String workflowid = Util.null2String(rs.getString("workflowid")) ; + String workflowname = getWorkflowname(workflowid); String title = Util.null2String(rs.getString("requestname")) ; requestname = title ; String creator = Util.null2String(rs.getString("loginid")) ; String taskCode = Util.null2String(rs.getString("taskcode")) ; String nodeId = Util.null2String(rs.getString("nodeid")) ; - + String workcode = Util.null2String(rs.getString("loginid")) ; String createdate = Util.null2String(rs.getString("createdate")) ; String createtime = Util.null2String(rs.getString("createtime")) ; String messageTitle = Util.null2String(rs.getString("requestname")) ; @@ -585,7 +604,9 @@ public class SendPortalTodoUtil { String messageContent = Util.null2String(rs.getString("requestname")) ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String urlApp = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); + String urlApp = "[newtab]"+bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; String urlDing = "[newtab]"+bpm_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?requestid="+requestid; String nodeName = Util.null2String(rs.getString("nodeName")) ; @@ -604,7 +625,7 @@ public class SendPortalTodoUtil { requestObject.put("urlApp",urlApp); requestObject.put("urlDing",urlDing); requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",ticketType); + requestObject.put("ticketType",workflowname); } sql = " select t2.userid,h1.loginid,h1.email\n" + @@ -681,4 +702,14 @@ public class SendPortalTodoUtil { return messageTitle; } + private String getWorkflowname(String id){ + RecordSet rs = new RecordSet(); + String name = ""; + rs.executeQuery("select workflowname from workflow_base where id = ?",id); + while (rs.next()){ + name = Util.null2String(rs.getString("workflowname")); + } + return name; + } + }