#HJ-23# 提交最新的代码

feature-LeeD-20221025
shilei 2 years ago
parent c479c7626d
commit a249954a76

@ -0,0 +1,11 @@
package com.api.dito.reqremark;
import com.engine.dito.reqremark.web.RequestRemarkAction;
import javax.ws.rs.Path;
@Path("/dito/reqremark")
public class RequestRemarkActionApi extends RequestRemarkAction {
}

@ -37,7 +37,7 @@ public class SendPortalToReadUtil {
Pattern regex = Pattern.compile(EMAIL_REGEX_DEFAULT);
BaseBean bb = new BaseBean();
bb.writeLog("sendToReadDataByCreateNode");
bb.writeLog("SendPortalToReadUtil-sendToReadDataByCreateNode");
String terminal = "1" ;
String actionType = "0" ;
@ -58,7 +58,7 @@ public class SendPortalToReadUtil {
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
bb.writeLog("sendToReadDataByNode--sql:"+sql);
rs.executeQuery(sql);
if (rs.next()){
String workflowid = Util.null2String(rs.getString("workflowid")) ;
@ -87,7 +87,7 @@ public class SendPortalToReadUtil {
requestObject.put("center",center);
requestObject.put("title",title);
requestObject.put("creator",creator);
requestObject.put("taskCode",taskCode);
requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
@ -102,24 +102,46 @@ public class SendPortalToReadUtil {
requestObject.put("ticketType",workflowname);
}
sql = " select t2.userid,h1.loginid,h1.email\n" +
sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid \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" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.isremark in ('9')\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 +" and nodeid = "+noideid ;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
bb.writeLog("sendToReadDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
bb.writeLog("usercode--sql:"+usercode);
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);
}
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 email = dataObject.getString("email");
JSONObject taskObject = new JSONObject();
String objectCode = usercode ;
String operatorCode = usercode ;
taskObject.put("objectAction",objectAction);
@ -127,39 +149,60 @@ public class SendPortalToReadUtil {
taskObject.put("objectCode",objectCode);
taskObject.put("objectId",objectId);
taskObject.put("operatorCode",operatorCode);
taskObjectList.add(taskObject);
JSONArray taskArray = new JSONArray();
taskArray.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
bb.writeLog("email2:"+email);
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
}
}
requestObject.put("taskCode",lcid+"_cs_"+nodeid+"_"+userid);
requestObject.put("taskObjectList",taskObjectList);
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
//bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("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)){
bb.writeLog("emailArray:"+emailArray);
if(StringUtils.isNotEmpty(emailArray))
{
String notificationSubject = "You have a new to-read list:"+requestname+",Please handle it in time";
String notificationContent = "You have a new to-read list:"+requestname+",Please handle it in time";
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
String auth = username + ":" + passwd;
bb.writeLog("SendPortalToReadUtil--requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
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))
{
String notificationSubject = "You have a new to-read list:"+requestname+",Please handle it in time";
String notificationContent = "You have a new to-read list:"+requestname+",Please handle it in time";
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
// String auth = username + ":" + passwd;
// bb.writeLog("SendPortalToReadUtil--requestObject:"+requestObject.toJSONString());
// String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
// 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)){
//
// bb.writeLog("emailArray:"+emailArray);
// if(StringUtils.isNotEmpty(emailArray))
// {
// String notificationSubject = "You have a new to-read list:"+requestname+",Please handle it in time";
// String notificationContent = "You have a new to-read list:"+requestname+",Please handle it in time";
// sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
// }
// }
// }
// }
} catch (Exception e) {
e.printStackTrace();
}
@ -182,7 +225,7 @@ public class SendPortalToReadUtil {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendToReadDataByNode");
bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode");
String terminal = "1" ;
String taskType = "1";
@ -194,26 +237,25 @@ public class SendPortalToReadUtil {
int count = 0 ;
String countSql =" select t2.userid,h1.loginid\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\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', '8', '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);
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\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("sendToReadDataByNode--countSql:"+countSql);
rs.executeQuery(countSql);
while (rs.next()){
count++;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--count:"+count);
if(count == 0)
{
String actionType = "2" ;
String objectAction = "0" ;
if(count == 0) {
String actionType = "2";
String objectAction = "0";
String objectType = "0";
JSONArray taskObjectList = new JSONArray();
@ -222,109 +264,129 @@ public class SendPortalToReadUtil {
" 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 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("sendTodoDataByNode--sql:"+sql);
" and t1.requestid = " + requestid;
bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--sql:" + sql);
rs.executeQuery(sql);
if (rs.next()){
String workflowid = Util.null2String(rs.getString("workflowid")) ;
if (rs.next()) {
String workflowid = Util.null2String(rs.getString("workflowid"));
String workflowname = getWorkflowname(workflowid);
String title = Util.null2String(rs.getString("requestname")) ;
String title = Util.null2String(rs.getString("requestname"));
requestname = title;
String creator = Util.null2String(rs.getString("loginid")) ;
String taskCode = Util.null2String(rs.getString("taskcode")) ;
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")) ;
String creator = Util.null2String(rs.getString("loginid"));
String taskCode = Util.null2String(rs.getString("taskcode"));
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("taskCode",taskCode);
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);
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("taskCode", taskCode + "_cs_" + nodeId);
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);
}
sql = " select t2.userid,h1.loginid,h1.email\n" +
sql = " select t2.userid,h1.loginid,h1.email\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" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.isremark in ('9')\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 + " and nodeid=" + noideid;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
bb.writeLog("SendPortalToReadUtil-sendToReadDataByNode--sql:" + sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
String objectCode = usercode ;
String operatorCode = usercode ;
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("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("objectId",objectId);
taskObject.put("operatorCode",operatorCode);
taskObjectList.add(taskObject);
String email = Util.null2String(rs.getString("email")) ;
bb.writeLog("email3:"+email);
Matcher matcher = regex.matcher(email);
if(matcher.matches()){
emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
}
taskObject.put("userid", userid);
taskObject.put("usercode", usercode);
taskObject.put("lcid", lcid);
taskObject.put("nodeid", nodeid);
taskObject.put("email", email);
taskObjectList.add(taskObject);
}
requestObject.put("taskObjectList",taskObjectList);
}
String auth = username + ":" + passwd;
//bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("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)){
bb.writeLog("emailArray:"+emailArray);
if(StringUtils.isNotEmpty(emailArray))
{
String notificationSubject = "You have a new to-do list:"+requestname+",Please handle it in time";
String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time";
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
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 email = dataObject.getString("email");
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);
JSONArray taskArray = new JSONArray();
taskArray.add(taskObject);
requestObject.put("taskCode", lcid + "_cs_" + nodeid + "_" + userid);
requestObject.put("taskObjectList", taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("SendPortalToReadUtil--requestObject:" + requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth);
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)) {
String notificationSubject = "You have a new to-read list:" + requestname + ",Please handle it in time";
String notificationContent = "You have a new to-read list:" + requestname + ",Please handle it in time";
sendMailUtil.sendMail(requestid, emailArray, notificationSubject, notificationContent);
}
}
} catch (Exception e) {
e.printStackTrace();

@ -27,6 +27,8 @@ public class SendPortalTodoRunnable implements Runnable{
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
SendPortalDoneUtil sendPortalDoneUtil = new SendPortalDoneUtil();
SendPortalToReadUtil sendPortalToReadUtil = new SendPortalToReadUtil();
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");

@ -33,8 +33,6 @@ public class SendPortalTodoUtil {
String emailArray = "";
String requestname = "";
String requestremark = "" ;
String actionType = "0" ;
String terminal = "1" ;
String taskType = "0";
@ -49,20 +47,21 @@ public class SendPortalTodoUtil {
try {
int userid = user.getUID();
String sql =" select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t2.nodeid,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" +
" t1.requestid as taskcode,d1.nodename,h1.email\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\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,email from hrmresource where status = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where t2.userid in ("+userid+") \n" +
" and (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', '8', '7', '11'))\n" +
" and (ifnull(t1.currentstatus, -1) = -1 or (ifnull(t1.currentstatus, -1) = 0 and t1.creater in ("+userid+"))) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
" and t2.requestid = "+requestId ;
" t1.requestid as taskcode,d1.nodename,h1.email\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\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,email from hrmresource where status = 1 union all select id,lastname,loginid,'' as email from hrmresourcemanager ) h1 on h1.id = t1.creater\n" +
" where t2.userid in ("+userid+") \n" +
" and (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','8','9','11'))\n" +
" and (ifnull(t1.currentstatus, -1) = -1 or (ifnull(t1.currentstatus, -1) = 0 and t1.creater in ("+userid+"))) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
" and t2.requestid = "+requestId ;
bb.writeLog("sendTodoDataByCreater-sql:"+sql);
rs.executeQuery(sql);
if (rs.next()){
String workflowid = Util.null2String(rs.getString("workflowid")) ;
@ -92,6 +91,8 @@ public class SendPortalTodoUtil {
// String urlDing = bpm_app_workflowurl+"/interface/mobilelogin/loginsso.jsp?em_auth_usercode="+workcode+"&forwardurl="+app_requestUrl;
String nodeName = Util.null2String(rs.getString("nodeName")) ;
String isremark = Util.null2String(rs.getString("isremark")) ;
requestObject.put("center",center);
requestObject.put("title",title);
requestObject.put("creator",creator);
@ -176,7 +177,6 @@ public class SendPortalTodoUtil {
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendMailUtil sendMailUtil = new SendMailUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
RecordSet rs = new RecordSet();
@ -261,7 +261,7 @@ public class SendPortalTodoUtil {
" 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" +
" 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', '8', '7', '11'))\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;
@ -289,20 +289,18 @@ public class SendPortalTodoUtil {
emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
}
}
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
//bb.writeLog("requestObject:"+requestObject.toJSONString());
// bb.writeLog("sendTodoDataByCreater-requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata);
bb.writeLog("sendTodoDataByCreater-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)){
bb.writeLog("emailArray:"+emailArray);
if(StringUtils.isNotEmpty(emailArray))
{
@ -310,8 +308,6 @@ public class SendPortalTodoUtil {
String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time";
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
}
}else{
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
@ -356,7 +352,7 @@ public class SendPortalTodoUtil {
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join (select id, lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h1 on h1.id = t2.userid\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', '8', '7', '11'))\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+
@ -494,7 +490,7 @@ public class SendPortalTodoUtil {
" 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" +
" 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', '8', '7', '11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '7','8','9','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.REQUESTID = "+requestid;
@ -644,7 +640,7 @@ public class SendPortalTodoUtil {
" 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" +
" 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', '8', '7', '11'))\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;

@ -0,0 +1,320 @@
package com.engine.dito.reqremark.cmd;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.customization.dito.sendtodo.HttpRequestUtil;
import com.customization.dito.sendtodo.SendMailUtil;
import com.customization.dito.sendtodo.SendPortalErrorUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.time.util.DateUtil;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import weaver.interfaces.dito.job.WorkflowAuthModelingUtil;
import java.net.URLEncoder;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public RequestRemarkCmd(Map<String,Object> params, User user) {
this.params = params;
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
WorkflowAuthModelingUtil workflowAuthModelingUtil = new WorkflowAuthModelingUtil();
String lcids = Util.null2String(params.get("lcids")) ;
Map<String,Object> map = workflowAuthModelingUtil.executeData(lcids);
return map;
}
/***
*
*
*
* @param requestid
*/
public void sendTodoDataByNode(String requestid,String userid,String nodeid,String type)
{
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");
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByNode");
String terminal = "1" ;
String taskType = "0";
String objectId = "" ;
String actionType = "2" ;
String objectAction = "0" ;
String objectType = "0";
try {
JSONArray taskObjectList = new JSONArray();
int count = 0;
String sql =" select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid\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" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.isremark in ('2','9')\n" +
" and t2.preisremark in ('8','9')\n" +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+") and t2.nodeid = "+nodeid;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
if (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
String objectCode = usercode ;
String operatorCode = usercode ;
JSONObject taskObject = new JSONObject();
taskObject.put("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("objectId",objectId);
taskObject.put("operatorCode",operatorCode);
taskObjectList.add(taskObject);
count++;
}
if(count>0){
JSONObject requestObject = new JSONObject();
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 ;
bb.writeLog("sendTodoDataByNode--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 taskCode = Util.null2String(rs.getString("taskcode")) ;
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 replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid;
bb.writeLog("urlDing", urlDing);
// 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("taskCode",taskCode+"_cs_"+nodeId+"_"+userid);
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);
}
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
//bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("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)){
}else{
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
* @param requestid
* @param nodeid
* @param userid
*/
public void sendPortalDoneData(String requestid, String nodeid,String userid) {
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");
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);
while (rs.next()) {
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");
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;
int count = 0;
sql = " select t2.userid,h1.loginid,h1.email,t2.isremark,t1.requestid,t2.nodeid\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" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.isremark in ('2','9')\n" +
" and t2.preisremark in ('8','9')\n" +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+") and t2.nodeid = "+nodeid;
rs.execute(sql);
if (rs.next()) {
count++;
}
if(count > 0)
{
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);
//title = getShortMessageTitle(title);
creator = Util.null2String(rs.getString("loginid"));
}
JSONObject requestObject = new JSONObject();
requestObject.put("center", center);
requestObject.put("taskCode", requestid+"-cstj-"+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")){
String resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
//sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
}
}
}
}
} catch (Exception e) {
bb.writeLog("done Exception");
bb.writeLog(e.getMessage());
}
}
private String getShortMessageTitle(String messageTitle) {
if (messageTitle.length() > 20) {
messageTitle = messageTitle.substring(0, 17) + "...";
}
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;
}
}

@ -0,0 +1,11 @@
package com.engine.dito.reqremark.service;
import weaver.hrm.User;
import java.util.Map;
public interface RequestRemarkService {
Map<String,Object> requestRemarkSubmit(Map<String,Object> datas,User user);
}

@ -0,0 +1,16 @@
package com.engine.dito.reqremark.service.impl;
import com.engine.core.impl.Service;
import com.engine.dito.reqremark.cmd.RequestRemarkCmd;
import com.engine.dito.reqremark.service.RequestRemarkService;
import weaver.hrm.User;
import java.util.Map;
public class RequestRemarkServiceImpl extends Service implements RequestRemarkService {
@Override
public Map<String, Object> requestRemarkSubmit(Map<String, Object> datas, User user) {
return commandExecutor.execute(new RequestRemarkCmd(datas,user));
}
}

@ -0,0 +1,50 @@
package com.engine.dito.reqremark.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.dito.createauth.service.CreateAuthService;
import com.engine.dito.createauth.service.impl.CreateAuthServiceImpl;
import com.engine.dito.reqremark.service.RequestRemarkService;
import com.engine.dito.reqremark.service.impl.RequestRemarkServiceImpl;
import weaver.general.BaseBean;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class RequestRemarkAction {
public RequestRemarkService getService(){
return (RequestRemarkService) ServiceUtil.getService(RequestRemarkServiceImpl.class);
}
@GET
@Path("/reqsubmit")
@Produces({MediaType.TEXT_PLAIN})
public String requestRemarkSubmit(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
bb.writeLog("createAuthData");
Map<String,Object> apidatas = new HashMap<String,Object>();
try{
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> dataMap = ParamUtil.request2Map(request);
apidatas.putAll(getService().requestRemarkSubmit(dataMap,user));
apidatas.put("api_status",true);
}catch (Exception e){
apidatas.put("api_status",false);
apidatas.put("api_errormsg","exception:"+e.getMessage());
}
bb.writeLog("apidatas:"+ JSONObject.toJSONString(apidatas));
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,40 @@
package weaver.interfaces.dito.mq;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt;
import weaver.general.BaseBean;
import java.io.UnsupportedEncodingException;
import java.util.List;
public class HrmRocketMsgListener implements MessageListenerConcurrently {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
BaseBean bb = new BaseBean();
MessageExt msg = msgs.get(0);
HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil();
try {
bb.writeLog("Consumer---6----"+new String(msg.getBody()));
String msgdata = new String(msg.getBody(),"UTF-8");
if(StringUtils.isBlank(msgdata))
{
int errcount = hrmRocketmqUtil.updateOrgData(msgdata);
bb.writeLog("Consumer---errcount---:"+errcount);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e);
return ConsumeConcurrentlyStatus.RECONSUME_LATER;
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
}

@ -0,0 +1,174 @@
package weaver.interfaces.dito.mq;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
import weaver.file.Prop;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.InitServer;
import weaver.interfaces.dito.comInfo.PropBean;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class HrmRocketmqServlet extends HttpServlet {
private boolean isMainIp = false;//是否为主节点
private boolean isSampleMode = false;//是否为单机启用ridis并且配置了主节点的则不是单机否则认为是集群环境
@Override
public void init() throws ServletException
{
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
bb.writeLog("initiated---进入时间:"+sdf.format(new Date()));
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
try{
isMainIp = isMainIp();//计算是否为集群中的主节点
isSampleMode = isSampleMode();//判断是否为单机
bb.writeLog("isMainIp:"+isMainIp);
bb.writeLog("isSampleMode:"+isSampleMode);
if(isSampleMode){
initData();
}else{
if (isMainIp) {
//则调用service方法加载设置重新获取workflowid相关超时设置OvertimeEntity
initData();
}
}
}catch (Exception e){
bb.writeLog("Consumer resource model initiated--MQClientException:"+e);
}
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
}
public void initData(){
BaseBean bb = new BaseBean();
PropBean propBean = new PropBean();
try {
// String consumerGroup = propBean.getUfPropValueStatic("consumerGroup");
// bb.writeLog("consumerGroup:" + consumerGroup);
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("portal-producer-group_oaweaver");
// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr");
// bb.writeLog("namesrvAddr:" + namesrvAddr);
consumer.setNamesrvAddr("10.26.3.152:9306;10.26.3.151:9306;10.26.3.150:9306");
// String instanceName = propBean.getUfPropValueStatic("instanceName");
// bb.writeLog("instanceName:" + instanceName);
consumer.setInstanceName("BD_MD_SUBSCRIBE");
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
// String topic = propBean.getUfPropValueStatic("topic");
// String subExpression = propBean.getUfPropValueStatic("subExpression");
// bb.writeLog("topic:" + topic);
// bb.writeLog("subExpression:" + subExpression);
// String authid = propBean.getUfPropValueStatic("authid");
// String authpwd = propBean.getUfPropValueStatic("authpwd");
// String clustername = propBean.getUfPropValueStatic("clustername");
// String tenantid = propBean.getUfPropValueStatic("tenantid");
// bb.writeLog("authid:" + authid);
// bb.writeLog("authpwd:" + authpwd);
// bb.writeLog("clustername:" + clustername);
// bb.writeLog("tenantid:" + tenantid);
consumer.subscribe("BD_MD_SUBSCRIBE", "PC_OA");
consumer.setAuthID("DITOMQ_WhaleCloud");
consumer.setAuthPWD("9oXAWfZ&");
consumer.setClusterName("CTGMQ_CO3T");
consumer.setTenantID("100000");
consumer.setConsumeThreadMin(1);
consumer.setConsumeThreadMax(1);
consumer.setConsumeMessageBatchMaxSize(1);
consumer.setMessageModel(MessageModel.BROADCASTING);
consumer.registerMessageListener(new HrmRocketMsgListener());
consumer.start();
bb.writeLog("Consumer88Started.");
} catch (MQClientException var13) {
bb.writeLog("Consumer resource model initiated--MQClientException:" + var13);
}
}
/**
* HttpServlet doGet
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* HttpServlet doPost
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
public void destroy()
{
// 什么也不做
}
private boolean isMainIp() {
new BaseBean().writeLog("超时判断主节点");
String mainControlIp = "";
ArrayList<String> hostIps = new InitServer().getRealIp();
Prop prop = Prop.getInstance();
mainControlIp = prop.getPropValue(GCONST.getConfigFile(), "MainControlIP");
if (hostIps == null || hostIps.size() == 0) {
new BaseBean().writeLog("System Init Error:Cannot get local Ip address,This may cause scripts or Timed task not run! ");
} else {
new BaseBean().writeLog("System Init Message:mainControlIp=" + mainControlIp + " localIp:" + hostIps.toString());
}
if ((!"".equals(mainControlIp) && hostIps.contains(mainControlIp)) || "".equals(mainControlIp)) {
return true;
}
return false;
}
public boolean isSampleMode() {
BaseBean base = new BaseBean();
boolean redis_flag = "1".equals(base.getPropValue("weaver_new_session", "status"));
boolean mainIp_flag = !"".equals(base.getPropValue("weaver", "MainControlIP"));
base.writeLog("超时判断是否为集群环境redis_flag======"+redis_flag);
base.writeLog("超时判断是否为集群环境mainIp_flag======="+mainIp_flag);
return !(redis_flag && mainIp_flag);
}
}

@ -0,0 +1,71 @@
package weaver.interfaces.dito.mq;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.dito.comInfo.PropBean;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class HrmRocketmqUtil {
private Lock lock = new ReentrantLock();
public int updateOrgData(String data)
{
BaseBean bb = new BaseBean();
int errcount = 0;
try{
lock.lock();
RecordSet rs = new RecordSet();
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
JSONObject jsonObject = JSONObject.parseObject(data);
if(jsonObject.containsKey("masterInfo"))
{
JSONObject masterInfoObject = jsonObject.getJSONObject("masterInfo");
if(masterInfoObject.containsKey("datas")){
JSONArray datasArray = jsonObject.getJSONArray("datas");
for(int i=0;i<datasArray.size();i++)
{
JSONObject datasObject = datasArray.getJSONObject(i);
String personno = datasObject.getString("personno");
String managerno = datasObject.getString("managerno");
String status = datasObject.getString("status");
if("1".equals(status))
{
if(StringUtils.isNotEmpty(personno) && StringUtils.isNotEmpty(managerno)) {
String personid = "" ;
String managerid = "" ;
String sql = "select id from cus_fielddata where "+cus_staff+" = ? and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
rs.executeQuery(sql,new Object[]{personno});
if(rs.next()) {
personid = Util.null2String(rs.getString("id"));
}
sql = "select id from cus_fielddata where "+cus_staff+" = ? and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
rs.executeQuery(sql,new Object[]{managerno});
if(rs.next()) {
managerid = Util.null2String(rs.getString("id"));
}
if(StringUtils.isNotEmpty(personid) && StringUtils.isNotEmpty(managerid)) {
sql = " update hrmresource h set h.managerid = ? where id = ? ";
boolean flag = rs.executeUpdate(sql,new Object[]{managerid,personid});
if(!flag){
errcount++;
}
}
}
}
}
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}finally {
lock.unlock();
}
return errcount;
}
}

@ -625,94 +625,95 @@ public class RocketmqUtil {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String postCode = Util.null2String(jsonObject.get("postCode"));
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String actType = Util.null2String(jsonObject.get("actType"));
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
if(StringUtils.isEmpty(updateStaff)){
updateStaff = "1";
}
String userId = "";
String jobtitlesId = "";
String departmentId = "";
try {
if(StringUtils.isNotEmpty(orgCode)){
String querDepartmentIdSql = " select id from hrmdepartment where departmentcode=? ";
bb.writeLog("querDepartmentIdSql:"+querDepartmentIdSql);
rs.executeQuery(querDepartmentIdSql,new Object[]{orgCode});
if (rs.next()){
departmentId = rs.getString("id");
}
if(postCode.startsWith("MSS_CTO"))
{
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
String orgCode = Util.null2String(jsonObject.get("orgCode"));
String actType = Util.null2String(jsonObject.get("actType"));
String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间
String updateStaff = Util.null2String(jsonObject.get("updateStaff"));
if(StringUtils.isEmpty(updateStaff)){
updateStaff = "1";
}
if(StringUtils.isNotEmpty(departmentId) && StringUtils.isNotEmpty(systemUserCode))
{
String sql = " select id from hrmresource where workcode=? and departmentid = ?";
bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{systemUserCode, departmentId});
if (rs.next()) {
userId = Util.null2String(rs.getString("id"));
String userId = "";
String jobtitlesId = "";
String departmentId = "";
try {
if(StringUtils.isNotEmpty(orgCode)){
String querDepartmentIdSql = " select id from hrmdepartment where departmentcode=? ";
bb.writeLog("querDepartmentIdSql:"+querDepartmentIdSql);
rs.executeQuery(querDepartmentIdSql,new Object[]{orgCode});
if (rs.next()){
departmentId = rs.getString("id");
}
}
}
if(StringUtils.isNotEmpty(postCode)) {
String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? ";
bb.writeLog("queryRoleIdSql:" + queryRoleIdSql);
rs.executeQuery(queryRoleIdSql, new Object[]{postCode});
if (rs.next()) {
jobtitlesId = rs.getString("id");
if(StringUtils.isNotEmpty(departmentId) && StringUtils.isNotEmpty(systemUserCode))
{
String sql = " select id from hrmresource where workcode=? and departmentid = ?";
bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{systemUserCode, departmentId});
if (rs.next()) {
userId = Util.null2String(rs.getString("id"));
}
}
}
bb.writeLog("jobtitlesId:"+jobtitlesId);
if(StringUtils.isNotEmpty(postCode)) {
String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? ";
bb.writeLog("queryRoleIdSql:" + queryRoleIdSql);
rs.executeQuery(queryRoleIdSql, new Object[]{postCode});
if (rs.next()) {
jobtitlesId = rs.getString("id");
}
}
bb.writeLog("jobtitlesId:"+jobtitlesId);
if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId))
{
if("A".equals(actType) || "M".equals(actType))
if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId))
{
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId});
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","更新人员岗位sql执行错误");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}else if("D".equals(actType)){
jobtitlesId = "" ;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId});
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","删除人员岗位sql执行错误");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
if("A".equals(actType) || "M".equals(actType))
{
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId});
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","更新人员岗位sql执行错误");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}else if("D".equals(actType)){
jobtitlesId = "" ;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId});
bb.writeLog(" updateUserJobFlag: "+flag);
if(!flag){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","删除人员岗位sql执行错误");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中岗位或者人员ID在系统中不存在");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}else{
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中岗位或者人员ID在系统中不存在");
dataMap.put("errmessage","人员岗位异常:"+e.getMessage());
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}catch (Exception e){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位异常:"+e.getMessage());
dataMap.put("systable",tableName);
recordErrorData(dataMap);
}
}
}
@ -914,9 +915,9 @@ public class RocketmqUtil {
JSONObject jsonObject = jsonArray.getJSONObject(i);
//系统岗位编码
String sysPostType = Util.null2String(jsonObject.get("sysPostType"));
if("1300".equals(sysPostType))
String sysPostCode = Util.null2String(jsonObject.get("sysPostCode"));
if("1300".equals(sysPostType) && sysPostCode.startsWith("MSS_CTO"))
{
String sysPostCode = Util.null2String(jsonObject.get("sysPostCode"));
//系统岗位名称
String sysPostName = Util.null2String(jsonObject.get("sysPostName"));
//部门编码

Loading…
Cancel
Save