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> { @Override public Map execute(Command> 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 params = ParamUtil.request2Map(request); // params.forEach((t,u)-> { // System.out.println(t+"->>>"+u); // }); // // for (Map.Entry 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 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; } }