#EC_HJ160# 2024.07.24最新的代码

main
shilei 9 months ago
parent cc0d9d12b0
commit a84f700f50

@ -8,7 +8,6 @@ import java.io.IOException;
public class HttpRequestUtil extends BaseBean{ public class HttpRequestUtil extends BaseBean{
private int retryTimes = 2; private int retryTimes = 2;
private BaseBean bb = new BaseBean();
/*** /***
* *
@ -17,7 +16,10 @@ public class HttpRequestUtil extends BaseBean{
*/ */
public String doPostByAuth(String portal_todourl,String dataJson,String auth){ public String doPostByAuth(String portal_todourl,String dataJson,String auth){
//"http://172.16.25.133/portal-web/centerTodo/sync" //"http://172.16.25.133/portal-web/centerTodo/sync"
String zhjkbs = "com.customization.dito.sendtodo.HttpRequestUtil.doPostByAuth";
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
bb.writeLog("doPostByAuth--start:"+System.currentTimeMillis());
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String authorization = "Basic "+new String(Base64.encode(auth)); String authorization = "Basic "+new String(Base64.encode(auth));
@ -43,6 +45,7 @@ public class HttpRequestUtil extends BaseBean{
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
bb.writeLog("doPostByAuth--end:"+System.currentTimeMillis());
int code = response.code(); int code = response.code();
String bodyMsg = response.body().string(); String bodyMsg = response.body().string();
bb.writeLog("response.code():"+code); bb.writeLog("response.code():"+code);
@ -51,9 +54,17 @@ public class HttpRequestUtil extends BaseBean{
msgData = bodyMsg; msgData = bodyMsg;
return msgData; return msgData;
}else { }else {
for (int i =0;i<retryTimes;i++){ try{
bb.writeLog("HttpRequestUtil--e:"+bodyMsg); bb.writeLog("HttpRequestUtil--e:"+bodyMsg);
sendPortalErrorUtil.doRecordPortalErrorInfo("1","","","1",dataJson,String.valueOf(code),bodyMsg); String jdmc = "接口第1次调用";
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2("1","",jdmc,"1",dataJson,String.valueOf(code),bodyMsg,zhjkbs,"");
}catch (Exception e){
e.printStackTrace();
bb.writeLog("doPostByAuth-e:"+e);
}
for (int i =0;i<retryTimes;i++){
response = client.newCall(request).execute(); response = client.newCall(request).execute();
code = response.code(); code = response.code();
bodyMsg = response.body().string(); bodyMsg = response.body().string();
@ -61,7 +72,16 @@ public class HttpRequestUtil extends BaseBean{
bb.writeLog("response.body()"+i+":"+bodyMsg); bb.writeLog("response.body()"+i+":"+bodyMsg);
if(code == 200){ if(code == 200){
msgData = bodyMsg; msgData = bodyMsg;
return msgData; break;
}else{
try{
String jdmc = "接口第"+(i+2)+"次调用";
bb.writeLog("HttpRequestUtil--e:"+bodyMsg);
sendPortalErrorUtil.doRecordPortalErrorInfo("1","","","1",dataJson,String.valueOf(code),bodyMsg);
}catch (Exception e){
e.printStackTrace();
bb.writeLog("doPostByAuth-e:"+e);
}
} }
} }
} }

@ -24,8 +24,8 @@ public class SendPortalErrorUtil {
bb.writeLog("doCreateSendPortalTodoErrorInfo"); bb.writeLog("doCreateSendPortalTodoErrorInfo");
String uf_table = "uf_portal_error" ; String uf_table = "uf_portal_error" ;
ModeRightInfo modeRightInfo = new ModeRightInfo(); // ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true); // modeRightInfo.setNewRight(true);
if(StringUtils.isNotEmpty(requestobject)){ if(StringUtils.isNotEmpty(requestobject)){
requestobject = requestobject.replace("\"","\\\""); requestobject = requestobject.replace("\"","\\\"");
@ -83,21 +83,21 @@ public class SendPortalErrorUtil {
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")"; sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
bb.writeLog("sql:"+sql); bb.writeLog("sql:"+sql);
boolean boo = rs.execute(sql); boolean boo = rs.execute(sql);
if(boo) // if(boo)
{ // {
String dataid = "" ; // String dataid = "" ;
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ; // sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
bb.writeLog("sql:"+sql); // bb.writeLog("sql:"+sql);
rs.execute(sql); // rs.execute(sql);
if(rs.next()){ // if(rs.next()){
dataid = Util.null2String(rs.getString("id")); // dataid = Util.null2String(rs.getString("id"));
} // }
bb.writeLog("dataid:"+dataid); // bb.writeLog("dataid:"+dataid);
if(!"".equals(dataid)) // if(!"".equals(dataid))
{ // {
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid)); // modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
} // }
} // }
} }
} }
@ -127,8 +127,8 @@ public class SendPortalErrorUtil {
bb.writeLog("doCreateSendPortalTodoErrorInfo"); bb.writeLog("doCreateSendPortalTodoErrorInfo");
String uf_table = "uf_portal_error" ; String uf_table = "uf_portal_error" ;
ModeRightInfo modeRightInfo = new ModeRightInfo(); // ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true); // modeRightInfo.setNewRight(true);
if(StringUtils.isNotEmpty(requestobject)){ if(StringUtils.isNotEmpty(requestobject)){
requestobject = requestobject.replace("\"","\\\""); requestobject = requestobject.replace("\"","\\\"");
@ -192,21 +192,21 @@ public class SendPortalErrorUtil {
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")"; sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
bb.writeLog("sql:"+sql); bb.writeLog("sql:"+sql);
boolean boo = rs.execute(sql); boolean boo = rs.execute(sql);
if(boo) // if(boo)
{ // {
String dataid = "" ; // String dataid = "" ;
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ; // sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
bb.writeLog("sql:"+sql); // bb.writeLog("sql:"+sql);
rs.execute(sql); // rs.execute(sql);
if(rs.next()){ // if(rs.next()){
dataid = Util.null2String(rs.getString("id")); // dataid = Util.null2String(rs.getString("id"));
} // }
bb.writeLog("dataid:"+dataid); // bb.writeLog("dataid:"+dataid);
if(!"".equals(dataid)) // if(!"".equals(dataid))
{ // {
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid)); // modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
} // }
} // }
} }
} }

@ -52,8 +52,8 @@ public class SendPortalErrorUtilRunnable implements Runnable{
bb.writeLog("SendPortalErrorUtilRunnable"); bb.writeLog("SendPortalErrorUtilRunnable");
String uf_table = "uf_portal_error" ; String uf_table = "uf_portal_error" ;
ModeRightInfo modeRightInfo = new ModeRightInfo(); // ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true); // modeRightInfo.setNewRight(true);
if(StringUtils.isNotEmpty(requestobject)){ if(StringUtils.isNotEmpty(requestobject)){
requestobject = requestobject.replace("\"","\\\""); requestobject = requestobject.replace("\"","\\\"");
@ -118,21 +118,21 @@ public class SendPortalErrorUtilRunnable implements Runnable{
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")"; sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
bb.writeLog("sql:"+sql); bb.writeLog("sql:"+sql);
boolean boo = rs.execute(sql); boolean boo = rs.execute(sql);
if(boo) // if(boo)
{ // {
String dataid = "" ; // String dataid = "" ;
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ; // sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
bb.writeLog("sql:"+sql); // bb.writeLog("sql:"+sql);
rs.execute(sql); // rs.execute(sql);
if(rs.next()){ // if(rs.next()){
dataid = Util.null2String(rs.getString("id")); // dataid = Util.null2String(rs.getString("id"));
} // }
bb.writeLog("dataid:"+dataid); // bb.writeLog("dataid:"+dataid);
if(!"".equals(dataid)) // if(!"".equals(dataid))
{ // {
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid)); // modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
} // }
} // }
} }
} }

@ -0,0 +1,133 @@
package com.customization.dito.sendtodo;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.workflow.cmd.requestForm.RemarkSubmitCmd;
import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@CommandDynamicProxy(target = RemarkSubmitCmd.class, desc="抄送批注后给门户发送待阅处理消息")
public class SendPortalRemarkCmd extends AbstractCommandProxy<Map<String,Object>> {
@Override
public Map<String, Object> execute(Command<Map<String, Object>> targetCommand) {
BaseBean bb = new BaseBean();
bb.writeLog("SendPortalRemarkCmd");
RemarkSubmitCmd remarkSubmitCmd = (RemarkSubmitCmd) targetCommand;
HttpServletRequest request = remarkSubmitCmd.getRequest();
String requestid = Util.null2String(request.getParameter("requestid")).trim();
String src = Util.null2String(request.getParameter("src")).trim();
String nodeid = Util.null2String(request.getParameter("nodeid"));
String workflowname = Util.null2String(request.getParameter("workflowname"));
String agentType = Util.null2String(request.getParameter("agentType"));
String creater = Util.null2String(request.getParameter("creater"));
String isremark = Util.null2String(request.getParameter("isremark"));
User user = remarkSubmitCmd.getUser();
String userid = user.getUID()+"";
String loginid = user.getLoginid();
bb.writeLog("requestid:"+requestid);
bb.writeLog("src:"+src);
bb.writeLog("nodeid:"+nodeid);
bb.writeLog("workflowname:"+workflowname);
bb.writeLog("user:"+user.getLoginid());
bb.writeLog("creater:"+creater);
bb.writeLog("agentType:"+agentType);
bb.writeLog("isremark:"+agentType);
List<Map<String, String>> remark9List = new ArrayList<Map<String, String>>();
if("9".equals(isremark) && "save".equals(src)){
remark9List = queryRequestRemark(requestid,userid);
}
Map<String, Object> result = nextExecute(targetCommand);
sendDate(result,loginid,remark9List);
return result;
}
public void sendDate(Map<String, Object> result, String loginid,List<Map<String,String>> remark9List) {
BaseBean bb = new BaseBean();
try {
if (result.containsKey("data")) {
//对返回值做加工处理
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
String executeResult = resultBean.getType().name();
bb.writeLog("executeResult:" + executeResult);
if ("SUCCESS".equals(executeResult)) {
if(!remark9List.isEmpty() && remark9List.size()>0){
bb.writeLog("SendPortalRemarkCmd-remark9List:"+remark9List.size());
SendPortalMonitorDeleteUtil sendPortalMonitorDeleteUtil = new SendPortalMonitorDeleteUtil();
String notes = "流程页面打开后,批注抄送需提交的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowCopyToByRequestid(remark9List,loginid,notes);
}
}
}
} catch (Exception e) {
}
}
/**
*
* @param requestid
* @param userid
* @return
*/
public List<Map<String, String>> queryRequestRemark(String requestid,String userid){
List<Map<String, String>> remark9List = new ArrayList<Map<String, String>>();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
try{
Map<String, String> map = null;
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname \n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in ('9') and t.preisremark in ('9') \n" +
" and t.requestid ="+requestid +
" and t.userid="+userid+"";
rs.executeQuery(sql);
bb.writeLog("OpenRequestRemark9Cmd-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid+"");
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",requestid);
remark9List.add(map);
}
}catch (Exception e){
bb.writeLog("queryRequestRemark-e:"+e);
}
return remark9List;
}
}

