diff --git a/interface/mobilejump/createDoneWorkflow.jsp b/interface/mobilejump/createDoneWorkflow.jsp index a151dd59..22b55a16 100644 --- a/interface/mobilejump/createDoneWorkflow.jsp +++ b/interface/mobilejump/createDoneWorkflow.jsp @@ -27,10 +27,18 @@ String requestid = request.getParameter("requestId"); String nodeid = request.getParameter("nodeid"); String userId = request.getParameter("userId"); - String portal_doneurl = PropBean.getUfPropValue("portal_doneurl"); + if (userId.indexOf(",") >0){ + for (String id : userId.split(",")){ + sendPortalDoneData(requestid,nodeid,id,portal_doneurl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,bpm_app_requesturl); + } + }else { + sendPortalDoneData(requestid,nodeid,userId,portal_doneurl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,bpm_app_requesturl); + } + + + - sendPortalDoneData(requestid,nodeid,userId,portal_doneurl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,bpm_app_requesturl); %> <%! @@ -77,16 +85,20 @@ String requestname = ""; String workflowname = ""; String nodeName = "" ; + String creater = ""; - sql = " select t1.requestname,t3.workflowname\n" + + 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; + " and t1.requestid = "+requestid ; rs.execute(sql); if (rs.next()) { requestname = Util.null2String(rs.getString("requestname")); workflowname = Util.null2String(rs.getString("workflowname")); + creater=Util.null2String(rs.getString("loginid")) ; } sql = " select nodename from workflow_nodebase wn where wn.id = "+nodeid ; @@ -101,7 +113,7 @@ requestObject.put("nodeId", nodeid+userid); requestObject.put("ticketType", workflowname); requestObject.put("title", requestname); - requestObject.put("creator", workcode); + requestObject.put("creator", creater); requestObject.put("processStaff", workcode); requestObject.put("processTime", processTime); requestObject.put("isRecall", isRecall); diff --git a/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java b/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java index 38b2cb14..0dbe2202 100644 --- a/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java +++ b/src/com/customization/dito/sendtodo/SendPortalWithAddDoneCmd.java @@ -116,7 +116,7 @@ public class SendPortalWithAddDoneCmd { } //判断是否为转发节点 sql = "SELECT c1."+PropBean.getUfPropValue("cus_staff")+" as staffid FROM workflow_currentoperator t1 left join cus_fielddata c1 on c1.id = t1.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' WHERE t1.preisremark=1 and t1.REQUESTID=? and t1.USERID=?"; - rs.executeQuery(sql); + rs.executeQuery(sql,requestid,doneMap.get("id")); if (rs.next()){ //删除转发的待办 JSONObject jsonObject = new JSONObject(); @@ -147,6 +147,20 @@ public class SendPortalWithAddDoneCmd { taskObject.put("objectId",rs.getString("staffid")); taskObject.put("operatorCode",doneMap.get("loginid")); jsonObject.put("taskObjectList",list); + bb.writeLog("SendPortalWithAddDoneCmd--delete forward workflow--requestObject:" + jsonObject.toJSONString()); + String auth = username + ":" + passwd; + String msgdata = httpRequestUtil.doPostByAuth(Constants.portal_todourl, jsonObject.toJSONString(), auth); + bb.writeLog("SendPortalToReadUtil-msgdata:" + msgdata); + if(StringUtils.isNotEmpty(msgdata)) { + JSONObject msgObject = JSONObject.parseObject(msgdata); + if(msgObject.containsKey("resultCode")){ + String resultCode = msgObject.getString("resultCode"); + if(!"0".equals(resultCode)){ + String resultmsg = msgObject.getString("resultMsg"); + sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,doneMap.get("id").toString(),doneMap.get("nodename").toString(),doneMap.get("id").toString(),jsonObject.toJSONString(),resultCode,resultmsg); + } + } + } } if (num == 0){ @@ -165,7 +179,7 @@ public class SendPortalWithAddDoneCmd { requestObject.put("ticketType", workflowname); requestObject.put("title", requestname); requestObject.put("creator", creater); - requestObject.put("processStaff", creater); + requestObject.put("processStaff", loginid); requestObject.put("processTime", processTime); requestObject.put("isRecall", isRecall); requestObject.put("actionType", actionType); diff --git a/src/com/customization/dito/sendtodo/SendPortalWithAddTodoCmd.java b/src/com/customization/dito/sendtodo/SendPortalWithAddTodoCmd.java index b26e30c3..83f25812 100644 --- a/src/com/customization/dito/sendtodo/SendPortalWithAddTodoCmd.java +++ b/src/com/customization/dito/sendtodo/SendPortalWithAddTodoCmd.java @@ -108,7 +108,7 @@ public class SendPortalWithAddTodoCmd { String nodeId = "" ; String nodeName = "" ; String lastName = ""; - sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname"+ + 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 "+ @@ -124,7 +124,7 @@ public class SendPortalWithAddTodoCmd { workflowname = Util.null2String(rs.getString("workflowname")) ; nodeId = Util.null2String(rs.getString("nodeid")) ; nodeName = Util.null2String(rs.getString("nodeName")) ; - lastName = Util.null2String(rs.getString("lastname")) ; + lastName = Util.null2String(rs.getString("loginid")) ; } requestObject.put("center",center); diff --git a/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java b/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java index e648beb9..8d88d815 100644 --- a/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java +++ b/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java @@ -122,7 +122,7 @@ public class SendRequestData2PortalInterfaces implements SendRequestStatusDataIn rsojson.put("isremark",rso.getIsremark()); rsojson.put("id",rso.getUser().getUID()); rsojson.put("loginid",rso.getUser().getLoginid()); - rsojson.put("creater",rso.getCreator().getLastname()); + rsojson.put("creater",rso.getCreator().getLoginid()); rsojson.put("noedid",rso.getNodeid()); // rsojson.put("viewtype",rso.getViewtype()); // rsojson.put("receivedatetime",rso.getReceivedate()+" "+rso.getReceivetime()+"/"+rso.getOperatedate()+" "+rso.getOperatetime());