#EC_HJ156# 备案提交

main
shilei 1 year ago
parent ea2400a772
commit 32233b98ee

@ -243,6 +243,97 @@ public class SendPortalErrorUtil {
modeRightInfo.editModeDataShare(1, Integer.parseInt(formmodeid), Integer.parseInt(dataid));
}
}
}
public void doRecordPortalErrorInfo4Phase2Optimize(String lcid,String jdid,String jdmc,String czry,String requestobject,String resultcode,String resultmsg,String zhjkbs,String jsry,String notes){
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
bb.writeLog("doCreateSendPortalTodoErrorInfo");
String uf_table = "uf_portal_error" ;
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true);
if(StringUtils.isNotEmpty(requestobject)){
requestobject = requestobject.replace("\"","\\\"");
}
String formmodeid = "" ;
String sql =" select k.id from modeinfo k \n" +
" inner join workflow_bill l on formid = l.id\n" +
" where l.tablename = '"+uf_table+"' " ;
rs.execute(sql);
if(rs.next()){
formmodeid = Util.null2String(rs.getString("id"));
}
String modedatacreater = "1";
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
String modedatacreatedate = sdfDate.format(new Date());
String modedatacreatetime = sdfTime.format(new Date());
String modedatacreatertype = "0";
String uuid = UUID.randomUUID().toString();
Map<String,String> mainMap = new HashMap<String,String>();
mainMap.put("lcxz",lcid);
mainMap.put("lcid",lcid);
mainMap.put("jdid",jdid);
mainMap.put("jdmc",jdmc);
if(StringUtils.isNotBlank(czry)){
mainMap.put("ryid",czry);
}
if(StringUtils.isNotBlank(jsry)){
mainMap.put("jsry",jsry);
}
mainMap.put("requestobject",requestobject);
mainMap.put("resultcode",resultcode);
mainMap.put("resultmsg",resultmsg);
mainMap.put("formmodeid",formmodeid);
mainMap.put("modedatacreater",modedatacreater);
mainMap.put("modedatacreatertype",modedatacreatertype);
mainMap.put("modedatacreatedate",modedatacreatedate);
mainMap.put("modedatacreatetime",modedatacreatetime);
mainMap.put("uuid",uuid);
mainMap.put("zhjkbs",zhjkbs);
mainMap.put("notes",notes);
String tablename = "" ;
String tablenvalue = "" ;
for (Entry<String, String> entry : mainMap.entrySet())
{
String fieldname = Util.null2String(entry.getKey()).trim();
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
tablename += tablename==""? fieldname :","+fieldname ;
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
}
bb.writeLog("tablename:"+tablename);
bb.writeLog("tablenvalue:"+tablenvalue);
if(tablename !="" && tablenvalue !="")
{
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
bb.writeLog("sql:"+sql);
boolean boo = rs.execute(sql);
if(boo)
{
String dataid = "" ;
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
bb.writeLog("sql:"+sql);
rs.execute(sql);
if(rs.next()){
dataid = Util.null2String(rs.getString("id"));
}
bb.writeLog("dataid:"+dataid);
if(!"".equals(dataid))
{
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
}
}
}
}
}