@ -304,7 +304,6 @@ public class SendPortalToReadUtil {
requestObject.put("center", center); requestObject.put("center", center);
requestObject.put("title", requestname); requestObject.put("title", requestname);
requestObject.put("taskType", taskType); requestObject.put("taskType", taskType);
requestObject.put("actionType", actionType); requestObject.put("actionType", actionType);
requestObject.put("createDate", processTime); requestObject.put("createDate", processTime);

@ -1,6 +1,7 @@
package com.customization.dito.sendtodo; package com.customization.dito.sendtodo;
import weaver.conn.RecordSet; import com.engine.workflow.constant.requestForm.RequestExecuteType;
import org.apache.commons.lang3.StringUtils;
import weaver.interfaces.dito.constant.Constants; import weaver.interfaces.dito.constant.Constants;
import com.customization.dito.sendtodo.agent.SendPortalToReadByAgentUtil; import com.customization.dito.sendtodo.agent.SendPortalToReadByAgentUtil;
import com.customization.dito.sendtodo.agent.SendPortalTodoByAgentUtil; import com.customization.dito.sendtodo.agent.SendPortalTodoByAgentUtil;
@ -15,6 +16,8 @@ import weaver.hrm.User;
import weaver.interfaces.dito.monitor.SendPortalMonitorUtil; import weaver.interfaces.dito.monitor.SendPortalMonitorUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
/*** /***
@ -25,6 +28,7 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
@Override @Override
public Map<String, Object> execute(Command<Map<String, Object>> targetCommand) { public Map<String, Object> execute(Command<Map<String, Object>> targetCommand) {
//获取到被代理对象 //获取到被代理对象
RequestSubmitCmd requestSubmitCmd = (RequestSubmitCmd)targetCommand; RequestSubmitCmd requestSubmitCmd = (RequestSubmitCmd)targetCommand;
//获取被代理对象的参数 //获取被代理对象的参数
@ -32,6 +36,7 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
bb.writeLog("SendPortalTodoCmd-start:"+System.currentTimeMillis());
HttpServletRequest request = requestSubmitCmd.getRequest(); HttpServletRequest request = requestSubmitCmd.getRequest();
String requestid = Util.null2String(request.getParameter("requestid")).trim(); String requestid = Util.null2String(request.getParameter("requestid")).trim();
String workflowid = Util.null2String(request.getParameter("workflowid")).trim(); String workflowid = Util.null2String(request.getParameter("workflowid")).trim();
@ -48,6 +53,8 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
String f_weaver_belongto_userid = Util.null2String(request.getParameter("f_weaver_belongto_userid")); String f_weaver_belongto_userid = Util.null2String(request.getParameter("f_weaver_belongto_userid"));
String f_weaver_belongto_usertype = Util.null2String(request.getParameter("f_weaver_belongto_usertype")); String f_weaver_belongto_usertype = Util.null2String(request.getParameter("f_weaver_belongto_usertype"));
String creater = Util.null2String(request.getParameter("creater")); String creater = Util.null2String(request.getParameter("creater"));
String intervenorid = Util.null2String(request.getParameter("Intervenorid"));
// Map<String,Object> params = ParamUtil.request2Map(request); // Map<String,Object> params = ParamUtil.request2Map(request);
// params.forEach((t,u)-> { // params.forEach((t,u)-> {
@ -70,19 +77,50 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
bb.writeLog("f_weaver_belongto_usertype:"+f_weaver_belongto_usertype); bb.writeLog("f_weaver_belongto_usertype:"+f_weaver_belongto_usertype);
bb.writeLog("creater:"+creater); bb.writeLog("creater:"+creater);
bb.writeLog("agentType:"+agentType); bb.writeLog("agentType:"+agentType);
bb.writeLog("intervenorid:"+intervenorid);
List<Map<String,String>> copyList = new ArrayList<Map<String,String>>();
List<Map<String,String>> forwardList = new ArrayList<Map<String,String>>();
List<Map<String,String>> atList = new ArrayList<Map<String,String>>();
int forwardcount = 0;
try{ try{
RecordSet rs = new RecordSet(); SendPortalTodoDeleteUtil sendPortalTodoDeleteUtil = new SendPortalTodoDeleteUtil();
String sql =" select t1.userid,t1.nodeid " + if("intervenor".equals(src)){
" from workflow_currentoperator t1 " + if(StringUtils.isNotBlank(intervenorid)){
" where t1.isremark = 1 " + if("1".equals(agentType)){
" and t1.REQUESTID= " +requestid + copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,intervenorid);
" and t1.USERID= " +userid ; forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,intervenorid);
bb.writeLog("completeForwardRequest --sql:" + sql); atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,intervenorid);
rs.executeQuery(sql); }else{
while (rs.next()) { copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,intervenorid);
forwardcount++ ; forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,intervenorid);
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,intervenorid);
}
}else{
copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,userid);
forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,userid);
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,userid);
}
}else if("delete".equals(src)){
if("1".equals(agentType)){
copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,"");
forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,"");
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,"");
}else{
copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,"");
forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,"");
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,"");
}
}else{
if("1".equals(agentType)){
copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,userid);
forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,userid);
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,userid);
}else{
copyList = sendPortalTodoDeleteUtil.queryWorkflowCopyToByRequestid(requestid,userid);
forwardList = sendPortalTodoDeleteUtil.queryWorkflowForwardByRequestid(requestid,userid);
atList = sendPortalTodoDeleteUtil.queryWorkflowAtByRequestid(requestid,userid);
}
} }
}catch (Exception e){ }catch (Exception e){
@ -91,14 +129,15 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
//参数回写 //参数回写
//执行标准的业务处理 //执行标准的业务处理
Map<String, Object> result = nextExecute(targetCommand); Map<String, Object> result = nextExecute(targetCommand);
bb.writeLog("SendPortalTodoCmd-submit-end:"+requestid+" time:"+System.currentTimeMillis());
sendDate(result,requestid,agentType,src,nodeid,userid,f_weaver_belongto_userid,user,forwardcount); sendDate(result,requestid,agentType,src,nodeid,userid,f_weaver_belongto_userid,user,copyList,forwardList,atList);
return result; 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){ public void sendDate(Map<String, Object> result,String requestid,String agentType,String src,String nodeid,String userid,String f_weaver_belongto_userid,User user,List<Map<String,String>> copyList,List<Map<String,String>> forwardList,List<Map<String,String>> atList){
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
try{ try{
@ -108,12 +147,6 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
String executeResult = resultBean.getType().name(); String executeResult = resultBean.getType().name();
bb.writeLog("executeResult:"+executeResult); 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());
}
String new_requestid2 = Util.null2String(resultBean.getResultInfo().get("requestid")); String new_requestid2 = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("new_requestid2:"+new_requestid2); bb.writeLog("new_requestid2:"+new_requestid2);
@ -133,12 +166,15 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
String bpm_app_requesturl = Constants.bpm_app_requesturl; String bpm_app_requesturl = Constants.bpm_app_requesturl;
String notes = "" ;
bb.writeLog("SendPortalTodoCmd-portal-start:"+requestid+" time:"+System.currentTimeMillis());
if(Util.getIntValue(requestid) == -1 && "save".equals(src)){ 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); sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user, portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
notes = "流程创建保存";
}else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){ }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); 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); sendPortalToReadUtil.sendToReadDataByCreateNode(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
notes = "流程创建提交";
}else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){ }else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){
/*** /***
@ -155,26 +191,39 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
}else{ }else{
sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl); 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); 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);
}
} }
notes = "流程提交";
}else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){ }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); sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
notes = "流程退回";
bb.writeLog("forwardcount:"+forwardcount);
if(forwardcount > 0){
sendPortalTodoUtil.completeForwardRequest(requestid,user,nodeid);
}
}else if(Util.getIntValue(requestid)> 0 && "intervenor".equals(src)){ }else if(Util.getIntValue(requestid)> 0 && "intervenor".equals(src)){
SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil(); SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil();
sendPortalMonitorUtil.monitorIntervention(requestid,userid); sendPortalMonitorUtil.monitorIntervention(requestid,userid);
notes = "流程干预";
}else if(Util.getIntValue(requestid)> 0 && "delete".equals(src)){
SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil();
sendPortalMonitorUtil.monitorDelete(requestid,userid);
notes = "流程页面删除";
} }
bb.writeLog("sendPortalTodoDeleteUtil22:"+notes+" src:"+src);
SendPortalTodoDeleteUtil sendPortalTodoDeleteUtil = new SendPortalTodoDeleteUtil();
sendPortalTodoDeleteUtil.operate3typeByList(user,copyList,forwardList,atList,notes);
bb.writeLog("SendPortalTodoCmd-portal-end:"+requestid+" time:"+System.currentTimeMillis());
}else if("DELETE".equals(executeResult)){
String notes = "" ;
if(Util.getIntValue(requestid)> 0 && "delete".equals(src)){
}else{ SendPortalMonitorUtil sendPortalMonitorUtil = new SendPortalMonitorUtil();
sendPortalMonitorUtil.monitorDelete(requestid,userid);
notes = "流程页面删除";
}
bb.writeLog("sendPortalTodoDeleteUtil33:"+notes+" src:"+src);
SendPortalTodoDeleteUtil sendPortalTodoDeleteUtil = new SendPortalTodoDeleteUtil();
sendPortalTodoDeleteUtil.operate3typeByList(user,copyList,forwardList,atList,notes);
}else{
bb.writeLog("SendPortalTodoCmd-FAILURE"); bb.writeLog("SendPortalTodoCmd-FAILURE");
String portal_todourl = Constants.portal_todourl; String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
@ -195,10 +244,8 @@ public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>>
}catch (Exception e){ }catch (Exception e){
bb.writeLog("e:"+e); bb.writeLog("e:"+e);
} }
} }
} }

@ -0,0 +1,365 @@
package com.customization.dito.sendtodo;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SendPortalTodoDeleteUtil {
/**
*
* @param requestid
*/
public List<Map<String,String>> queryWorkflowCopyToByRequestid(String requestid,String current_userid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowCopyToByRequestid-requestid:"+requestid);
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
String where = "";
if(StringUtils.isNotBlank(current_userid)){
where += " and t.userid in("+current_userid+")" ;
}
try{
Map<String,String> map = null ;
if(StringUtils.isNotBlank(requestid)){
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8,9) \n" +
" and t.preisremark not in (18)\n" +
" and t.requestid in("+requestid +") " + where ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowCopyToByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowCopyToByRequestid-list:"+list.size());
}
}catch (Exception e){
}
return list;
}
public List<Map<String,String>> queryWorkflowForwardByRequestid(String requestid,String current_userid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowForwardByRequestid-requestid:"+requestid);
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
String where = "";
if(StringUtils.isNotBlank(current_userid)){
where += " and t.userid in("+current_userid+")" ;
}
try{
Map<String,String> map = null ;
if(StringUtils.isNotBlank(requestid)){
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark = 1 \n" +
" and t.requestid in("+requestid +") "+where ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowForwardByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowForwardByRequestid-list:"+list.size());
}
}catch (Exception e){
}
return list;
}
public List<Map<String,String>> queryWorkflowAtByRequestid(String requestid,String current_userid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowAtByRequestid-requestid:"+requestid);
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String where = "";
if(StringUtils.isNotBlank(current_userid)){
where += " and t.userid in("+current_userid+")" ;
}
try{
Map<String, String> map = null;
if (StringUtils.isNotBlank(requestid)) {
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8) and t.preisremark in (18) \n" +
" and t.requestid in("+requestid +") "+where ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowAtByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowAtByRequestid-list:" + list.size());
}
}catch (Exception e){
}
return list;
}
/***
*
* @param user
* @param copyList
* @param forwardList
* @param atList
*/
public void operate3typeByList(User user, List<Map<String,String>> copyList, List<Map<String,String>> forwardList, List<Map<String,String>> atList,String note){
BaseBean bb = new BaseBean();
String loginid = user.getLoginid()+"" ;
SendPortalMonitorDeleteUtil sendPortalMonitorDeleteUtil = new SendPortalMonitorDeleteUtil();
try{
bb.writeLog("copyList:"+copyList.size());
if(copyList.size() >0){
String notes = note +"删除未读的抄送数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowCopyToByRequestid(copyList,loginid,notes);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
bb.writeLog("forwardList:"+forwardList.size());
if(forwardList.size() >0){
String notes = note +"删除未读的转发数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowForwardByRequestid(forwardList,loginid,notes);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
bb.writeLog("atList:"+atList.size());
if(atList.size() >0){
String notes = note + "删除未读的@数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowAtByRequestid(atList,loginid,notes);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
}
/**
*
* @param requestid
*/
public void queryWorkflowRemark8AtByLoadForm(String requestid,String current_userid,List<Map<String, String>> remark8List,List<Map<String, String>> atList){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowRemark8AtByLoadForm-requestid:"+requestid);
try{
Map<String,String> map = null ;
if(StringUtils.isNotBlank(requestid)){
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname,t.preisremark\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8) \n" +
" and t.preisremark in (8,18)\n" +
" and t.requestid in("+requestid +") and t.userid in("+current_userid+")" ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowRemark8AtByLoadForm-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
String preisremark = Util.null2String(rs.getString("preisremark")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
if("8".equals(preisremark)){
remark8List.add(map);
}else if("8".equals(preisremark)){
atList.add(map);
}
}
bb.writeLog("queryWorkflowRemark8AtByLoadForm-remark8List:"+remark8List.size());
bb.writeLog("queryWorkflowRemark8AtByLoadForm-atList:"+atList.size());
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("queryWorkflowRemark8AtByLoadForm-e:"+e);
}
}
/***
*
* @param loginid
* @param remark8List
* @param atList
*/
public void completeReamrk8AtByLoadForm(String loginid, List<Map<String,String>> remark8List, List<Map<String,String>> atList){
BaseBean bb = new BaseBean();
SendPortalMonitorDeleteUtil sendPortalMonitorDeleteUtil = new SendPortalMonitorDeleteUtil();
try{
bb.writeLog("copyList:"+remark8List.size());
if(remark8List.size() >0){
String notes = "打开流程表单详情页面,完成抄送不需提交的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowCopyToByRequestid(remark8List,loginid,notes);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
bb.writeLog("atList:"+atList.size());
if(atList.size() >0){
String notes = "打开流程表单详情页面,完成@的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowAtByRequestid(atList,loginid,notes);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
}
// public int getAtCountByRequestid(String requestid,String userid) {
// int atcount = 0 ;
// BaseBean bb = new BaseBean();
// try{
// RecordSet rs = new RecordSet();
// String sql =" select t1.userid,t1.nodeid " +
// " from workflow_currentoperator t1 " +
// " where t1.isremark = 8 and preisremark = 18" +
// " and t1.requestid= " +requestid +
// " and t1.userid= " +userid ;
// bb.writeLog("completeForwardRequest --sql:" + sql);
// rs.executeQuery(sql);
// while (rs.next()) {
// atcount++ ;
// }
// }catch (Exception e){
//
// }
// return atcount;
// }
//
//
// public int getForwardCountByRequestid(String requestid,String userid) {
// int forwardcount = 0;
// BaseBean bb = new BaseBean();
// 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){
//
// }
// return forwardcount;
//
// }
}

@ -1222,126 +1222,4 @@ public class SendPortalTodoUtil {
return dataMap; return dataMap;
} }
/***
*
* @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;
}
} }

@ -261,7 +261,7 @@ public class SendPortalWithAddDoneCmd {
// } // }
// bb.writeLog("nodeid2:"+nodeid); // bb.writeLog("nodeid2:"+nodeid);
String nodeid = requestid+userid; String nodeid = requestid+userid+"_"+System.currentTimeMillis();
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
requestObject.put("center", center); requestObject.put("center", center);

@ -27,6 +27,8 @@ public class SendPortalWithDeleteCmd {
public Map<String, Object> execute(CommandContext commandContext) { public Map<String, Object> execute(CommandContext commandContext) {
BaseBean bb = new BaseBean();
bb.writeLog("SendPortalWithDeleteCmd");
String requestid = Util.null2String(params.get("requestid")); String requestid = Util.null2String(params.get("requestid"));
String currentUserId = "1"; String currentUserId = "1";
@ -39,11 +41,12 @@ public class SendPortalWithDeleteCmd {
String userid = deleteRemarkMap.get("userid"); String userid = deleteRemarkMap.get("userid");
String lcid = deleteRemarkMap.get("requestid"); String lcid = deleteRemarkMap.get("requestid");
bb.writeLog("SendPortalWithDeleteCmd-userid:"+userid);
bb.writeLog("SendPortalWithDeleteCmd-lcid:"+lcid);
SendPortalWithDeleteToRead(lcid,currentUserId,userid); SendPortalWithDeleteToRead(lcid,currentUserId,userid);
} }
return null; return null;
} }
@ -55,6 +58,7 @@ public class SendPortalWithDeleteCmd {
*/ */
public void SendPortalWithDeleteTodo(String requestid,String currentUserId){ public void SendPortalWithDeleteTodo(String requestid,String currentUserId){
String notes = "流程删除后,删除待办数据";
String portal_todourl = Constants.portal_todourl; String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
@ -142,10 +146,10 @@ public class SendPortalWithDeleteCmd {
if (msgObject.containsKey("resultCode")) { if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode"); String resultCode = msgObject.getString("resultCode");
if ("0".equals(resultCode)) { if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,"",notes);
}else{ }else{
String resultmsg = msgObject.getString("resultMsg"); String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",notes);
} }
} }
} }
@ -163,7 +167,7 @@ public class SendPortalWithDeleteCmd {
*/ */
public void SendPortalWithDeleteToRead(String requestid,String currentUserId,String userid){ public void SendPortalWithDeleteToRead(String requestid,String currentUserId,String userid){
String notes = "流程删除后,删除待阅数据";
String portal_todourl = Constants.portal_todourl; String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
String username = Constants.username; String username = Constants.username;
@ -250,10 +254,10 @@ public class SendPortalWithDeleteCmd {
if (msgObject.containsKey("resultCode")) { if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode"); String resultCode = msgObject.getString("resultCode");
if ("0".equals(resultCode)) { if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,"",notes);
}else{ }else{
String resultmsg = msgObject.getString("resultMsg"); String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,currentNodeId,currentNodeName,currentUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",notes);
} }
} }
} }

@ -42,12 +42,41 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
@Override @Override
public Map<String, Object> execute(CommandContext commandContext) { public Map<String, Object> execute(CommandContext commandContext) {
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
BaseBean bb = new BaseBean();
int userid = user.getUID(); int userid = user.getUID();
String requestid = Util.null2String(params.get("requestid")); String requestid = Util.null2String(params.get("requestid"));
String nodeid = Util.null2String(params.get("nodeid")); String nodeid = Util.null2String(params.get("nodeid"));
String resultCode = completePortalReadData(requestid,nodeid,userid+""); bb.writeLog("AtRequestRemarkCmd-requestid:"+requestid);
map.put("resultcode",resultCode); bb.writeLog("AtRequestRemarkCmd-nodeid:"+nodeid);
if(StringUtils.isNotBlank(requestid)){
int atcount = 0;
try{
RecordSet rs = new RecordSet();
String sql =" select t1.userid,t1.nodeid " +
" from workflow_currentoperator t1 " +
" where preisremark = 18" +
" and t1.requestid= " +requestid +
" and t1.userid= " +userid ;
bb.writeLog("completeForwardRequest --sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
atcount++ ;
}
}catch (Exception e){
}
if(atcount > 0){
String resultCode = completePortalAtToReadData(requestid,nodeid,userid+"");
// completePortalAtDoneData(requestid,nodeid,userid+"");
map.put("resultcode",resultCode);
}
}
return map; return map;
} }
@ -57,7 +86,7 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
* @param nodeid * @param nodeid
* @param userid * @param userid
*/ */
public String completePortalReadData(String requestid, String nodeid,String userid){ public String completePortalAtToReadData(String requestid, String nodeid,String userid){
String zhjkbs = "com.engine.dito.reqremark.cmd.AtRequestRemarkCmd.completePortalReadData"; String zhjkbs = "com.engine.dito.reqremark.cmd.AtRequestRemarkCmd.completePortalReadData";
String resultCode = "" ; String resultCode = "" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
@ -71,8 +100,6 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
String center = PropBean.getUfPropValue("center"); String center = PropBean.getUfPropValue("center");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl"); String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
String portal_doneurl = PropBean.getUfPropValue("portal_doneurl");
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
@ -80,13 +107,12 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
String actionType = "3" ; String actionType = "3" ;
String terminal = "1" ; String terminal = "1" ;
String taskType = "1"; //0 待办 1 –待阅 String taskType = "1"; //0 待办 1 –待阅
String objectAction = "0" ; // String objectAction = "0" ;
String objectType = "0"; // String objectType = "0";
String objectId = "" ; // String objectId = "" ;
JSONObject requestObject = new JSONObject();
try { try {
String workflowid = "";
String workcode = ""; 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 + "'"; String sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + userid + "'";
rs.executeQuery(sql); rs.executeQuery(sql);
@ -104,11 +130,8 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
} }
String requestname = ""; String requestname = "";
String workflowname = "" ; String workflowname = "" ;
String nodeId = "";
String nodeName = "";
sql = " select t1.workflowid,t1.requestname,t3.workflowname,t1.currentnodeid as nodeid,d1.nodename\n" + sql = " select t1.workflowid,t1.requestname,t3.workflowname,t1.currentnodeid as nodeid,d1.nodename\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
@ -119,11 +142,8 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
rs.execute(sql); rs.execute(sql);
if (rs.next()) { if (rs.next()) {
workflowid = Util.null2String(rs.getString("workflowid")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ;
requestname = Util.null2String(rs.getString("requestname")) ; requestname = Util.null2String(rs.getString("requestname")) ;
nodeId = Util.null2String(rs.getString("nodeid") + user.getUID());
nodeName = Util.null2String(rs.getString("nodeName"));
} }
@ -131,6 +151,7 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
String createtime = TimeUtil.getCurrentTimeString(); String createtime = TimeUtil.getCurrentTimeString();
String nodename = getNodeName(nodeid); String nodename = getNodeName(nodeid);
JSONObject requestObject = new JSONObject();
requestObject.put("center",center); requestObject.put("center",center);
requestObject.put("title",requestname); requestObject.put("title",requestname);
requestObject.put("creator",workcode); requestObject.put("creator",workcode);
@ -148,20 +169,19 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
requestObject.put("nodeName",getNodeName(nodeid)); requestObject.put("nodeName",getNodeName(nodeid));
requestObject.put("ticketType",workflowname); 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);
JSONArray taskObjectList = new JSONArray();
JSONObject taskObject = new JSONObject();
String objectCode = workcode ;
String operatorCode = workcode ;
taskObject.put("objectAction",objectAction);
taskObject.put("objectType",objectType);
taskObject.put("objectCode",objectCode);
taskObject.put("objectId",objectId);
taskObject.put("operatorCode",operatorCode);
taskObjectList.add(taskObject);
requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd; String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata); bb.writeLog("msgdata:"+msgdata);
@ -179,48 +199,214 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
} }
} }
boolean flag = checkHasDoneData(requestid,workflowid,userid,nodeid); // boolean flag = checkHasDoneData(requestid,workflowid,userid,nodeid);
if(!flag){ // if(!flag){
// 增加已办 // // 增加已办
// requestObject = new JSONObject();
// requestObject.put("center", center);
// requestObject.put("taskCode", "weaver" + requestid);
// requestObject.put("nodeId", nodeId);
// requestObject.put("ticketType", workflowname);
// requestObject.put("title", requestname);
// requestObject.put("creator", workcode);
// requestObject.put("processStaff", workcode);
// requestObject.put("processTime", processTime);
// requestObject.put("isRecall", "1");
// requestObject.put("actionType", "0");
// requestObject.put("urlPC", urlPc);
// requestObject.put("urlApp", urlApp);
// requestObject.put("urlDing", urlDing);
//
// bb.writeLog("delTodoAddDoneSendPortal done requestObject:" + requestObject.toJSONString());
// msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth);
// bb.writeLog("delTodoAddDoneSendPortal done msgdata:" + msgdata);
// if (StringUtils.isNotEmpty(msgdata)) {
// JSONObject msgObject = JSONObject.parseObject(msgdata);
// bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--adddone--msgObject:" + msgObject.toJSONString());
// //{"resultCode":"1","resultMsg":"No Result"}
// if (msgObject.containsKey("resultCode")) {
// resultCode = msgObject.getString("resultCode");
// if (!"0".equals(resultCode)) {
// String resultmsg = msgObject.getString("resultMsg");
// sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, resultmsg, zhjkbs,"");
// }else{
// sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, "", zhjkbs,"");
// }
// }
// }
// }
} catch (Exception e) {
e.printStackTrace();
bb.writeLog(e);
}
return resultCode;
}
/***
*
* @param requestid
* @param currentnodeid
* @param userid
* @return
*/
public String completePortalAtDoneData(String requestid,String currentnodeid,String userid){
String notes = "";
String zhjkbs = "com.engine.dito.reqremark.cmd.AtRequestRemarkCmd.completePortalAtDoneData";
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 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 processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
String actionType = "0" ;
try {
int donecount = 0;
// 存在已完成的情况
String sql =" select id \n" +
" from workflow_currentoperator \n" +
" where requestid = "+requestid+"\n" +
" and userid = "+userid+" \n" +
" and isremark = 2\n" ;
rs.executeQuery(sql);
if(rs.next()){
donecount++ ;
}
if(donecount == 0){
String nodeid = requestid+userid+"_"+System.currentTimeMillis();
String nodeName = "" ;
sql = "select nodename from workflow_nodebase where id = " + currentnodeid;
rs.executeQuery(sql);
if(rs.next()){
nodeName = rs.getString("nodename");
}
String workcode = "";
sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + userid + "'";
rs.executeQuery(sql);
while (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid;
String 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 = "" ;
sql = " select t1.workflowid,t1.requestname,t3.workflowname,t1.currentnodeid as nodeid,d1.nodename\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" 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")) ;
}
JSONObject requestObject = new JSONObject();
requestObject.put("center", center); requestObject.put("center", center);
requestObject.put("taskCode", "weaver" + requestid); requestObject.put("taskCode", "weaver" + requestid);
requestObject.put("nodeId", nodeId); requestObject.put("nodeId", nodeid);
requestObject.put("ticketType", workflowname); requestObject.put("ticketType", workflowname);
requestObject.put("title", requestname); requestObject.put("title", requestname);
requestObject.put("creator", workcode); requestObject.put("creator", workcode);
requestObject.put("processStaff", workcode); requestObject.put("processStaff", workcode);
requestObject.put("processTime", processTime); requestObject.put("processTime", processTime);
requestObject.put("isRecall", "1"); requestObject.put("isRecall", "1");
requestObject.put("actionType", "0"); requestObject.put("actionType", actionType);
requestObject.put("urlPC", urlPc); requestObject.put("urlPC", urlPc);
requestObject.put("urlApp", urlApp); requestObject.put("urlApp", urlApp);
requestObject.put("urlDing", urlDing); requestObject.put("urlDing", urlDing);
String auth = username + ":" + passwd;
bb.writeLog("delTodoAddDoneSendPortal done requestObject:" + requestObject.toJSONString()); bb.writeLog("delTodoAddDoneSendPortal done requestObject:" + requestObject.toJSONString());
msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth); String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth);
bb.writeLog("delTodoAddDoneSendPortal done msgdata:" + msgdata); bb.writeLog("delTodoAddDoneSendPortal done msgdata:" + msgdata);
if (StringUtils.isNotEmpty(msgdata)) { if (StringUtils.isNotEmpty(msgdata)) {
JSONObject msgObject = JSONObject.parseObject(msgdata); JSONObject msgObject = JSONObject.parseObject(msgdata);
bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--adddone--msgObject:" + msgObject.toJSONString()); bb.writeLog("completePortalAtDoneData--msgObject:" + msgObject.toJSONString());
//{"resultCode":"1","resultMsg":"No Result"}
if (msgObject.containsKey("resultCode")) { if (msgObject.containsKey("resultCode")) {
resultCode = msgObject.getString("resultCode"); resultCode = msgObject.getString("resultCode");
if (!"0".equals(resultCode)) { if (!"0".equals(resultCode)) {
String resultmsg = msgObject.getString("resultMsg"); String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, resultmsg, zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, resultmsg, zhjkbs,"",notes);
}else{ }else{
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, "", zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, "", zhjkbs,"",notes);
} }
} }
} }
} }
// boolean flag = checkHasDoneData(requestid,workflowid,userid,nodeid);
// if(!flag){
// // 增加已办
// requestObject = new JSONObject();
// requestObject.put("center", center);
// requestObject.put("taskCode", "weaver" + requestid);
// requestObject.put("nodeId", nodeId);
// requestObject.put("ticketType", workflowname);
// requestObject.put("title", requestname);
// requestObject.put("creator", workcode);
// requestObject.put("processStaff", workcode);
// requestObject.put("processTime", processTime);
// requestObject.put("isRecall", "1");
// requestObject.put("actionType", "0");
// requestObject.put("urlPC", urlPc);
// requestObject.put("urlApp", urlApp);
// requestObject.put("urlDing", urlDing);
//
// bb.writeLog("delTodoAddDoneSendPortal done requestObject:" + requestObject.toJSONString());
// msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth);
// bb.writeLog("delTodoAddDoneSendPortal done msgdata:" + msgdata);
// if (StringUtils.isNotEmpty(msgdata)) {
// JSONObject msgObject = JSONObject.parseObject(msgdata);
// bb.writeLog("SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--adddone--msgObject:" + msgObject.toJSONString());
// //{"resultCode":"1","resultMsg":"No Result"}
// if (msgObject.containsKey("resultCode")) {
// resultCode = msgObject.getString("resultCode");
// if (!"0".equals(resultCode)) {
// String resultmsg = msgObject.getString("resultMsg");
// sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, resultmsg, zhjkbs,"");
// }else{
// sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid, nodeid, nodeName, user.getUID() + "", requestObject.toJSONString(), resultCode, "", zhjkbs,"");
// }
// }
// }
// }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
bb.writeLog(e); bb.writeLog(e);
} }
return resultCode; return resultCode;
}
}
/*** /***
* *
* @param id * @param id
@ -236,22 +422,41 @@ public class AtRequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>
return name; return name;
} }
// private boolean checkHasDoneData(String requestid,String workflowid,String userid,String nodeid){
// boolean flag = false;
// RecordSet rs = new RecordSet();
// String sql = "select distinct t1.requestid,t1.requestname,t1.createdate,t2.operatedate,t2.operatetime,t2.usertype,t3.id " +
// " from workflow_requestbase t1,workflow_currentoperator t2,workflow_base t3 " +
// " where t1.requestid=t2.requestid and t1.workflowid=t3.id " +
// " and t3.isvalid in ('1','3') " +
// " and t1.requestid = "+ requestid +
// " and t3.id in ("+ workflowid +") " +
// " and t2.userid in ("+ userid +") " +
// " and t2.nodeid = "+ nodeid +
// " and ifnull(t1.currentstatus,0) !=1 " +
// " and t2.usertype = 0 " +
// " and t2.isremark != '0' " +
// " and islasttimes=1 " +
// " ORDER BY t2.operatedate desc,t2.operatetime desc";
// rs.executeQuery(sql);
// if(rs.next()){
// flag = true;
// }
// return flag;
// }
private boolean checkHasDoneData(String requestid,String workflowid,String userid,String nodeid){ private boolean checkHasDoneData(String requestid,String workflowid,String userid,String nodeid){
boolean flag = false; boolean flag = false;
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
String sql = "select distinct t1.requestid,t1.requestname,t1.createdate,t2.operatedate,t2.operatetime,t2.usertype,t3.id " + String sql = "select t2.requestid " +
" from workflow_requestbase t1,workflow_currentoperator t2,workflow_base t3 " + " from workflow_currentoperator t2 " +
" where t1.requestid=t2.requestid and t1.workflowid=t3.id " + " and t2.requestid = "+ requestid +
" and t3.isvalid in ('1','3') " + " and t2.id in ("+ workflowid +") " +
" and t1.requestid = "+ requestid +
" and t3.id in ("+ workflowid +") " +
" and t2.userid in ("+ userid +") " + " and t2.userid in ("+ userid +") " +
" and t2.nodeid = "+ nodeid + " ";
" and ifnull(t1.currentstatus,0) !=1 " +
" and t2.usertype = 0 " +
" and t2.isremark != '0' " +
" and islasttimes=1 " +
" ORDER BY t2.operatedate desc,t2.operatetime desc";
rs.executeQuery(sql); rs.executeQuery(sql);
if(rs.next()){ if(rs.next()){
flag = true; flag = true;

@ -54,7 +54,7 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\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" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.preisremark in ('8')\n" + " and t2.preisremark in ('8') \n" +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+")"; " and t2.requestid = "+requestid +" and t2.userid in ("+userid+")";
bb.writeLog("RequestRemarkCmd-sql:"+sql); bb.writeLog("RequestRemarkCmd-sql:"+sql);
@ -69,11 +69,11 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
String resultCode1 = completePortalReadData(requestid, nodeid,userid+""); String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1); bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+""); // String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2); // bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1); map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2); // map.put("resultCode2",resultCode2);
} }
@ -97,22 +97,22 @@ public class RequestRemarkCmd extends AbstractCommonCommand<Map<String,Object>>
String resultCode1 = completePortalReadData(requestid, nodeid,userid+""); String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1); bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+""); // String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2); // bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1); map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2); // map.put("resultCode2",resultCode2);
} }
}else if("9".equals(preisremark)){ }else if("9".equals(preisremark)){
String resultCode1 = completePortalReadData(requestid, nodeid,userid+""); String resultCode1 = completePortalReadData(requestid, nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1); bb.writeLog("RequestRemarkCmd -------resultCode1:"+resultCode1);
String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+""); // String resultCode2 = sendPortalDoneData(requestid,nodeid,userid+"");
bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2); // bb.writeLog("RequestRemarkCmd -------resultCode2:"+resultCode2);
map.put("resultCode1",resultCode1); map.put("resultCode1",resultCode1);
map.put("resultCode2",resultCode2); // map.put("resultCode2",resultCode2);
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -2,7 +2,9 @@ package com.engine.workflow.web;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -171,10 +173,66 @@ public class RequestMonitorListAction {
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码 String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码 user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码
setService(user); setService(user);
apidatas = monitorService.deleteRequestById(request, user);
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
List<Map<String,String>> copyList = new ArrayList<Map<String,String>>();
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "queryWorkflowCopyToByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class);
Object newInstance = clazz.newInstance();
copyList = (List<Map<String,String>>) method.invoke(newInstance,requestid);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
List<Map<String,String>> forwardList = new ArrayList<Map<String,String>>();
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "queryWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class);
Object newInstance = clazz.newInstance();
forwardList = (List<Map<String,String>>) method.invoke(newInstance,requestid);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
List<Map<String,String>> atList = new ArrayList<Map<String,String>>();
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "queryWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class);
Object newInstance = clazz.newInstance();
atList = (List<Map<String,String>>) method.invoke(newInstance,requestid);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
apidatas = monitorService.deleteRequestById(request, user);
try{ try{
String requestid = Util.null2String(request.getParameter("multiRequestIds")); String requestid = Util.null2String(request.getParameter("multiRequestIds"));
String userid = user.getUID()+"" ; String userid = user.getUID()+"" ;
@ -194,6 +252,61 @@ public class RequestMonitorListAction {
bb.writeLog("deleteRequestById-ClassNotFoundException"+e); bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
} }
String notes = "";
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("copyList:"+copyList.size());
if(copyList.size() >0){
notes = "流程监控删除,删除流程所有未读的抄送数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowCopyToByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,copyList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("forwardList:"+forwardList.size());
if(forwardList.size() >0){
notes = "流程监控删除,删除流程所有未读的转发数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,forwardList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("atList:"+atList.size());
if(atList.size() >0){
notes = "流程监控删除,删除流程所有未读@的数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,atList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();
apidatas.put("api_status", false); apidatas.put("api_status", false);
@ -215,18 +328,104 @@ public class RequestMonitorListAction {
public String archivingRequestById(@Context HttpServletRequest request,@Context HttpServletResponse response){ public String archivingRequestById(@Context HttpServletRequest request,@Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>(); Map<String,Object> apidatas = new HashMap<String,Object>();
String requestids = Util.null2String(request.getParameter("multiRequestIds")); String requestids = Util.null2String(request.getParameter("multiRequestIds"));
BaseBean bb = new BaseBean();
List<Map<String,String>> userList = new ArrayList<Map<String,String>>();
try{ try{
bb.writeLog("deleteRequestById-requestid"+requestids);
User user = HrmUserVarify.getUser(request, response); if(StringUtils.isNotEmpty(requestids)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryRequestUserDataByArchving" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class);
Object newInstance = clazz.newInstance();
userList = (List<Map<String,String>>) method.invoke(newInstance,requestids);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
List<Map<String,String>> copyList = new ArrayList<Map<String,String>>();
List<Map<String,String>> forwardList = new ArrayList<Map<String,String>>();
List<Map<String,String>> atList = new ArrayList<Map<String,String>>();
if(!userList.isEmpty() && userList.size() > 0){
// 获取 抄送、转发、@ 的数据
try{
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryWorkflowRemarkByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance();
copyList = (List<Map<String,String>>) method.invoke(newInstance,userList);
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance();
forwardList = (List<Map<String,String>>) method.invoke(newInstance,userList);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance();
atList = (List<Map<String,String>>) method.invoke(newInstance,userList);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
}
// 执行智能预测接口
User user = HrmUserVarify.getUser(request, response);
try{
String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码 String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码 String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码 user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码
addClassInterface2SimpleMode(requestids,user);
if(StringUtils.isNotEmpty(requestids)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "doSimpleModeDataByMonitor" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class,User.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestids,user);
}
}catch (Exception e){ }catch (Exception e){
} }
//强制归档接口
try{ try{
User user = HrmUserVarify.getUser(request, response);
String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码 String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码 String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码 user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码
@ -238,76 +437,135 @@ public class RequestMonitorListAction {
apidatas.put("api_errormsg", "catch exception : " + e.getMessage()); apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
} }
// 完成转发、抄送、@的数据
try{ try{
String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码
User user = HrmUserVarify.getUser(request, response);
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码
String userid = user.getUID()+"" ; String userid = user.getUID()+"" ;
addClassInterface2Monitor(requestids,userid); // addClassInterface2Monitor(requestids,userid);
if(StringUtils.isNotEmpty(requestids)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "monitorArchived" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestids,userid);
}
}catch (Exception e){ }catch (Exception e){
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
} }
return JSONObject.toJSONString(apidatas);
}
/** String notes = "";
*
* @param requestids
*/
private void addClassInterface2SimpleMode(String requestids,User user){
BaseBean bb = new BaseBean();
try{ try{
if(StringUtils.isNotEmpty(requestids)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; String loginid = user.getLoginid()+"" ;
String methodName = "doSimpleModeDataByMonitor" ; bb.writeLog("copyList:"+copyList.size());
if(copyList.size() >0){
notes = "流程监控删除,删除流程所有未读的抄送数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowCopyToByRequestid" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class,User.class); Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance(); Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestids,user); method.invoke(newInstance,copyList,loginid,notes);
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace(); e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
} }
}
/***
*
* @param requestid
* @param userid
*/
private void addClassInterface2Monitor(String requestid,String userid){
BaseBean bb = new BaseBean();
try{ try{
bb.writeLog("archivingRequestById-requestid"+requestid); String loginid = user.getLoginid()+"" ;
bb.writeLog("archivingRequestById-userid"+userid); bb.writeLog("forwardList:"+forwardList.size());
if(StringUtils.isNotEmpty(requestid)){ if(forwardList.size() >0){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; notes = "流程监控删除,删除流程所有未读的转发数据";
String methodName = "monitorArchived" ; String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, String.class,String.class); Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance(); Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestid,userid); method.invoke(newInstance,forwardList,loginid,notes);
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
} catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
} catch (InstantiationException e) { bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
e.printStackTrace(); }
} catch (InvocationTargetException e) {
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("atList:"+atList.size());
if(atList.size() >0){
notes = "流程监控删除,删除流程所有未读@的数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,atList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace(); e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
} }
return JSONObject.toJSONString(apidatas);
} }
/**
*
* @param requestids
*/
// private void addClassInterface2SimpleMode(String requestids,User user){
// BaseBean bb = new BaseBean();
// try{
// if(StringUtils.isNotEmpty(requestids)){
// String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
// String methodName = "doSimpleModeDataByMonitor" ;
// Class<?> clazz = Class.forName(className);
// Method method = clazz.getMethod(methodName, String.class,User.class);
// Object newInstance = clazz.newInstance();
// method.invoke(newInstance,requestids,user);
// }
// }catch (ClassNotFoundException | NoSuchMethodException e){
// e.printStackTrace();
// bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// } catch (InstantiationException e) {
// e.printStackTrace();
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// }
// }
/***
*
* @param requestid
* @param userid
*/
// private void addClassInterface2Monitor(String requestid,String userid){
// BaseBean bb = new BaseBean();
// try{
// bb.writeLog("archivingRequestById-requestid"+requestid);
// bb.writeLog("archivingRequestById-userid"+userid);
// if(StringUtils.isNotEmpty(requestid)){
// String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
// String methodName = "monitorArchived" ;
// Class<?> clazz = Class.forName(className);
// Method method = clazz.getMethod(methodName, String.class,String.class);
// Object newInstance = clazz.newInstance();
// method.invoke(newInstance,requestid,userid);
// }
// }catch (ClassNotFoundException | NoSuchMethodException e){
// e.printStackTrace();
// bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// } catch (InstantiationException e) {
// e.printStackTrace();
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// }
// }
/** /**
* *
* @param request * @param request
@ -399,40 +657,164 @@ public class RequestMonitorListAction {
@Produces(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN)
public String repossessedRequestById(@Context HttpServletRequest request,@Context HttpServletResponse response){ public String repossessedRequestById(@Context HttpServletRequest request,@Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>(); Map<String,Object> apidatas = new HashMap<String,Object>();
BaseBean bb = new BaseBean();
String requestids = Util.null2String(request.getParameter("multiRequestIds"));
List<Map<String,String>> userList = new ArrayList<Map<String,String>>();
try{ try{
User user = HrmUserVarify.getUser(request, response); bb.writeLog("deleteRequestById-requestid"+requestids);
String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码 if(StringUtils.isNotEmpty(requestids)){
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码 String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码 String methodName = "queryRequestUserDataByArchving" ;
setService(user); Class<?> clazz = Class.forName(className);
apidatas = monitorService.repossessedRequestById(request, response, user); Method method = clazz.getMethod(methodName, String.class);
Object newInstance = clazz.newInstance();
userList = (List<Map<String,String>>) method.invoke(newInstance,requestids);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
List<Map<String,String>> copyList = new ArrayList<Map<String,String>>();
List<Map<String,String>> forwardList = new ArrayList<Map<String,String>>();
List<Map<String,String>> atList = new ArrayList<Map<String,String>>();
if(!userList.isEmpty() && userList.size() > 0){
// 获取 抄送、转发、@ 的数据
try{
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryWorkflowRemarkByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance();
copyList = (List<Map<String,String>>) method.invoke(newInstance,userList);
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
BaseBean bb = new BaseBean();
try{ try{
String requestid = Util.null2String(request.getParameter("multiRequestIds")); String requestid = Util.null2String(request.getParameter("multiRequestIds"));
String userid = user.getUID()+"" ; bb.writeLog("deleteRequestById-requestid"+requestid);
bb.writeLog("repossessedRequestById-requestid"+requestid); if(StringUtils.isNotEmpty(requestid)){
bb.writeLog("repossessedRequestById-userid"+userid); String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "queryWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance();
forwardList = (List<Map<String,String>>) method.invoke(newInstance,userList);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
}
try{
String requestid = Util.null2String(request.getParameter("multiRequestIds"));
bb.writeLog("deleteRequestById-requestid"+requestid);
if(StringUtils.isNotEmpty(requestid)){ if(StringUtils.isNotEmpty(requestid)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ; String className = "weaver.interfaces.dito.monitor.SendPortalMonitorArchvingUtil" ;
String methodName = "monitorPossessed" ; String methodName = "queryWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className); Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,String.class,String.class); Method method = clazz.getMethod(methodName, List.class);
Object newInstance = clazz.newInstance(); Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestid,userid); atList = (List<Map<String,String>>) method.invoke(newInstance,userList);
} }
}catch (ClassNotFoundException | NoSuchMethodException e){ }catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace(); e.printStackTrace();
bb.writeLog("repossessedRequestById-ClassNotFoundException"+e); bb.writeLog("archivingRequestById-ClassNotFoundException"+e);
} }
}
User user = HrmUserVarify.getUser(request, response);
try{
String f_weaver_belongto_userid=request.getParameter("f_weaver_belongto_userid");//需要增加的代码
String f_weaver_belongto_usertype=request.getParameter("f_weaver_belongto_usertype");//需要增加的代码
user = HrmUserVarify.getUser(request, response, f_weaver_belongto_userid, f_weaver_belongto_usertype) ;//需要增加的代码
setService(user);
apidatas = monitorService.repossessedRequestById(request, response, user);
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();
apidatas.put("api_status", false); apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage()); apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
} }
try{
String userid = user.getUID()+"" ;
bb.writeLog("repossessedRequestById-requestids"+requestids);
bb.writeLog("repossessedRequestById-userid"+userid);
if(StringUtils.isNotEmpty(requestids)){
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil" ;
String methodName = "monitorPossessed" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,requestids,userid);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("repossessedRequestById-ClassNotFoundException"+e);
}
String notes = "";
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("copyList:"+copyList.size());
if(copyList.size() >0){
notes = "流程监控删除,删除流程所有未读的抄送数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowCopyToByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,copyList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("forwardList:"+forwardList.size());
if(forwardList.size() >0){
notes = "流程监控删除,删除流程所有未读的转发数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowForwardByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,forwardList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
try{
String loginid = user.getLoginid()+"" ;
bb.writeLog("atList:"+atList.size());
if(atList.size() >0){
notes = "流程监控删除,删除流程所有未读@的数据";
String className = "weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil" ;
String methodName = "monitorFinishedWorkflowAtByRequestid" ;
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod(methodName,List.class,String.class,String.class);
Object newInstance = clazz.newInstance();
method.invoke(newInstance,atList,loginid,notes);
}
}catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e){
e.printStackTrace();
bb.writeLog("deleteRequestById-ClassNotFoundException"+e);
}
return JSONObject.toJSONString(apidatas); return JSONObject.toJSONString(apidatas);
} }

@ -166,7 +166,7 @@ public class HttpRequestUtil extends BaseBean{
staffCode = "sysadmin"; staffCode = "sysadmin";
sql = " select * from hrmresourcemanager where loginid =? "; sql = " select * from hrmresourcemanager where loginid =? ";
} else { } else {
sql = " select * from HrmResource where loginid =? "; sql = " select * from HrmResource where loginid =? or workcode = ? ";
} }
rs.executeQuery(sql,new Object[]{staffCode}); rs.executeQuery(sql,new Object[]{staffCode});
if (rs.next()) if (rs.next())

@ -82,6 +82,7 @@ public class PortalLoginBeforeFilter implements Filter {
}else{ }else{
String portal_uid = ""; String portal_uid = "";
String cookies = request.getHeader("cookie"); String cookies = request.getHeader("cookie");
if (StringUtils.isNotEmpty(cookies)) if (StringUtils.isNotEmpty(cookies))
{ {
String[] cookievals = cookies.split(";"); String[] cookievals = cookies.split(";");
@ -90,9 +91,8 @@ public class PortalLoginBeforeFilter implements Filter {
if (!"".equals(cookval) && cookval.contains("=")) { if (!"".equals(cookval) && cookval.contains("=")) {
String key = cookval.substring(0, cookval.indexOf("=")).trim(); String key = cookval.substring(0, cookval.indexOf("=")).trim();
String value = cookval.substring(cookval.indexOf("=") + 1).trim(); String value = cookval.substring(cookval.indexOf("=") + 1).trim();
//bb.writeLog("key:"+key);
//bb.writeLog("value:"+value); //bb.writeLog("value:"+value);
if ("SESSION".equalsIgnoreCase(key)) { if ("SESSION".equals(key)) {
portal_uid = value; portal_uid = value;
//bb.writeLog("portal_uid8888:"+portal_uid); //bb.writeLog("portal_uid8888:"+portal_uid);
} }
@ -122,7 +122,7 @@ public class PortalLoginBeforeFilter implements Filter {
{ {
// bb.writeLog("weaver_uid <> uid portal_status:"); // bb.writeLog("weaver_uid <> uid portal_status:");
String msg = httpRequestUtil.doGetHttp(portalUserAuth,portal_uid); String msg = httpRequestUtil.doGetHttp(portalUserAuth,portal_uid);
bb.writeLog("msg:"+msg);
if (!"".equals(msg)) if (!"".equals(msg))
{ {
JSONObject jsonObject = JSONObject.parseObject(msg); JSONObject jsonObject = JSONObject.parseObject(msg);
@ -133,8 +133,28 @@ public class PortalLoginBeforeFilter implements Filter {
JSONObject resultObject = jsonObject.getJSONObject("resultObject"); JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode"); String staffCode = resultObject.getString("staffCode");
httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid); httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid);
}else{
try{
bb.writeLog("requestURL1:"+requestURL);
bb.writeLog("requestURI1:"+request.getRequestURI());
bb.writeLog("remoteAddr1:"+request.getRemoteAddr());
bb.writeLog("cookies1:"+cookies);
bb.writeLog("msg1:"+msg);
}catch (Exception e){
}
} }
// Util.setCookie(response, "portalStatus", resultCode, -1); // Util.setCookie(response, "portalStatus", resultCode, -1);
}
}else{
try{
bb.writeLog("requestURL12:"+requestURL);
bb.writeLog("requestURI12:"+request.getRequestURI());
bb.writeLog("remoteAddr12:"+request.getRemoteAddr());
bb.writeLog("cookies12:"+cookies);
bb.writeLog("msg12:"+msg);
}catch (Exception e){
} }
} }
}else{ }else{
@ -154,8 +174,28 @@ public class PortalLoginBeforeFilter implements Filter {
JSONObject resultObject = jsonObject.getJSONObject("resultObject"); JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode"); String staffCode = resultObject.getString("staffCode");
httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid); httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid);
}else{
try{
bb.writeLog("requestURL2:"+requestURL);
bb.writeLog("requestURI2:"+request.getRequestURI());
bb.writeLog("remoteAddr2:"+request.getRemoteAddr());
bb.writeLog("cookies2:"+cookies);
bb.writeLog("msg2:"+msg);
}catch (Exception e){
}
} }
// Util.setCookie(response, "portalStatus", resultCode, -1); // Util.setCookie(response, "portalStatus", resultCode, -1);
}
}else{
try{
bb.writeLog("requestURL22:"+requestURL);
bb.writeLog("requestURI22:"+request.getRequestURI());
bb.writeLog("remoteAddr22:"+request.getRemoteAddr());
bb.writeLog("cookies22:"+cookies);
bb.writeLog("msg22:"+msg);
}catch (Exception e){
} }
} }
} }
@ -174,8 +214,28 @@ public class PortalLoginBeforeFilter implements Filter {
JSONObject resultObject = jsonObject.getJSONObject("resultObject"); JSONObject resultObject = jsonObject.getJSONObject("resultObject");
String staffCode = resultObject.getString("staffCode"); String staffCode = resultObject.getString("staffCode");
httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid); httpRequestUtil.userSessionFilter(request,response, application, staffCode, portal_uid);
}else{
try{
bb.writeLog("requestURL3:"+requestURL);
bb.writeLog("requestURI3:"+request.getRequestURI());
bb.writeLog("remoteAddr3:"+request.getRemoteAddr());
bb.writeLog("cookies3:"+cookies);
bb.writeLog("msg3:"+msg);
}catch (Exception e){
}
} }
// Util.setCookie(response, "portalStatus", resultCode, -1); // Util.setCookie(response, "portalStatus", resultCode, -1);
}
}else{
try{
bb.writeLog("requestURL32:"+requestURL);
bb.writeLog("requestURI32:"+request.getRequestURI());
bb.writeLog("remoteAddr32:"+request.getRemoteAddr());
bb.writeLog("cookies32:"+cookies);
bb.writeLog("msg32:"+msg);
}catch (Exception e){
} }
} }
} }

@ -0,0 +1,214 @@
package weaver.interfaces.dito.monitor;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SendPortalMonitorArchvingUtil {
/***
*
* @param requestids
* @return
*/
public List<Map<String,String>> queryRequestUserDataByArchving(String requestids){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null;
try{
String sql =" select t2.userid,t2.requestid "+
" from workflow_requestbase t1 " +
" 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 in("+requestids+") ";
bb.writeLog("queryRequestRemarkByArchving-sql:"+sql);
rs.execute(sql);
while (rs.next()){
String userid = Util.null2String(rs.getString("userid"));
String requestid = Util.null2String(rs.getString("requestid"));
map = new HashMap<String,String>();
map.put("userid",userid);
map.put("requestid",requestid);
list.add(map);
}
}catch (Exception e){
e.printStackTrace();
bb.writeLog("queryRequestRemarkByArchving-e:"+e);
}
return list;
}
/**
*
* @param userList
* @return
*/
public List<Map<String,String>> queryWorkflowRemarkByRequestid(List<Map<String,String>> userList){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null ;
for(int i = 0;i<userList.size();i++){
Map<String,String> userMap = userList.get(i);
String requestid = Util.null2String(userMap.get("requestid"));
String current_userid = Util.null2String(userMap.get("userid"));
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8,9) \n" +
" and t.preisremark not in (18)\n" +
" and t.requestid in("+requestid +") and t.userid in("+current_userid+") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowCopyToByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
}
bb.writeLog("queryWorkflowCopyToByRequestid-list:"+list.size());
return list;
}
/***
*
* @param userList
* @return
*/
public List<Map<String,String>> queryWorkflowForwardByRequestid(List<Map<String,String>> userList){
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null ;
for(int i = 0;i<userList.size();i++) {
Map<String, String> userMap = userList.get(i);
String requestid = Util.null2String(userMap.get("requestid"));
String current_userid = Util.null2String(userMap.get("userid"));
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark = 1 \n" +
" and t.requestid in("+requestid +") and t.userid in("+current_userid+") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowForwardByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowForwardByRequestid-list:"+list.size());
}
return list;
}
/***
*
* @param userList
* @return
*/
public List<Map<String,String>> queryWorkflowAtByRequestid(List<Map<String,String>> userList){
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null ;
for(int i = 0;i<userList.size();i++) {
Map<String, String> userMap = userList.get(i);
String requestid = Util.null2String(userMap.get("requestid"));
String current_userid = Util.null2String(userMap.get("userid"));
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8) and t.preisremark in (18) \n" +
" and t.requestid in("+requestid +") and t.userid in("+current_userid+") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowAtByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowAtByRequestid-list:" + list.size());
}
return list;
}
}

