diff --git a/.idea/haojing.iml b/.idea/haojing.iml index d901a3c5..9d677686 100644 --- a/.idea/haojing.iml +++ b/.idea/haojing.iml @@ -7,9 +7,9 @@ - - + + + - \ No newline at end of file diff --git a/src/com/customization/dito/sendtodo/SendMailUtil.java b/src/com/customization/dito/sendtodo/SendMailUtil.java index f7b746f8..f5471fdb 100644 --- a/src/com/customization/dito/sendtodo/SendMailUtil.java +++ b/src/com/customization/dito/sendtodo/SendMailUtil.java @@ -35,6 +35,12 @@ public class SendMailUtil { } baseBean.writeLog("emailkey2:"+emailkey); + + String emailTitleKey = PropBean.getUfPropValue("emailTitleKey"); + String emailContentKey = PropBean.getUfPropValue("emailContentKey"); + baseBean.writeLog("emailTitleKey:"+emailTitleKey); + baseBean.writeLog("emailContentKey:"+emailContentKey); + String triggerTime = sdf.format(new Date()); JSONObject requestJson = new JSONObject(); @@ -43,8 +49,8 @@ public class SendMailUtil { requestJson.put("notificationType",emailNotificationType); requestJson.put(emailkey,emails); requestJson.put("channel",emailChannel); - requestJson.put("notificationSubject",notificationSubject); - requestJson.put("notificationContent",notificationContent); + requestJson.put(emailTitleKey,notificationSubject); + requestJson.put(emailContentKey,notificationContent); try{ String responseData = doGetAccessToken(); diff --git a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java index 2d37d544..2aa9d67c 100644 --- a/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java +++ b/src/com/customization/dito/sendtodo/SendPortalToReadUtil.java @@ -2,6 +2,7 @@ package com.customization.dito.sendtodo; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.time.util.DateUtil; import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; @@ -20,37 +21,52 @@ public class SendPortalToReadUtil { /*** * 流程发起节点,提交到下个节点,发起节点没有待办,下个节点有待办 * @param requestid - * @param noideid * @param user */ - public void sendToReadDataByCreateNode(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 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){ HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); SendMailUtil sendMailUtil = new SendMailUtil(); RecordSet rs = new RecordSet(); - - String requestname = ""; - - JSONObject requestObject = new JSONObject(); - String emailArray = ""; - Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); - BaseBean bb = new BaseBean(); bb.writeLog("SendPortalToReadUtil-sendToReadDataByCreateNode"); + JSONObject requestObject = new JSONObject(); + Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT); String terminal = "1" ; String actionType = "0" ; String taskType = "1"; String objectAction = "0" ; String objectType = "0"; String objectId = "" ; + String emailArray = ""; try { + + String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); JSONArray taskObjectList = new JSONArray(); - String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + - " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + +// int userid = user.getUID(); +// String workcode = ""; +// String sql = "select loginid from hrmresource where id = '" + userid + "'"; +// rs.execute(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 requestname = ""; + String workflowname = "" ; + String title = "" ; + String 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 "+ @@ -61,146 +77,113 @@ public class SendPortalToReadUtil { bb.writeLog("sendToReadDataByNode--sql:"+sql); rs.executeQuery(sql); if (rs.next()){ - String workflowid = Util.null2String(rs.getString("workflowid")) ; - String workflowname = getWorkflowname(workflowid); - String title = Util.null2String(rs.getString("requestname")) ; - String creator = Util.null2String(rs.getString("loginid")) ; - String workcode = Util.null2String(rs.getString("loginid")) ; - String nodeId = Util.null2String(rs.getString("nodeid")) ; - - String createdate = Util.null2String(rs.getString("createdate")) ; - String createtime = Util.null2String(rs.getString("createtime")) ; - String messageTitle = Util.null2String(rs.getString("requestname")) ; - String messageContent = Util.null2String(rs.getString("requestname")) ; - - requestname = messageTitle; - messageTitle = getShortMessageTitle(messageTitle); - - 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 urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl; - String nodeName = Util.null2String(rs.getString("nodeName")) ; - - requestObject.put("center",center); - requestObject.put("title",title); - requestObject.put("creator",creator); - requestObject.put("nodeId",nodeId); - requestObject.put("taskType",taskType); - requestObject.put("actionType",actionType); - requestObject.put("createDate",createdate+" "+createtime); - requestObject.put("messageTitle",messageTitle); - requestObject.put("messageContent",messageContent); - requestObject.put("terminal",terminal); - requestObject.put("urlPc",urlPc); - requestObject.put("urlApp",urlApp); - requestObject.put("urlDing",urlDing); - requestObject.put("nodeName",nodeName); - requestObject.put("ticketType",workflowname); + workflowname = Util.null2String(rs.getString("workflowname")) ; + requestname = Util.null2String(rs.getString("requestname")) ; + title = getShortMessageTitle(requestname); } - - sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid \n" + + requestObject.put("center",center); + requestObject.put("title",title); + requestObject.put("taskType",taskType); + requestObject.put("actionType",actionType); + requestObject.put("createDate",processTime); + requestObject.put("messageTitle",title); + requestObject.put("messageContent",title); + requestObject.put("terminal",terminal); + requestObject.put("urlPc",urlPc); + requestObject.put("urlDing",urlDing); + requestObject.put("ticketType",workflowname); + + sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename \n" + " from workflow_requestbase t1\n" + - " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + - " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + + " left join workflow_nodebase d1 on d1.id = t2.nodeid "+ " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " 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 ; - bb.writeLog("sendToReadDataByNode--sql:"+sql); - rs.executeQuery(sql); - while (rs.next()){ - String usercode = Util.null2String(rs.getString("loginid")) ; - String userid = Util.null2String(rs.getString("userid")) ; - String lcid = Util.null2String(rs.getString("requestid")) ; - String nodeid = Util.null2String(rs.getString("nodeid")) ; - String email = Util.null2String(rs.getString("email")) ; - - bb.writeLog("SendPortalToReadUtil-usercode--sql:"+usercode); - JSONObject taskObject = new JSONObject(); - - taskObject.put("userid",userid); - taskObject.put("usercode",usercode); - taskObject.put("lcid",lcid); - taskObject.put("nodeid",nodeid); - taskObject.put("email",email); - taskObjectList.add(taskObject); - } + bb.writeLog("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 creator = Util.null2String(rs.getString("loginid")) ; + String userid = Util.null2String(rs.getString("userid")) ; + + JSONObject taskObject = new JSONObject(); + taskObject.put("lcid",lcid); + taskObject.put("nodeid",nodeid); + taskObject.put("nodename",nodename); + taskObject.put("email",email); + taskObject.put("creator",creator); + taskObject.put("userid",userid); + taskObjectList.add(taskObject); + } + + for(int i=0;i 1 or t1.deleted is null or t1.deleted = '')\n" + " and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '7', '11'))\n" + " and t2.islasttimes = 1\n" + " and (t2.isprocessing = '' or t2.isprocessing is null)\n" + " and t2.REQUESTID = "+requestid+ " and t2.nodeid = " + noideid ; + bb.writeLog("sendToReadDataByNode--countSql:"+countSql); rs.executeQuery(countSql); while (rs.next()){ @@ -251,112 +237,112 @@ public class SendPortalToReadUtil { } bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--count:"+count); - if(count == 0) { - String actionType = "2"; - String objectAction = "0"; - String objectType = "0"; + if(count == 0) + { + String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - JSONArray taskObjectList = new JSONArray(); + 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; + bb.writeLog("urlDing", urlDing); + + String app_requestUrl = bpm_app_requesturl+requestid; + app_requestUrl = URLEncoder.encode(app_requestUrl,"UTF-8"); - String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + - " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + + String workflowname = "" ; + String requestname = ""; + String title = ""; + + JSONArray taskObjectList = new JSONArray(); + String 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" + - " 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 ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " and t1.requestid = " + requestid; bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--sql:" + sql); rs.executeQuery(sql); if (rs.next()) { - String workflowid = Util.null2String(rs.getString("workflowid")); - String workflowname = getWorkflowname(workflowid); - String title = Util.null2String(rs.getString("requestname")); - requestname = title; - String creator = Util.null2String(rs.getString("loginid")); - String nodeId = Util.null2String(rs.getString("nodeid")); - String workcode = Util.null2String(rs.getString("loginid")); - String createdate = Util.null2String(rs.getString("createdate")); - String createtime = Util.null2String(rs.getString("createtime")); - String messageTitle = Util.null2String(rs.getString("requestname")); - messageTitle = getShortMessageTitle(messageTitle); - String messageContent = Util.null2String(rs.getString("requestname")); - - 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 urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String nodeName = Util.null2String(rs.getString("nodeName")); - - requestObject.put("center", center); - requestObject.put("title", title); - requestObject.put("creator", creator); - requestObject.put("nodeId", nodeId); - requestObject.put("taskType", taskType); - requestObject.put("actionType", actionType); - requestObject.put("createDate", createdate + " " + createtime); - requestObject.put("messageTitle", messageTitle); - requestObject.put("messageContent", messageContent); - requestObject.put("terminal", terminal); - requestObject.put("urlPc", urlPc); - requestObject.put("urlApp", urlApp); - requestObject.put("urlDing", urlDing); - requestObject.put("nodeName", nodeName); - requestObject.put("ticketType", workflowname); + workflowname = Util.null2String(rs.getString("workflowname")); + requestname = Util.null2String(rs.getString("requestname")); + title = getShortMessageTitle(requestname); } - sql = " select t2.userid,h1.loginid,h1.email\n" + + requestObject.put("center", center); + requestObject.put("title", title); + + requestObject.put("taskType", taskType); + requestObject.put("actionType", actionType); + requestObject.put("createDate", processTime); + requestObject.put("messageTitle", title); + requestObject.put("messageContent", title); + requestObject.put("terminal", terminal); + requestObject.put("urlPc", urlPc); + requestObject.put("urlDing", urlDing); + requestObject.put("ticketType", workflowname); + + sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename \n" + " from workflow_requestbase t1\n" + - " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + - " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + + " inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" + + " left join (select id, lastname,loginid,email from hrmresource where STATUS = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t2.userid\n" + + " left join workflow_nodebase d1 on d1.id = t2.nodeid "+ " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " 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 ; + bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--sql:" + sql); rs.executeQuery(sql); while (rs.next()) { - String usercode = Util.null2String(rs.getString("loginid")); - String userid = Util.null2String(rs.getString("userid")); - String lcid = Util.null2String(rs.getString("requestid")); - String nodeid = Util.null2String(rs.getString("nodeid")); - String email = Util.null2String(rs.getString("email")); + 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 creator = Util.null2String(rs.getString("loginid")) ; + String userid = Util.null2String(rs.getString("userid")) ; - bb.writeLog("SendPortalToReadUtil-usercode--sql:" + usercode); JSONObject taskObject = new JSONObject(); - - taskObject.put("userid", userid); - taskObject.put("usercode", usercode); - taskObject.put("lcid", lcid); - taskObject.put("nodeid", nodeid); - taskObject.put("email", email); + taskObject.put("lcid",lcid); + taskObject.put("nodeid",nodeid); + taskObject.put("nodename",nodename); + taskObject.put("email",email); + taskObject.put("creator",creator); + taskObject.put("userid",userid); taskObjectList.add(taskObject); } for (int i = 0; i < taskObjectList.size(); i++) { JSONObject dataObject = taskObjectList.getJSONObject(i); - String usercode = dataObject.getString("usercode"); - String userid = dataObject.getString("userid"); 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"); + if("sysadmin".equals(creator)){ + creator = "Admin"; + } JSONObject taskObject = new JSONObject(); - String objectCode = usercode; - String operatorCode = usercode; - taskObject.put("objectAction", objectAction); - taskObject.put("objectType", objectType); - taskObject.put("objectCode", objectCode); - taskObject.put("objectId", objectId); - taskObject.put("operatorCode", operatorCode); + String objectCode = creator ; + String operatorCode = creator ; + taskObject.put("objectAction",objectAction); + taskObject.put("objectType",objectType); + taskObject.put("objectCode",objectCode); + taskObject.put("objectId",objectId); + taskObject.put("operatorCode",operatorCode); JSONArray taskArray = new JSONArray(); taskArray.add(taskObject); - requestObject.put("taskCode", lcid + "_cs_" + nodeid + "_" + userid); - requestObject.put("taskObjectList", taskArray); + String urlApp = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+creator+"&forwardurl="+app_requestUrl; + requestObject.put("creator",creator); + requestObject.put("nodeName",nodename); + requestObject.put("nodeId",nodeid); + requestObject.put("urlApp",urlApp); + requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid); + requestObject.put("taskObjectList",taskArray); + String auth = username + ":" + passwd; bb.writeLog("SendPortalToReadUtil--requestObject:" + requestObject.toJSONString()); @@ -389,7 +375,6 @@ public class SendPortalToReadUtil { } } - private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; @@ -397,14 +382,4 @@ public class SendPortalToReadUtil { return messageTitle; } - private String getWorkflowname(String id){ - RecordSet rs = new RecordSet(); - String name = ""; - rs.executeQuery("select workflowname from workflow_base where id = ?",id); - while (rs.next()){ - name = Util.null2String(rs.getString("workflowname")); - } - return name; - } - } diff --git a/src/com/customization/dito/sendtodo/SendPortalTodoRunnable.java b/src/com/customization/dito/sendtodo/SendPortalTodoRunnable.java index f91e5b8b..fc41f0f0 100644 --- a/src/com/customization/dito/sendtodo/SendPortalTodoRunnable.java +++ b/src/com/customization/dito/sendtodo/SendPortalTodoRunnable.java @@ -44,7 +44,7 @@ public class SendPortalTodoRunnable implements Runnable{ }else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); sendPortalDoneUtil.sendPortalDoneData( new_requestid, nodeid, user, portal_doneurl,bpm_app_workflowurl, username, passwd, bpm_workflowurl,bpm_app_requesturl); - sendPortalToReadUtil.sendToReadDataByCreateNode(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,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); diff --git a/src/com/engine/dito/reqremark/cmd/RequestRemarkCmd.java b/src/com/engine/dito/reqremark/cmd/RequestRemarkCmd.java index 0bf84e1c..577815c0 100644 --- a/src/com/engine/dito/reqremark/cmd/RequestRemarkCmd.java +++ b/src/com/engine/dito/reqremark/cmd/RequestRemarkCmd.java @@ -12,6 +12,7 @@ import com.time.util.DateUtil; import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; +import weaver.general.TimeUtil; import weaver.general.Util; import weaver.hrm.User; import weaver.interfaces.dito.comInfo.PropBean; @@ -41,11 +42,239 @@ public class RequestRemarkCmd extends AbstractCommonCommand> String nodeid = Util.null2String(params.get("nodeid")); Map map = new HashMap(); String resultCode = sendPortalDoneData(requestid,nodeid,userid+""); + if("0".equals(resultCode)){ + resultCode = completePortalReadData(requestid, nodeid,userid+""); + } map.put("resultcode",resultCode); return map; } + /*** + * + * @param requestid + * @param nodeid + * @param userid + * @return + */ +// public String completePortalReadData2(String requestid, String nodeid,String userid) { +// +// String resultCode = "" ; +// +// BaseBean bb = new BaseBean(); +// RecordSet rs = new RecordSet(); +// +// SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); +// HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); +// +// 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 username = PropBean.getUfPropValue("username"); +// String passwd = PropBean.getUfPropValue("passwd"); +// String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl"); +// String center = PropBean.getUfPropValue("center"); +// +// String isRecall = "1"; +// String actionType = "0"; +// +// try { +// +// String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); +// String workcode = ""; +// String sql = "select loginid from hrmresource where id = '" + userid + "'"; +// rs.execute(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 urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; +// String replace = bpm_app_workflowurl.replace("/bpm", ""); +// String urlDing = replace+bpm_app_requesturl+requestid; +// +// String title = "" ; +// String workflowname = "" ; +// String creator = ""; +// sql = " select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + +// " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\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 " + +// " left join (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) h1 on h1.id = t1.creater\n" + +// " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + +// " and t1.requestid = " + requestid; +// rs.execute(sql); +// if (rs.next()) { +// title = Util.null2String(rs.getString("requestname")); +// String workflowid = Util.null2String(rs.getString("workflowid")); +// workflowname = getWorkflowname(workflowid); +// creator = Util.null2String(rs.getString("loginid")); +// } +// +// JSONObject requestObject = new JSONObject(); +// requestObject.put("center", center); +// requestObject.put("taskCode", requestid+"_cs_"+nodeid+"_"+userid); +// requestObject.put("nodeId", nodeid); +// requestObject.put("ticketType", workflowname); +// requestObject.put("title", title); +// requestObject.put("creator", creator); +// requestObject.put("processStaff", workcode); +// requestObject.put("processTime", processTime); +// requestObject.put("isRecall", isRecall); +// requestObject.put("actionType", actionType); +// requestObject.put("urlPC", urlPc); +// requestObject.put("urlApp", urlApp); +// requestObject.put("urlDing",urlDing); +// +// String auth = username + ":" + passwd; +// bb.writeLog("done requestObject:" + requestObject.toJSONString()); +// String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); +// bb.writeLog("done msgdata:" + msgdata); +// if(StringUtils.isNotEmpty(msgdata)){ +// JSONObject msgObject = JSONObject.parseObject(msgdata); +// //{"resultCode":"1","resultMsg":"No Result"} +// if(msgObject.containsKey("resultCode")){ +// resultCode = msgObject.getString("resultCode"); +// if(!"0".equals(resultCode)){ +// sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); +// } +// } +// } +// +// } catch (Exception e) { +// bb.writeLog("done Exception"); +// bb.writeLog(e.getMessage()); +// } +// +// return resultCode; +// } + + + /*** + * + * @param requestid + * @param nodeid + * @param userid + */ + public String completePortalReadData(String requestid, String nodeid,String userid){ + + String resultCode = "" ; + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); + SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); + + 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"); + + + BaseBean bb = new BaseBean(); + RecordSet rs = new RecordSet(); + + String actionType = "3" ; + String terminal = "1" ; + String taskType = "1"; //0 – 待办 1 –待阅 + String objectAction = "0" ; + String objectType = "0"; + String objectId = "" ; + + JSONObject requestObject = new JSONObject(); + try { + + 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 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 urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; + + String requestname = ""; + String workflowname = "" ; + String title = "" ; + + sql = " select t1.requestname,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; + + rs.execute(sql); + if (rs.next()) { + workflowname = Util.null2String(rs.getString("workflowname")) ; + requestname = Util.null2String(rs.getString("requestname")) ; + title = getShortMessageTitle(requestname); + } + + + String createdate = TimeUtil.getCurrentDateString(); + String createtime = TimeUtil.getCurrentTimeString(); + + requestObject.put("center",center); + requestObject.put("title",requestname); + requestObject.put("creator",workcode); + requestObject.put("taskCode",requestid+"_cs_"+nodeid+"_"+userid); + requestObject.put("nodeId",nodeid); + requestObject.put("taskType",taskType); + requestObject.put("actionType",actionType); + requestObject.put("createDate",createdate+" "+createtime); + requestObject.put("messageTitle",requestname); + requestObject.put("messageContent",requestname); + requestObject.put("terminal",terminal); + requestObject.put("urlPc",urlPc); + requestObject.put("urlApp",urlApp); + requestObject.put("urlDing",urlDing); + requestObject.put("nodeName",getNodeName(nodeid)); + requestObject.put("ticketType",workflowname); + + + JSONArray taskObjectList = new JSONArray(); + JSONObject taskObject = new JSONObject(); + + String objectCode = workcode ; + String operatorCode = workcode ; + taskObject.put("objectAction",objectAction); + taskObject.put("objectType",objectType); + taskObject.put("objectCode",objectCode); + taskObject.put("objectId",objectId); + taskObject.put("operatorCode",operatorCode); + taskObjectList.add(taskObject); + + requestObject.put("taskObjectList",taskObjectList); + String auth = username + ":" + passwd; + String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); + bb.writeLog("msgdata:"+msgdata); + if(StringUtils.isNotEmpty(msgdata)){ + JSONObject msgObject = JSONObject.parseObject(msgdata); + //{"resultCode":"1","resultMsg":"No Result"} + if(msgObject.containsKey("resultCode")){ + resultCode = msgObject.getString("resultCode"); + if(!"0".equals(resultCode)){ + sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + + return resultCode; + } + + + /*** * * @param requestid @@ -55,20 +284,26 @@ public class RequestRemarkCmd extends AbstractCommonCommand> public String sendPortalDoneData(String requestid, String nodeid,String userid) { String resultCode = "" ; + + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); + HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); + 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 username = PropBean.getUfPropValue("username"); String passwd = PropBean.getUfPropValue("passwd"); String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl"); + String center = PropBean.getUfPropValue("center"); + + String isRecall = "1"; + String actionType = "0"; - BaseBean bb = new BaseBean(); try { - HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); - RecordSet rs = new RecordSet(); String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); - String isRecall = "1"; - String actionType = "0"; String workcode = ""; String sql = "select loginid from hrmresource where id = '" + userid + "'"; rs.execute(sql); @@ -76,8 +311,6 @@ public class RequestRemarkCmd extends AbstractCommonCommand> workcode = Util.null2String(rs.getString("loginid")); } - String center = PropBean.getUfPropValue("center"); - 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"); @@ -85,7 +318,6 @@ public class RequestRemarkCmd extends AbstractCommonCommand> String replace = bpm_app_workflowurl.replace("/bpm", ""); String urlDing = replace+bpm_app_requesturl+requestid; - int count = 0; sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid\n" + " from workflow_requestbase t1\n" + @@ -104,32 +336,27 @@ public class RequestRemarkCmd extends AbstractCommonCommand> if(count > 0) { String title = "" ; + String requestname = "" ; String workflowname = "" ; - String creator = ""; - sql = " select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + - " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + + 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" + - " 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 ) h1 on h1.id = t1.creater\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " and t1.requestid = " + requestid; + rs.execute(sql); if (rs.next()) { - title = Util.null2String(rs.getString("requestname")); - String workflowid = Util.null2String(rs.getString("workflowid")); - workflowname = getWorkflowname(workflowid); - //title = getShortMessageTitle(title); - creator = Util.null2String(rs.getString("loginid")); + requestname = Util.null2String(rs.getString("requestname")); + workflowname = Util.null2String(rs.getString("workflowname")); + title = getShortMessageTitle(requestname); } JSONObject requestObject = new JSONObject(); requestObject.put("center", center); requestObject.put("taskCode", requestid+"_cs_"+nodeid+"_"+userid); requestObject.put("nodeId", nodeid); - requestObject.put("ticketType", workflowname); - requestObject.put("title", title); - requestObject.put("creator", creator); + requestObject.put("title", requestname); + requestObject.put("creator", workcode); requestObject.put("processStaff", workcode); requestObject.put("processTime", processTime); requestObject.put("isRecall", isRecall); @@ -137,6 +364,7 @@ public class RequestRemarkCmd extends AbstractCommonCommand> requestObject.put("urlPC", urlPc); requestObject.put("urlApp", urlApp); requestObject.put("urlDing",urlDing); + requestObject.put("ticketType",workflowname); String auth = username + ":" + passwd; bb.writeLog("done requestObject:" + requestObject.toJSONString()); @@ -147,9 +375,9 @@ public class RequestRemarkCmd extends AbstractCommonCommand> //{"resultCode":"1","resultMsg":"No Result"} if(msgObject.containsKey("resultCode")){ resultCode = msgObject.getString("resultCode"); -// if(!"0".equals(resultCode)){ -// //sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); -// } + if(!"0".equals(resultCode)){ + sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo(); + } } } } @@ -157,11 +385,15 @@ public class RequestRemarkCmd extends AbstractCommonCommand> bb.writeLog("done Exception"); bb.writeLog(e.getMessage()); } - return resultCode; } + /*** + * + * @param messageTitle + * @return + */ private String getShortMessageTitle(String messageTitle) { if (messageTitle.length() > 20) { messageTitle = messageTitle.substring(0, 17) + "..."; @@ -169,12 +401,18 @@ public class RequestRemarkCmd extends AbstractCommonCommand> return messageTitle; } - private String getWorkflowname(String id){ + + /*** + * + * @param id + * @return + */ + private String getNodeName(String id){ RecordSet rs = new RecordSet(); String name = ""; - rs.executeQuery("select workflowname from workflow_base where id = ?",id); + rs.executeQuery(" select nodename from workflow_nodebase where id = ?",id); while (rs.next()){ - name = Util.null2String(rs.getString("workflowname")); + name = Util.null2String(rs.getString("nodename")); } return name; } diff --git a/src/weaver/interfaces/dito/comInfo/PropBean.java b/src/weaver/interfaces/dito/comInfo/PropBean.java index 59669bed..f7aef008 100644 --- a/src/weaver/interfaces/dito/comInfo/PropBean.java +++ b/src/weaver/interfaces/dito/comInfo/PropBean.java @@ -26,23 +26,16 @@ public class PropBean { active = Util.null2String(baseBean.getPropValue("developProp","active")).toUpperCase(); } - baseBean.writeLog("propbeanactive:"+active+" pkey:"+pkey+" "+active+"VALUE"); + //baseBean.writeLog("propbeanactive:"+active+" pkey:"+pkey+" "+active+"VALUE"); String pvalue = ""; try{ RecordSet rs = new RecordSet(); - baseBean.writeLog("22222:"); String sql = " SELECT DEVVALUE,TESTVALUE,PRODVALUE FROM UF_PROP WHERE PKEY = ?"; - - baseBean.writeLog("22222:"); - baseBean.writeLog("propbeansql:"+sql); - rs.executeQuery(sql,new Object[]{pkey.trim()}); - baseBean.writeLog("33333:"); if(rs.next()){ pvalue = Util.null2String(rs.getString(active+"VALUE")); } - baseBean.writeLog("4444444:"); - baseBean.writeLog("pvalue:"+pvalue); +// baseBean.writeLog("pvalue:"+pvalue); }catch (Exception e){ e.printStackTrace(); bb.writeLog("propbean-e:"+e); diff --git a/src/weaver/interfaces/dito/filter/PortalLoginBeforeFilter.java b/src/weaver/interfaces/dito/filter/PortalLoginBeforeFilter.java index 0156e3e5..23d94cdc 100644 --- a/src/weaver/interfaces/dito/filter/PortalLoginBeforeFilter.java +++ b/src/weaver/interfaces/dito/filter/PortalLoginBeforeFilter.java @@ -90,9 +90,13 @@ public class PortalLoginBeforeFilter implements Filter { if (!"".equals(cookval) && cookval.contains("=")) { String key = cookval.substring(0, cookval.indexOf("=")); String value = cookval.substring(cookval.indexOf("=") + 1); - if ("SESSION".equals(key.trim()) || key.contains("SESSION")) { + bb.writeLog("key:"+key); + bb.writeLog("value:"+value); + if ("SESSION".equalsIgnoreCase(key.trim())) { uid = value; + bb.writeLog("uid8888:"+uid); } + } } } @@ -140,15 +144,25 @@ public class PortalLoginBeforeFilter implements Filter { }else{ bb.writeLog("weaver_uid == uid"); -// String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid); -// if (!"".equals(msg)) -// { -// JSONObject jsonObject = JSONObject.parseObject(msg); -// if(jsonObject.containsKey("resultCode")){ -// String resultCode = jsonObject.getString("resultCode") ; -// request.getSession(true).setAttribute("portal_status", resultCode); -// } -// } + if(loginuser == null) + { + bb.writeLog("loginuser is null"); + String msg = httpRequestUtil.doGetHttp(portalUserAuth,uid); + if (!"".equals(msg)) + { + JSONObject jsonObject = JSONObject.parseObject(msg); + if(jsonObject.containsKey("resultCode")){ + String resultCode = jsonObject.getString("resultCode") ; + if("1".equals(resultCode)) + { + JSONObject resultObject = jsonObject.getJSONObject("resultObject"); + String staffCode = resultObject.getString("staffCode"); + httpRequestUtil.userSessionFilter(request,response, application, staffCode, uid); + } + Util.setCookie(response, "portalStatus", resultCode, -1); + } + } + } } }else { bb.writeLog("weaver_uid is null "); @@ -167,7 +181,6 @@ public class PortalLoginBeforeFilter implements Filter { } Util.setCookie(response, "portalStatus", resultCode, -1); - // request.getSession(true).setAttribute("portal_status", resultCode); } }