@ -74,10 +74,7 @@ public class SendPortalForwardCmd {
String nodeId = "";
String nodeName = "";
JSONObject requestObject = new JSONObject();
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;
String msgdata = "";
String requestname = "";
@ -86,6 +83,12 @@ public class SendPortalForwardCmd {
String loginid = "";
String emailArray = "";
for(String userid : resourceids){
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;
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
try {
sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid " +
@ -139,7 +142,7 @@ public class SendPortalForwardCmd {
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= " + scopeid + " and c1.scope = '" + scope + "' " +
" 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', '7','11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = " + requestid +" and t2.userid ="+ userid;
@ -313,7 +316,7 @@ public class SendPortalForwardCmd {
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= " + scopeid + " and c1.scope = '" + scope + "' " +
" 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', '7','11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = " + requestid;
@ -391,36 +394,34 @@ public class SendPortalForwardCmd {
//流程归档转发处理
public void delTodoAddDoneSendPortal(String requestid,int currentnodeid,User user){
bb.writeLog("======== SendPortalForwardCmd delTodoAddDoneSendPortal ========================="+requestid);
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");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
String portal_doneurl = PropBean.getUfPropValue("portal_doneurl");
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String zhjkbs = "com.customization.dito.sendtodo.SendPortalForwardCmd.delTodoAddDoneSendPortal";
RecordSet rs = new RecordSet();
try {
String zhjkbs = "com.customization.dito.sendtodo.SendPortalForwardCmd.delTodoAddDoneSendPortal";
String sql = "";
String workflowname = "";
String nodeId = "";
String nodeName = "";
JSONObject requestObject = new JSONObject();
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
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;
String msgdata = "";
String requestname = "";
String lastname = "";
String loginid = "";
String workflowname = "";
String nodeName = "";
sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid " +
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 " +
@ -428,13 +429,12 @@ public class SendPortalForwardCmd {
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid;
bb.writeLog("SendPortalWithAddTodoCmd delTodoAddDoneSendPortal --sql:" + sql);
bb.writeLog("SendPortalForwardCmd-delTodoAddDoneSendPortal --sql:" + sql);
rs.executeQuery(sql);
if (rs.next()) {
requestname = Util.null2String(rs.getString("requestname"));
workflowname = Util.null2String(rs.getString("workflowname"));
nodeId = Util.null2String(rs.getString("nodeid") + user.getUID());
nodeName = Util.null2String(rs.getString("nodeName"));
loginid = Util.null2String(rs.getString("loginid"));
}
@ -472,22 +472,26 @@ public class SendPortalForwardCmd {
taskObject.put("objectId", rs.getString("staffid"));
taskObject.put("operatorCode", user.getLoginid());
jsonObject.put("taskObjectList", list);
bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--deltodo--requestObject:" + jsonObject.toJSONString());
bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal-requestObject:" + jsonObject.toJSONString());
String auth = username + ":" + passwd;
msgdata = httpRequestUtil.doPostByAuth(Constants.portal_todourl, jsonObject.toJSONString(), auth);
String msgdata = httpRequestUtil.doPostByAuth(Constants.portal_todourl, jsonObject.toJSONString(), auth);
bb.writeLog("SendPortalWithAddDoneCmd-delTodoAddDoneSendPortal-msgdata:" + msgdata);
if (StringUtils.isNotEmpty(msgdata)) {
JSONObject msgObject = JSONObject.parseObject(msgdata);
bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--msgObject:" + msgObject.toJSONString());
if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode");
if (!"0".equals(resultCode)) {
if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, user.getUID() + "", nodeName, user.getUID() + "", jsonObject.toJSONString(), resultCode, "", zhjkbs,"");
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, user.getUID() + "", nodeName, user.getUID() + "", jsonObject.toJSONString(), resultCode, resultmsg, zhjkbs,"");
}
}
}
}else{
bb.writeLog("delTodoAddDoneSendPortal"+requestid+"的流程未找到转发的流程");
}
// // 增加已办

@ -263,7 +263,7 @@ public class SendPortalToReadUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5', '7', '11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid+

@ -1,5 +1,6 @@
package com.customization.dito.sendtodo;
import weaver.conn.RecordSet;
import weaver.interfaces.dito.constant.Constants;
import com.customization.dito.sendtodo.agent.SendPortalToReadByAgentUtil;
import com.customization.dito.sendtodo.agent.SendPortalTodoByAgentUtil;
@ -68,67 +69,133 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
bb.writeLog("f_weaver_belongto_userid:"+f_weaver_belongto_userid);
bb.writeLog("f_weaver_belongto_usertype:"+f_weaver_belongto_usertype);
bb.writeLog("creater:"+creater);
bb.writeLog("agentType:"+agentType);
int forwardcount = 0;
try{
RecordSet rs = new RecordSet();
String sql =" select t1.userid,t1.nodeid " +
" from workflow_currentoperator t1 " +
" where t1.isremark = 1 " +
" and t1.REQUESTID= " +requestid +
" and t1.USERID= " +userid ;
bb.writeLog("completeForwardRequest --sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
forwardcount++ ;
}
}catch (Exception e){
}
//参数回写
//执行标准的业务处理
Map<String, Object> result = nextExecute(targetCommand);
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);
sendDate(result,requestid,agentType,src,nodeid,userid,f_weaver_belongto_userid,user,forwardcount);
return result;
}
public void sendDate(Map<String, Object> result,String requestid,String agentType,String src,String nodeid,String userid,String f_weaver_belongto_userid,User user,int forwardcount){
BaseBean bb = new BaseBean();
try{
if(result.containsKey("data")){
//对返回值做加工处理
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
String executeResult = resultBean.getType().name();
bb.writeLog("executeResult:"+executeResult);
Map<String, Object> resultMap = resultBean.getResultInfo();
for (Map.Entry<String, Object> entry : resultMap.entrySet()) {
System.out.println("resultMap---key= " + entry.getKey() + " and value= " + entry.getValue());
}
// SendPortalTodoRunnable sendPortalTodoRunnable = new SendPortalTodoRunnable(src,new_requestid,requestid,nodeid,user);
// new Thread(sendPortalTodoRunnable).start();
String new_requestid2 = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("new_requestid2:"+new_requestid2);
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("1".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);
bb.writeLog("forwardcount:"+forwardcount);
if(forwardcount > 0){
sendPortalTodoUtil.completeForwardRequest(requestid,user,nodeid);
}
}
}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);
bb.writeLog("forwardcount:"+forwardcount);
if(forwardcount > 0){
sendPortalTodoUtil.completeForwardRequest(requestid,user,nodeid);
}
}else if(Util.getIntValue(requestid)> 0 && "intervenor".equals(src)){
SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil();
sendPortalMonitorUtil.monitorIntervention(requestid,userid);
}
}else{
bb.writeLog("SendPortalTodoCmd-FAILURE");
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;
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
if(Util.getIntValue(requestid,-1) == -1 && "submit".equals(src)){
String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("SendPortalTodoCmd-FAILURE:new_requestid:"+new_requestid);
sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user, portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
}
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
return result;
}

@ -9,9 +9,12 @@ import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import weaver.interfaces.dito.constant.Constants;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -87,7 +90,7 @@ public class SendPortalTodoUtil {
" 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 t2.userid in ("+currentUserId+") \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 ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','8','9','11'))\n" +
" and (ifnull(t1.currentstatus, -1) = -1 or (ifnull(t1.currentstatus, -1) = 0 and t1.creater in ("+currentUserId+"))) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
@ -291,7 +294,7 @@ public class SendPortalTodoUtil {
" 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 = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1','5','7','11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;
@ -475,12 +478,12 @@ public class SendPortalTodoUtil {
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("sendTodoDataByNode");
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String scopeid = "-1";
String scope = "HrmCustomFieldByInfoType" ;
String msgdata = "";
String terminal = "1" ;
String taskType = "0";
@ -497,6 +500,7 @@ public class SendPortalTodoUtil {
String currentStaffId = "" ;
String createrLastName = "" ;
String currentUserId = user.getUID()+"" ;
String message = "" ;
String userSql = "select "+cus_staff+" as staffid from cus_fielddata where scopeid="+scopeid+" and scope='"+scope+"' and id=?";
rs.executeQuery(userSql,currentUserId);
@ -505,109 +509,131 @@ 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 ;
bb.writeLog("sendTodoDataByNode--countSql:"+countSql);
rs.executeQuery(countSql);
while (rs.next()){
count++;
}
bb.writeLog("sendTodoDataByNode--count:"+count);
String requestname = "" ;
String workflowname = "" ;
if(count >0){
JSONArray taskObjectList = new JSONArray();
String actionType = "1" ;
String objectAction = "1" ;
String objectType = "0";
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 currentnodeid = "" ;
String currentnodetype = "" ;
String nodesql = " select t1.currentnodeid,t1.currentnodetype "+
" from workflow_requestbase t1\n" +
" where ifnull(t1.deleted,0) <> 1 \n" +
" and t1.requestid = "+requestid ;
rs.executeQuery(nodesql);
if(rs.next()){
currentnodeid = Util.null2String(rs.getString("currentnodeid"));
currentnodetype = Util.null2String(rs.getString("currentnodetype"));
}
bb.writeLog("sendTodoDataByNode--sql:"+sql);
bb.writeLog("sendTodoDataByNode-currentnodeid:"+currentnodeid);
bb.writeLog("sendTodoDataByNode-currentnodetype:"+currentnodetype);
if("3".equals(currentnodetype)){
message = "流程流转到归档节点执行actionType=3" ;
String actionType = "3" ;
try {
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(org.apache.commons.lang3.StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
createrLastName = Util.null2String(rs.getString("lastname")) ;
}
String requestname = "" ;
String workflowname = "" ;
String nodeId = "" ;
String nodeName = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ;
bb.writeLog("monitorDelete4Requestid--sql2:"+sql);
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ;
}
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;
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodeName);
requestObject.put("ticketType",workflowname);
if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
String auth = username + ":" + passwd;
bb.writeLog("sendTodoDataByNode-3-requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("sendTodoDataByNode-3-msgdata:"+msgdata);
if(StringUtils.isNotBlank(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,"",message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",message);
}
}
}
} catch (Exception e) {
e.printStackTrace();
bb.writeLog("sendTodoDataByNode:"+e);
}
if("sysadmin".equals(currentLoginId)){
currentLoginId = "Admin";
}else{
message += "流程流转从"+noideid+"节点提交,待办人员:" ;
int count = 0 ;
String countuserids = "" ;
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 ('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()){
String userid = Util.null2String(rs.getString("userid"));
countuserids += StringUtils.isBlank(countuserids) ? userid : ","+userid;
bb.writeLog("sendTodoDataByNode-userid:"+userid);
count++;
}
bb.writeLog("urlDing", urlDing);
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",createrLoginId);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",currentNodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",currentNodeName);
requestObject.put("ticketType",workflowname);
String objectCode = currentLoginId ;
String operatorCode = currentLoginId ;
JSONObject taskObject = new JSONObject();
taskObject.put("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("operatorCode",operatorCode);
taskObject.put("objectId",currentStaffId);
taskObjectList.add(taskObject);
requestObject.put("taskObjectList",taskObjectList);
message = message + "["+countuserids+"]" ;
if (taskObjectList.size() > 0){
String auth = username + ":" + passwd;
msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
}
bb.writeLog("sendTodoDataByNode--count:"+count);
}else{
String actionType = "2" ;
String objectAction = "0" ;
String objectType = "0";
String requestname = "" ;
String workflowname = "" ;
if(count >0){
JSONArray taskObjectList = new JSONArray();
JSONArray taskObjectList = new JSONArray();
String actionType = "1" ;
String objectAction = "1" ;
String objectType = "0";
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid "+
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 "+
@ -615,128 +641,280 @@ public class SendPortalTodoUtil {
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByNode--sql2:"+sql);
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
createrLastName = Util.null2String(rs.getString("lastname")) ;
}
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
createrLastName = Util.null2String(rs.getString("lastname")) ;
}
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");
}
message += ",流程流转到"+currentNodeId+"节点执行actionType=1" ;
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;
bb.writeLog("urlDing", urlDing);
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",createrLoginId);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",currentNodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",currentNodeName);
requestObject.put("ticketType",workflowname);
sql = " select t2.userid,h1.loginid,h1.email,c1."+cus_staff+" as staffid "+
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
String staffid = Util.null2String(rs.getString("staffid")) ;
String userid = Util.null2String(rs.getString("userid")) ;
nextNodeUserIds += StringUtils.isBlank(nextNodeUserIds) ? userid :","+userid ;
if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
if("sysadmin".equals(currentLoginId)){
currentLoginId = "Admin";
}
if("sysadmin".equals(usercode)){
usercode = "Admin";
bb.writeLog("urlDing", urlDing);
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",createrLoginId);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",currentNodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",currentNodeName);
requestObject.put("ticketType",workflowname);
if(StringUtils.isNotBlank(currentLoginId)){
String objectCode = currentLoginId ;
String operatorCode = currentLoginId ;
JSONObject taskObject = new JSONObject();
taskObject.put("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("operatorCode",operatorCode);
taskObject.put("objectId",currentStaffId);
taskObjectList.add(taskObject);
}
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",staffid);
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 ;
sql = " select t2.userid,h1.loginid,h1.email,c1."+cus_staff+" as staffid "+
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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 ('5', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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";
}
String objectCode = usercode ;
String operatorCode = usercode ;
objectAction = "0";
JSONObject taskObject = new JSONObject();
taskObject.put("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("objectId",staffid);
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 ;
// }
}
}
if (taskObjectList.size() >0){
requestObject.put("taskObjectList",taskObjectList);
}else {
requestObject.put("actionType","3");
}
String auth = username + ":" + passwd;
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)){
if (taskObjectList.size() > 0){
String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata);
if(!"".equals(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
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.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,message);
}
}
}
}
}else{
String objectAction = "0" ;
String objectType = "0";
JSONArray taskObjectList = new JSONArray();
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);
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginId = Util.null2String(rs.getString("loginid")) ;
createrLastName = Util.null2String(rs.getString("lastname")) ;
}
bb.writeLog("emailArray:"+emailArray);
if(StringUtils.isNotEmpty(emailArray))
{
// String notificationSubject = "You have a new To-Do task:"+requestname+",Please handle it in time";
// String notificationContent = "You have a new to-do list:"+requestname+",Please handle it in time";
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");
}
Map<String,String> templateMap = getEmailTemplate(requestname,createrLastName,processTime);
String notificationSubject = templateMap.get("notificationSubject");
String notificationContent = templateMap.get("notificationContent");
sendMailUtil.sendMail(requestid,emailArray,notificationSubject,notificationContent);
bb.writeLog("urlDing", urlDing);
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",createrLoginId);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",currentNodeId);
requestObject.put("taskType",taskType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",currentNodeName);
requestObject.put("ticketType",workflowname);
sql = " select t2.userid,h1.loginid,h1.email,c1."+cus_staff+" as staffid "+
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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 ('5', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;
bb.writeLog("sendTodoDataByNode--sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String usercode = Util.null2String(rs.getString("loginid")) ;
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";
}
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
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",staffid);
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 ;
}
}
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
if (taskObjectList.size() >0){
requestObject.put("actionType","2");
requestObject.put("taskObjectList",taskObjectList);
message += ",流程流转到"+currentNodeId+"节点执行actionType=2" ;
}else {
requestObject.put("actionType","3");
message += ",流程流转到"+currentNodeId+"节点执行actionType=3" ;
}
String auth = username + ":" + passwd;
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))
{
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.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,message);
}
}
}
}
}
// //处理抄送的
// JSONObject taskObject = new JSONObject();
// String sql = " select t2.userid,h1.loginid,h1.lastname,h1.email,t2.isremark,t1.requestid,t2.nodeid,d1.nodename,c1."+cus_staff+" as staffid "+
@ -938,7 +1116,7 @@ public class SendPortalTodoUtil {
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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','7', '11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;
@ -1045,5 +1223,125 @@ public class SendPortalTodoUtil {
}
/***
*
* @param requestid
* @param user
* @param nodeid
* @return
*/
public String completeForwardRequest(String requestid,User user,String nodeid){
BaseBean bb = new BaseBean();
bb.writeLog("com.customization.dito.sendtodo.SendPortalTodoUtil.completeForwardRequest");
String message = " 执行流程提交完成同节点同提交人的转发的流程," ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String userid = user.getUID()+"";
String zhjkbs = "com.customization.dito.sendtodo.SendPortalTodoUtil.completeForwardRequest";
RecordSet rs = new RecordSet();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String actionType = "3";
String terminal = "1";
String taskType = "0";
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;
try {
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");
}
String requestname = "" ;
String workflowname = "" ;
String createrLoginid = "" ;
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("completeForwardRequest --sql:" + sql);
rs.executeQuery(sql);
if (rs.next()) {
requestname = Util.null2String(rs.getString("requestname"));
workflowname = Util.null2String(rs.getString("workflowname"));
createrLoginid = Util.null2String(rs.getString("loginid"));
}
String nodename = "" ;
if(StringUtils.isNotBlank(nodeid)){
rs.executeQuery(" select nodename from workflow_nodebase where id = ?",nodeid);
if (rs.next()){
nodename = Util.null2String(rs.getString("nodename"));
}
}
JSONObject requestObject = new JSONObject();
requestObject.put("center", center);
requestObject.put("title", requestname);
requestObject.put("creator", createrLoginid);
requestObject.put("taskCode", "weaver" + requestid+"_zf_"+ userid);
requestObject.put("nodeId", nodeid);
requestObject.put("taskType", taskType);
requestObject.put("actionType", actionType);
requestObject.put("createDate", processTime);
requestObject.put("messageTitle", getShortMessageTitle(requestname));
requestObject.put("messageContent", requestname);
requestObject.put("terminal", terminal);
requestObject.put("urlPc", urlPc);
requestObject.put("urlApp", urlApp);
requestObject.put("urlDing", urlDing);
requestObject.put("nodeName", nodename);
requestObject.put("ticketType", workflowname);
bb.writeLog("completeForwardRequest-requestObject:" + requestObject.toJSONString());
String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth);
if (!"".equals(msgdata)) {
JSONObject msgObject = JSONObject.parseObject(msgdata);
bb.writeLog("completeForwardRequest:"+ msgObject.toJSONString());
if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode");
message += "调用完成转发接口的返回值:"+resultCode ;
if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid, nodeid, nodename, userid, requestObject.toJSONString(), resultCode, "", zhjkbs,"",message);
} else {
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid, nodeid, nodename, userid, requestObject.toJSONString(), resultCode, resultmsg, zhjkbs,"",message);
}
}
}
}catch (Exception e){
bb.writeLog(e);
e.printStackTrace();
}
return message;
}
}