@ -0,0 +1,573 @@
package weaver.interfaces.dito.monitor;
import com.alibaba.fastjson.JSONObject;
import com.customization.dito.sendtodo.HttpRequestUtil;
import com.customization.dito.sendtodo.SendPortalErrorUtil;
import com.time.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
import weaver.general.Util;
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;
public class SendPortalMonitorDeleteUtil {
/**
*
* @param requestid
*/
public List<Map<String,String>> queryWorkflowCopyToByRequestid(String requestid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowCopyToByRequestid-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,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8,9) \n" +
" and t.preisremark not in (18)\n" +
" and t.requestid in("+requestid +") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowCopyToByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowCopyToByRequestid-list:"+list.size());
return list;
}
/**
*
* @param list
* @param loginid
*/
public void monitorFinishedWorkflowCopyToByRequestid(List<Map<String,String>> list,String loginid,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-loginid:"+loginid);
for(int i=0;i<list.size();i++){
Map<String,String> dataMap = list.get(i);
String requestid = Util.null2String(dataMap.get("lcid"));
String userid = Util.null2String(dataMap.get("userid"));
String nodeid = Util.null2String(dataMap.get("nodeid"));
String nodename = Util.null2String(dataMap.get("nodename"));
String requestname = Util.null2String(dataMap.get("requestname"));
String workflowname = Util.null2String(dataMap.get("workflowname"));
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-userid:"+userid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-nodeid:"+nodeid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-requestid:"+requestid);
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){
monitorFinishedWorkflowCopyToByUserid(requestid,userid,nodeid,loginid,workflowname,requestname,nodename,notes);
}
}
}
/***
*
* @param requestid
* @param userid
* @param nodeid
* @param loginid
* @param workflowname
* @param requestname
* @param nodename
* @param notes
*/
private void monitorFinishedWorkflowCopyToByUserid(String requestid,String userid,String nodeid,String loginid,String workflowname,String requestname,String nodename,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-requestid:"+requestid);
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");
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 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");
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",loginid);
requestObject.put("taskCode", requestid+"_cs_"+userid);
requestObject.put("nodeId",nodeid);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",createdate+" "+createtime);
requestObject.put("messageTitle",requestname);
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodename);
requestObject.put("ticketType",workflowname);
// JSONArray taskObjectList = new JSONArray();
// JSONObject taskObject = new JSONObject();
//
// String objectCode = loginid ;
// String operatorCode = loginid ;
// 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.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,"",notes);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",notes);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
*
* @param requestid
*/
public List<Map<String,String>> queryWorkflowForwardByRequestid(String requestid){
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowForwardByRequestid-requestid:"+requestid);
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,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark = 1 \n" +
" and t.requestid in("+requestid +") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowForwardByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowForwardByRequestid-list:"+list.size());
}
return list;
}
/***
*
* @param list
* @param loginid
*/
public void monitorFinishedWorkflowForwardByRequestid(List<Map<String,String>> list,String loginid,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-loginid:"+loginid);
for(int i=0;i<list.size();i++){
Map<String,String> dataMap = list.get(i);
String requestid = Util.null2String(dataMap.get("lcid"));
String userid = Util.null2String(dataMap.get("userid"));
String nodeid = Util.null2String(dataMap.get("nodeid"));
String nodename = Util.null2String(dataMap.get("nodename"));
String requestname = Util.null2String(dataMap.get("requestname"));
String workflowname = Util.null2String(dataMap.get("workflowname"));
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-userid:"+userid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-nodeid:"+nodeid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-requestid:"+requestid);
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){
monitorFinishedWorkflowForwardByUserId(requestid,userid,nodeid,loginid,workflowname,requestname,nodename,notes);
}
}
}
/***
*
* @param requestid
* @param userid
* @param nodeid
* @param workcode
* @param workflowname
* @param requestname
* @param nodename
*/
private void monitorFinishedWorkflowForwardByUserId(String requestid,String userid,String nodeid,String workcode,String workflowname,String requestname,String nodename,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowForwardByUserId-requestid:"+requestid);
// String notes = "流程页面删除后,删除未读的转发数据";
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");
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");
}
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",workcode);
requestObject.put("taskCode", "weaver"+requestid+"_zf_"+userid);
requestObject.put("nodeId",nodeid);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",createdate+" "+createtime);
requestObject.put("messageTitle",requestname);
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodename);
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.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,notes);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,notes);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/***
* @
* @param requestid
*/
public List<Map<String,String>> queryWorkflowAtByRequestid(String requestid) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("queryWorkflowAtByRequestid-requestid:"+requestid);
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,t2.nodename,t1.requestname,t3.workflowname\n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.isremark in (8) and t.preisremark in (18) \n" +
" and t.requestid in("+requestid +") " ;
rs.executeQuery(sql);
bb.writeLog("queryWorkflowAtByRequestid-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String userid = Util.null2String(rs.getString("userid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String lcid = Util.null2String(rs.getString("requestid")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid);
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",lcid);
list.add(map);
}
bb.writeLog("queryWorkflowAtByRequestid-list:" + list.size());
}
return list;
}
public void monitorFinishedWorkflowAtByRequestid(List<Map<String,String>> list,String loginid,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowAtByRequestid-loginid:" + loginid);
for(int i=0;i<list.size();i++){
Map<String,String> dataMap = list.get(i);
String requestid = Util.null2String(dataMap.get("lcid"));
String userid = Util.null2String(dataMap.get("userid"));
String nodeid = Util.null2String(dataMap.get("nodeid"));
String nodename = Util.null2String(dataMap.get("nodename"));
String requestname = Util.null2String(dataMap.get("requestname"));
String workflowname = Util.null2String(dataMap.get("workflowname"));
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-userid:"+userid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-nodeid:"+nodeid);
bb.writeLog("monitorFinishedWorkflowCopyToByRequestid-requestid:"+requestid);
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){
monitorFinishedWorkflowAtByUserId(requestid,userid,nodeid,loginid,workflowname,requestname,nodename,notes);
}
}
}
/***
*
* @param requestid
* @param userid
* @param nodeid
* @param loginid
* @param workflowname
* @param requestname
* @param nodename
*/
private void monitorFinishedWorkflowAtByUserId(String requestid,String userid,String nodeid,String loginid,String workflowname,String requestname,String nodename,String notes){
BaseBean bb = new BaseBean();
bb.writeLog("monitorFinishedWorkflowAtByUserId-requestid:"+requestid);
// String notes = "流程监控删除后,删除未读的@数据";
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;
String zhjkbs = "com.customization.dito.sendtodo.SendPortalWithDeleteUtil.completeRequestAtToReadData" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
String actionType = "3";
String terminal = "1" ;
String taskType = "1";
try {
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ;
String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid;
String urlApp = replace+bpm_app_requesturl+requestid;
if(org.apache.commons.lang.StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
JSONObject requestObject = new JSONObject();
requestObject.put("center", center);
requestObject.put("title", requestname);
requestObject.put("taskType", taskType);
requestObject.put("actionType", actionType);
requestObject.put("createDate", processTime);
requestObject.put("messageTitle",requestname);
requestObject.put("messageContent", requestname);
requestObject.put("terminal", terminal);
requestObject.put("urlPc", urlPc);
requestObject.put("urlDing", urlDing);
requestObject.put("ticketType", workflowname);
requestObject.put("creator",loginid);
requestObject.put("urlApp",urlApp);
requestObject.put("nodeName",nodename);
requestObject.put("nodeId",nodeid);
requestObject.put("taskCode", "weaver"+requestid+"_at_"+userid);
String auth = username + ":" + passwd;
bb.writeLog("completeRequestAtToReadData--requestObject:" + requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl, requestObject.toJSONString(), auth);
bb.writeLog("completeRequestAtToReadData-msgdata:" + msgdata);
if (!"".equals(msgdata)) {
JSONObject msgObject = JSONObject.parseObject(msgdata);
if (msgObject.containsKey("resultCode")) {
String resultCode = msgObject.getString("resultCode");
if ("0".equals(resultCode)) {
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,userid,notes);
}else{
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,userid,notes);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -38,9 +38,8 @@ public class SendPortalMonitorUtil {
String[] lcids = requestids.split(","); String[] lcids = requestids.split(",");
for (int i = 0; i < lcids.length; i++) { for (int i = 0; i < lcids.length; i++) {
String requestid = lcids[i]; String requestid = lcids[i];
bb.writeLog("SendPortalMonitorUtil1--monitorDelete--requestid:"+requestid);
monitorDelete4Requestid(requestid,userid); monitorDelete4Requestid(requestid,userid);
monitorFinishedWorkflowCopyToByRequestid(requestid);
monitorFinishedWorkflowForwardByRequestid(requestid);
} }
} }
} }
@ -52,6 +51,7 @@ public class SendPortalMonitorUtil {
*/ */
public void monitorDelete4Requestid(String requestid,String userid){ public void monitorDelete4Requestid(String requestid,String userid){
String notes = "流程监控删除后,删除待办数据";
String portal_todourl = Constants.portal_todourl; String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl; String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
String username = Constants.username; String username = Constants.username;
@ -68,7 +68,7 @@ public class SendPortalMonitorUtil {
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
bb.writeLog("SendPortalMonitorUtil--monitorDelete4Requestid"); bb.writeLog("SendPortalMonitorUtil--monitorDelete4Requestid:"+requestid);
String terminal = "1" ; String terminal = "1" ;
String taskType = "0"; String taskType = "0";
String actionType = "3" ; String actionType = "3" ;
@ -136,10 +136,10 @@ public class SendPortalMonitorUtil {
String resultCode = msgObject.getString("resultCode"); String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){ if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,"",notes);
}else{ }else{
String resultmsg = msgObject.getString("resultMsg"); String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,""); sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"",notes);
} }
} }
} }
@ -154,108 +154,108 @@ public class SendPortalMonitorUtil {
* @param requestid * @param requestid
* @param second * @param second
*/ */
public void againMonitorDelete(String requestid,String userid,int second){ // public void againMonitorDelete(String requestid,String userid,int second){
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.againMonitorDelete" ; // String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.againMonitorDelete" ;
//
String portal_todourl = Constants.portal_todourl; // String portal_todourl = Constants.portal_todourl;
String bpm_app_workflowurl = Constants.bpm_app_workflowurl; // String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
String username = Constants.username; // String username = Constants.username;
String passwd = Constants.passwd; // String passwd = Constants.passwd;
String bpm_workflowurl = Constants.bpm_workflowurl; // String bpm_workflowurl = Constants.bpm_workflowurl;
String center = Constants.center; // String center = Constants.center;
String bpm_app_requesturl = Constants.bpm_app_requesturl; // String bpm_app_requesturl = Constants.bpm_app_requesturl;
//
try { // try {
if(second > 0){ // if(second > 0){
Thread.sleep(second); // Thread.sleep(second);
} // }
} catch (InterruptedException e) { // } catch (InterruptedException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); // SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); // HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); // String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
JSONObject requestObject = new JSONObject(); // JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet(); // RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean(); // BaseBean bb = new BaseBean();
bb.writeLog("SendPortalMonitorUtil--againMonitorDelete"); // bb.writeLog("SendPortalMonitorUtil--againMonitorDelete");
String terminal = "1" ; // String terminal = "1" ;
String taskType = "0"; // String taskType = "0";
String actionType = "3" ; // String actionType = "3" ;
try { // try {
//
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss"); // String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ; // String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ;
String replace = bpm_app_workflowurl.replace("/bpm", ""); // String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid; // String urlDing = replace+bpm_app_requesturl+requestid;
String urlApp = replace+bpm_app_requesturl+requestid; // String urlApp = replace+bpm_app_requesturl+requestid;
//
if(StringUtils.isNotEmpty(mobileJumpUrl)){ // if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8"); // urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); // urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
} // }
bb.writeLog("againMonitorDelete-urlDing", urlDing); // bb.writeLog("againMonitorDelete-urlDing", urlDing);
//
String requestname = "" ; // String requestname = "" ;
String workflowname = "" ; // String workflowname = "" ;
String nodeId = "" ; // String nodeId = "" ;
String nodeName = "" ; // String nodeName = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" + // String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
" from workflow_requestbase t1\n" + // " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + // " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ // " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + // " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; // " and t1.requestid = "+requestid ;
//
bb.writeLog("againMonitorDelete--sql2:"+sql); // bb.writeLog("againMonitorDelete--sql2:"+sql);
//
rs.executeQuery(sql); // rs.executeQuery(sql);
if (rs.next()){ // if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ; // requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ; // workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ; // nodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ; // nodeName = Util.null2String(rs.getString("nodeName")) ;
} // }
//
requestObject.put("center",center); // requestObject.put("center",center);
requestObject.put("title",requestname); // requestObject.put("title",requestname);
requestObject.put("taskCode","weaver"+requestid); // requestObject.put("taskCode","weaver"+requestid);
requestObject.put("nodeId",nodeId); // requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType); // requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType); // requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime); // requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname)); // requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname); // requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal); // requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc); // requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp); // requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing); // requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodeName); // requestObject.put("nodeName",nodeName);
requestObject.put("ticketType",workflowname); // requestObject.put("ticketType",workflowname);
//
String auth = username + ":" + passwd; // String auth = username + ":" + passwd;
bb.writeLog("againMonitorDelete---requestObject:"+requestObject.toJSONString()); // bb.writeLog("againMonitorDelete---requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); // String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("againMonitorDelete-msgdata:"+msgdata); // bb.writeLog("againMonitorDelete-msgdata:"+msgdata);
Map<String,Object> map = new HashMap<>(); // Map<String,Object> map = new HashMap<>();
if(!"".equals(msgdata)){ // if(!"".equals(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata); // JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"} // //{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){ // if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode"); // String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){ // if("0".equals(resultCode)){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,""); // sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,"");
}else{ // }else{
String resultmsg = msgObject.getString("resultMsg"); // String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,""); // sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,nodeId,nodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,"");
} // }
} // }
} // }
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} // }
/*** /***
* *
@ -857,8 +857,6 @@ public class SendPortalMonitorUtil {
*/ */
public void monitorIntervention(String requestid,String currentUserId){ public void monitorIntervention(String requestid,String currentUserId){
monitorInterventionByUserId(requestid,currentUserId); monitorInterventionByUserId(requestid,currentUserId);
monitorFinishedWorkflowCopyToByRequestid(requestid);
monitorFinishedWorkflowForwardByRequestid(requestid);
} }
@ -1074,371 +1072,192 @@ public class SendPortalMonitorUtil {
* *
* @param requestid * @param requestid
*/ */
public void monitorFinishedWorkflowForwardByRequestid(String requestid){ // public void monitorFinishedWorkflowForwardByRequestid(String requestid){
RecordSet rs = new RecordSet(); //
BaseBean bb = new BaseBean(); // RecordSet rs = new RecordSet();
List<Map<String,String>> list = new ArrayList<Map<String,String>>(); // BaseBean bb = new BaseBean();
Map<String,String> map = null ; //
if(StringUtils.isNotBlank(requestid)){ // List<Map<String,String>> list = new ArrayList<Map<String,String>>();
String sql =" select t.userid,t.nodeid,t.requestid \n" + // Map<String,String> map = null ;
" from workflow_currentoperator t\n" + // if(StringUtils.isNotBlank(requestid)){
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" + // String sql =" select t.userid,t.nodeid,t.requestid \n" +
" where t.requestid=" + requestid+ // " from workflow_currentoperator t\n" +
" and (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + // " inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" and t.isremark =1" ; // " where t.requestid=" + requestid+
// " and (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql); // " and t.isremark =1 " ;
rs.executeQuery(sql); //
while (rs.next()){ // bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql);
String nodeid = Util.null2String(rs.getString("nodeid")); // rs.executeQuery(sql);
String userid = Util.null2String(rs.getString("userid")); // while (rs.next()){
// String nodeid = Util.null2String(rs.getString("nodeid"));
map = new HashMap<String, String>(); // String userid = Util.null2String(rs.getString("userid"));
map.put("requestid",requestid); //
map.put("userid",userid); // map = new HashMap<String, String>();
map.put("nodeid",nodeid); // map.put("requestid",requestid);
list.add(map); // 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")); // bb.writeLog("monitorFinishedWorkflowForwardByRequestid-list:"+list.size());
String userid = Util.null2String(rs.getString("userid")); //
String nodeid = Util.null2String(rs.getString("nodeid")); // for(int i=0;i<list.size();i++){
// Map<String,String> dataMap = list.get(i);
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql); // String newrequestid = Util.null2String(dataMap.get("requestid"));
bb.writeLog("monitorFinishedWorkflowForwardByRequestid-sql:"+sql); // String userid = Util.null2String(dataMap.get("userid"));
if(StringUtils.isNotBlank(userid) && StringUtils.isNotBlank(nodeid)){ // String nodeid = Util.null2String(dataMap.get("nodeid"));
monitorFinishedWorkflowForwardByUserId(newrequestid,userid,nodeid); //
} // bb.writeLog("monitorFinishedWorkflowForwardByRequestid-userid:"+userid);
} // bb.writeLog("monitorFinishedWorkflowForwardByRequestid-nodeid:"+nodeid);
} // bb.writeLog("monitorFinishedWorkflowForwardByRequestid-newrequestid:"+newrequestid);
} //
// 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 requestid
* @param copyNodeUserId * @param userid
* @param copyNodeid * @param nodeid
*/ */
public void monitorFinishedWorkflowCopyToByUserid(String requestid,String copyNodeUserId,String copyNodeid){ // public void monitorFinishedWorkflowForwardByUserId(String requestid,String userid,String nodeid){
//
String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorFinishedWorkflowCopyToByUserid" ; // String notes = "流程页面删除后,删除未读的转发数据";
// String zhjkbs = "weaver.interfaces.dito.monitor.SendPortalMonitorUtil.monitorFinishedWorkflowForwardByUserId" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil(); // String resultCode = "" ;
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil(); // 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 bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String portal_todourl = Constants.portal_todourl; // String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String username = Constants.username; // String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String passwd = Constants.passwd; // String username = PropBean.getUfPropValue("username");
String center = Constants.center; // String passwd = PropBean.getUfPropValue("passwd");
String bpm_workflowurl = Constants.bpm_workflowurl; // String center = PropBean.getUfPropValue("center");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl"); // String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
// String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
BaseBean bb = new BaseBean(); //
RecordSet rs = new RecordSet(); // BaseBean bb = new BaseBean();
// RecordSet rs = new RecordSet();
String actionType = "3" ; //
String terminal = "1" ; // String actionType = "3" ;
String taskType = "1"; //0 待办 1 –待阅 // String terminal = "1" ;
String objectAction = "0" ; // String taskType = "1"; //0 待办 1 –待阅
String objectType = "0"; // String objectAction = "0" ;
String objectId = "" ; // String objectType = "0";
// String objectId = "" ;
JSONObject requestObject = new JSONObject(); // String nextNodeUserIds = "";
try { //
// JSONObject requestObject = new JSONObject();
String createdate = TimeUtil.getCurrentDateString(); // try {
String createtime = TimeUtil.getCurrentTimeString(); //
// String createdate = TimeUtil.getCurrentDateString();
String workcode = ""; // String createtime = TimeUtil.getCurrentTimeString();
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 + "'"; // String workcode = "";
rs.executeQuery(sql); // if(StringUtils.isNotBlank(userid)){
if (rs.next()) { // 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 + "'";
workcode = Util.null2String(rs.getString("loginid")); // rs.executeQuery(sql);
} // while (rs.next()) {
} // workcode = Util.null2String(rs.getString("loginid"));
// }
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-workcode:"+workcode); // }
//
String copyNodeName = "" ; // bb.writeLog("monitorFinishedWorkflowForwardByUserId-workcode:"+workcode);
if(StringUtils.isNotBlank(copyNodeid)){ // String forwardNodeName = "" ;
rs.executeQuery(" select nodename from workflow_nodebase where id = ?",copyNodeid); // if(StringUtils.isNotBlank(nodeid)){
if (rs.next()){ // rs.executeQuery(" select nodename from workflow_nodebase where id = ?",nodeid);
copyNodeName = Util.null2String(rs.getString("nodename")); // if (rs.next()){
} // forwardNodeName = Util.null2String(rs.getString("nodename"));
} // }
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-copyNodeName:"+copyNodeName); // }
// bb.writeLog("monitorFinishedWorkflowForwardByUserId-forwardNodeName:"+forwardNodeName);
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid; //
String replace = bpm_app_workflowurl.replace("/bpm", ""); // String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid;
String urlDing = replace+bpm_app_requesturl+requestid; // String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlApp = replace+bpm_app_requesturl+requestid; //
if(org.apache.commons.lang.StringUtils.isNotEmpty(mobileJumpUrl)){ // String urlDing = replace+bpm_app_requesturl+requestid;
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); // String urlApp = replace+bpm_app_requesturl+requestid;
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8"); // 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" + // String requestname = "";
" from workflow_requestbase t1\n" + // String workflowname = "" ;
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + //
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + // String sql =" select t1.requestname,t3.workflowname\n" +
" and t1.requestid = " + requestid; // " from workflow_requestbase t1\n" +
// " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
rs.execute(sql); // " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
if (rs.next()) { // " and t1.requestid = " + requestid;
workflowname = Util.null2String(rs.getString("workflowname")) ; //
requestname = Util.null2String(rs.getString("requestname")) ; // 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("center",center);
requestObject.put("taskCode", requestid+"_cs_"+copyNodeUserId); // requestObject.put("title",requestname);
requestObject.put("nodeId",copyNodeid); // requestObject.put("creator",workcode);
requestObject.put("taskType",taskType); // requestObject.put("taskCode", "weaver"+requestid+"_zf_"+userid);
requestObject.put("actionType",actionType); // requestObject.put("nodeId",forwardNodeId);
requestObject.put("createDate",createdate+" "+createtime); // requestObject.put("taskType",taskType);
requestObject.put("messageTitle",requestname); // requestObject.put("actionType",actionType);
requestObject.put("messageContent",requestname); // requestObject.put("createDate",createdate+" "+createtime);
requestObject.put("terminal",terminal); // requestObject.put("messageTitle",requestname);
requestObject.put("urlPc",urlPc); // requestObject.put("messageContent",requestname);
requestObject.put("urlApp",urlApp); // requestObject.put("terminal",terminal);
requestObject.put("urlDing",urlDing); // requestObject.put("urlPc",urlPc);
requestObject.put("nodeName",copyNodeName); // requestObject.put("urlApp",urlApp);
requestObject.put("ticketType",workflowname); // requestObject.put("urlDing",urlDing);
// requestObject.put("nodeName",forwardNodeName);
// requestObject.put("ticketType",workflowname);
JSONArray taskObjectList = new JSONArray(); //
JSONObject taskObject = new JSONObject(); //
// JSONArray taskObjectList = new JSONArray();
String objectCode = workcode ; // JSONObject taskObject = new JSONObject();
String operatorCode = workcode ; //
taskObject.put("objectAction",objectAction); // String objectCode = workcode ;
taskObject.put("objectType",objectType); // String operatorCode = workcode ;
taskObject.put("objectCode",objectCode); // taskObject.put("objectAction",objectAction);
taskObject.put("objectId",objectId); // taskObject.put("objectType",objectType);
taskObject.put("operatorCode",operatorCode); // taskObject.put("objectCode",objectCode);
taskObjectList.add(taskObject); // taskObject.put("objectId",objectId);
// taskObject.put("operatorCode",operatorCode);
requestObject.put("taskObjectList",taskObjectList); // taskObjectList.add(taskObject);
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-requestObject:"+requestObject.toJSONString()); //
// requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd; // bb.writeLog("monitorFinishedWorkflowForwardByUserId-requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth); //
bb.writeLog("monitorFinishedWorkflowCopyToByUserid-msgdata:"+msgdata); // String auth = username + ":" + passwd;
if(StringUtils.isNotEmpty(msgdata)){ // String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
JSONObject msgObject = JSONObject.parseObject(msgdata); // bb.writeLog("monitorFinishedWorkflowForwardByUserId-msgdata:"+msgdata);
if(msgObject.containsKey("resultCode")){ // if(StringUtils.isNotEmpty(msgdata)){
String resultCode = msgObject.getString("resultCode"); // JSONObject msgObject = JSONObject.parseObject(msgdata);
if("0".equals(resultCode)){ // if(msgObject.containsKey("resultCode")){
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,copyNodeid,copyNodeName,copyNodeUserId,requestObject.toJSONString(),resultCode,"",zhjkbs,""); // resultCode = msgObject.getString("resultCode");
// if("0".equals(resultCode)){
}else{ // sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,forwardNodeId,forwardNodeName,userid,requestObject.toJSONString(),resultCode,"",zhjkbs,nextNodeUserIds,notes);
String resultmsg = msgObject.getString("resultMsg"); //
sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2(requestid,copyNodeid,copyNodeName,copyNodeUserId,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,""); // }else{
// String resultmsg = msgObject.getString("resultMsg");
} // sendPortalErrorUtil.doRecordPortalErrorInfo4Phase2Optimize(requestid,forwardNodeId,forwardNodeName,userid,requestObject.toJSONString(),resultCode,resultmsg,zhjkbs,nextNodeUserIds,notes);
} //
} // }
} catch (Exception e) { // }
e.printStackTrace(); // }
} // } catch (Exception e) {
} // e.printStackTrace();
// }
// }
} }

