diff --git a/src/weaver/interfaces/dito/monitor/SendPortalMonitorUtil.java b/src/weaver/interfaces/dito/monitor/SendPortalMonitorUtil.java index 18bb9fd4..0ae3b547 100644 --- a/src/weaver/interfaces/dito/monitor/SendPortalMonitorUtil.java +++ b/src/weaver/interfaces/dito/monitor/SendPortalMonitorUtil.java @@ -26,7 +26,23 @@ public class SendPortalMonitorUtil { * @param userid */ public void monitorDelete(String requestids,String userid){ + BaseBean bb = new BaseBean(); + bb.writeLog("SendPortalMonitorUtil--monitorDelete"); + if(StringUtils.isNotBlank(requestids)) { + String[] lcids = requestids.split(","); + for (int i = 0; i < lcids.length; i++) { + String requestid = lcids[i]; + monitorDelete4Requestid(requestid,userid); + } + } + } + /*** + * 流程删除 + * @param requestid + * @param userid + */ + public void monitorDelete4Requestid(String requestid,String userid){ String portal_todourl = Constants.portal_todourl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl; @@ -36,7 +52,7 @@ public class SendPortalMonitorUtil { String center = Constants.center; String bpm_app_requesturl = Constants.bpm_app_requesturl; - String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorDelete" ; + String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorDelete4Requestid" ; SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); @@ -44,91 +60,83 @@ public class SendPortalMonitorUtil { JSONObject requestObject = new JSONObject(); RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); - bb.writeLog("SendPortalMonitorUtil--monitorDelete"); + bb.writeLog("SendPortalMonitorUtil--monitorDelete4Requestid"); String terminal = "1" ; String taskType = "0"; String actionType = "3" ; String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - if(StringUtils.isNotBlank(requestids)) { - String[] lcids = requestids.split(","); - for (int i = 0; i < lcids.length; i++) { - String requestid = lcids[i]; - try { - 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("monitorDelete-urlDing", urlDing); - String requestname = "" ; - String workflowname = "" ; - String nodeId = "" ; - String nodeName = "" ; - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; + try { + 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; - bb.writeLog("monitorDelete--sql2:"+sql); + if(StringUtils.isNotEmpty(mobileJumpUrl)){ + urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8"); + urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); + } + bb.writeLog("monitorDelete4Requestid-urlDing", urlDing); - rs.executeQuery(sql); - if (rs.next()){ - requestname = Util.null2String(rs.getString("requestname")) ; - workflowname = Util.null2String(rs.getString("workflowname")) ; - nodeId = Util.null2String(rs.getString("nodeid")) ; - nodeName = Util.null2String(rs.getString("nodeName")) ; - } + String requestname = "" ; + String workflowname = "" ; + String nodeId = "" ; + String nodeName = "" ; + String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; - requestObject.put("center",center); - requestObject.put("title",requestname); - requestObject.put("taskCode","weaver"+requestid); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",processTime); - requestObject.put("messageTitle",getShortMessageTitle(requestname)); - requestObject.put("messageContent",requestname); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",workflowname); + bb.writeLog("monitorDelete4Requestid--sql2:"+sql); - String auth = username + ":" + passwd; - bb.writeLog("monitorDelete---requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - bb.writeLog("monitorDelete---msgdata:"+msgdata); - Map map = new HashMap<>(); - if(!"".equals(msgdata)){ - JSONObject msgObject = JSONObject.parseObject(msgdata); - //{"resultCode":"1","resultMsg":"No Result"} - if(msgObject.containsKey("resultCode")){ - String resultCode = msgObject.getString("resultCode"); + rs.executeQuery(sql); + if (rs.next()){ + requestname = Util.null2String(rs.getString("requestname")) ; + workflowname = Util.null2String(rs.getString("workflowname")) ; + nodeId = Util.null2String(rs.getString("nodeid")) ; + nodeName = Util.null2String(rs.getString("nodeName")) ; + } - if("0".equals(resultCode)){ - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs); - }else{ - String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); + requestObject.put("center",center); + requestObject.put("title",requestname); + requestObject.put("taskCode","weaver"+requestid); + requestObject.put("nodeId",nodeId); + requestObject.put("taskType",taskType); + requestObject.put("actionType",actionType); + requestObject.put("createDate",processTime); + requestObject.put("messageTitle",getShortMessageTitle(requestname)); + requestObject.put("messageContent",requestname); + requestObject.put("terminal",terminal); + requestObject.put("urlPc",urlPc); + requestObject.put("urlApp",urlApp); + requestObject.put("urlDing",urlDing); + requestObject.put("nodeName",nodeName); + requestObject.put("ticketType",workflowname); - // againMonitorDelete(requestid,userid,3); + String auth = username + ":" + passwd; + bb.writeLog("monitorDelete4Requestid---requestObject:"+requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); + bb.writeLog("monitorDelete4Requestid---msgdata:"+msgdata); + Map map = new HashMap<>(); + if(!"".equals(msgdata)){ + JSONObject msgObject = JSONObject.parseObject(msgdata); + //{"resultCode":"1","resultMsg":"No Result"} + if(msgObject.containsKey("resultCode")){ + String resultCode = msgObject.getString("resultCode"); - } - } + if("0".equals(resultCode)){ + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs); + }else{ + String resultmsg = msgObject.getString("resultMsg"); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); } - } catch (Exception e) { - e.printStackTrace(); } } + } catch (Exception e) { + e.printStackTrace(); } } @@ -149,7 +157,6 @@ public class SendPortalMonitorUtil { String center = Constants.center; String bpm_app_requesturl = Constants.bpm_app_requesturl; - try { if(second > 0){ Thread.sleep(second); @@ -246,7 +253,6 @@ public class SendPortalMonitorUtil { * 流程强制归档 */ public void monitorArchived(String requestid,String userid){ - monitorArchivedByTodo(requestid,userid); monitorArchivedByToRead(requestid,userid); } @@ -257,6 +263,22 @@ public class SendPortalMonitorUtil { */ public void monitorArchivedByTodo(String requestids,String currentUserId){ + if(StringUtils.isNotBlank(requestids)){ + String[] lcids = requestids.split(","); + for(int i=0;i 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 ; +// +// bb.writeLog("monitorArchivedByTodo--countSql:"+countSql); +// rs.executeQuery(countSql); +// while (rs.next()){ +// count++; +// } +// bb.writeLog("monitorArchivedByTodo--count:"+count); +// if(count >0){ - if(StringUtils.isNotEmpty(mobileJumpUrl)){ - urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8"); - urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); - } - bb.writeLog("monitorArchivedByTodo-urlDing", urlDing); + String requestname = "" ; + String workflowname = "" ; + String currentNodeId = "" ; + String currentNodeName = "" ; + String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; - 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 ; + bb.writeLog("monitorArchivedByTodo4Requestid--sql2:"+sql); + rs.executeQuery(sql); + if (rs.next()){ + requestname = Util.null2String(rs.getString("requestname")) ; + workflowname = Util.null2String(rs.getString("workflowname")) ; + currentNodeId = Util.null2String(rs.getString("nodeid")) ; + currentNodeName = Util.null2String(rs.getString("nodeName")) ; + } - bb.writeLog("monitorArchivedByTodo--countSql:"+countSql); - rs.executeQuery(countSql); - while (rs.next()){ - count++; - } - bb.writeLog("monitorArchivedByTodo--count:"+count); - if(count >0){ - - String requestname = "" ; - String workflowname = "" ; - String currentNodeId = "" ; - String currentNodeName = "" ; - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; - - bb.writeLog("monitorArchivedByTodo--sql2:"+sql); - - rs.executeQuery(sql); - if (rs.next()){ - requestname = Util.null2String(rs.getString("requestname")) ; - workflowname = Util.null2String(rs.getString("workflowname")) ; - currentNodeId = Util.null2String(rs.getString("nodeid")) ; - currentNodeName = Util.null2String(rs.getString("nodeName")) ; - } - requestObject.put("center",center); - requestObject.put("title",requestname); - requestObject.put("taskCode","weaver"+requestid); - requestObject.put("nodeId",currentNodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",processTime); - requestObject.put("messageTitle",getShortMessageTitle(requestname)); - requestObject.put("messageContent",requestname); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",currentNodeName); - requestObject.put("ticketType",workflowname); - - JSONArray taskObjectList = new JSONArray(); - - sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ - " from workflow_requestbase t1\n" + - " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + - " left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+ - " 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" + - " 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 = '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 ; - - rs.executeQuery(sql); - while (rs.next()) { - //归档节点抄送 - String creator = rs.getString("loginid"); - String staffid = rs.getString("staffid"); - bb.writeLog("monitorArchived:"+requestid+" creator:"+creator); - if ("sysadmin".equals(creator)) { - creator = "Admin"; - } + requestObject.put("center",center); + requestObject.put("title",requestname); + requestObject.put("taskCode","weaver"+requestid); + requestObject.put("nodeId",currentNodeId); + requestObject.put("taskType",taskType); + requestObject.put("actionType",actionType); + requestObject.put("createDate",processTime); + requestObject.put("messageTitle",getShortMessageTitle(requestname)); + requestObject.put("messageContent",requestname); + requestObject.put("terminal",terminal); + requestObject.put("urlPc",urlPc); + requestObject.put("urlApp",urlApp); + requestObject.put("urlDing",urlDing); + requestObject.put("nodeName",currentNodeName); + requestObject.put("ticketType",workflowname); - JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction", "0"); - taskObject.put("objectType", "0"); - taskObject.put("objectCode", creator); - taskObject.put("objectId", staffid); - taskObject.put("operatorCode", creator); - taskObjectList.add(taskObject); - } +// JSONArray taskObjectList = new JSONArray(); +// sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ +// " from workflow_requestbase t1\n" + +// " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + +// " left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+ +// " 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" + +// " 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 = '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 ; +// +// rs.executeQuery(sql); +// while (rs.next()) { +// String creator = rs.getString("loginid"); +// String staffid = rs.getString("staffid"); +// bb.writeLog("monitorArchived:"+requestid+" creator:"+creator); +// if ("sysadmin".equals(creator)) { +// creator = "Admin"; +// } +// +// JSONObject taskObject = new JSONObject(); +// taskObject.put("objectAction", "0"); +// taskObject.put("objectType", "0"); +// taskObject.put("objectCode", creator); +// taskObject.put("objectId", staffid); +// taskObject.put("operatorCode", creator); +// taskObjectList.add(taskObject); +// } +// requestObject.put("taskObjectList",taskObjectList); - requestObject.put("taskObjectList",taskObjectList); - String auth = username + ":" + passwd; - bb.writeLog("monitorArchived---requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - - if (!"".equals(msgdata)) { - JSONObject msgObject = JSONObject.parseObject(msgdata); - //{"resultCode":"1","resultMsg":"No Result"} - if (msgObject.containsKey("resultCode")) { - String resultCode = msgObject.getString("resultCode"); - if ("0".equals(resultCode)) { - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs); - }else{ - String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); - } - } + String auth = username + ":" + passwd; + bb.writeLog("monitorArchivedByTodo4Requestid---requestObject:"+requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); + + if (!"".equals(msgdata)) { + JSONObject msgObject = JSONObject.parseObject(msgdata); + //{"resultCode":"1","resultMsg":"No Result"} + if (msgObject.containsKey("resultCode")) { + String resultCode = msgObject.getString("resultCode"); + if ("0".equals(resultCode)) { + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs); + }else{ + String resultmsg = msgObject.getString("resultMsg"); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); } } - } catch (Exception e) { - e.printStackTrace(); } +// } + } catch (Exception e) { + e.printStackTrace(); + } + + } + /*** + * 强制归档后,处理抄送人员,推送到门户的toread + * @param requestids + */ + public void monitorArchivedByToRead(String requestids,String currentUserId){ + + BaseBean bb = new BaseBean(); + bb.writeLog("monitorArchivedByToRead"); + + if(StringUtils.isNotBlank(requestids)) { + String[] lcids = requestids.split(","); + for (int i = 0; i < lcids.length; i++) { + String requestid = lcids[i]; + monitorArchivedByToRead4Rquestid(requestid,currentUserId); } } } + /*** - * 强制归档后,处理抄送人员,推送到门户的toread - * @param requestids + * 强制归档后,处理抄送人员,推送到门户的toread + * @param requestid + * @param currentUserId */ - public void monitorArchivedByToRead(String requestids,String currentUserId){ + public void monitorArchivedByToRead4Rquestid(String requestid,String currentUserId){ String portal_todourl = Constants.portal_todourl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl; @@ -427,69 +461,104 @@ public class SendPortalMonitorUtil { String center = Constants.center; String bpm_app_requesturl = Constants.bpm_app_requesturl; - BaseBean bb = new BaseBean(); - bb.writeLog("sendOverTimeSubmitBytoRead"); - RecordSet rs = new RecordSet(); - - String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorArchivedByToRead" ; + String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorArchivedByToRead4Rquestid" ; SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); JSONObject requestObject = new JSONObject(); - bb.writeLog("SendPortalMonitorUtil--monitorArchivedByToRead"); + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + bb.writeLog("SendPortalMonitorUtil--monitorArchivedByToRead4Rquestid"); String terminal = "1" ; String taskType = "1"; String actionType = "2" ; - String objectAction = "0"; - String objectType = "0"; + String objectType = "0" ; + try { - String cus_staff = PropBean.getUfPropValue("cus_staff") ; - String scopeid = "-1"; - String scope = "HrmCustomFieldByInfoType" ; - String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); + String cus_staff = PropBean.getUfPropValue("cus_staff") ; + String scopeid = "-1"; + String scope = "HrmCustomFieldByInfoType" ; - if(StringUtils.isNotBlank(requestids)) { - String[] lcids = requestids.split(","); - for (int i = 0; i < lcids.length; i++) { - String requestid = lcids[i]; - try { + 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; - 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("monitorArchivedByToRead4Rquestid-urlDing", urlDing); - if(org.apache.commons.lang.StringUtils.isNotEmpty(mobileJumpUrl)){ - urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8"); - urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); - } - bb.writeLog("monitorArchived-urlDing", urlDing); + String requestname = "" ; + String workflowname = "" ; + String currentNodeId = "" ; + String currentNodeName = "" ; + String currentnodetype = "" ; - String requestname = "" ; - String workflowname = "" ; - String currentNodeId = "" ; - String currentNodeName = "" ; - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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,t1.currentnodetype \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 ; - bb.writeLog("monitorArchived--sql2:"+sql); + bb.writeLog("monitorArchivedByToRead4Rquestid--sql2:"+sql); - rs.executeQuery(sql); - if (rs.next()){ - requestname = Util.null2String(rs.getString("requestname")) ; - workflowname = Util.null2String(rs.getString("workflowname")) ; - currentNodeId = Util.null2String(rs.getString("nodeid")) ; - currentNodeName = Util.null2String(rs.getString("nodeName")) ; + rs.executeQuery(sql); + if (rs.next()){ + requestname = Util.null2String(rs.getString("requestname")) ; + workflowname = Util.null2String(rs.getString("workflowname")) ; + currentNodeId = Util.null2String(rs.getString("nodeid")) ; + currentNodeName = Util.null2String(rs.getString("nodeName")) ; + currentnodetype = Util.null2String(rs.getString("currentnodetype")) ; + } + + if("3".equals(currentnodetype)){ + + JSONArray taskObjectList = new JSONArray(); + sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ + " from workflow_requestbase t1\n" + + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + + " left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+ + " 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" + + " 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 =2 and t2.preisremark in (8,9) \n" + + " and t2.islasttimes = 1 \n" + + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + + " and t2.requestid = "+requestid ; + bb.writeLog("monitorArchivedByToRead4Rquestid-sql:"+sql); + rs.executeQuery(sql); + while (rs.next()) { + String creator = rs.getString("loginid"); + String staffid = rs.getString("staffid"); + String userid = rs.getString("userid"); + bb.writeLog("monitorArchivedByToRead4Rquestid:"+requestid+" creator:"+creator); + if ("sysadmin".equals(creator)) { + creator = "Admin"; } + JSONObject taskObject = new JSONObject(); + taskObject.put("staffid", staffid); + taskObject.put("creator",creator); + taskObject.put("userid", userid); + taskObjectList.add(taskObject); + } + + for(int i=0;i 1 or t1.deleted is null or t1.deleted = '')\n" + - " and t2.isremark in ('8','9')\n" + - " and t2.islasttimes = 1\n" + - " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + - " and t2.requestid = "+requestid ; - rs.executeQuery(sql); - while (rs.next()) { - //归档节点抄送 - String creator = rs.getString("loginid"); - String staffid = rs.getString("staffid"); - bb.writeLog("monitorArchived:"+requestid+" creator:"+creator); - if ("sysadmin".equals(creator)) { - creator = "Admin"; - } + JSONObject taskObject = new JSONObject(); + String objectCode = creator ; + String operatorCode = creator ; + taskObject.put("objectAction",objectAction); + taskObject.put("objectType",objectType); + taskObject.put("objectCode",objectCode); + taskObject.put("objectId",staffid); + taskObject.put("operatorCode",operatorCode); - JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction", objectAction); - taskObject.put("objectType", objectType); - taskObject.put("objectCode", creator); - taskObject.put("objectId", staffid); - taskObject.put("operatorCode", creator); - taskObjectList.add(taskObject); - } + JSONArray taskArray = new JSONArray(); + taskArray.add(taskObject); requestObject.put("taskObjectList",taskObjectList); String auth = username + ":" + passwd; - bb.writeLog("monitorArchived---requestObject:"+requestObject.toJSONString()); + bb.writeLog("monitorArchivedByToRead4Rquestid---requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - 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)) { @@ -551,19 +601,41 @@ public class SendPortalMonitorUtil { } } } - } catch (Exception e) { - e.printStackTrace(); } } + } catch (Exception e) { + e.printStackTrace(); + bb.writeLog("monitorArchivedByToRead4Rquestid-e:"+e); } } /*** - * 流程强制收回 + * 流程强制收回 + * @param requestids + * @param currentUserId */ public void monitorPossessed(String requestids,String currentUserId){ + BaseBean bb = new BaseBean(); + bb.writeLog("SendPortalMonitorUtil--monitorPossessed"); + + if(StringUtils.isNotBlank(requestids)) { + String[] lcids = requestids.split(","); + for (int i = 0; i < lcids.length; i++) { + String requestid = lcids[i]; + monitorPossessed4Requestid(requestid,currentUserId); + } + } + } + + /*** + * 流程强制收回 + * @param requestid + * @param currentUserId + */ + public void monitorPossessed4Requestid(String requestid,String currentUserId){ + String portal_todourl = Constants.portal_todourl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl; String username = Constants.username; @@ -572,45 +644,38 @@ public class SendPortalMonitorUtil { String center = Constants.center; String bpm_app_requesturl = Constants.bpm_app_requesturl; - - - String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorPossessed" ; + String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorPossessed4Requestid" ; SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); JSONObject requestObject = new JSONObject(); RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); - bb.writeLog("SendPortalMonitorUtil--monitorPossessed"); + bb.writeLog("SendPortalMonitorUtil--monitorPossessed4Requestid"); String terminal = "1" ; String taskType = "0"; String actionType = "2" ; - String cus_staff = PropBean.getUfPropValue("cus_staff") ; String scopeid = "-1"; String scope = "HrmCustomFieldByInfoType" ; String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - if(StringUtils.isNotBlank(requestids)) { - String[] lcids = requestids.split(","); - for (int i = 0; i < lcids.length; i++) { - String requestid = lcids[i]; - try { + try { - 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; + 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("monitorArchived-urlDing", urlDing); + if(StringUtils.isNotEmpty(mobileJumpUrl)){ + urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8"); + urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); + } + bb.writeLog("monitorPossessed4Requestid-urlDing", urlDing); - int count = 0 ; - String countSql=" select t2.userid \n" + + 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" + @@ -619,116 +684,117 @@ public class SendPortalMonitorUtil { " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + " and t2.requestid = "+requestid ; - bb.writeLog("monitorArchived--countSql:"+countSql); - rs.executeQuery(countSql); - while (rs.next()){ - count++; - } - bb.writeLog("monitorArchived--count:"+count); - if(count >0){ - - String requestname = "" ; - String workflowname = "" ; - String currentNodeId = "" ; - String currentNodeName = "" ; - - String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; - - bb.writeLog("monitorArchived--sql2:"+sql); - - rs.executeQuery(sql); - if (rs.next()){ - requestname = Util.null2String(rs.getString("requestname")) ; - workflowname = Util.null2String(rs.getString("workflowname")) ; - currentNodeId = Util.null2String(rs.getString("nodeid")) ; - currentNodeName = Util.null2String(rs.getString("nodeName")) ; - } + bb.writeLog("monitorArchived--countSql:"+countSql); + rs.executeQuery(countSql); + while (rs.next()){ + count++; + } + bb.writeLog("monitorPossessed4Requestid--count:"+count); + if(count >0){ - requestObject.put("center",center); - requestObject.put("title",requestname); - requestObject.put("taskCode","weaver"+requestid); - requestObject.put("nodeId",currentNodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",processTime); - requestObject.put("messageTitle",getShortMessageTitle(requestname)); - requestObject.put("messageContent",requestname); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",currentNodeName); - requestObject.put("ticketType",workflowname); - - JSONArray taskObjectList = new JSONArray(); - - sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ - " from workflow_requestbase t1\n" + - " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + - " left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+ - " 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" + - " 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 = '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 ; - - rs.executeQuery(sql); - while (rs.next()) { - //归档节点抄送 - String creator = rs.getString("loginid"); - String staffid = rs.getString("staffid"); - bb.writeLog("monitorArchived:"+requestid+" creator:"+creator); - if ("sysadmin".equals(creator)) { - creator = "Admin"; - } + String requestname = "" ; + String workflowname = "" ; + String currentNodeId = "" ; + String currentNodeName = "" ; - JSONObject taskObject = new JSONObject(); - taskObject.put("objectAction", "0"); - taskObject.put("objectType", "0"); - taskObject.put("objectCode", creator); - taskObject.put("objectId", staffid); - taskObject.put("operatorCode", creator); - taskObjectList.add(taskObject); - } + String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ; - requestObject.put("taskObjectList",taskObjectList); - String auth = username + ":" + passwd; - bb.writeLog("monitorArchived---requestObject:"+requestObject.toJSONString()); - String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); - - if (!"".equals(msgdata)) { - JSONObject msgObject = JSONObject.parseObject(msgdata); - //{"resultCode":"1","resultMsg":"No Result"} - if (msgObject.containsKey("resultCode")) { - String resultCode = msgObject.getString("resultCode"); - if ("0".equals(resultCode)) { - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs); - }else{ - String resultmsg = msgObject.getString("resultMsg"); - sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); - } - } + bb.writeLog("monitorPossessed4Requestid--sql2:"+sql); + + rs.executeQuery(sql); + if (rs.next()){ + requestname = Util.null2String(rs.getString("requestname")) ; + workflowname = Util.null2String(rs.getString("workflowname")) ; + currentNodeId = Util.null2String(rs.getString("nodeid")) ; + currentNodeName = Util.null2String(rs.getString("nodeName")) ; + } + + requestObject.put("center",center); + requestObject.put("title",requestname); + requestObject.put("taskCode","weaver"+requestid); + requestObject.put("nodeId",currentNodeId); + requestObject.put("taskType",taskType); + requestObject.put("actionType",actionType); + requestObject.put("createDate",processTime); + requestObject.put("messageTitle",getShortMessageTitle(requestname)); + requestObject.put("messageContent",requestname); + requestObject.put("terminal",terminal); + requestObject.put("urlPc",urlPc); + requestObject.put("urlApp",urlApp); + requestObject.put("urlDing",urlDing); + requestObject.put("nodeName",currentNodeName); + requestObject.put("ticketType",workflowname); + + JSONArray taskObjectList = new JSONArray(); + + sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ + " from workflow_requestbase t1\n" + + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + + " left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+ + " 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" + + " 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 = '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 ; + + rs.executeQuery(sql); + while (rs.next()) { + //归档节点抄送 + String creator = rs.getString("loginid"); + String staffid = rs.getString("staffid"); + bb.writeLog("monitorPossessed4Requestid:"+requestid+" creator:"+creator); + if ("sysadmin".equals(creator)) { + creator = "Admin"; + } + + JSONObject taskObject = new JSONObject(); + taskObject.put("objectAction", "0"); + taskObject.put("objectType", "0"); + taskObject.put("objectCode", creator); + taskObject.put("objectId", staffid); + taskObject.put("operatorCode", creator); + taskObjectList.add(taskObject); + } + + requestObject.put("taskObjectList",taskObjectList); + String auth = username + ":" + passwd; + bb.writeLog("monitorPossessed4Requestid---requestObject:"+requestObject.toJSONString()); + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); + + if (!"".equals(msgdata)) { + JSONObject msgObject = JSONObject.parseObject(msgdata); + //{"resultCode":"1","resultMsg":"No Result"} + if (msgObject.containsKey("resultCode")) { + String resultCode = msgObject.getString("resultCode"); + if ("0".equals(resultCode)) { + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs); + }else{ + String resultmsg = msgObject.getString("resultMsg"); + sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs); } } - } catch (Exception e) { - e.printStackTrace(); } } + } catch (Exception e) { + e.printStackTrace(); } } + /*** - * intervention + * intervention 流程干预 + * @param requestid + * @param currentUserId */ public void monitorIntervention(String requestid,String currentUserId){ @@ -753,7 +819,6 @@ public class SendPortalMonitorUtil { String taskType = "0"; String actionType = "2" ; try { - String cus_staff = PropBean.getUfPropValue("cus_staff") ; String scopeid = "-1"; String scope = "HrmCustomFieldByInfoType" ; @@ -827,7 +892,6 @@ public class SendPortalMonitorUtil { requestObject.put("ticketType",workflowname); JSONArray taskObjectList = new JSONArray(); - sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+ " from workflow_requestbase t1\n" + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + @@ -839,7 +903,6 @@ public class SendPortalMonitorUtil { " and t2.islasttimes = 1 \n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + " and t2.requestid = "+requestid ; - rs.executeQuery(sql); while (rs.next()) { String creator = rs.getString("loginid"); @@ -847,7 +910,6 @@ public class SendPortalMonitorUtil { if ("sysadmin".equals(creator)) { creator = "Admin"; } - JSONObject taskObject = new JSONObject(); taskObject.put("objectAction", "0"); taskObject.put("objectType", "0"); @@ -856,8 +918,8 @@ public class SendPortalMonitorUtil { taskObject.put("operatorCode", creator); taskObjectList.add(taskObject); } - requestObject.put("taskObjectList",taskObjectList); + String auth = username + ":" + passwd; bb.writeLog("monitorIntervention---requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); @@ -881,6 +943,7 @@ public class SendPortalMonitorUtil { } } + /*** * * @param messageTitle