@ -247,7 +247,7 @@ public class SendPortalWithAddTodoCmd {
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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', '7','11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid;

@ -222,7 +222,7 @@ public class SendPortalToReadByAgentUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5', '7', '11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid+

@ -71,7 +71,7 @@ public class SendPortalTodoByAgentUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid+
@ -183,7 +183,6 @@ public class SendPortalTodoByAgentUtil {
}
}else{
String actionType = "2" ;
String objectAction = "0" ;
String objectType = "0";
@ -227,7 +226,7 @@ public class SendPortalTodoByAgentUtil {
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",currentNodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
@ -244,7 +243,7 @@ public class SendPortalTodoByAgentUtil {
" left join cus_fielddata c1 on c1.id = t2.userid and c1.scopeid= "+scopeid+" and c1.scope = '"+scope+"' "+
" 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', '7','11'))\n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5', '7','11'))\n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null) \n" +
" and t2.requestid = "+requestid+" and nodeid = "+currentNodeId;
@ -281,7 +280,9 @@ public class SendPortalTodoByAgentUtil {
emailArray += StringUtils.isEmpty(emailArray) ? email : ","+email ;
}
}
if (taskObjectList.size() >0){
requestObject.put("actionType","2");
requestObject.put("taskObjectList",taskObjectList);
}else {
requestObject.put("actionType","3");

@ -37,13 +37,91 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
BaseBean bb = new BaseBean();
String requestid = Util.null2String(params.get("requestid"));
String nodeid = Util.null2String(params.get("nodeid"));
String preisremark = Util.null2String(params.get("preisremark"));
bb.writeLog("RequestRemarkCmd-requestid:"+requestid);
bb.writeLog("RequestRemarkCmd-nodeid:"+nodeid);
bb.writeLog("RequestRemarkCmd-preisremark:"+preisremark);
Map<String,Object> map = new HashMap<String,Object>();
String resultCode = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode:"+resultCode);
if("0".equals(resultCode) || "DONE-FAIL-001".equals(resultCode)){
resultCode = completePortalReadData(requestid, nodeid,userid+"");
if("8".equals(preisremark)){
RecordSet rs = new RecordSet();
int count8 = 0 ;
String sql =" select t2.userid,t2.isremark,t1.requestid,t2.nodeid\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.preisremark in ('8')\n" +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+")";
bb.writeLog("RequestRemarkCmd-sql:"+sql);
rs.execute(sql);
if (rs.next()) {
count8++;
}
bb.writeLog("RequestRemarkCmd-count8:"+count8);
if(count8 > 0)
{
String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2);
}
int count9 = 0;
sql =" select t2.userid,t2.isremark,t1.requestid,t2.nodeid\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.preisremark in ('9') and t2.isremark in (2) " +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+")";
bb.writeLog("RequestRemarkCmd-sql:"+sql);
rs.execute(sql);
if (rs.next()) {
count9++;
}
bb.writeLog("RequestRemarkCmd-count9:"+count9);
if(count9 > 0)
{
String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2);
}
}else if("9".equals(preisremark)){
String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2);
}
map.put("resultcode",resultCode);
// bb.writeLog("RequestRemarkCmd -------resultCode:"+resultCode);
// if("0".equals(resultCode) || "DONE-FAIL-001".equals(resultCode)){
// resultCode = completePortalReadData(requestid, nodeid,userid+"");
// bb.writeLog("RequestRemarkCmd-resultCode22:"+resultCode);
// }
return map;
}
@ -159,6 +237,9 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
*/
public String completePortalReadData(String requestid, String nodeid,String userid){
String zhjkbs = "com.engine.dito.reqremark.cmd.RequestRemarkCmd.completePortalReadData";
String nextNodeUserIds = "" ;
String message = "流程转发打开、提交,待阅删除接口";
String resultCode = "" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
@ -187,11 +268,14 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
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 + "'";
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
while (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
bb.writeLog("workcode:"+workcode);
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");
@ -222,6 +306,8 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
requestname = Util.null2String(rs.getString("requestname")) ;
}
bb.writeLog("workflowname:"+workflowname);
bb.writeLog("requestname:"+requestname);
String createdate = TimeUtil.getCurrentDateString();
String createtime = TimeUtil.getCurrentTimeString();
@ -260,6 +346,8 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("portal_todourl:"+portal_todourl);
bb.writeLog("requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata);
if(StringUtils.isNotEmpty(msgdata)){
@ -267,9 +355,12 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,message);
}
}
}
@ -292,6 +383,10 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
String resultCode = "" ;
String zhjkbs = "com.engine.dito.reqremark.cmd.RequestRemarkCmd.sendPortalDoneData";
String nextNodeUserIds = "" ;
String message = "流程转发打开、提交,创建已办数据";
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
@ -400,9 +495,9 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,message);
}else{
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,message);
}
}
}