@ -596,6 +596,8 @@ public class RocketmqUtil {
recordErrorData(dataMap); recordErrorData(dataMap);
} }
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
bb.writeLog("updasteSysOrgData-e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -894,6 +896,8 @@ public class RocketmqUtil {
// recordErrorData(dataMap); // recordErrorData(dataMap);
// } // }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
bb.writeLog("updateSystemUserRoleData-e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -949,6 +953,8 @@ public class RocketmqUtil {
if(postCode.startsWith("MSS_CTO")) if(postCode.startsWith("MSS_CTO"))
{ {
String systemUserCode = Util.null2String(jsonObject.get("systemUserCode")); String systemUserCode = Util.null2String(jsonObject.get("systemUserCode"));
bb.writeLog("updateSystemUserPostData--systemUserCode:"+systemUserCode);
String orgCode = Util.null2String(jsonObject.get("orgCode")); String orgCode = Util.null2String(jsonObject.get("orgCode"));
String actType = Util.null2String(jsonObject.get("actType")); String actType = Util.null2String(jsonObject.get("actType"));
String defaultFlag = Util.null2String(jsonObject.get("defaultFlag")); String defaultFlag = Util.null2String(jsonObject.get("defaultFlag"));
@ -991,7 +997,7 @@ public class RocketmqUtil {
jobtitlesId = Util.null2String(rs.getString("id")); jobtitlesId = Util.null2String(rs.getString("id"));
} }
} }
bb.writeLog("jobtitlesId:"+jobtitlesId); bb.writeLog("jobtitlesId:"+jobtitlesId +" userId:"+userId);
if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId)) if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId))
{ {
@ -1074,15 +1080,26 @@ public class RocketmqUtil {
} }
} }
} }
jobtitlesId = null;
String defaultJobTitleId = "" ;
String defaultJobCode = PropBean.getUfPropValue("defaultJobCode");
if(StringUtils.isNotEmpty(defaultJobCode)){
String sql = " select id from hrmjobtitles where jobtitlecode = ?" ;
rs.executeQuery(sql,new Object[]{defaultJobCode});
if(rs.next()){
defaultJobTitleId = Util.null2String(rs.getString("id"));
}
}
bb.writeLog("defaultJobTitleId:"+defaultJobTitleId +" userId:"+userId);
String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? "; String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? ";
bb.writeLog("updateUserJobSql:"+updateUserJobSql); bb.writeLog("updateUserJobSql:"+updateUserJobSql);
Object[] objects = new Object[]{defaultJobTitleId,currentDateTime,updateStaff,userId};
Object[] objects = new Object[]{jobtitlesId,currentDateTime,updateStaff,userId};
boolean flag = rs.executeUpdate(updateUserJobSql,objects); boolean flag = rs.executeUpdate(updateUserJobSql,objects);
bb.writeLog(" updateUserJobFlag: "+flag); bb.writeLog(" updateUserJobFlag2: "+flag);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -1135,6 +1152,8 @@ public class RocketmqUtil {
recordErrorData(dataMapp); recordErrorData(dataMapp);
} }
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
bb.writeLog("updateSystemUserPostData-e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -1335,6 +1354,9 @@ public class RocketmqUtil {
RolesComInfo.removeRolesCache(); RolesComInfo.removeRolesCache();
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
bb.writeLog("updasteSysRoleData-e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -1647,12 +1669,12 @@ public class RocketmqUtil {
} }
} }
jobTitlesComInfo = new JobTitlesComInfo(); jobTitlesComInfo = new JobTitlesComInfo();
jobTitlesComInfo.removeJobTitlesCache(); jobTitlesComInfo.removeJobTitlesCache();
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace();
bb.writeLog("updasteSysPostData--e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("syndate",nowDateTime); dataMap.put("syndate",nowDateTime);
dataMap.put("reqmessage",jsonObject.toJSONString()); dataMap.put("reqmessage",jsonObject.toJSONString());
@ -1660,7 +1682,6 @@ public class RocketmqUtil {
dataMap.put("systable",tableName); dataMap.put("systable",tableName);
dataMap.put("staffcode",sysPostCode); dataMap.put("staffcode",sysPostCode);
recordErrorData(dataMap); recordErrorData(dataMap);
} }
} }
} }
@ -2183,6 +2204,8 @@ public class RocketmqUtil {
recordErrorMessage(staffCode,context); recordErrorMessage(staffCode,context);
} }
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
bb.writeLog("updateStaffData-e:"+e);
Map<String,String> dataMap = new HashMap<String,String>(); Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("staffcode",staffCode); dataMap.put("staffcode",staffCode);
dataMap.put("staffcodecount",""); dataMap.put("staffcodecount","");
@ -2263,7 +2286,8 @@ public class RocketmqUtil {
} }
} }
}catch (Exception e){ }catch (Exception e){
bb.writeLog("e:"+e); e.printStackTrace();
bb.writeLog("recordErrorData-e:"+e);
} }
} }
@ -2312,7 +2336,7 @@ public class RocketmqUtil {
} }
} }
}catch (Exception e){ }catch (Exception e){
bb.writeLog("e"+e); bb.writeLog("recordErrorMessage-e"+e);
} }
} }
@ -2356,6 +2380,7 @@ public class RocketmqUtil {
} }
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
bb.writeLog("getSysRoles--e:"+e);
} }
return set; return set;
} }
@ -2429,6 +2454,7 @@ public class RocketmqUtil {
} }
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
new BaseBean().writeLog("updateDeptMatrix-e:"+e);
rs.writeLog(e); rs.writeLog(e);
bool = false; bool = false;
} }

