You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
5.5 KiB
Java
122 lines
5.5 KiB
Java
package com.customization.dito.sendtodo;
|
|
|
|
import com.constant.Constants;
|
|
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.RequestSubmitCmd;
|
|
import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
|
|
import weaver.general.BaseBean;
|
|
import weaver.general.Util;
|
|
import weaver.hrm.User;
|
|
import weaver.interfaces.dito.comInfo.PropBean;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.util.Map;
|
|
|
|
/***
|
|
*
|
|
*/
|
|
@CommandDynamicProxy(target = RequestSubmitCmd.class, desc="流程提交后给门户发送代办消息")
|
|
public class SendPortalTodoCmd extends AbstractCommandProxy<Map<String,Object>> {
|
|
|
|
@Override
|
|
public Map<String, Object> execute(Command<Map<String, Object>> targetCommand) {
|
|
//获取到被代理对象
|
|
RequestSubmitCmd requestSubmitCmd = (RequestSubmitCmd)targetCommand;
|
|
//获取被代理对象的参数
|
|
//对参数做预处理
|
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
HttpServletRequest request = requestSubmitCmd.getRequest();
|
|
String requestid = Util.null2String(request.getParameter("requestid")).trim();
|
|
String workflowid = Util.null2String(request.getParameter("workflowid")).trim();
|
|
String src = Util.null2String(request.getParameter("src")).trim();
|
|
String nodeid = Util.null2String(request.getParameter("nodeid"));
|
|
String workflowname = Util.null2String(request.getParameter("workflowname"));
|
|
|
|
/***
|
|
* 空值:流程正常提交
|
|
* 1:被代理人提交流程
|
|
* 2:代理人提交流程
|
|
*/
|
|
String agentType = Util.null2String(request.getParameter("agentType"));
|
|
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 creater = Util.null2String(request.getParameter("creater"));
|
|
|
|
// Map<String,Object> params = ParamUtil.request2Map(request);
|
|
// params.forEach((t,u)-> {
|
|
// System.out.println(t+"->>>"+u);
|
|
// });
|
|
//
|
|
// for (Map.Entry<String, Object> entry : params.entrySet()) {
|
|
// System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
|
|
// }
|
|
|
|
User user = requestSubmitCmd.getUser();
|
|
bb.writeLog("requestid:"+requestid);
|
|
bb.writeLog("workflowid:"+workflowid);
|
|
bb.writeLog("src:"+src);
|
|
bb.writeLog("nodeid:"+nodeid);
|
|
bb.writeLog("workflowname:"+workflowname);
|
|
|
|
//参数回写
|
|
//执行标准的业务处理
|
|
Map<String, Object> result = nextExecute(targetCommand);
|
|
//对返回值做加工处理
|
|
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
|
|
String executeResult = resultBean.getType().name();
|
|
|
|
if("SUCCESS".equals(executeResult)){
|
|
String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid"));
|
|
bb.writeLog("new_requestid:"+new_requestid);
|
|
|
|
SendPortalTodoUtil sendPortalTodoUtil = new SendPortalTodoUtil();
|
|
SendPortalToReadUtil sendPortalToReadUtil = new SendPortalToReadUtil();
|
|
|
|
String portal_todourl = Constants.portal_todourl;
|
|
String bpm_app_workflowurl = Constants.bpm_app_workflowurl;
|
|
String username = Constants.username;
|
|
String passwd = Constants.passwd;
|
|
String bpm_workflowurl = Constants.bpm_workflowurl;
|
|
String center = Constants.center;
|
|
String bpm_app_requesturl = Constants.bpm_app_requesturl;
|
|
|
|
|
|
if(Util.getIntValue(requestid) == -1 && "save".equals(src)){
|
|
sendPortalTodoUtil.sendTodoDataByCreater(new_requestid,user, portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
}else if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){
|
|
sendPortalTodoUtil.sendTodoDataByCreateNode(new_requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
sendPortalToReadUtil.sendToReadDataByCreateNode(new_requestid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
|
|
}else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){
|
|
if("-1".equals(agentType)){
|
|
|
|
}else if("0".equals(agentType)){
|
|
|
|
}else if("1".equals(agentType)){
|
|
|
|
}else if("2".equals(agentType)){
|
|
|
|
}
|
|
|
|
sendPortalTodoUtil.sendTodoDataByNode(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
sendPortalToReadUtil.sendToReadDataByNode(requestid,user,nodeid,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
}else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){
|
|
sendPortalTodoUtil.sendTodoDataByReject(requestid,nodeid,user,portal_todourl,bpm_app_workflowurl,username,passwd,bpm_workflowurl,center,bpm_app_requesturl);
|
|
}
|
|
|
|
// SendPortalTodoRunnable sendPortalTodoRunnable = new SendPortalTodoRunnable(src,new_requestid,requestid,nodeid,user);
|
|
// new Thread(sendPortalTodoRunnable).start();
|
|
|
|
}
|
|
return result;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|