<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="weaver.general.Util,weaver.conn.RecordSet" %> <%@ page import="weaver.integration.logging.Logger"%> <%@ page import="weaver.integration.logging.LoggerFactory"%> <%@ page import="weaver.ofs.bean.OfsSysInfo" %> <%@ page import="weaver.ofs.service.OfsSysInfoService" %> <%@ page import="weaver.ofs.manager.utils.OfsTodoDataUtils" %> <%@ page import="java.util.Map" %> <%@ page import="weaver.ofs.bean.OfsTodoData" %> <%@ page import="weaver.ofs.dao.OfsRequestBaseDao" %> <%@ page import="org.apache.commons.beanutils.BeanUtils" %> <%@ page import="org.apache.commons.lang3.StringUtils" %> <%@ page import="com.alibaba.fastjson.JSONObject" %> <%@ page import="weaver.interfaces.sso.cas.CASLoginUtil" %> <%@ page import="weaver.hrm.User" %> <%@ page import="weaver.general.BaseBean" %> <%@ include file="/systeminfo/init_wev8.jsp" %> <% Logger log = LoggerFactory.getLogger(); //补偿 认证 cas ,如果统一认证 开启 自动补偿刷新 CASLoginUtil.WxDingDingLoginSSO(request , response) ; RecordSet rs = new RecordSet(); String type = request.getParameter("type") ; String sysId = request.getParameter("sysId") ; String workflowId = request.getParameter("workflowId") ; String flowId = request.getParameter("flowId") ; if ("".equals(sysId) || "".equals(type) || "".equals(workflowId) || "".equals(flowId)){ out.println(" parameter error "); return; } int userId = user.getUID() ; Map paramMap =request.getParameterMap() ; OfsSysInfoService ofsSysInfoService = new OfsSysInfoService() ; OfsSysInfo ofsSysInfo = ofsSysInfoService.getOneBean(Util.getIntValue(sysId , 0)) ; if (ofsSysInfo == null || "".equals(Util.null2String(ofsSysInfo.getSysid()))){ log.error("根据标识:"+sysId+"未查询到数据"); out.println("根据标识:"+sysId+"未查询到数据"); return; } OfsTodoDataUtils todoDataUtils = new OfsTodoDataUtils() ; OfsRequestBaseDao ofsRequestBaseDao = new OfsRequestBaseDao() ; OfsTodoData todoData = null; String requestId = ofsRequestBaseDao.getRequestid(ofsSysInfo.getSyscode() , Util.getIntValue(workflowId , 0) , flowId , rs.getDBType()) ; if(!"".equals(Util.null2String(requestId))) todoData = todoDataUtils.getTodoData(requestId , Util.null2String(userId)) ; if (todoData == null) { todoData = this.getTodoData(flowId, workflowId, sysId, user); if (todoData == null) { log.error("根据标识:" + ofsSysInfo.getSyscode() + " workflowId:" + workflowId + " flowId: " + flowId + "未查询到数据"); out.println("根据标识:" + ofsSysInfo.getSyscode() + " workflowId:" + workflowId + " flowId: " + flowId + "未查询到数据"); return; } } String toURL = todoDataUtils.getURL("app".equalsIgnoreCase(type)? "1":"0" , ofsSysInfo , todoData , request , paramMap) ; new BaseBean().writeLog("跳转URL:" + toURL); new BaseBean().writeLog("跳转userid:" + userId); new BaseBean().writeLog("跳转parma:" + paramMap); log.warn("跳转URL:" + toURL); rs.executeUpdate("update ofs_todo_data set viewtype=1 where requestid=? and userid=? and islasttimes=1" , requestId , userId); rs.executeUpdate("update ofs_done_data set viewtype=1 where requestid=? and userid=? " , requestId , userId); rs.executeUpdate("delete from SysPoppupRemindInfoNew where userid = ? and requestid = ?", userId, requestId); response.sendRedirect(toURL); %> <%! Logger log = LoggerFactory.getLogger(); /** * 获取 异构系统流程数据 * @return */ private OfsTodoData getTodoData(String flowId ,String workflowId , String sysId ,User user ){ RecordSet rs = new RecordSet() ; List userList = new ArrayList<>(); userList.add(user.getUID() + ""); if (!"".equals(Util.null2String(user.getBelongtoids()))) userList.add(user.getBelongtoids()); //开启 主次账号 ,并且有多个用户 rs.executeQuery("select * from ofs_todo_data where flowid=? and workflowid=? and sysid=? and userid in ( "+String.join("," , userList)+" )", flowId , workflowId , sysId); OfsTodoData ofsTodoData = this.putValue2Bean(rs) ; if (StringUtils.isBlank(ofsTodoData.getFlowid())){ rs.executeQuery("select * from ofs_done_data where flowid=? and workflowid=? and sysid=? and userid in ( "+String.join("," , userList)+" )", flowId , workflowId , sysId); OfsTodoData ofsDoneData = this.putValue2Bean(rs); if (StringUtils.isBlank(ofsDoneData.getFlowid())){ log.error("flowId : "+ flowId +" workflowId : "+ workflowId +" sysId : "+ sysId +" userId:"+user.getUID() + " 没有对应数据"); return null ; } log.error("ofsTodoData : "+ JSONObject.toJSONString(ofsDoneData)); return ofsDoneData ; } log.error("ofsTodoData : "+ JSONObject.toJSONString(ofsTodoData)); return ofsTodoData ; } /** * 将待办信息从数据库查询出来放入bean中 * @param rs */ private OfsTodoData putValue2Bean(RecordSet rs) { rs.next(); OfsTodoData ofsTodoData = new OfsTodoData(); try{ BeanUtils.setProperty(ofsTodoData,"id", Util.getIntValue(rs.getString("id"), 0)+""); BeanUtils.setProperty(ofsTodoData,"sysid", Util.getIntValue(rs.getString("sysid"), 0)+""); BeanUtils.setProperty(ofsTodoData,"syscode", Util.null2String(rs.getString("syscode"), "")); BeanUtils.setProperty(ofsTodoData,"requestid", Util.null2String(rs.getString("requestid"))); BeanUtils.setProperty(ofsTodoData,"flowid", Util.null2String(rs.getString("flowid"))); // BeanUtils.setProperty(ofsTodoData,"flowguid", Util.null2String(rs.getString("flowguid"))); BeanUtils.setProperty(ofsTodoData,"requestname", Util.null2String(rs.getString("requestname"))); BeanUtils.setProperty(ofsTodoData,"workflowname", Util.null2String(rs.getString("workflowname"))); BeanUtils.setProperty(ofsTodoData,"workflowid", Util.null2String(rs.getString("workflowid"))); BeanUtils.setProperty(ofsTodoData,"nodename", Util.null2String(rs.getString("nodename"))); BeanUtils.setProperty(ofsTodoData,"isremark", Util.null2String(rs.getString("isremark"))); BeanUtils.setProperty(ofsTodoData,"viewtype", Util.null2String(rs.getString("viewtype"))); BeanUtils.setProperty(ofsTodoData,"islasttimes", Util.null2String(rs.getString("islasttimes"))); BeanUtils.setProperty(ofsTodoData,"iscomplete", Util.null2String(rs.getString("iscomplete"))); BeanUtils.setProperty(ofsTodoData,"hrmtransrule", Util.null2String(rs.getString("hrmtransrule"))); BeanUtils.setProperty(ofsTodoData,"pcurl", Util.null2String(rs.getString("pcurl"))); BeanUtils.setProperty(ofsTodoData,"appurl", Util.null2String(rs.getString("appurl"))); BeanUtils.setProperty(ofsTodoData,"creator", Util.null2String(rs.getString("creator"))); BeanUtils.setProperty(ofsTodoData,"creatorid", Util.null2String(rs.getString("creatorid"))); BeanUtils.setProperty(ofsTodoData,"createdate", Util.null2String(rs.getString("createdate"))); BeanUtils.setProperty(ofsTodoData,"createtime", Util.null2String(rs.getString("createtime"))); BeanUtils.setProperty(ofsTodoData,"userid", Util.null2String(rs.getString("userid"))); BeanUtils.setProperty(ofsTodoData,"receiver", Util.null2String(rs.getString("receiver"))); BeanUtils.setProperty(ofsTodoData,"receivedate", Util.null2String(rs.getString("receivedate"))); BeanUtils.setProperty(ofsTodoData,"receivetime", Util.null2String(rs.getString("receivetime"))); BeanUtils.setProperty(ofsTodoData,"modifier", Util.null2String(rs.getString("modifier"))); BeanUtils.setProperty(ofsTodoData,"modifydate", Util.null2String(rs.getString("modifydate"))); BeanUtils.setProperty(ofsTodoData,"modifytime", Util.null2String(rs.getString("modifytime"))); BeanUtils.setProperty(ofsTodoData,"pcurlsrc", Util.null2String(rs.getString("pcurlsrc"))); BeanUtils.setProperty(ofsTodoData,"appurlsrc", Util.null2String(rs.getString("appurlsrc"))); BeanUtils.setProperty(ofsTodoData,"requestlevel", Util.null2String(rs.getString("requestlevel"))); BeanUtils.setProperty(ofsTodoData,"receivets", Util.null2String(rs.getString("receivets"))); BeanUtils.setProperty(ofsTodoData,"pcurlsrc", Util.null2String(rs.getString("pcurlsrc"))); BeanUtils.setProperty(ofsTodoData,"appurlsrc", Util.null2String(rs.getString("appurlsrc"))); return ofsTodoData; }catch(Exception e){ log.error(e); return null; } } %>