|
|
|
package com.customization.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.RequestSubmitCmd;
|
|
|
|
import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
import weaver.general.Util;
|
|
|
|
import weaver.hrm.User;
|
|
|
|
|
|
|
|
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;
|
|
|
|
//获取被代理对象的参数
|
|
|
|
//对参数做预处理
|
|
|
|
//requestSubmitCmd.writeLog("requestSubmitCmd params222======"+params);
|
|
|
|
|
|
|
|
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"));
|
|
|
|
User user = requestSubmitCmd.getUser();
|
|
|
|
bb.writeLog("requestid:"+requestid);
|
|
|
|
bb.writeLog("workflowid:"+workflowid);
|
|
|
|
bb.writeLog("src:"+src);
|
|
|
|
bb.writeLog("nodeid:"+nodeid);
|
|
|
|
|
|
|
|
//参数回写
|
|
|
|
//执行标准的业务处理
|
|
|
|
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);
|
|
|
|
|
|
|
|
SendPortalTodoRunnable sendPortalTodoRunnable = new SendPortalTodoRunnable(src,new_requestid,requestid,nodeid,user);
|
|
|
|
new Thread(sendPortalTodoRunnable).start();
|
|
|
|
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|