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/card/SendRequest2CardCmd.java

173 lines
8.4 KiB
Java

package com.customization.dito.card;
import com.customization.wfTodoCard.service.CheckSendCardService;
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 org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.card.SendRequestToCardUtil;
import weaver.workflow.request.RequestSignRelevanceWithMe;
import javax.servlet.http.HttpServletRequest;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/***
*
*/
@CommandDynamicProxy(target = RequestSubmitCmd.class, desc="流程提交后给门户卡片发送卡片信息")
public class SendRequest2CardCmd 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"));
String remark = Util.null2String(request.getParameter("remark"));
/***
* :
* 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"));
String intervenorid = Util.null2String(request.getParameter("Intervenorid"));
String agentorByAgentId = Util.null2String(request.getParameter("agentorByAgentId"));
String isSelectValue = Util.null2String(request.getParameter("isSelectValue"));
User user = requestSubmitCmd.getUser();
String userid = user.getUID()+"";
bb.writeLog("SendRequest2CardCmd-requestid:"+requestid);
bb.writeLog("SendRequest2CardCmd-workflowid:"+workflowid);
bb.writeLog("SendRequest2CardCmd-src:"+src);
bb.writeLog("SendRequest2CardCmd-nodeid:"+nodeid);
bb.writeLog("SendRequest2CardCmd-workflowname:"+workflowname);
bb.writeLog("SendRequest2CardCmd-user:"+user.getLoginid());
bb.writeLog("SendRequest2CardCmd-f_weaver_belongto_userid:"+f_weaver_belongto_userid);
bb.writeLog("SendRequest2CardCmd-f_weaver_belongto_usertype:"+f_weaver_belongto_usertype);
bb.writeLog("SendRequest2CardCmd-creater:"+creater);
bb.writeLog("SendRequest2CardCmd-agentType:"+agentType);
bb.writeLog("SendRequest2CardCmd-intervenorid:"+intervenorid);
bb.writeLog("SendRequest2CardCmd-agentorByAgentId:"+agentorByAgentId);
bb.writeLog("SendRequest2CardCmd-remark:"+remark);
bb.writeLog("SendRequest2CardCmd-isSelectValue:"+isSelectValue);
//执行标准的业务处理
Map<String, Object> result = nextExecute(targetCommand);
bb.writeLog("SendRequest2CardCmd-submit-end:"+requestid+" time:"+System.currentTimeMillis());
sendDate(result,requestid,agentType,src,nodeid,userid,f_weaver_belongto_userid,user,workflowid,remark,isSelectValue);
return result;
}
/***
*
* @param result
* @param requestid
* @param agentType
* @param src
* @param nodeid
* @param userid
* @param f_weaver_belongto_userid
* @param user
*/
public void sendDate(Map<String, Object> result,String requestid,String agentType,String src,String nodeid,String userid,String f_weaver_belongto_userid,User user,String workflowId,String remark,String isSelectValue){
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
try{
if(result.containsKey("data")){
//对返回值做加工处理
RequestOperationResultBean resultBean = (RequestOperationResultBean) result.get("data");
String executeResult = resultBean.getType().name();
bb.writeLog("SendRequest2CardCmd-executeResult:"+executeResult);
String new_requestid2 = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("SendRequest2CardCmd-new_requestid2:"+new_requestid2);
if("SUCCESS".equals(executeResult)){
String new_requestid = Util.null2String(resultBean.getResultInfo().get("requestid"));
bb.writeLog("SendRequest2CardCmd-new_requestid:"+new_requestid);
// if ("1".equals(isSelectValue) && null != remark && !"".equals(remark)) {
// Document doc = Jsoup.parse(remark);
// // 选择所有的 <p> 标签
// Elements pTags = doc.select("p");
//
// String title = "";
// Iterator<Element> pIt = pTags.iterator();
// while(pIt.hasNext()) {
// Element element = pIt.next();
// title += element.text();
// }
//
// new BaseBean().writeLog("sendDate-title:" + title);
// if(StringUtils.isNotBlank(title)){
// title = StringEscapeUtils.unescapeHtml4(title);
// }
// new BaseBean().writeLog("sendDate-title2:" + title);
//
// RequestSignRelevanceWithMe reqsignwm = new RequestSignRelevanceWithMe();
// List<String> atResourceids = reqsignwm.parseRemark(remark);
// for (String atResourceid : atResourceids) {
// new BaseBean().writeLog("RequestSubmitCmd-atResourceid:" + atResourceid);
// new CheckSendCardService().sendShareCard(""+user.getUID(), atResourceid, String.valueOf(requestid),"",title,"You have been tagged in a comment.");
// }
// }
String isMessageRemind = "";
String sql1 = "select id,workflowname, isMessageRemind,icon from workflow_base where id='" + workflowId + "'";
bb.writeLog("SendRequest2CardCmd-sql1:"+sql1);
rs.executeQuery(sql1);
if(rs.next()){
isMessageRemind = rs.getString("isMessageRemind");
}
bb.writeLog("SendRequest2CardCmd-isMessageRemind:"+isMessageRemind);
if("1".equals(isMessageRemind)){
if ("1".equals(isSelectValue) && null != remark && !"".equals(remark)) {
SendRequestToCardUtil sendRequestToCardUtil = new SendRequestToCardUtil();
if(Util.getIntValue(requestid) == -1 && "submit".equals(src)){
sendRequestToCardUtil.sendRequestAtToCard(new_requestid,user,nodeid,workflowId,remark);
}else if(Util.getIntValue(requestid)> 0 && "submit".equals(src)){
sendRequestToCardUtil.sendRequestAtToCard(requestid,user,nodeid,workflowId,remark);
}else if(Util.getIntValue(requestid)> 0 && "reject".equals(src)){
sendRequestToCardUtil.sendRequestAtToCard(requestid,user,nodeid,workflowId,remark);
}
}
}
}
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
}
}