<%@ page import="weaver.hrm.User" %> <%@ page import="weaver.general.BaseBean" %> <%@ page import="com.customization.dito.sendtodo.SendPortalErrorUtil" %> <%@ page import="com.customization.dito.sendtodo.HttpRequestUtil" %> <%@ page import="weaver.conn.RecordSet" %> <%@ page import="weaver.interfaces.dito.comInfo.PropBean" %> <%@ page import="com.time.util.DateUtil" %> <%@ page import="weaver.general.Util" %> <%@ page import="org.apache.commons.lang.StringUtils" %> <%@ page import="java.net.URLEncoder" %> <%@ page import="java.io.UnsupportedEncodingException" %> <%@ page import="com.alibaba.fastjson.JSONObject" %> <%@ page import="weaver.hrm.HrmUserVarify" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.List" %> <%@ page import="com.alibaba.fastjson.JSONArray" %> <%@ page import="java.util.HashMap" %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <% String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl"); String portal_todourl = PropBean.getUfPropValue("portal_todourl"); String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl"); String username = PropBean.getUfPropValue("username"); String passwd = PropBean.getUfPropValue("passwd"); String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl"); String requestid = request.getParameter("requestId"); String userId = request.getParameter("userId"); String center = PropBean.getUfPropValue("center"); sendTodoDataByNode(requestid,userId,username,passwd,center,portal_todourl,bpm_workflowurl,bpm_app_workflowurl,bpm_app_requesturl); %> <%! public void sendTodoDataByNode(String requestid, String userId, String username, String passwd, String center, String portal_todourl, String bpm_workflowurl, String bpm_app_workflowurl, String bpm_app_requesturl){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); JSONObject requestObject = new JSONObject(); RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); bb.writeLog("SendPortalQithRawRunnable--sendTodoDataByNode"); String terminal = "1" ; String taskType = "0"; String actionType = "1" ; String objectAction = "1" ; String objectType = "0"; try { String sql = ""; 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); String requestname = "" ; String workflowname = "" ; String nodeId = "" ; String nodeName = "" ; String lastName = ""; 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("sendTodoDataByNode--sql2:"+sql); 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")) ; lastName = Util.null2String(rs.getString("lastname")) ; } requestObject.put("center",center); requestObject.put("title",requestname); requestObject.put("creator",lastName); requestObject.put("taskCode",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); JSONArray taskObjectList = new JSONArray(); String cus_staff = PropBean.getUfPropValue("cus_staff") ; String scopeid = "-1"; String scope = "HrmCustomFieldByInfoType" ; String userSql = "select a."+cus_staff+" as staffid,b.loginid from cus_fielddata a,hrmresource b where a.scopeid=-1 and a.scope='HrmCustomFieldByInfoType' and a.id=b.id and a.id=?"; rs.executeQuery(userSql,userId); requestObject.put("nodeId",requestObject.getString("nodeId")+userId); if (rs.next()){ String staffid = Util.null2String(rs.getString("staffid")); String loginid = Util.null2String(rs.getString("loginid")); if("sysadmin".equals(loginid)){ loginid = "Admin"; } JSONObject taskObject = new JSONObject(); taskObject.put("objectAction",objectAction); taskObject.put("objectType",objectType); taskObject.put("objectCode",loginid); taskObject.put("objectId",staffid); taskObject.put("operatorCode",loginid); taskObjectList.add(taskObject); } requestObject.put("taskObjectList",taskObjectList); String auth = username + ":" + passwd; bb.writeLog("sendTodoDataByNode---requestObject:"+requestObject.toJSONString()); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); bb.writeLog("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)){ map.put("resultCode","0"); }else{ bb.writeLog(msgObject.get("resultMsg")); // sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); map.put("resultCode",resultCode); map.put("resultMsg",msgObject.get("resultMsg")); } } } } catch (Exception e) { e.printStackTrace(); } } private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; } return messageTitle; } %>