diff --git a/src/com/customization/sendtodo/SendPortalTodoRunnable.java b/src/com/customization/sendtodo/SendPortalTodoRunnable.java index fd659e1b..4897cbb7 100644 --- a/src/com/customization/sendtodo/SendPortalTodoRunnable.java +++ b/src/com/customization/sendtodo/SendPortalTodoRunnable.java @@ -59,8 +59,6 @@ public class SendPortalTodoRunnable implements Runnable{ */ public void sendTodoDataByCreater(String requestId, User user, String portal_todourl, String username, String passwd, String bpm_workflowurl, String center){ - //HttpReqUtils httpReqUtils = new HttpReqUtils(); - SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); BaseBean bb = new BaseBean(); @@ -68,12 +66,16 @@ public class SendPortalTodoRunnable implements Runnable{ 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); @@ -132,10 +134,9 @@ public class SendPortalTodoRunnable implements Runnable{ JSONArray taskObjectList = new JSONArray(); JSONObject taskObject = new JSONObject(); - String objectAction = "0" ; - String objectType = "0"; + String objectCode = creator ; - String objectId = "" ; + String operatorCode = creator ; taskObject.put("objectAction",objectAction); @@ -147,7 +148,6 @@ public class SendPortalTodoRunnable implements Runnable{ requestObject.put("taskObjectList",taskObjectList); - String email = Util.null2String(rs.getString("email")) ; Matcher matcher = regex.matcher(email); if(matcher.matches()){ @@ -193,138 +193,128 @@ public class SendPortalTodoRunnable implements Runnable{ */ public void sendTodoDataByCreateNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ - //HttpReqUtils httpReqUtils = new HttpReqUtils(); 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"); - RecordSet rs = new RecordSet(); + String ticketType = center ; String terminal = "1" ; - try { - - String currentnodetype = "" ; - String sql = " select currentnodetype from workflow_requestbase where requestid="+requestid; - rs.executeQuery(sql); - bb.writeLog("sendTodoDataByNode--sql:"+sql); - if (rs.next()){ - currentnodetype = Util.null2String(rs.getString("CURRENTNODETYPE")); - } - bb.writeLog("sendTodoDataByNode--currentnodetype:"+currentnodetype); - if("3".equals(currentnodetype)){ - String actionType = "3" ; - - }else{ + String actionType = "0" ; + String taskType = "0"; + String objectAction = "0" ; + String objectType = "0"; + String objectId = "" ; - String actionType = "0" ; - JSONArray taskObjectList = new JSONArray(); - 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,h1.email\n" + + 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,email from hrmresource where status = 1 union all select id, lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + + " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " 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")) ; + bb.writeLog("sendTodoDataByNode--sql:"+sql); + rs.executeQuery(sql); + if (rs.next()){ - 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 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 taskType = "0"; + 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 email = Util.null2String(rs.getString("email")) ; - emailArray.add(email); - } + 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")) ; - 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("sendTodoDataByNode--sql:"+sql); - rs.executeQuery(sql); - while (rs.next()){ + 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 = Util.null2String(rs.getString("loginid")) ; - JSONObject taskObject = new JSONObject(); - String objectAction = "0" ; - String objectType = "0"; - String objectCode = usercode ; - String objectId = "" ; - String operatorCode = usercode ; + 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; - taskObject.put("objectAction",objectAction); - taskObject.put("objectType",objectType); - taskObject.put("objectCode",objectCode); - taskObject.put("objectId",objectId); - taskObject.put("operatorCode",operatorCode); - taskObjectList.add(taskObject); + bb.writeLog("sendTodoDataByNode--sql:"+sql); + rs.executeQuery(sql); + while (rs.next()){ - String email = Util.null2String(rs.getString("email")) ; + 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); + 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(); - } + 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(); } } } @@ -341,32 +331,24 @@ public class SendPortalTodoRunnable implements Runnable{ * @param user */ public void sendTodoDataByNode(String requestid,String noideid,User user,String portal_todourl,String username,String passwd,String bpm_workflowurl,String center){ - HttpReqUtils httpReqUtils = new HttpReqUtils(); + SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); + SendMailUtil sendMailUtil = new SendMailUtil(); JSONObject requestObject = new JSONObject(); + RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); bb.writeLog("sendTodoDataByNode"); - RecordSet rs = new RecordSet(); + String ticketType = center ; String terminal = "1" ; - try { - - String currentnodetype = "" ; - String sql = " select currentnodetype from workflow_requestbase where requestid="+requestid; - rs.executeQuery(sql); - bb.writeLog("sendTodoDataByNode--sql:"+sql); - if (rs.next()){ - currentnodetype = Util.null2String(rs.getString("CURRENTNODETYPE")); - } - bb.writeLog("sendTodoDataByNode--currentnodetype:"+currentnodetype); - if("3".equals(currentnodetype)){ - String actionType = "3" ; - - }else{ + String taskType = "0"; - String actionType = "" ; - int count = 0 ; - sql = " select t2.userid,h1.loginid\n" + + 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" + @@ -376,245 +358,87 @@ public class SendPortalTodoRunnable implements Runnable{ " 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); - 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 taskType = "0"; - - 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() ; + rs.executeQuery(sql); + if (rs.next()){ - 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 taskType = "0"; - - 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 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")) ; -// 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.REQUESTID = "+requestid+ -// " and t2.nodeid = " + noideid ; -// bb.writeLog("sendTodoDataByNode--sql:"+sql); -// rs.executeQuery(sql); -// while (rs.next()){ -// 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); -// } - - 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("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); - } - requestObject.put("taskObjectList",taskObjectList); - } + 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 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 = httpReqUtils.doPostByAuth2(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ - JSONObject msgObject = JSONObject.parseObject(msgdata); - System.out.println(msgObject); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } + 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")) ; - /*** - * 操作退回时执行 - * @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){ + 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); + } - HttpReqUtils httpReqUtils = new HttpReqUtils(); - JSONObject requestObject = new JSONObject(); + JSONObject taskObject = new JSONObject(); + String objectAction = "1" ; + String objectType = "0"; + String objectCode = user.getLoginid() ; + String objectId = "" ; + String operatorCode = user.getLoginid() ; - BaseBean bb = new BaseBean(); - bb.writeLog("sendTodoDataByReject"); - RecordSet rs = new RecordSet(); - String ticketType = center ; - String terminal = "1" ; - try { + 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 currentnodetype = "" ; - String sql = " select currentnodetype from workflow_requestbase where requestid="+requestid; - rs.executeQuery(sql); - bb.writeLog("sendTodoDataByReject--sql:"+sql); - if (rs.next()){ - currentnodetype = Util.null2String(rs.getString("CURRENTNODETYPE")); - } - bb.writeLog("sendTodoDataByReject--currentnodetype:"+currentnodetype); - if("3".equals(currentnodetype)){ - String actionType = "3" ; }else{ - String actionType = "2" ; - 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" + @@ -624,7 +448,7 @@ public class SendPortalTodoRunnable implements Runnable{ " 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); + bb.writeLog("sendTodoDataByNode--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ @@ -638,8 +462,6 @@ public class SendPortalTodoRunnable implements Runnable{ String messageTitle = Util.null2String(rs.getString("requestname")) ; String messageContent = Util.null2String(rs.getString("requestname")) ; - String taskType = "0"; - 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; @@ -663,19 +485,16 @@ public class SendPortalTodoRunnable implements Runnable{ requestObject.put("ticketType",ticketType); } - - - - sql = " select t2.userid,h1.loginid\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 from hrmresource where STATUS = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + + " left join (select id, lastname,loginid,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); + bb.writeLog("sendTodoDataByNode--sql:"+sql); rs.executeQuery(sql); while (rs.next()){ @@ -693,22 +512,169 @@ public class SendPortalTodoRunnable implements Runnable{ 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 = httpReqUtils.doPostByAuth2(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("msgdata:"+msgdata); - if(!"".equals(msgdata)){ - JSONObject msgObject = JSONObject.parseObject(msgdata); - System.out.println(msgdata); + 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 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) {