diff --git a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java index b952a2a1..aa2f8f3e 100644 --- a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java +++ b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java @@ -24,7 +24,6 @@ public class SendPortalToReadUtil { /*** * 流程发起节点,提交到下个节点,发起节点没有待办,下个节点有待办 * @param requestid - * @param user */ 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){ @@ -53,25 +52,10 @@ 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 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)){ @@ -81,13 +65,8 @@ public class SendPortalToReadUtil { 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 lastname = ""; + String loginid = ""; 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" + @@ -95,7 +74,6 @@ public class SendPortalToReadUtil { " 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("sendToReadDataByNode--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ @@ -200,8 +178,6 @@ public class SendPortalToReadUtil { if(matcher.matches()){ emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ; } - - bb.writeLog("emailArray:"+emailArray); if(StringUtils.isNotEmpty(emailArray)) { @@ -234,9 +210,8 @@ public class SendPortalToReadUtil { * 如果流程提交节点没有待办,意味着流程流转到下个节点,那么查询出来的待办都有新增,并且删除提交节点的所有待办 * @param requestid * @param noideid - * @param user */ - public void sendToReadDataByNode(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){ + 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){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); @@ -262,19 +237,8 @@ public class SendPortalToReadUtil { String taskType = "1"; 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")); -// } - 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" + @@ -297,13 +261,8 @@ public class SendPortalToReadUtil { 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"); @@ -314,13 +273,11 @@ public class SendPortalToReadUtil { String workflowname = "" ; String requestname = ""; String loginid = ""; + String lastname = "" ; + String nodeid = "" ; + String nodename = "" ; 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" + @@ -337,11 +294,12 @@ public class SendPortalToReadUtil { requestname = Util.null2String(rs.getString("requestname")); lastname = Util.null2String(rs.getString("lastname")) ; loginid = Util.null2String(rs.getString("loginid")) ; + nodeid = Util.null2String(rs.getString("nodeid")) ; + nodename = Util.null2String(rs.getString("nodename")) ; } requestObject.put("center", center); requestObject.put("title", requestname); - requestObject.put("taskType", taskType); requestObject.put("actionType", actionType); requestObject.put("createDate", processTime); @@ -364,14 +322,12 @@ public class SendPortalToReadUtil { " 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 ; + " and t2.requestid = "+requestid +" and t2.nodeid="+nodeid ; bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--sql:" + sql); rs.executeQuery(sql); while (rs.next()) { String lcid = Util.null2String(rs.getString("requestid")) ; - String nodeid = Util.null2String(rs.getString("nodeid")) ; - String nodename = Util.null2String(rs.getString("nodename")) ; String email = Util.null2String(rs.getString("email")) ; String staffid = Util.null2String(rs.getString("staffid")) ; @@ -392,8 +348,6 @@ public class SendPortalToReadUtil { for (int i = 0; i < taskObjectList.size(); i++) { JSONObject dataObject = taskObjectList.getJSONObject(i); String lcid = dataObject.getString("lcid"); - String nodeid = dataObject.getString("nodeid"); - String nodename = dataObject.getString("nodename"); String email = dataObject.getString("email"); String creator = dataObject.getString("creator"); String userid = dataObject.getString("userid"); @@ -447,7 +401,6 @@ public class SendPortalToReadUtil { sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,""); - }else if ("TODO-FAIL-002".equals(resultCode)){ //The task does not exist.任务不存在,则新增 sendToReadDataByCreateNode(requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); @@ -461,14 +414,17 @@ public class SendPortalToReadUtil { } } } - - } } catch (Exception e) { e.printStackTrace(); } } + /*** + * + * @param messageTitle + * @return + */ private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; diff --git a/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java b/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java index c25a1808..4b9bdafe 100644 --- a/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java +++ b/src/com/customization/dito/sendtodo/SendPortalTodoCmd.java @@ -6,10 +6,10 @@ import com.engine.core.interceptor.AbstractCommandProxy; import com.engine.core.interceptor.Command; import com.engine.workflow.cmd.requestForm.RequestSubmitCmd; import com.engine.workflow.entity.requestForm.RequestOperationResultBean; -import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; +import weaver.interfaces.dito.comInfo.PropBean; import javax.servlet.http.HttpServletRequest; import java.util.Map; @@ -36,6 +36,16 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> String nodeid = Util.null2String(request.getParameter("nodeid")); String workflowname = Util.null2String(request.getParameter("workflowname")); + /*** + * 空值:流程正常提交 + * 1:被代理人提交流程 + * 2:代理人提交流程 + */ + String agentType = Util.null2String(request.getParameter("agentType")); + String f_weaver_belongto_userid = Util.null2String(request.getParameter("f_weaver_belongto_userid")); + String f_weaver_belongto_usertype = Util.null2String(request.getParameter("f_weaver_belongto_usertype")); + String creater = Util.null2String(request.getParameter("creater")); + // Map params = ParamUtil.request2Map(request); // params.forEach((t,u)-> { // System.out.println(t+"->>>"+u); @@ -45,13 +55,6 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> // System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); // } - RecordSet rs = new RecordSet(); - rs.executeQuery("select * from workflow_requestlogAtInfo where requestid=? ",requestid); - while(rs.next()){ - String atuserid = Util.null2String(rs.getString("atuserid")); - bb.writeLog(requestid+"======================== SendPortalTodoCmd ========================="+ atuserid); - } - User user = requestSubmitCmd.getUser(); bb.writeLog("requestid:"+requestid); bb.writeLog("workflowid:"+workflowid); @@ -70,29 +73,41 @@ public class SendPortalTodoCmd extends AbstractCommandProxy> String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid")); bb.writeLog("new_requestid:"+new_requestid); -// String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl"); -// String portal_doneurl = PropBean.getUfPropValue("portal_doneurl"); -// 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"); - 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, Constants.portal_todourl, Constants.bpm_app_workflowurl, Constants.username, Constants.passwd, Constants.bpm_workflowurl, Constants.center, Constants.bpm_app_requesturl); + 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, Constants.portal_todourl, Constants.bpm_app_workflowurl, Constants.username, Constants.passwd, Constants.bpm_workflowurl, Constants.center, Constants.bpm_app_requesturl); + 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)){ - sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user, Constants.portal_todourl, Constants.bpm_app_workflowurl, Constants.username, Constants.passwd, Constants.bpm_workflowurl, Constants.center, Constants.bpm_app_requesturl); + if("-1".equals(agentType)){ + + }else if("0".equals(agentType)){ + + }else if("1".equals(agentType)){ + }else if("2".equals(agentType)){ + + } + + 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, Constants.portal_todourl, Constants.bpm_app_workflowurl, Constants.username, Constants.passwd, Constants.bpm_workflowurl, Constants.center, Constants.bpm_app_requesturl); + 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();