#EC_HJ109# 流程监控删除功能优化

main
shilei 2 years ago
parent 21962bf8c9
commit e7c0c0aea3

@ -2,6 +2,7 @@ package com.customization.dito.sendtodo;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.constant.Constants;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.core.cfg.annotation.CommandDynamicProxy; import com.engine.core.cfg.annotation.CommandDynamicProxy;
@ -19,6 +20,7 @@ import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -33,64 +35,172 @@ public class SendPortalWithDeleteCmd {
public Map<String, Object> execute(CommandContext commandContext) { public Map<String, Object> execute(CommandContext commandContext) {
String requestid = Util.null2String(params.get("requestid")); String requestid = Util.null2String(params.get("requestid"));
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String username = PropBean.getUfPropValue("username");
String passwd = PropBean.getUfPropValue("passwd");
String center = PropBean.getUfPropValue("center");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
sendTodoDataByNode(requestid,username,passwd,center,portal_todourl,bpm_workflowurl,bpm_app_workflowurl,bpm_app_requesturl); String currentUserId = "1";
SendPortalWithDeleteTodo(requestid,currentUserId);
List<Map<String,String>> deleteRemarkDatas = (List<Map<String,String>>)(params.get("deleteRemarkDatas"));
for(int i=0;i<deleteRemarkDatas.size();i++){
Map<String,String> deleteRemarkMap = deleteRemarkDatas.get(i);
String userid = deleteRemarkMap.get("userid");
String lcid = deleteRemarkMap.get("requestid");
SendPortalWithDeleteToRead(lcid,currentUserId,userid);
}
return null; return null;
} }
private String getShortMessageTitle(String messageTitle) {
if (messageTitle.length() > 20) { /**
messageTitle = messageTitle.substring(0, 17) + "..."; *
* @param requestid
* @param currentUserId
*/
public void SendPortalWithDeleteTodo(String requestid,String currentUserId){
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;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
String zhjkbs = "com.customization.dito.sendtodo.SendPortalWithDeleteCmd.SendPortalWithDeleteTodo" ;
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("SendPortalWithDeleteCmd--SendPortalWithDeleteTodo");
String terminal = "1" ;
String taskType = "0";
String actionType = "3" ;
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
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("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 ;
bb.writeLog("SendPortalWithDeleteTodo--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);
String auth = username + ":" + passwd;
bb.writeLog("SendPortalWithDeleteTodo---requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
if (!"".equals(msgdata)) {
JSONObject msgObject = JSONObject.parseObject(msgdata);
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();
} }
return messageTitle;
} }
/** /**
* *
* @param username * @param requestid
* @param passwd * @param currentUserId
* @param portal_todourl
* @param bpm_workflowurl
* @param bpm_app_workflowurl
* @param bpm_app_requesturl
*/ */
public void sendTodoDataByNode(String requestid,String username,String passwd,String center,String portal_todourl,String bpm_workflowurl,String bpm_app_workflowurl,String bpm_app_requesturl){ public void SendPortalWithDeleteToRead(String requestid,String currentUserId,String userid){
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;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); String zhjkbs = "com.customization.dito.sendtodo.SendPortalWithDeleteCmd.SendPortalWithDeleteToRead" ;
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
bb.writeLog("SendPortalQithRawRunnable--sendTodoDataByNode"); bb.writeLog("SendPortalWithDeleteCmd--SendPortalWithDeleteToRead");
String terminal = "1" ; String terminal = "1" ;
String taskType = "0"; String taskType = "0";
String actionType = "3" ; String actionType = "3" ;
String objectAction = "0" ;
String objectType = "0";
try { SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String sql="";
// int userid = user.getUID(); String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
//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 = '" + userid + "'";
// rs.executeQuery(sql);
// while (rs.next()) {
// workcode = Util.null2String(rs.getString("loginid"));
// }
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); try {
String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ;
String replace = bpm_app_workflowurl.replace("/bpm", ""); String replace = bpm_app_workflowurl.replace("/bpm", "");
@ -103,33 +213,32 @@ public class SendPortalWithDeleteCmd {
} }
bb.writeLog("urlDing", urlDing); bb.writeLog("urlDing", urlDing);
String requestname = "" ; String requestname = "" ;
String workflowname = "" ; String workflowname = "" ;
String nodeId = "" ; String currentNodeId = "" ;
String nodeName = "" ; String currentNodeName = "" ;
sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; " and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByNode--sql2:"+sql); bb.writeLog("SendPortalWithDeleteToRead--sql2:"+sql);
rs.executeQuery(sql); rs.executeQuery(sql);
if (rs.next()){ if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ; requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ; currentNodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ; currentNodeName = Util.null2String(rs.getString("nodeName")) ;
} }
requestObject.put("center",center); requestObject.put("center",center);
requestObject.put("title",requestname); requestObject.put("title",requestname);
//requestObject.put("creator",workcode); requestObject.put("taskCode", requestid+"_cs_"+userid);
requestObject.put("taskCode","weaver"+requestid); requestObject.put("nodeId",currentNodeId);
requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType); requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType); requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime); requestObject.put("createDate",processTime);
@ -139,45 +248,36 @@ public class SendPortalWithDeleteCmd {
requestObject.put("urlPc",urlPc); requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp); requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing); requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodeName); requestObject.put("nodeName",currentNodeName);
requestObject.put("ticketType",workflowname); requestObject.put("ticketType",workflowname);
// JSONArray taskObjectList = new JSONArray();
// JSONObject taskObject = new JSONObject();
// taskObject.put("objectAction",objectAction);
// taskObject.put("objectType",objectType);
// taskObject.put("objectCode",workcode);
// taskObject.put("objectId","");
// taskObject.put("operatorCode",workcode);
// taskObjectList.add(taskObject);
// requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd; String auth = username + ":" + passwd;
bb.writeLog("sendTodoDataByNode---requestObject:"+requestObject.toJSONString()); bb.writeLog("SendPortalWithDeleteToRead---requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata); if (!"".equals(msgdata)) {
Map<String,Object> map = new HashMap<>();
if(!"".equals(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata); JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"} if (msgObject.containsKey("resultCode")) {
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode"); String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){ if ("0".equals(resultCode)) {
map.put("resultCode","0"); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs);
}else{ }else{
bb.writeLog(msgObject.get("resultMsg")); String resultmsg = msgObject.getString("resultMsg");
// sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs);
map.put("resultCode",resultCode);
map.put("resultMsg",msgObject.get("resultMsg"));
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
private String getShortMessageTitle(String messageTitle) {
if (messageTitle.length() > 20) {
messageTitle = messageTitle.substring(0, 17) + "...";
}
return messageTitle;
}
} }