@ -35,6 +35,7 @@ public class AddAgentSaveCmd extends AbstractCommonCommand<Map<String,Object>>{
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String,Object> apidatas = new HashMap<String,Object>();
try{
@ -127,15 +128,15 @@ public class AddAgentSaveCmd extends AbstractCommonCommand<Map<String,Object>>{
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String sql = " select distinct t1.requestid,t1.requestname,t1.createdate,h1.lastname as creatorname,t2.receivedate,t2.receivetime " +
" from workflow_base t " +
" left join workflow_requestbase t1 on t.id=t1.workflowid " +
" left join workflow_currentoperator t2 on t1.requestid = t2.requestid " +
" left join hrmresource h1 on h1.id = t1.creater "+
" where t2.usertype=0 and t2.userid in (" + beagenterid +") and t.id in (" + workflowids +") "+
" and ((t2.isremark =0 and (t2.takisremark is null or t2.takisremark ='0')) or t2.isremark in('1','5','9','7','8','9','11') ) " +
" and t2.islasttimes=1 " +
" and (t.isvalid=3 or t.isvalid=1) ";
String sql =" select distinct t1.requestid,t1.requestname,t1.createdate,h1.lastname as creatorname,t2.receivedate,t2.receivetime " +
" from workflow_base t " +
" left join workflow_requestbase t1 on t.id=t1.workflowid " +
" left join workflow_currentoperator t2 on t1.requestid = t2.requestid " +
" left join hrmresource h1 on h1.id = t1.creater "+
" where t2.usertype=0 and t2.userid in (" + beagenterid +") and t.id in (" + workflowids +") "+
" and ((t2.isremark =0 and (t2.takisremark is null or t2.takisremark ='0')) or t2.isremark in('5','7','11') ) " +
" and t2.islasttimes=1 " +
" and (t.isvalid=3 or t.isvalid=1) ";
String zhjkbs = "com.engine.workflow.cmd.agent.AddAgentSaveCmd.DealPortalTodoAndDone";
String actionType = "1";

@ -173,7 +173,7 @@ public class TakeBackAgentCmd extends AbstractCommonCommand<Map<String,Object>>{
" left join workflow_currentoperator t2 on t1.requestid = t2.requestid " +
" left join hrmresource h1 on h1.id = t1.creater "+
" where t2.usertype=0 and t2.userid in (" + agenterid +") and t.id in (" + workflowids +") "+
" and ((t2.isremark =0 and (t2.takisremark is null or t2.takisremark ='0')) or t2.isremark in('1','5','9','7','8','9','11') ) " +
" and ((t2.isremark =0 and (t2.takisremark is null or t2.takisremark ='0')) or t2.isremark in('5','7','11') ) " +
" and t2.islasttimes=1 " +
" and (t.isvalid=3 or t.isvalid=1) and t2.agenttype = 2 ";

@ -2,6 +2,7 @@ package weaver.interfaces.dito.monitor;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.general.TimeUtil;
import weaver.interfaces.dito.constant.Constants;
import com.customization.dito.sendtodo.HttpRequestUtil;
import com.customization.dito.sendtodo.SendPortalErrorUtil;
@ -15,7 +16,9 @@ import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/***
@ -36,6 +39,8 @@ public class SendPortalMonitorUtil {
for (int i = 0; i < lcids.length; i++) {
String requestid = lcids[i];
monitorDelete4Requestid(requestid,userid);
monitorFinishedWorkflowCopyToByRequestid(requestid);
monitorFinishedWorkflowForwardByRequestid(requestid);
}
}
}
@ -270,7 +275,9 @@ public class SendPortalMonitorUtil {
String[] lcids = requestids.split(",");
for(int i=0;i<lcids.length;i++){
String requestid = lcids[i];
monitorArchivedByTodo4Requestid(requestid,currentUserId);
}
}
}
@ -680,7 +687,7 @@ public class SendPortalMonitorUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -741,7 +748,7 @@ public class SendPortalMonitorUtil {
" 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 = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1','5','7','11')) \n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -839,12 +846,23 @@ public class SendPortalMonitorUtil {
}
}
/***
* intervention
* @param requestid
* @param currentUserId
*/
public void monitorIntervention(String requestid,String currentUserId){
monitorInterventionByUserId(requestid,currentUserId);
monitorFinishedWorkflowCopyToByRequestid(requestid);
monitorFinishedWorkflowForwardByRequestid(requestid);
}
public void monitorInterventionByUserId(String requestid,String currentUserId){
String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
@ -854,7 +872,7 @@ public class SendPortalMonitorUtil {
String center = Constants.center;
String bpm_app_requesturl = Constants.bpm_app_requesturl;
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorIntervention" ;
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorInterventionByUserId" ;
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
@ -891,11 +909,11 @@ public class SendPortalMonitorUtil {
String sql =" select t1.requestname,t1.currentnodeid,d1.nodename,t3.workflowname,t1.currentnodetype \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 ;
" 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 ;
bb.writeLog("monitorIntervention--sql2:"+sql);
@ -948,13 +966,13 @@ public class SendPortalMonitorUtil {
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','8','9','7','11')) \n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
" 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 ('5','7','11')) \n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
bb.writeLog("monitorIntervention--countSql:"+countSql);
rs.executeQuery(countSql);
@ -988,7 +1006,7 @@ public class SendPortalMonitorUtil {
" 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 = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1','5','8','9','7','11')) \n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -1036,8 +1054,8 @@ public class SendPortalMonitorUtil {
e.printStackTrace();
bb.writeLog("monitorIntervention-e:"+e);
}
}
}
/***
*
@ -1051,6 +1069,377 @@ public class SendPortalMonitorUtil {
return messageTitle;
}
/***
*
* @param requestid
*/
public void monitorFinishedWorkflowForwardByRequestid(String requestid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null ;
if(StringUtils.isNotBlank(requestid)){
String sql =" select t.userid,t.nodeid,t.requestid \n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" where t.requestid=" + requestid+
" and (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark =1" ;
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
list.add(map);
}
for(int i=0;i<list.size();i++){
Map<String,String> dataMap = list.get(i);
String newrequestid = Util.null2String(rs.getString("requestid"));
String userid = Util.null2String(rs.getString("userid"));
String nodeid = Util.null2String(rs.getString("nodeid"));
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql);
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql);
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){
monitorFinishedWorkflowForwardByUserId(newrequestid,userid,nodeid);
}
}
}
}
/***
*
* @param requestid
* @param forwardNodeUserId
* @param forwardNodeId
*/
public void monitorFinishedWorkflowForwardByUserId(String requestid,String forwardNodeUserId,String forwardNodeId){
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorFinishedWorkflowForwardByUserId" ;
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");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
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 = "" ;
String nextNodeUserIds = "";
JSONObject requestObject = new JSONObject();
try {
String createdate = TimeUtil.getCurrentDateString();
String createtime = TimeUtil.getCurrentTimeString();
String workcode = "";
if(StringUtils.isNotBlank(forwardNodeUserId)){
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 = '" + forwardNodeUserId + "'";
rs.executeQuery(sql);
while (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
}
bb.writeLog("monitorFinishedWorkflowForwardByUserId-workcode:"+workcode);
String forwardNodeName = "" ;
if(StringUtils.isNotBlank(forwardNodeId)){
rs.executeQuery(" select nodename from workflow_nodebase where id = ?",forwardNodeId);
if (rs.next()){
forwardNodeName = Util.null2String(rs.getString("nodename"));
}
}
bb.writeLog("monitorFinishedWorkflowForwardByUserId-forwardNodeName:"+forwardNodeName);
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");
}
String requestname = "";
String workflowname = "" ;
String 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")) ;
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",workcode);
//requestObject.put("taskCode",requestid+"_cs_"+nodeid+"_"+userid);
requestObject.put("taskCode", requestid+"_zf_"+forwardNodeId);
requestObject.put("nodeId",forwardNodeId);
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",forwardNodeName);
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);
bb.writeLog("monitorFinishedWorkflowForwardByUserId-requestObject:"+requestObject.toJSONString());
String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("monitorFinishedWorkflowForwardByUserId-msgdata:"+msgdata);
if(StringUtils.isNotEmpty(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
if(msgObject.containsKey("resultCode")){
resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,forwardNodeId,forwardNodeName,forwardNodeUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,forwardNodeId,forwardNodeName,forwardNodeUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param requestid
*/
public void monitorFinishedWorkflowCopyToByRequestid(String requestid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-requestid:"+requestid);
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null ;
String sql =" select t.userid,t.nodeid,t.requestid \n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" where t.requestid=" + requestid+
" and (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8,9) " ;
rs.executeQuery(sql);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
list.add(map);
}
for(int i=0;i<list.size();i++){
Map<String,String> dataMap = list.get(i);
String newrequestid = Util.null2String(dataMap.get("requestid"));
String userid = Util.null2String(dataMap.get("userid"));
String nodeid = Util.null2String(dataMap.get("nodeid"));
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-userid:"+userid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-nodeid:"+nodeid);
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){
monitorFinishedWorkflowCopyToByUserid(newrequestid,userid,nodeid);
}
}
}
/***
*
* @param requestid
* @param copyNodeUserId
* @param copyNodeid
*/
public void monitorFinishedWorkflowCopyToByUserid(String requestid,String copyNodeUserId,String copyNodeid){
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorFinishedWorkflowCopyToByUserid" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
String bpm_app_requesturl = Constants.bpm_app_requesturl;
String portal_todourl = Constants.portal_todourl;
String username = Constants.username;
String passwd = Constants.passwd;
String center = Constants.center;
String bpm_workflowurl = Constants.bpm_workflowurl;
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
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 createdate = TimeUtil.getCurrentDateString();
String createtime = TimeUtil.getCurrentTimeString();
String workcode = "";
if(StringUtils.isNotBlank(copyNodeUserId)){
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 = '" + copyNodeUserId + "'";
rs.executeQuery(sql);
if (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
}
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-workcode:"+workcode);
String copyNodeName = "" ;
if(StringUtils.isNotBlank(copyNodeid)){
rs.executeQuery(" select nodename from workflow_nodebase where id = ?",copyNodeid);
if (rs.next()){
copyNodeName = Util.null2String(rs.getString("nodename"));
}
}
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-copyNodeName:"+copyNodeName);
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(org.apache.commons.lang.StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
String requestname = "";
String workflowname = "" ;
String 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")) ;
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",workcode);
requestObject.put("taskCode", requestid+"_cs_"+copyNodeUserId);
requestObject.put("nodeId",copyNodeid);
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",copyNodeName);
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);
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-requestObject:"+requestObject.toJSONString());
String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-msgdata:"+msgdata);
if(StringUtils.isNotEmpty(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,copyNodeid,copyNodeName,copyNodeUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,"");
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,copyNodeid,copyNodeName,copyNodeUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -0,0 +1,183 @@
package weaver.interfaces.dito.mq;
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.hrm.resource.ResourceComInfo;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class HrmRocketmqRunnable implements Runnable {
private String personno;
private String managerno;
private String personid;
private String managerid;
private String cus_eid;
private JSONObject datasObject;
public HrmRocketmqRunnable(String personno, String managerno, String personid, String managerid, String cus_eid, JSONObject datasObject) {
this.personno = personno.trim();
this.managerno = managerno;
this.personid = personid;
this.managerid = managerid;
this.cus_eid = cus_eid;
this.datasObject = datasObject;
}
@Override
public void run() {
try {
Thread.sleep(10 * 1000);
updateHrmEid();
Thread.sleep( 60 * 1000);
updateHrmEid();
} catch (InterruptedException interruptedException) {
interruptedException.printStackTrace();
}
}
public void updateHrmEid() {
BaseBean bb = new BaseBean();
bb.writeLog("HrmRocketmqRunnable");
bb.writeLog("personno:" + personno);
bb.writeLog("managerno:" + managerno);
bb.writeLog("personid:" + personid);
bb.writeLog("managerid" + managerid);
bb.writeLog("cus_eid:" + cus_eid);
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowDateTime = sdf.format(new Date());
HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil();
RecordSet rs = new RecordSet();
if (StringUtils.isEmpty(personid)) {
String sql = "select id from cus_fielddata where " + cus_eid + " = '" + personno + "' and scope='HrmCustomFieldByInfoType' and scopeid=-1 ";
bb.writeLog("HrmRocketmqRunnable-sql3:" + sql);
rs.execute(sql);
if (rs.next()) {
personid = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("personid2:" + personid);
if (StringUtils.isEmpty(managerid)) {
String sql = "select id from cus_fielddata where " + cus_eid + " = '" + managerno + "' and scope='HrmCustomFieldByInfoType' and scopeid=-1 ";
bb.writeLog("HrmRocketmqRunnable-sql:" + sql);
rs.executeQuery(sql);
if (rs.next()) {
managerid = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("managerid2:" + managerid);
if (StringUtils.isNotEmpty(personid) && StringUtils.isNotEmpty(managerid)) {
Map<String, String> dataMap = new HashMap<String, String>();
String sql = " update hrmresource set managerid = ? where id = ? ";
Object[] objects = new Object[]{managerid, personid};
boolean flag = rs.executeUpdate(sql, objects);
bb.writeLog("HrmRocketmqRunnable-flag:" + flag);
if (!flag) {
dataMap.put("errmessage", "人员更新SQL执行错误,managerid:" + managerid + "、personid:" + personid);
dataMap.put("zxjg", "false");
} else {
dataMap.put("errmessage", "人员更新SQL执行成功");
dataMap.put("zxjg", "true");
ResourceComInfo resComInfo;
try {
resComInfo = new ResourceComInfo();
resComInfo.removeResourceCache();
} catch (Exception e) {
bb.writeLog(e);
}
}
dataMap.put("syndate", nowDateTime);
dataMap.put("reqmessage", "HrmRocketmqRunnable");
dataMap.put("reqobject", "");
dataMap.put("systable", "cus_fielddata");
dataMap.put("zxyj", sql);
dataMap.put("zxcs", HrmRocketmqUtil.convertObject2String(objects));
dataMap.put("personno", personno);
hrmRocketmqUtil.recordErrorData(dataMap);
} else {
if (StringUtils.isNotBlank(personid) && StringUtils.isBlank(managerid)) {
Map<String, String> dataMap = new HashMap<String, String>();
String sql = " update hrmresource set managerid = null where id = " + personid;
boolean flag = rs.executeUpdate(sql);
bb.writeLog("HrmRocketmqRunnable--flag:" + flag);
if (!flag) {
dataMap.put("errmessage", "人员更新SQL执行错误,managerid:" + managerid + "、personid:" + personid);
dataMap.put("zxjg", "false");
} else {
dataMap.put("errmessage", "人员更新SQL执行成功");
dataMap.put("zxjg", "true");
ResourceComInfo resComInfo;
try {
resComInfo = new ResourceComInfo();
resComInfo.removeResourceCache();
} catch (Exception e) {
bb.writeLog(e);
}
}
dataMap.put("syndate", nowDateTime);
dataMap.put("reqmessage", "HrmRocketmqRunnable");
dataMap.put("reqobject", datasObject.toJSONString());
dataMap.put("systable", "cus_fielddata");
dataMap.put("zxyj", sql);
dataMap.put("zxcs", managerid + "," + personid);
dataMap.put("personno", personno);
hrmRocketmqUtil.recordErrorData(dataMap);
} else if (StringUtils.isBlank(personid) && StringUtils.isNotBlank(managerid)) {
Map<String, String> dataMap = new HashMap<String, String>();
dataMap.put("syndate", nowDateTime);
dataMap.put("reqmessage", "HrmRocketmqRunnable");
dataMap.put("reqobject", datasObject.toJSONString());
dataMap.put("systable", "cus_fielddata");
dataMap.put("errmessage", "入参参数personno未空在cus_fielddata查询为空");
dataMap.put("personno", personno);
hrmRocketmqUtil.recordErrorData(dataMap);
} else if (StringUtils.isBlank(personid) && StringUtils.isBlank(managerid)) {
Map<String, String> dataMap = new HashMap<String, String>();
dataMap.put("syndate", nowDateTime);
dataMap.put("reqmessage", "HrmRocketmqRunnable");
dataMap.put("reqobject", datasObject.toJSONString());
dataMap.put("systable", "cus_fielddata");
dataMap.put("errmessage", "入参参数personno、managerno未空在cus_fielddata查询为空");
dataMap.put("personno", personno);
hrmRocketmqUtil.recordErrorData(dataMap);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -48,8 +48,8 @@ public class HrmRocketmqUtil {
for(int i=0;i<datasArray.size();i++)
{
JSONObject datasObject = datasArray.getJSONObject(i);
String personno = datasObject.getString("personno");
String managerno = datasObject.getString("managerno");
String personno = datasObject.getString("personno").trim();
String managerno = datasObject.getString("managerno").trim();
String status = datasObject.getString("status");
bb.writeLog("updateOrgData---personno:"+personno);
@ -59,29 +59,32 @@ public class HrmRocketmqUtil {
if("1".equals(status))
{
if(StringUtils.isNotEmpty(personno) && StringUtils.isNotEmpty(managerno)) {
String personid = "" ;
String managerid = "" ;
String sql = "select id from cus_fielddata where "+cus_eid+" = ? and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql,new Object[]{personno});
if(rs.next()) {
personid = Util.null2String(rs.getString("id"));
}
bb.writeLog("personid:"+personid);
sql = "select id from cus_fielddata where "+cus_eid+" = ? and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql,new Object[]{managerno});
if(rs.next()) {
managerid = Util.null2String(rs.getString("id"));
String personid = convertPersonno2PersonId(cus_eid,personno);
if(StringUtils.isBlank(personid)){
personid = convertPersonno2PersonId(cus_eid,personno);
}
bb.writeLog("personid2:"+personid);
if(StringUtils.isBlank(personid)){
personid = convertPersonno2PersonId(cus_eid,personno);
}
bb.writeLog("personid3:"+personid);
String managerid = convertManagerno2ManagerId(cus_eid,managerno);
bb.writeLog("managerid:"+managerid);
if(StringUtils.isBlank(managerid)){
managerid = convertManagerno2ManagerId(cus_eid,managerno);
}
bb.writeLog("managerid2:"+managerid);
if(StringUtils.isNotEmpty(personid) && StringUtils.isNotEmpty(managerid)) {
Map<String,String> dataMap = new HashMap<String,String>();
sql = " update hrmresource h set h.managerid = ? where id = ? ";
String sql = " update hrmresource set managerid = ? where id = ? ";
Object[] objects = new Object[]{managerid,personid} ;
@ -95,14 +98,6 @@ public class HrmRocketmqUtil {
}else{
dataMap.put("errmessage","人员更新SQL执行成功");
dataMap.put("zxjg","true");
ResourceComInfo resComInfo;
try {
resComInfo = new ResourceComInfo();
resComInfo.removeResourceCache();
} catch (Exception e) {
bb.writeLog(e);
}
}
dataMap.put("syndate",nowDateTime);
@ -115,15 +110,56 @@ public class HrmRocketmqUtil {
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("reqobject",datasObject.toJSONString());
dataMap.put("systable","hrmresource");
dataMap.put("errmessage","入参参数personno、managerno在cus_fielddata查询为空");
dataMap.put("personno",personno);
recordErrorData(dataMap);
if(StringUtils.isNotBlank(personid) && StringUtils.isBlank(managerid)){
Map<String,String> dataMap = new HashMap<String,String>();
String sql = " update hrmresource set managerid = null where id = "+personid;
boolean flag = rs.executeUpdate(sql);
bb.writeLog("flag:"+flag);
if(!flag){
errcount++;
dataMap.put("errmessage","人员更新SQL执行错误,managerid:"+managerid+"、personid:"+personid);
dataMap.put("zxjg","false");
}else{
dataMap.put("errmessage","人员更新SQL执行成功");
dataMap.put("zxjg","true");
}
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("reqobject",datasObject.toJSONString());
dataMap.put("systable","hrmresource");
dataMap.put("zxyj",sql);
dataMap.put("zxcs",managerid+","+personid);
dataMap.put("personno",personno);
recordErrorData(dataMap);
}else if(StringUtils.isBlank(personid) && StringUtils.isNotBlank(managerid)){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("reqobject",datasObject.toJSONString());
dataMap.put("systable","hrmresource");
dataMap.put("errmessage","入参参数personno未空在cus_fielddata查询为空");
dataMap.put("personno",personno);
recordErrorData(dataMap);
updateManagerByRunner(personno,managerno,personid,managerid,cus_eid,datasObject);
}else if(StringUtils.isBlank(personid) && StringUtils.isBlank(managerid)){
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("reqobject",datasObject.toJSONString());
dataMap.put("systable","hrmresource");
dataMap.put("errmessage","入参参数personno、managerno未空在cus_fielddata查询为空");
dataMap.put("personno",personno);
recordErrorData(dataMap);
updateManagerByRunner(personno,managerno,personid,managerid,cus_eid,datasObject);
}
}
}else{
@ -134,7 +170,6 @@ public class HrmRocketmqUtil {
dataMap.put("systable","hrmresource");
dataMap.put("errmessage","入参参数personno、managerno未空");
recordErrorData(dataMap);
}
}else{
@ -146,9 +181,16 @@ public class HrmRocketmqUtil {
dataMap.put("errmessage","入参参数status不为1");
dataMap.put("personno",personno);
recordErrorData(dataMap);
}
}
ResourceComInfo resComInfo;
try {
resComInfo = new ResourceComInfo();
resComInfo.removeResourceCache();
} catch (Exception e) {
bb.writeLog(e);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
@ -270,4 +312,58 @@ public class HrmRocketmqUtil {
return datas;
}
public void updateManagerByRunner(String personno,String managerno,String personid,String managerid,String cus_eid,JSONObject datasObject){
HrmRocketmqRunnable hrmRocketmqRunnable = new HrmRocketmqRunnable(personno,managerno,personid,managerid,cus_eid,datasObject);
new Thread(hrmRocketmqRunnable).start();
}
/***
*
* @param cus_eid
* @param personno
* @return
*/
public String convertPersonno2PersonId(String cus_eid,String personno){
BaseBean bb = new BaseBean();
String personid = "" ;
try{
RecordSet rs = new RecordSet();
String sql = "select id from cus_fielddata where "+cus_eid+"= '"+personno+"' and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
bb.writeLog("sql3:"+sql);
rs.execute(sql);
if(rs.next()) {
personid = Util.null2String(rs.getString("id"));
}
}catch (Exception e){
bb.writeLog("convertPersonno2PersonId-e:"+e);
}
return personid ;
}
/**
*
* @param cus_eid
* @param personno
* @return
*/
public String convertManagerno2ManagerId(String cus_eid,String managerno){
BaseBean bb = new BaseBean();
String managerid = "" ;
try{
RecordSet rs = new RecordSet();
String sql = "select id from cus_fielddata where "+cus_eid+" = '"+managerno+"' and scope='HrmCustomFieldByInfoType' and scopeid=-1 " ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if(rs.next()) {
managerid = Util.null2String(rs.getString("id"));
}
}catch (Exception e){
bb.writeLog("convertPersonno2PersonId-e:"+e);
}
return managerid ;
}
}

@ -15,6 +15,7 @@ import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.cachecenter.bean.RolemembersComInfo;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.hrm.roles.RolesComInfo;
import weaver.interfaces.dito.comInfo.PropBean;
@ -449,7 +450,7 @@ public class RocketmqUtil {
if(rs.next()){
subcompanyid1 = Util.null2String(rs.getString("id"));
}
if("".equals(subcompanyid1)){
if(StringUtils.isBlank(subcompanyid1)){
String sql = " select id,subcompanyid1 from hrmdepartment where departmentcode = ?" ;
rs.executeQuery(sql,new Object[]{parentOrgCode});
if(rs.next()){
@ -458,10 +459,10 @@ public class RocketmqUtil {
}
}
}
bb.writeLog("actType:"+actType);
bb.writeLog("supdepid:"+supdepid);
bb.writeLog("subcompanyid1:"+subcompanyid1);
// String departmentmark = " ~`~`7 "+orgName+"`~`8 "+orgName+"`~`~";
String departmentmark = orgName;
if(StringUtils.isNotEmpty(subcompanyid1))
{
@ -477,7 +478,7 @@ public class RocketmqUtil {
if("M".equalsIgnoreCase(actType))
{
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
Object[] objects = new Object[]{departmentmark,departmentmark,subcompanyid1,orgId,supdepid,orgCode} ;
@ -511,7 +512,7 @@ public class RocketmqUtil {
if(hrmResourceCount == 0 ){
String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," +
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
" subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? ";
bb.writeLog("deptUpdateSql:"+deptUpdateSql);
Object[] objects = new Object[]{departmentmark,departmentmark,canceled,subcompanyid1,orgId,supdepid,orgCode};
@ -691,8 +692,8 @@ public class RocketmqUtil {
if (StringUtils.isNotEmpty(systemUserCode)) {
String sql =" select h.id,d.departmentcode from hrmresource h \n" +
" inner join hrmdepartment d on d.id = h.departmentid \n" +
" where loginid='"+systemUserCode+"'";
" inner join hrmdepartment d on d.id = h.departmentid \n" +
" where loginid='"+systemUserCode+"'";
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if (rs.next()) {
@ -712,7 +713,7 @@ public class RocketmqUtil {
String queryRoleIdSql = " select id from hrmroles where rolesmark=?";
rs.executeQuery(queryRoleIdSql, new Object[]{roleCode});
if (rs.next()) {
roleId = rs.getString("id");
roleId = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("userId:" + userId + " roleId:" + roleId);
@ -723,7 +724,7 @@ public class RocketmqUtil {
String ifExistSql = "select id from hrmrolemembers where roleid=? and resourceid=?";
rs.executeQuery(ifExistSql,new Object[]{roleId, userId});
if (rs.next()) {
releationId = rs.getString("id");
releationId = Util.null2String(rs.getString("id"));
}
bb.writeLog("userId:" + userId + " roleId:" + roleId + "releationId:" + releationId);
if (StringUtils.isNotEmpty(releationId)) {
@ -956,22 +957,27 @@ public class RocketmqUtil {
String userId = "";
String jobtitlesId = "";
String departmentId = "";
String jobtitlecode = "" ;
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");
departmentId = Util.null2String(rs.getString("id"));
}
}
if(StringUtils.isNotEmpty(departmentId) && StringUtils.isNotEmpty(systemUserCode))
{
String sql = " select id from hrmresource where workcode=? and departmentid = ?";
String sql = " select h.id,k.jobtitlecode " +
" from hrmresource h " +
" left join HrmJobTitles k on h.jobtitle = k.id " +
" where h.workcode=? and h.departmentid = ? ";
bb.writeLog("sql:" + sql);
rs.executeQuery(sql, new Object[]{systemUserCode, departmentId});
if (rs.next()) {
userId = Util.null2String(rs.getString("id"));
jobtitlecode = Util.null2String(rs.getString("jobtitlecode"));
}
}
if(StringUtils.isNotEmpty(postCode)) {
@ -979,7 +985,7 @@ public class RocketmqUtil {
bb.writeLog("queryRoleIdSql:" + queryRoleIdSql);
rs.executeQuery(queryRoleIdSql, new Object[]{postCode});
if (rs.next()) {
jobtitlesId = rs.getString("id");
jobtitlesId = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("jobtitlesId:"+jobtitlesId);
@ -1021,37 +1027,58 @@ public class RocketmqUtil {
recordErrorData(dataMap);
// }
}else if("D".equals(actType)){
if(StringUtils.isNotEmpty(postName)) {
postName = postName.toLowerCase().replaceAll("\\s+", "");
if(stringSet.contains(postName)){
String sql = "update matrixtable_2 set "+postName+"=null where id=?";
rs.executeUpdate(sql,new Object[]{departmentId});
}
}
jobtitlesId = null;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
Object[] objects = new Object[]{jobtitlesId,currentDateTime,updateStaff,userId};
if(StringUtils.isNotBlank(jobtitlecode)){
if(jobtitlecode.equals(postCode)){
if(StringUtils.isNotEmpty(postName)) {
postName = postName.toLowerCase().replaceAll("\\s+", "");
if(stringSet.contains(postName)){
String sql = "update matrixtable_2 set "+postName+"=null where id=?";
rs.executeUpdate(sql,new Object[]{departmentId});
}
}
jobtitlesId = null;
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql);
Object[] objects = new Object[]{jobtitlesId,currentDateTime,updateStaff,userId};
boolean flag = rs.executeUpdate(updateUserJobSql,objects);
bb.writeLog(" updateUserJobFlag: "+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","删除人员岗位sql执行错误");
}else {
dataMap.put("errmessage","删除人员岗位sql执行成功");
}
dataMap.put("staffcode",systemUserCode);
dataMap.put("zxyj",updateUserJobSql);
dataMap.put("zxcs",convertObject2String(objects));
boolean flag = rs.executeUpdate(updateUserJobSql,objects);
bb.writeLog(" updateUserJobFlag: "+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(!flag){
dataMap.put("errmessage","删除人员岗位sql执行错误");
}else {
dataMap.put("errmessage","删除人员岗位sql执行成功");
}
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
dataMap.put("zxyj",updateUserJobSql);
dataMap.put("zxcs",convertObject2String(objects));
recordErrorData(dataMap);
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中人对应的岗位不存在,无法删除");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员岗位中人对应的岗位为空,无法删除");
dataMap.put("systable",tableName);
dataMap.put("staffcode",systemUserCode);
recordErrorData(dataMap);
}
}
}else{
Map<String,String> dataMap = new HashMap<String,String>();
@ -1149,7 +1176,7 @@ public class RocketmqUtil {
rs.executeQuery(queryRoleSql,new Object[]{sysRoleCode});
bb.writeLog(queryRoleSql);
if (rs.next()){
rolesid = rs.getString("id");
rolesid = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("rolesid:"+rolesid);
@ -1338,13 +1365,15 @@ public class RocketmqUtil {
String jobtitlemark = sysPostName;
String jobtitlename = sysPostName;
JobTitlesComInfo jobTitlesComInfo ;
try {
String departmentId = "";
if(StringUtils.isNotEmpty(orgCode)){
String querDepartmentIdSql = "select id from hrmdepartment where departmentcode=?";
rs.executeQuery(querDepartmentIdSql, new Object[]{orgCode});
if (rs.next()) {
departmentId = rs.getString("id");
departmentId = Util.null2String(rs.getString("id"),"null");
}
}
@ -1372,7 +1401,7 @@ public class RocketmqUtil {
String queryRoleSql = " select id from hrmjobtitles where jobtitlecode =? and jobactivityid = ?";
rs.executeQuery(queryRoleSql, new Object[]{sysPostCode, jobactivitiesid});
if (rs.next()) {
jobtitleid = rs.getString("id");
jobtitleid = Util.null2String(rs.getString("id"));
}
}
@ -1466,6 +1495,11 @@ public class RocketmqUtil {
recordErrorData(dataMap);
}
}
jobTitlesComInfo = new JobTitlesComInfo();
jobTitlesComInfo.removeJobTitlesCache();
}catch (Exception e) {
Map<String,String> dataMap = new HashMap<String,String>();
@ -1632,7 +1666,7 @@ public class RocketmqUtil {
bb.writeLog("status:"+status);
String userUpdateSql = " update hrmresource set loginid=?,lastname=?,departmentid=?,subcompanyid1=?," +
" creater=?,email=?,mobile=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? ";
" creater=?,email=?,mobile=?,status=?,dsporder=?,lastmoddate=?,modified=? where workcode=? ";
Object[] objects = new Object[]{loginid,lastname,deptId,subcompanyid1,creator,email,pwdSmsTel,status,loginedNum,currentDate,currentDateTime,staffCode};
@ -1658,10 +1692,14 @@ public class RocketmqUtil {
recordErrorData(dataMap);
}else if("D".equals(actType)){
status = "5";
String staffCodenew = loginid+"_cf_0";
String userUpdateSql = " update hrmresource set status=?,loginid=?,workcode=? where id=? ";
// String staffCodenew = loginid+"_cf_0";
// String userUpdateSql = " update hrmresource set status=?,loginid=?,workcode=? where id=? ";
//
// Object[] objects = new Object[]{status,staffCodenew,staffCodenew,userid};
// bb.writeLog("userUpdateSql:"+userUpdateSql);
Object[] objects = new Object[]{status,staffCodenew,staffCodenew,userid};
String userUpdateSql = " update hrmresource set status=? where id=? ";
Object[] objects = new Object[]{status,userid};
bb.writeLog("userUpdateSql:"+userUpdateSql);
boolean flag = rs.executeUpdate(userUpdateSql,objects);
@ -1682,182 +1720,132 @@ public class RocketmqUtil {
dataMap.put("errmessage","人员离职SQL执行成功");
}
recordErrorData(dataMap);
}else{
}else if("A".equalsIgnoreCase(actType)){
int status1count = 0;
sql = " select id from hrmresource where loginid = '"+staffCode+"' and status in(0,1,2,3) " ;
bb.writeLog("loginidisnotnull-sql:"+sql);
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("loginidisnotnull-sql:" + sql);
rs.executeQuery(sql);
if(rs.next()){
status1count++;
while (rs.next()) {
String user_id = Util.null2String(rs.getString("id"));
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id ;
bb.writeLog("loginidisnotnull-upsql:" + upsql);
loginList.add(upsql);
status5count++;
}
bb.writeLog("loginidisnotnull-status1count:"+status1count);
if(status1count == 0) {
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' and status = 5" ;
// sql = " select id,status from hrmresource where (loginid = '"+staffCode+"' or loginid like '"+staffCode+"_cf%') and status = 5";
bb.writeLog("loginidisnotnull-sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
String user_id = Util.null2String(rs.getString("id"));
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" and status = 5 ";
bb.writeLog("loginidisnotnull-upsql:" + upsql);
loginList.add(upsql);
status5count++;
}
bb.writeLog("loginidisnotnull-status5count:" + status5count);
bb.writeLog("loginidisnotnull-status5count:" + status5count);
if (status5count > 0) {
for (String upsql : loginList) {
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("loginidisnotnull-isTrue:" + isTrue);
}
if (status5count > 0) {
for (String upsql : loginList) {
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("loginidisnotnull-isTrue:" + isTrue);
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("loginidisnotnull-id:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("loginidisnotnull-id:"+id);
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}else{
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcode",staffCode);
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","人员在系统中已存在操作类型为A");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中已存在操作类型为A请检查数据" ;
recordErrorMessage(staffCode,context);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}
}else{
if("A".equalsIgnoreCase(actType))
{
int status1count = 0;
sql = " select id from hrmresource where loginid = '"+staffCode+"' and status in(0,1,2,3) " ;
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("staff-sql:"+sql);
rs.executeQuery(sql);
if(rs.next()){
status1count++;
while (rs.next()){
String user_id = Util.null2String(rs.getString("id")) ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" ";
bb.writeLog("upsql:"+upsql);
loginList.add(upsql);
status5count ++ ;
}
bb.writeLog("staff-status1count:"+status1count);
if(status1count == 0)
{
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' and status = 5" ;
bb.writeLog("staff-sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String user_id = Util.null2String(rs.getString("id")) ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" and status = 5";
bb.writeLog("upsql:"+upsql);
loginList.add(upsql);
status5count ++ ;
}
bb.writeLog("staff-status5count:"+status5count);
bb.writeLog("staff-status5count:"+status5count);
if(status5count > 0){
for(String upsql : loginList){
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("isTrue:"+isTrue);
}
if(status5count > 0){
for(String upsql : loginList){
boolean isTrue = rs.executeUpdate(upsql);
bb.writeLog("isTrue:"+isTrue);
}
}
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("id:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
String id = "" + rs.getInt(1);
bb.writeLog("id:"+id);
if(StringUtils.isNotEmpty(id))
{
String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," +
" creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," +
" locationid,seclevel,createrid,lastmodid,outkey) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("systable",tableName);
Object[] objects = new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1,
creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime,
locationid,seclevel,createrid,lastmodid,staffId} ;
bb.writeLog("userInsertSql:"+userInsertSql);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
boolean flag = rs.executeUpdate(userInsertSql,objects);
bb.writeLog("flag:"+flag);
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}else{
bb.writeLog("staff-status1count22:"+status1count);
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcodecount",datacount+"");
dataMap.put("staffcode",staffCode);
dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString());
dataMap.put("errmessage","工号:"+staffCode+"的员工现为在职无法进行新增操作类型为A");
dataMap.put("systable",tableName);
recordErrorData(dataMap);
String context = "人员staffname:"+staffName+",staffcode:"+staffCode+"的员工在系统中已存在操作类型为A请检查数据" ;
recordErrorMessage(staffCode,context);
dataMap.put("zxyj",userInsertSql);
dataMap.put("zxcs",convertObject2String(objects));
if(flag){
userid = id+"";
dataMap.put("errmessage","人员新增SQL执行成功");
}else{
dataMap.put("errmessage","人员新增SQL执行错误");
}
recordErrorData(dataMap);
}
}else if("M".equalsIgnoreCase(actType)){
int status1count = 0;
@ -1872,12 +1860,12 @@ public class RocketmqUtil {
{
int status5count = 0;
List<String> loginList = new ArrayList<String>();
sql = " select id from hrmresource where loginid like '"+staffCode+"%' and status = 5" ;
sql = " select id from hrmresource where loginid like '"+staffCode+"%' " ;
bb.writeLog("staff-M-sql:"+sql);
rs.executeQuery(sql);
while (rs.next()){
String user_id = Util.null2String(rs.getString("id")) ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" and status = 5 " ;
String upsql = " update hrmresource set loginid='" + staffCode + "_cf_" + status5count + "',workcode='"+staffCode+"_cf_"+status5count+"' where id = " + user_id +" " ;
bb.writeLog("upsql-M:"+upsql);
loginList.add(upsql);
status5count ++ ;

@ -2,6 +2,7 @@ package weaver.interfaces.dito.overtime;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import weaver.interfaces.dito.constant.Constants;
import com.customization.dito.sendtodo.HttpRequestUtil;
import com.customization.dito.sendtodo.SendPortalErrorUtil;
@ -44,7 +45,7 @@ public class SendPortalOverTimeSubmitUtil {
RecordSet rs = new RecordSet();
String zhjkbs = "weaver.interfaces.dito.overtime.SendPortalOverTimeSubmitUtil.sendOverTimeSubmitByTodo" ;
String message = "流程"+requestid+"超时处理," ;
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
@ -52,12 +53,11 @@ public class SendPortalOverTimeSubmitUtil {
bb.writeLog("SendPortalOverTimeSubmitUtil--sendOverTimeSubmitBytoDo");
String terminal = "1" ;
String taskType = "0";
String actionType = "2" ;
String objectAction = "0";
String objectType = "0";
String currentUserId= "1";
try {
String cus_staff = PropBean.getUfPropValue("cus_staff") ;
String scopeid = "-1";
String scope = "HrmCustomFieldByInfoType" ;
@ -79,7 +79,7 @@ public class SendPortalOverTimeSubmitUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -89,10 +89,13 @@ public class SendPortalOverTimeSubmitUtil {
while (rs.next()){
count++;
}
message +=",待办数量为"+count ;
bb.writeLog("sendOverTimeSubmitBytoDo--count:"+count);
if(count >0){
String currentUserId= "1";
String actionType = "2" ;
String requestname = "" ;
String workflowname = "" ;
String currentNodeId = "" ;
@ -139,7 +142,7 @@ public class SendPortalOverTimeSubmitUtil {
" 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 = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1','5','7','11')) \n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -164,6 +167,8 @@ public class SendPortalOverTimeSubmitUtil {
taskObjectList.add(taskObject);
}
message +=",接口actionType为"+actionType ;
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("sendOverTimeSubmitBytoDo---requestObject:"+requestObject.toJSONString());
@ -173,14 +178,96 @@ public class SendPortalOverTimeSubmitUtil {
JSONObject msgObject = JSONObject.parseObject(msgdata);
if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode");
message +=",返回结果:"+resultCode ;
if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userids);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,userids,message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userids);
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userids,message);
}
}
}
}else{
String currentnodeid = "" ;
String currentnodetype = "" ;
String nodesql =" select t1.currentnodeid,t1.currentnodetype "+
" from workflow_requestbase t1\n" +
" where ifnull(t1.deleted,0) <> 1 \n" +
" and t1.requestid = "+requestid ;
rs.executeQuery(nodesql);
if(rs.next()){
currentnodeid = Util.null2String(rs.getString("currentnodeid"));
currentnodetype = Util.null2String(rs.getString("currentnodetype"));
}
message +=",当期节点类型:"+currentnodetype ;
bb.writeLog("sendTodoDataByNode-currentnodeid:"+currentnodeid);
bb.writeLog("sendTodoDataByNode-currentnodetype:"+currentnodetype);
if("3".equals(currentnodetype)){
message += "执行actionType=3" ;
String actionType = "3" ;
String requestname = "" ;
String workflowname = "" ;
String nodeId = "" ;
String nodeName = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,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 ;
bb.writeLog("monitorDelete4Requestid--sql2:"+sql);
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ;
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodeName);
requestObject.put("ticketType",workflowname);
String auth = username + ":" + passwd;
bb.writeLog("sendTodoDataByNode-3-requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("sendTodoDataByNode-3-msgdata:"+msgdata);
if(StringUtils.isNotBlank(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
message += ",接口返回值:"+ msgObject;
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,"",message);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",message);
}
}
}
}else{
}
}
} catch (Exception e) {
e.printStackTrace();

@ -81,7 +81,7 @@ public class SendPortalRobotSubmitUtil {
" 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.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;
@ -141,7 +141,7 @@ public class SendPortalRobotSubmitUtil {
" 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 = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1','5','7','11')) \n" +
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('5','7','11')) \n" +
" and t2.islasttimes = 1 \n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = "+requestid ;

Loading…
Cancel
Save