@ -191,13 +191,14 @@ public class SendRequestData2PortalInterfaces implements SendRequestStatusDataIn
} }
} }
bb.writeLog("deldatas-requestid:"+dobj.getRequestid()); bb.writeLog("deldatas-requestid:"+dobj.getRequestid());
bb.writeLog("deldatas-deleteRemarklist:"+deleteRemarklist.toString()); bb.writeLog("deldatas-deleteRemarklist:"+deleteRemarklist.toString());
Map<String,Object> param = new HashMap<String,Object>(); Map<String,Object> param = new HashMap<String,Object>();
param.put("requestid",dobj.getRequestid()); param.put("requestid",dobj.getRequestid());
param.put("deleteRemarkDatas",deleteRemarklist); param.put("deleteRemarkDatas",deleteRemarklist);
new SendPortalWithDeleteCmd(param).execute(Context.getCommandComtext()); // new SendPortalWithDeleteCmd(param).execute(Context.getCommandComtext());
// deljson.put("DelCount",deldatas.size()); // deljson.put("DelCount",deldatas.size());
// deljson.put("DelDatas",deletelist); // deljson.put("DelDatas",deletelist);
@ -214,7 +215,7 @@ public class SendRequestData2PortalInterfaces implements SendRequestStatusDataIn
// mainboject.put("RequestDatas",jsonArray); // mainboject.put("RequestDatas",jsonArray);
//输入内容信息到日志文件中 /log/ecology //输入内容信息到日志文件中 /log/ecology
log.error("\n"+formatJson(mainboject.toString())); // log.error("\n"+formatJson(mainboject.toString()));
} }
} }