@ -184,11 +184,9 @@ public class RequestMonitorListAction {
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "monitorDelete" ; String methodName = "monitorDelete" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
if(clazz.getMethod(methodName,String.class) != null) { Method method = clazz.getMethod(methodName, String.class,String.class);
Method method = clazz.getMethod(methodName, String.class,String.class); Object newInstance = clazz.newInstance();
Object newInstance = clazz.newInstance(); method.invoke(newInstance,requestid,userid);
method.invoke(newInstance,requestid,userid);
}
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace(); e.printStackTrace();
@ -227,22 +225,20 @@ public class RequestMonitorListAction {
try{ try{
String requestid = Util.null2String(request.getParameter("multiRequestIds")); String requestid = Util.null2String(request.getParameter("multiRequestIds"));
String userid = user.getUID()+"" ; String userid = user.getUID()+"" ;
bb.writeLog("deleteRequestById-requestid"+requestid); bb.writeLog("archivingRequestById-requestid"+requestid);
bb.writeLog("deleteRequestById-userid"+userid); bb.writeLog("archivingRequestById-userid"+userid);
if(StringUtils.isNotEmpty(requestid)){ if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "monitorArchived" ; String methodName = "monitorArchived" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
if(clazz.getMethod(methodName,String.class) != null) { Method method = clazz.getMethod(methodName, String.class,String.class);
Method method = clazz.getMethod(methodName, String.class,String.class); Object newInstance = clazz.newInstance();
Object newInstance = clazz.newInstance(); method.invoke(newInstance,requestid,userid);
method.invoke(newInstance,requestid,userid);
}
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace(); e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e); bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
} }
}catch(Exception e){ }catch(Exception e){
@ -359,22 +355,20 @@ public class RequestMonitorListAction {
try{ try{
String requestid = Util.null2String(request.getParameter("multiRequestIds")); String requestid = Util.null2String(request.getParameter("multiRequestIds"));
String userid = user.getUID()+"" ; String userid = user.getUID()+"" ;
bb.writeLog("deleteRequestById-requestid"+requestid); bb.writeLog("repossessedRequestById-requestid"+requestid);
bb.writeLog("deleteRequestById-userid"+userid); bb.writeLog("repossessedRequestById-userid"+userid);
if(StringUtils.isNotEmpty(requestid)){ if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "monitorPossessed" ; String methodName = "monitorPossessed" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
if(clazz.getMethod(methodName,String.class) != null) { Method method = clazz.getMethod(methodName,String.class,String.class);
Method method = clazz.getMethod(methodName, String.class,String.class); Object newInstance = clazz.newInstance();
Object newInstance = clazz.newInstance(); method.invoke(newInstance,requestid,userid);
method.invoke(newInstance,requestid,userid);
}
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace(); e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e); bb.writeLog("repossessedRequestById-ClassNotFoundException"+e);
} }
}catch(Exception e){ }catch(Exception e){

Loading…
Cancel
Save