You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
7.9 KiB
Plaintext
178 lines
7.9 KiB
Plaintext
<%@ 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<String,Object> 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;
|
|
}
|
|
%>
|
|
|