@ -0,0 +1,50 @@
package weaver.interfaces.dito.remark;
import weaver.general.BaseBean;
import weaver.interfaces.dito.monitor.SendPortalMonitorDeleteUtil;
import java.util.List;
import java.util.Map;
public class OpenRequestRemarkAtRunnable implements Runnable{
private String requestid;
private String userid;
private String loginid;
private List<Map<String,String>> remark8List;
private List<Map<String,String>> remark9List;
private List<Map<String,String>> atList;
public OpenRequestRemarkAtRunnable(String requestid, String userid, String loginid, List<Map<String,String>> remark8List,List<Map<String,String>> remark9List, List<Map<String,String>> atList){
this.requestid = requestid;
this.userid = userid;
this.loginid = loginid;
this.remark8List = remark8List;
this.remark9List = remark9List;
this.atList = atList;
}
@Override
public void run() {
SendPortalMonitorDeleteUtil sendPortalMonitorDeleteUtil = new SendPortalMonitorDeleteUtil();
BaseBean bb = new BaseBean();
if(!remark8List.isEmpty() && remark8List.size()>0){
bb.writeLog("OpenRequestRemarkAtRunnable-remark8List:"+remark8List.size());
String notes = "流程页面打开后,完成抄送不需提交的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowCopyToByRequestid(remark8List,loginid,notes);
}
if(!remark9List.isEmpty() && remark9List.size()>0){
bb.writeLog("OpenRequestRemarkAtRunnable-remark9List:"+remark9List.size());
String notes = "流程页面打开后,批准抄送需提交的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowCopyToByRequestid(remark9List,loginid,notes);
}
if(!atList.isEmpty() && atList.size()>0){
bb.writeLog("OpenRequestRemarkAtRunnable-atList:"+atList.size());
String notes = "流程页面打开后,完成@的数据";
sendPortalMonitorDeleteUtil.monitorFinishedWorkflowAtByRequestid(atList,loginid,notes);
}
}
}

