#EC_HJ141# 流程待办日志增加接收人

main
shilei 1 year ago
parent ad2ab4ce10
commit f1f1e589aa

@ -28,8 +28,9 @@ public class SendPortalToReadUtil {
*/
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){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalToReadUtil.sendToReadDataByCreateNode" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
RecordSet rs = new RecordSet();
@ -43,6 +44,8 @@ public class SendPortalToReadUtil {
JSONObject requestObject = new JSONObject();
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
String currentUserId = user.getUID()+"" ;
String terminal = "1" ;
String actionType = "0" ;
String taskType = "1";
@ -53,25 +56,14 @@ 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 createrLastname = "";
String createrLoginid = "" ;
String requestname = "";
String workflowname = "" ;
// 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)){
@ -79,15 +71,6 @@ public class SendPortalToReadUtil {
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
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 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" +
@ -101,9 +84,10 @@ public class SendPortalToReadUtil {
if (rs.next()){
workflowname = Util.null2String(rs.getString("workflowname")) ;
requestname = Util.null2String(rs.getString("requestname")) ;
lastname = Util.null2String(rs.getString("lastname")) ;
loginid = Util.null2String(rs.getString("loginid")) ;
createrLastname = Util.null2String(rs.getString("lastname")) ;
createrLoginid = Util.null2String(rs.getString("loginid")) ;
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("taskType",taskType);
@ -116,7 +100,7 @@ public class SendPortalToReadUtil {
requestObject.put("urlDing",urlDing);
requestObject.put("ticketType",workflowname);
requestObject.put("urlApp",urlApp);
requestObject.put("creator",loginid);
requestObject.put("creator",createrLoginid);
sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+
" from workflow_requestbase t1\n" +
@ -126,7 +110,7 @@ public class SendPortalToReadUtil {
" 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.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -183,7 +167,6 @@ public class SendPortalToReadUtil {
requestObject.put("nodeName",nodename);
requestObject.put("nodeId",nodeid);
//requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid);
requestObject.put("taskCode", lcid+"_cs_"+userid);
requestObject.put("taskObjectList",taskArray);
@ -196,27 +179,23 @@ public class SendPortalToReadUtil {
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
}
bb.writeLog("emailArray:"+emailArray);
if(StringUtils.isNotEmpty(emailArray))
{
Map<String,String> templateMap = getEmailTemplate(requestname,lastname,processTime);
String notificationSubject = templateMap.get("notificationSubject");
String notificationContent = templateMap.get("notificationContent");
//sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"");
// Matcher matcher = regex.matcher(email);
// if(matcher.matches()){
// emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
// }
// bb.writeLog("emailArray:"+emailArray);
// if(StringUtils.isNotEmpty(emailArray))
// {
// Map<String,String> templateMap = getEmailTemplate(requestname,lastname,processTime);
// String notificationSubject = templateMap.get("notificationSubject");
// String notificationContent = templateMap.get("notificationContent");
// //sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
// }
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userid);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userid);
}
}
@ -237,6 +216,9 @@ public class SendPortalToReadUtil {
* @param user
*/
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){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalToReadUtil.sendToReadDataByNode" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -248,6 +230,8 @@ public class SendPortalToReadUtil {
BaseBean bb = new BaseBean();
bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode");
String currentUserId = user.getUID()+"" ;
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String scopeid = "-1";
String scope = "HrmCustomFieldByInfoType" ;
@ -263,18 +247,19 @@ public class SendPortalToReadUtil {
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"));
// }
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);
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" +
@ -293,35 +278,13 @@ public class SendPortalToReadUtil {
if(count == 0)
{
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 = 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");
}
bb.writeLog("urlDing", urlDing);
String workflowname = "" ;
String requestname = "";
String loginid = "";
String createrLastname = "";
String createrLoginid = "";
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" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
@ -335,8 +298,8 @@ public class SendPortalToReadUtil {
if (rs.next()) {
workflowname = Util.null2String(rs.getString("workflowname"));
requestname = Util.null2String(rs.getString("requestname"));
lastname = Util.null2String(rs.getString("lastname")) ;
loginid = Util.null2String(rs.getString("loginid")) ;
createrLastname = Util.null2String(rs.getString("lastname")) ;
createrLoginid = Util.null2String(rs.getString("loginid")) ;
}
requestObject.put("center", center);
@ -351,7 +314,7 @@ public class SendPortalToReadUtil {
requestObject.put("urlPc", urlPc);
requestObject.put("urlDing", urlDing);
requestObject.put("ticketType", workflowname);
requestObject.put("creator",loginid);
requestObject.put("creator",createrLoginid);
requestObject.put("urlApp",urlApp);
sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+
@ -417,7 +380,6 @@ public class SendPortalToReadUtil {
requestObject.put("nodeName",nodename);
requestObject.put("nodeId",nodeid);
//requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid);
requestObject.put("taskCode", lcid+"_cs_"+userid);
requestObject.put("taskObjectList",taskArray);
@ -427,26 +389,24 @@ public class SendPortalToReadUtil {
bb.writeLog("SendPortalToReadUtil-msgdata:" + msgdata);
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)) {
Matcher matcher = regex.matcher(email);
if (matcher.matches()) {
emailArray += StringUtils.isEmpty(emailArray) ? email : "," + email;
}
bb.writeLog("emailArray:" + emailArray);
if (StringUtils.isNotEmpty(emailArray)) {
Map<String,String> templateMap = getEmailTemplate(requestname,lastname,processTime);
String notificationSubject = templateMap.get("notificationSubject");
String notificationContent = templateMap.get("notificationContent");
//sendMailUtil.sendMail(requestid, emailArray, notificationSubject, notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"");
// Matcher matcher = regex.matcher(email);
// if (matcher.matches()) {
// emailArray += StringUtils.isEmpty(emailArray) ? email : "," + email;
// }
//
// bb.writeLog("emailArray:" + emailArray);
// if (StringUtils.isNotEmpty(emailArray)) {
//
// Map<String,String> templateMap = getEmailTemplate(requestname,createrLastname,processTime);
// String notificationSubject = templateMap.get("notificationSubject");
// String notificationContent = templateMap.get("notificationContent");
// //sendMailUtil.sendMail(requestid, emailArray, notificationSubject, notificationContent);
// }
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userid);
}else if ("TODO-FAIL-002".equals(resultCode)){
//The task does not exist.任务不存在,则新增
@ -455,7 +415,7 @@ public class SendPortalToReadUtil {
} else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userid);
}
}

@ -11,6 +11,7 @@ import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.monitor.SendPortalMonitorUtil;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@ -57,6 +58,7 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
// }
User user = requestSubmitCmd.getUser();
String userid = user.getUID()+"";
bb.writeLog("requestid:"+requestid);
bb.writeLog("workflowid:"+workflowid);
bb.writeLog("src:"+src);
@ -70,60 +72,62 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
//参数回写
//执行标准的业务处理
Map<String, Object> result = nextExecute(targetCommand);
//对返回值做加工处理
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
String executeResult = resultBean.getType().name();
if("SUCCESS".equals(executeResult)){
String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("new_requestid:"+new_requestid);
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, 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,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)){
/***
* :
* 1:
* 2:
*/
if("2".equals(agentType)){
SendPortalTodoByAgentUtil sendPortalTodoByAgentUtil = new SendPortalTodoByAgentUtil();
sendPortalTodoByAgentUtil.sendTodoDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
SendPortalToReadByAgentUtil sendPortalToReadByAgentUtil = new SendPortalToReadByAgentUtil();
sendPortalToReadByAgentUtil.sendToReadDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
}else{
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);
if(result.containsKey("data")){
//对返回值做加工处理
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
String executeResult = resultBean.getType().name();
if("SUCCESS".equals(executeResult)){
String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("new_requestid:"+new_requestid);
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, 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,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)){
/***
* :
* 1:
* 2:
*/
if("2".equals(agentType)){
SendPortalTodoByAgentUtil sendPortalTodoByAgentUtil = new SendPortalTodoByAgentUtil();
sendPortalTodoByAgentUtil.sendTodoDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
SendPortalToReadByAgentUtil sendPortalToReadByAgentUtil = new SendPortalToReadByAgentUtil();
sendPortalToReadByAgentUtil.sendToReadDataByNode(requestid,nodeid,f_weaver_belongto_userid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
}else{
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,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
}else if(Util.getIntValue(requestid)> 0 && "intervenor".equals(src)){
SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil();
sendPortalMonitorUtil.monitorIntervention(requestid,userid);
}
}else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){
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();
}
}
return result;
}

@ -26,6 +26,7 @@ public class SendPortalTodoUtil {
*/
public void sendTodoDataByCreater(String requestid, User user, String portal_todourl,String bpm_app_workflowurl, String username, String passwd, String bpm_workflowurl, String center,String bpm_app_requesturl){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByCreater" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -175,11 +176,11 @@ public class SendPortalTodoUtil {
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
}
}
}
@ -198,6 +199,7 @@ public class SendPortalTodoUtil {
*/
public void sendTodoDataByCreateNode(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){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByCreateNode" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -347,11 +349,11 @@ public class SendPortalTodoUtil {
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
}
}
}
@ -464,6 +466,8 @@ public class SendPortalTodoUtil {
* @param user
*/
public void sendTodoDataByNode(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){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByNode" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -488,6 +492,7 @@ public class SendPortalTodoUtil {
String currentNodeId = "" ;
String currentNodeName = "" ;
String nextNodeUserIds = "" ;
String currentLoginId = user.getLoginid() ;
String currentStaffId = "" ;
String createrLastName = "" ;
@ -502,25 +507,24 @@ public class SendPortalTodoUtil {
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
int count = 0 ;
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" +
" 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 ;
" 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" +
" 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("sendTodoDataByNode--countSql:"+countSql);
rs.executeQuery(countSql);
while (rs.next()){
count++;
String userid = Util.null2String(rs.getString("userid"));
// nextNodeUserIds += StringUtils.isBlank(nextNodeUserIds) ? userid :","+userid ;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
String requestname = "" ;
String workflowname = "" ;
if(count >0){
@ -528,15 +532,14 @@ public class SendPortalTodoUtil {
String actionType = "1" ;
String objectAction = "1" ;
String objectType = "0";
String workflowname = "" ;
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" +
" 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 ;
" 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--sql:"+sql);
@ -544,7 +547,6 @@ public class SendPortalTodoUtil {
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
// currentNodeId = Util.null2String(rs.getString("nodeid")+currentUserId) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
@ -560,10 +562,6 @@ public class SendPortalTodoUtil {
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
// String urlDing = replace+bpm_app_requesturl+requestid;
// String urlApp = replace+bpm_app_requesturl+requestid;
if("sysadmin".equals(currentLoginId)){
currentLoginId = "Admin";
}
@ -609,14 +607,13 @@ public class SendPortalTodoUtil {
JSONArray taskObjectList = new JSONArray();
String workflowname = "" ;
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" +
" 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 ;
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" +
" 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);
@ -624,7 +621,6 @@ public class SendPortalTodoUtil {
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
// currentNodeId = Util.null2String(rs.getString("nodeid")+currentUserId) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
@ -679,6 +675,7 @@ public class SendPortalTodoUtil {
String staffid = Util.null2String(rs.getString("staffid")) ;
String userid = Util.null2String(rs.getString("userid")) ;
nextNodeUserIds += StringUtils.isBlank(nextNodeUserIds) ? userid :","+userid ;
if("sysadmin".equals(usercode)){
usercode = "Admin";
}
@ -709,6 +706,7 @@ public class SendPortalTodoUtil {
String auth = username + ":" + passwd;
msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
}
bb.writeLog("msgdata:"+msgdata);
if(!"".equals(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
@ -730,11 +728,11 @@ public class SendPortalTodoUtil {
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
}
}
}
@ -848,6 +846,8 @@ public class SendPortalTodoUtil {
*/
public void sendTodoDataByReject(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){
String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.sendTodoDataByReject" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -884,13 +884,13 @@ public class SendPortalTodoUtil {
String currentUserId = user.getUID()+"" ;
String 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 ;
String 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("sendTodoDataByReject--sql:"+sql);
@ -993,14 +993,12 @@ public class SendPortalTodoUtil {
Map<String,String> templateMap = getEmailTemplate(requestname,createrLastName,processTime);
String notificationSubject = templateMap.get("notificationSubject");
String notificationContent = templateMap.get("notificationContent");
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
}
}
}

@ -87,12 +87,12 @@ public class SendPortalWithAddDoneCmd {
if("3".equals(currentNodeType)){
int usercount = 0;
sql = " select id from workflow_currentoperator \n" +
"where requestid = " + requestid +
"and nodeid= " + currentNodeId +
"and isremark = 4 \n" +
"and preisremark = 4 \n" +
"and receivedate in(select max(receivedate ) as receivedate from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")\n" +
"and receivetime in(select max(receivetime) as receivetime from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")" ;
" where requestid = " + requestid +
" and nodeid= " + currentNodeId +
" and isremark = 4 \n" +
" and preisremark = 4 \n" +
" and receivedate in(select max(receivedate ) as receivedate from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")\n" +
" and receivetime in(select max(receivetime) as receivetime from workflow_currentoperator where requestid = "+requestid+" and nodeid="+currentNodeId+")" ;
rs.executeQuery(sql);
bb.writeLog("getRequestArchivedReamrkUserIds--sql3:"+sql);
while (rs.next()){

Loading…
Cancel
Save