From f1f1e589aab7d87339bc52528e47d4665576d602 Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Thu, 16 Nov 2023 15:56:07 +0800 Subject: [PATCH] =?UTF-8?q?#EC=5FHJ141#=20=E6=B5=81=E7=A8=8B=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E6=97=A5=E5=BF=97=E5=A2=9E=E5=8A=A0=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dito/sendtodo/SendPortalToReadUtil.java | 168 +++++++----------- .../dito/sendtodo/SendPortalTodoCmd.java | 98 +++++----- .../dito/sendtodo/SendPortalTodoUtil.java | 94 +++++----- .../sendtodo/SendPortalWithAddDoneCmd.java | 12 +- 4 files changed, 167 insertions(+), 205 deletions(-) diff --git a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java index 752d8ddd..6000e898 100644 --- a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java +++ b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java @@ -28,8 +28,9 @@ public class SendPortalToReadUtil { */ public void sendToReadDataByCreateNode(String requestid,User user,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ + String zhjkbs = "com.customization.dito.sendtodo.SendPortalToReadUtil.sendToReadDataByCreateNode" ; + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); - SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); RecordSet rs = new RecordSet(); @@ -43,6 +44,8 @@ public class SendPortalToReadUtil { JSONObject requestObject = new JSONObject(); Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); + + String currentUserId = user.getUID()+"" ; String terminal = "1" ; String actionType = "0" ; String taskType = "1"; @@ -53,25 +56,14 @@ public class SendPortalToReadUtil { try { String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); JSONArray taskObjectList = new JSONArray(); -// int u_userid = user.getUID(); - String lastname = ""; - String loginid = "" ; + String createrLastname = ""; + String createrLoginid = "" ; + String requestname = ""; + String workflowname = "" ; -// String workcode = ""; -// String sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + u_userid + "'"; -// rs.executeQuery(sql); -// while (rs.next()) { -// workcode = Util.null2String(rs.getString("loginid")); -// } 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 replace = bpm_app_workflowurl.replace("/bpm", ""); -// String urlDing = replace+bpm_app_requesturl+requestid; -// bb.writeLog("urlDing", urlDing); -// String urlApp = replace+bpm_app_requesturl+requestid; - String urlDing = replace+bpm_app_requesturl+requestid; String urlApp = replace+bpm_app_requesturl+requestid; if(StringUtils.isNotEmpty(mobileJumpUrl)){ @@ -79,15 +71,6 @@ public class SendPortalToReadUtil { urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); } - String requestname = ""; - String workflowname = "" ; -// sql =" select t1.requestname,t1.requestmark,t3.workflowname\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 "+ -// " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + -// " and t1.requestid = "+requestid ; - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+ " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -101,9 +84,10 @@ public class SendPortalToReadUtil { if (rs.next()){ workflowname = Util.null2String(rs.getString("workflowname")) ; requestname = Util.null2String(rs.getString("requestname")) ; - lastname = Util.null2String(rs.getString("lastname")) ; - loginid = Util.null2String(rs.getString("loginid")) ; + createrLastname = Util.null2String(rs.getString("lastname")) ; + createrLoginid = Util.null2String(rs.getString("loginid")) ; } + requestObject.put("center",center); requestObject.put("title",requestname); requestObject.put("taskType",taskType); @@ -116,7 +100,7 @@ public class SendPortalToReadUtil { requestObject.put("urlDing",urlDing); requestObject.put("ticketType",workflowname); requestObject.put("urlApp",urlApp); - requestObject.put("creator",loginid); + requestObject.put("creator",createrLoginid); sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ " from workflow_requestbase t1\n" + @@ -126,7 +110,7 @@ public class SendPortalToReadUtil { " left join workflow_nodebase d1 on d1.id = t2.nodeid "+ " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " and t2.isremark in ('8','9')\n" + - " and t2.islasttimes = 1\n" + + " and t2.islasttimes = 1 \n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + " and t2.requestid = "+requestid ; @@ -183,7 +167,6 @@ public class SendPortalToReadUtil { requestObject.put("nodeName",nodename); requestObject.put("nodeId",nodeid); - //requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid); requestObject.put("taskCode", lcid+"_cs_"+userid); requestObject.put("taskObjectList",taskArray); @@ -196,27 +179,23 @@ public class SendPortalToReadUtil { if(msgObject.containsKey("resultCode")){ String resultCode = msgObject.getString("resultCode"); if("0".equals(resultCode)){ - Matcher matcher = regex.matcher(email); - if(matcher.matches()){ - emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; - } - - - bb.writeLog("emailArray:"+emailArray); - if(StringUtils.isNotEmpty(emailArray)) - { - Map templateMap = getEmailTemplate(requestname,lastname,processTime); - String notificationSubject = templateMap.get("notificationSubject"); - String notificationContent = templateMap.get("notificationContent"); - - //sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); - } - - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,""); - +// Matcher matcher = regex.matcher(email); +// if(matcher.matches()){ +// emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; +// } +// bb.writeLog("emailArray:"+emailArray); +// if(StringUtils.isNotEmpty(emailArray)) +// { +// Map templateMap = getEmailTemplate(requestname,lastname,processTime); +// String notificationSubject = templateMap.get("notificationSubject"); +// String notificationContent = templateMap.get("notificationContent"); +// //sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); +// } + + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userid); }else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userid); } } @@ -237,6 +216,9 @@ public class SendPortalToReadUtil { * @param user */ public void sendToReadDataByNode(String requestid,User user,String noideid,String portal_todourl,String bpm_app_workflowurl,String username,String passwd,String bpm_workflowurl,String center,String bpm_app_requesturl){ + + String zhjkbs = "com.customization.dito.sendtodo.SendPortalToReadUtil.sendToReadDataByNode" ; + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -248,6 +230,8 @@ public class SendPortalToReadUtil { BaseBean bb = new BaseBean(); bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode"); + String currentUserId = user.getUID()+"" ; + String cus_staff = PropBean.getUfPropValue("cus_staff") ; String scopeid = "-1"; String scope = "HrmCustomFieldByInfoType" ; @@ -263,18 +247,19 @@ public class SendPortalToReadUtil { try { -// int u_userid = user.getUID(); - String lastname = ""; -// -// String workcode = ""; -// String sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + u_userid + "'"; -// rs.executeQuery(sql); -// while (rs.next()) { -// workcode = Util.null2String(rs.getString("loginid")); -// } + String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); + String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; + String urlApp = replace+bpm_app_requesturl+requestid; + if(StringUtils.isNotEmpty(mobileJumpUrl)){ + urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); + urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); + } + bb.writeLog("urlDing", urlDing); int count = 0 ; - String countSql =" select t2.userid \n" + + String countSql=" select t2.userid \n" + " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + @@ -293,35 +278,13 @@ public class SendPortalToReadUtil { if(count == 0) { - String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - - String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; - String replace = bpm_app_workflowurl.replace("/bpm", ""); -// String urlDing = replace+bpm_app_requesturl+requestid; -//// String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+creator+"&forwardurl="+app_requestUrl; -// String urlApp = replace+bpm_app_requesturl+requestid; - - String urlDing = replace+bpm_app_requesturl+requestid; - String urlApp = replace+bpm_app_requesturl+requestid; - - if(StringUtils.isNotEmpty(mobileJumpUrl)){ - urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); - urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); - } - - bb.writeLog("urlDing", urlDing); String workflowname = "" ; String requestname = ""; - String loginid = ""; + String createrLastname = ""; + String createrLoginid = ""; JSONArray taskObjectList = new JSONArray(); -// sql =" select t1.workflowid,t1.requestname,t1.requestmark,t3.workflowname\n" + -// " from workflow_requestbase t1\n" + -// " inner join workflow_base t3 on t1.workflowid = t3.id\n" + -// " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + -// " and t1.requestid = " + requestid; - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+ " from workflow_requestbase t1\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" + @@ -335,8 +298,8 @@ public class SendPortalToReadUtil { if (rs.next()) { workflowname = Util.null2String(rs.getString("workflowname")); requestname = Util.null2String(rs.getString("requestname")); - lastname = Util.null2String(rs.getString("lastname")) ; - loginid = Util.null2String(rs.getString("loginid")) ; + createrLastname = Util.null2String(rs.getString("lastname")) ; + createrLoginid = Util.null2String(rs.getString("loginid")) ; } requestObject.put("center", center); @@ -351,7 +314,7 @@ public class SendPortalToReadUtil { requestObject.put("urlPc", urlPc); requestObject.put("urlDing", urlDing); requestObject.put("ticketType", workflowname); - requestObject.put("creator",loginid); + requestObject.put("creator",createrLoginid); requestObject.put("urlApp",urlApp); sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ @@ -417,7 +380,6 @@ public class SendPortalToReadUtil { requestObject.put("nodeName",nodename); requestObject.put("nodeId",nodeid); - //requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid); requestObject.put("taskCode", lcid+"_cs_"+userid); requestObject.put("taskObjectList",taskArray); @@ -427,26 +389,24 @@ public class SendPortalToReadUtil { bb.writeLog("SendPortalToReadUtil-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)) { - Matcher matcher = regex.matcher(email); - if (matcher.matches()) { - emailArray += StringUtils.isEmpty(emailArray) ? email : "," + email; - } - - bb.writeLog("emailArray:" + emailArray); - if (StringUtils.isNotEmpty(emailArray)) { - - Map templateMap = getEmailTemplate(requestname,lastname,processTime); - String notificationSubject = templateMap.get("notificationSubject"); - String notificationContent = templateMap.get("notificationContent"); - //sendMailUtil.sendMail(requestid, emailArray, notificationSubject, notificationContent); - } - - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,""); +// Matcher matcher = regex.matcher(email); +// if (matcher.matches()) { +// emailArray += StringUtils.isEmpty(emailArray) ? email : "," + email; +// } +// +// bb.writeLog("emailArray:" + emailArray); +// if (StringUtils.isNotEmpty(emailArray)) { +// +// Map templateMap = getEmailTemplate(requestname,createrLastname,processTime); +// String notificationSubject = templateMap.get("notificationSubject"); +// String notificationContent = templateMap.get("notificationContent"); +// //sendMailUtil.sendMail(requestid, emailArray, notificationSubject, notificationContent); +// } + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userid); }else if ("TODO-FAIL-002".equals(resultCode)){ //The task does not exist.任务不存在,则新增 @@ -455,7 +415,7 @@ public class SendPortalToReadUtil { } else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userid); } } diff --git a/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java b/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java index 7851a708..382fd23e 100644 --- a/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java +++ b/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java @@ -11,6 +11,7 @@ import com.engine.workflow.entity.requestForm.RequestOperationResultBean; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.dito.monitor.SendPortalMonitorUtil; import javax.servlet.http.HttpServletRequest; import java.util.Map; @@ -57,6 +58,7 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> // } User user = requestSubmitCmd.getUser(); + String userid = user.getUID()+""; bb.writeLog("requestid:"+requestid); bb.writeLog("workflowid:"+workflowid); bb.writeLog("src:"+src); @@ -70,60 +72,62 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> //参数回写 //执行标准的业务处理 Map result = nextExecute(targetCommand); - //对返回值做加工处理 - RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data"); - String executeResult = resultBean.getType().name(); - - if("SUCCESS".equals(executeResult)){ - String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid")); - bb.writeLog("new_requestid:"+new_requestid); - - SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); - SendPortalToReadUtil sendPortalToReadUtil = new SendPortalToReadUtil(); - - String portal_todourl = Constants.portal_todourl; - String bpm_app_workflowurl = Constants.bpm_app_workflowurl; - String username = Constants.username; - String passwd = Constants.passwd; - String bpm_workflowurl = Constants.bpm_workflowurl; - String center = Constants.center; - String bpm_app_requesturl = Constants.bpm_app_requesturl; - - - if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user, portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - }else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ - sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - sendPortalToReadUtil.sendToReadDataByCreateNode(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - - }else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){ - - /*** - * 空值:流程正常提交 - * 1:被代理人提交流程 - * 2:代理人提交流程 - */ - if("2".equals(agentType)){ - SendPortalTodoByAgentUtil sendPortalTodoByAgentUtil = new SendPortalTodoByAgentUtil(); - sendPortalTodoByAgentUtil.sendTodoDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - SendPortalToReadByAgentUtil sendPortalToReadByAgentUtil = new SendPortalToReadByAgentUtil(); - sendPortalToReadByAgentUtil.sendToReadDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - }else{ - sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - sendPortalToReadUtil.sendToReadDataByNode(requestid,user,nodeid,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + if(result.containsKey("data")){ + //对返回值做加工处理 + RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data"); + String executeResult = resultBean.getType().name(); + + if("SUCCESS".equals(executeResult)){ + String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid")); + bb.writeLog("new_requestid:"+new_requestid); + + SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil(); + SendPortalToReadUtil sendPortalToReadUtil = new SendPortalToReadUtil(); + + String portal_todourl = Constants.portal_todourl; + String bpm_app_workflowurl = Constants.bpm_app_workflowurl; + String username = Constants.username; + String passwd = Constants.passwd; + String bpm_workflowurl = Constants.bpm_workflowurl; + String center = Constants.center; + String bpm_app_requesturl = Constants.bpm_app_requesturl; + + + if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ + sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user, portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + }else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ + sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalToReadUtil.sendToReadDataByCreateNode(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + }else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){ + + /*** + * 空值:流程正常提交 + * 1:被代理人提交流程 + * 2:代理人提交流程 + */ + if("2".equals(agentType)){ + SendPortalTodoByAgentUtil sendPortalTodoByAgentUtil = new SendPortalTodoByAgentUtil(); + sendPortalTodoByAgentUtil.sendTodoDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + SendPortalToReadByAgentUtil sendPortalToReadByAgentUtil = new SendPortalToReadByAgentUtil(); + sendPortalToReadByAgentUtil.sendToReadDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + }else{ + sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + sendPortalToReadUtil.sendToReadDataByNode(requestid,user,nodeid,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + } + }else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){ + sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); + }else if(Util.getIntValue(requestid)> 0 && "intervenor".equals(src)){ + SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil(); + sendPortalMonitorUtil.monitorIntervention(requestid,userid); } - - - }else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){ - sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); - } - // SendPortalTodoRunnable sendPortalTodoRunnable = new SendPortalTodoRunnable(src,new_requestid,requestid,nodeid,user); // new Thread(sendPortalTodoRunnable).start(); + } } + return result; } diff --git a/src/com/customization/dito/sendtodo/SendPortalTodoUtil.java b/src/com/customization/dito/sendtodo/SendPortalTodoUtil.java index 9771b12e..2d28667d 100644 --- a/src/com/customization/dito/sendtodo/SendPortalTodoUtil.java +++ b/src/com/customization/dito/sendtodo/SendPortalTodoUtil.java @@ -26,6 +26,7 @@ public class SendPortalTodoUtil { */ 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){ + String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByCreater" ; HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -175,11 +176,11 @@ public class SendPortalTodoUtil { sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,""); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds); }else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds); } } } @@ -198,6 +199,7 @@ public class SendPortalTodoUtil { */ 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){ + String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByCreateNode" ; HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -347,11 +349,11 @@ public class SendPortalTodoUtil { sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,""); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds); }else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds); } } } @@ -464,6 +466,8 @@ public class SendPortalTodoUtil { * @param user */ 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){ + + String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByNode" ; HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -488,6 +492,7 @@ public class SendPortalTodoUtil { String currentNodeId = "" ; String currentNodeName = "" ; String nextNodeUserIds = "" ; + String currentLoginId = user.getLoginid() ; String currentStaffId = "" ; String createrLastName = "" ; @@ -502,25 +507,24 @@ public class SendPortalTodoUtil { String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); int count = 0 ; String countSql = " select t2.userid\n" + - " from workflow_requestbase t1\n" + - " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\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','7','11'))\n" + - " and t2.islasttimes = 1\n" + - " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.requestid = "+requestid+ - " and t2.nodeid = " + noideid ; + " from workflow_requestbase t1\n" + + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + + " 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','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++; - String userid = Util.null2String(rs.getString("userid")); -// nextNodeUserIds += StringUtils.isBlank(nextNodeUserIds) ? userid :","+userid ; } bb.writeLog("sendTodoDataByNode--count:"+count); String requestname = "" ; + String workflowname = "" ; if(count >0){ @@ -528,15 +532,14 @@ public class SendPortalTodoUtil { String actionType = "1" ; String objectAction = "1" ; String objectType = "0"; - String workflowname = "" ; String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+ - " 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 ) h2 on h2.id = t1.creater \n" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + " 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 ) h2 on h2.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); @@ -544,7 +547,6 @@ public class SendPortalTodoUtil { if (rs.next()){ requestname = Util.null2String(rs.getString("requestname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ; -// currentNodeId = Util.null2String(rs.getString("nodeid")+currentUserId) ; currentNodeId = Util.null2String(rs.getString("nodeid")) ; currentNodeName = Util.null2String(rs.getString("nodeName")) ; createrLoginId = Util.null2String(rs.getString("loginid")) ; @@ -560,10 +562,6 @@ public class SendPortalTodoUtil { urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); } - -// String urlDing = replace+bpm_app_requesturl+requestid; -// String urlApp = replace+bpm_app_requesturl+requestid; - if("sysadmin".equals(currentLoginId)){ currentLoginId = "Admin"; } @@ -609,14 +607,13 @@ public class SendPortalTodoUtil { JSONArray taskObjectList = new JSONArray(); - String workflowname = "" ; - String sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+ - " 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 ) h2 on h2.id = t1.creater \n" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+ + " 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 ) h2 on h2.id = t1.creater \n" + + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + + " and t1.requestid = "+requestid ; bb.writeLog("sendTodoDataByNode--sql2:"+sql); @@ -624,7 +621,6 @@ public class SendPortalTodoUtil { if (rs.next()){ requestname = Util.null2String(rs.getString("requestname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ; -// currentNodeId = Util.null2String(rs.getString("nodeid")+currentUserId) ; currentNodeId = Util.null2String(rs.getString("nodeid")) ; currentNodeName = Util.null2String(rs.getString("nodeName")) ; createrLoginId = Util.null2String(rs.getString("loginid")) ; @@ -679,6 +675,7 @@ public class SendPortalTodoUtil { String staffid = Util.null2String(rs.getString("staffid")) ; String userid = Util.null2String(rs.getString("userid")) ; nextNodeUserIds += StringUtils.isBlank(nextNodeUserIds) ? userid :","+userid ; + if("sysadmin".equals(usercode)){ usercode = "Admin"; } @@ -709,6 +706,7 @@ public class SendPortalTodoUtil { String auth = username + ":" + passwd; msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); } + bb.writeLog("msgdata:"+msgdata); if(!"".equals(msgdata)){ JSONObject msgObject = JSONObject.parseObject(msgdata); @@ -730,11 +728,11 @@ public class SendPortalTodoUtil { sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,""); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds); }else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds); } } } @@ -848,6 +846,8 @@ public class SendPortalTodoUtil { */ 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){ + String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByReject" ; + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -884,13 +884,13 @@ public class SendPortalTodoUtil { String currentUserId = user.getUID()+"" ; - String sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname "+ - " 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 ) h2 on h2.id = t1.creater \n" + - " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t1.requestid = "+requestid ; + String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname "+ + " 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 ) h2 on h2.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); @@ -993,14 +993,12 @@ public class SendPortalTodoUtil { Map templateMap = getEmailTemplate(requestname,createrLastName,processTime); String notificationSubject = templateMap.get("notificationSubject"); String notificationContent = templateMap.get("notificationContent"); - sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent); } - - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,""); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds); }else{ String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds); } } } diff --git a/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java b/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java index 92ee478d..19e4cd32 100644 --- a/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java +++ b/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java @@ -87,12 +87,12 @@ public class SendPortalWithAddDoneCmd { if("3".equals(currentNodeType)){ int usercount = 0; sql = " select id from workflow_currentoperator \n" + - "where requestid = " + requestid + - "and nodeid= " + currentNodeId + - "and isremark = 4 \n" + - "and preisremark = 4 \n" + - "and receivedate in(select max(receivedate ) as receivedate from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")\n" + - "and receivetime in(select max(receivetime) as receivetime from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")" ; + " where requestid = " + requestid + + " and nodeid= " + currentNodeId + + " and isremark = 4 \n" + + " and preisremark = 4 \n" + + " and receivedate in(select max(receivedate ) as receivedate from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")\n" + + " and receivetime in(select max(receivetime) as receivetime from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")" ; rs.executeQuery(sql); bb.writeLog("getRequestArchivedReamrkUserIds--sql3:"+sql); while (rs.next()){