@ -0,0 +1,69 @@
package weaver.interfaces.dito.remark;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class completeRequestRemark8AtUtil {
public void completeRequestRemarkAtData(String requestid,int userid,String loginid,String current_nodeid){
BaseBean bb = new BaseBean();
if(StringUtils.isNotBlank(requestid) && StringUtils.isNotBlank(current_nodeid) && userid>0){
RecordSet rs = new RecordSet();
List<Map<String, String>> remark8List = new ArrayList<Map<String, String>>();
List<Map<String, String>> remark9List = new ArrayList<Map<String, String>>();
List<Map<String, String>> atList = new ArrayList<Map<String, String>>();
Map<String, String> map = null;
String sql =" select t.userid,t.nodeid,t.requestid,t2.nodename,t1.requestname,t3.workflowname,t.preisremark \n" +
" from workflow_currentoperator t\n" +
" inner join workflow_requestbase t1 on t.requestid = t1.requestid\n" +
" left join workflow_nodebase t2 on t2.id = t.nodeid \n" +
" left join workflow_base t3 on t3.id = t1.workflowid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t.preisremark in (8,18) \n" +
" and t.requestid ="+requestid +
" and t.userid="+userid+" and t.nodeid = "+current_nodeid;
rs.executeQuery(sql);
bb.writeLog("OpenRequestRemark8AtCmd-sql:"+sql);
while (rs.next()){
String nodeid = Util.null2String(rs.getString("nodeid"));
String nodename = Util.null2String(rs.getString("nodename"));
String workflowname = Util.null2String(rs.getString("workflowname")) ;
String requestname = Util.null2String(rs.getString("requestname")) ;
String preisremark = Util.null2String(rs.getString("preisremark")) ;
map = new HashMap<String, String>();
map.put("requestid",requestid);
map.put("userid",userid+"");
map.put("nodeid",nodeid);
map.put("nodename",nodename);
map.put("workflowname",workflowname);
map.put("requestname",requestname);
map.put("lcid",requestid);
if("8".equals(preisremark)){
remark8List.add(map);
}else if("18".equals(preisremark)){
atList.add(map);
}
}
bb.writeLog("OpenRequestRemark8AtCmd-remark8List:"+remark8List.size());
bb.writeLog("OpenRequestRemark8AtCmd-atList:"+atList.size());
OpenRequestRemarkAtRunnable openRequestRemarkAtRunnable = new OpenRequestRemarkAtRunnable(requestid,userid+"",loginid,remark8List,remark9List,atList);
new Thread(openRequestRemarkAtRunnable).start();
}
}
}

