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.
haojing/src/com/customization/dito/sendtodo/SendPortalTodoCmd.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;
}
}