@ -99,10 +99,12 @@ public class SendPortalRobotSubmitUtil {
String workflowname = "" ; String workflowname = "" ;
String currentNodeId = "" ; String currentNodeId = "" ;
String currentNodeName = "" ; String currentNodeName = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" + String createrLoginid = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.loginid\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" left join (select id,lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h2 on h2.id = t1.creater \n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; " and t1.requestid = "+requestid ;
@ -114,8 +116,11 @@ public class SendPortalRobotSubmitUtil {
workflowname = Util.null2String(rs.getString("workflowname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ;
currentNodeId = Util.null2String(rs.getString("nodeid")) ; currentNodeId = Util.null2String(rs.getString("nodeid")) ;
currentNodeName = Util.null2String(rs.getString("nodeName")) ; currentNodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginid = Util.null2String(rs.getString("loginid"));
} }
requestObject.put("creator",createrLoginid);
requestObject.put("center",center); requestObject.put("center",center);
requestObject.put("title",requestname); requestObject.put("title",requestname);
requestObject.put("taskCode","weaver"+requestid); requestObject.put("taskCode","weaver"+requestid);
@ -244,10 +249,12 @@ public class SendPortalRobotSubmitUtil {
String workflowname = "" ; String workflowname = "" ;
String nodeId = "" ; String nodeId = "" ;
String nodeName = "" ; String nodeName = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" + String createrLoginid = "" ;
String sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.loginid\n" +
" from workflow_requestbase t1\n" + " from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" + " inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+ " left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" left join (select id,lastname,loginid from hrmresource where status = 1 union all select id,lastname,loginid from hrmresourcemanager ) h2 on h2.id = t1.creater \n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" + " where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ; " and t1.requestid = "+requestid ;
@ -259,6 +266,7 @@ public class SendPortalRobotSubmitUtil {
workflowname = Util.null2String(rs.getString("workflowname")) ; workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ; nodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ; nodeName = Util.null2String(rs.getString("nodeName")) ;
createrLoginid = Util.null2String(rs.getString("loginid"));
} }
bb.writeLog("sendRobotSubmitByToRead--nodeId:"+nodeId); bb.writeLog("sendRobotSubmitByToRead--nodeId:"+nodeId);
@ -314,6 +322,8 @@ public class SendPortalRobotSubmitUtil {
taskArray.add(taskObject); taskArray.add(taskObject);
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
requestObject.put("creator",createrLoginid);
requestObject.put("center",center); requestObject.put("center",center);
requestObject.put("title",requestname); requestObject.put("title",requestname);
requestObject.put("taskCode", requestid+"_cs_"+userid); requestObject.put("taskCode", requestid+"_cs_"+userid);

Loading…
Cancel
Save