泛微E9导出流程监控权限数据

因公司需要进行权限检查,所以需要导出泛微E9上流程监控的权限列表,不导出具体流程的查看权限还是干预权限

 

监控人 可以为角色 也可以是人员,业务要求必须导出来的是人员

这个模块表主要涉及有三张

workflow_monitor_info workflow_monitortype workflow_monitor_detail

人员表 角色表 自己查看数据字典

简单代码如下 各位可以自己优化 只是提供思路而已

<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");
    String getjksql = "select a.id,\n" +
            "        a.jktype,\n" +
            "        a.jkvalue,\n" +
            "        nvl(a.monitortype, 0) as monitortype,\n" +
            "        b.typename,\n" +
            "        a.subcompanyid,\n" +
            "        b.typeorder,\n" +
            "        a.fwtype,\n" +
            "        case\n" +
            "            when a.fwtype = 1 then '总部'\n" +
            "            when a.fwtype = 2 then '分部'\n" +
            "            when a.fwtype = 3 then '同分部及下级分部'\n" +
            "            when a.fwtype = 5 then '同部门'\n" +
            "            end               as ismonitor\n" +
            " from workflow_monitor_info a,\n" +
            "      workflow_monitortype b\n" +
            " where a.monitortype = b.id\n" +
            "   and a.JKTYPE != 3";

    RecordSet rs = new RecordSet();
    RecordSet rs1 = new RecordSet();
    rs.executeQuery(getjksql);
    while (rs.next()) {
        String id = rs.getString(1);
        String value = rs.getString("jkvalue");
        String jktype = rs.getString("jktype");
        String type = rs.getString("ismonitor");
        String typename = rs.getString("typename");
        List<String> hrmname = new ArrayList<String>();
        List<String> workflowname = new ArrayList<String>();
        if ("1".equalsIgnoreCase(jktype)) {
            //人员
            if (StringUtils.isNotBlank(value)) {
                String[] values = value.split(",");
                for (String v : values) {
                    String sql = "select lastname from hrmresource where id =?";
                    rs1.executeQuery(sql, v);
                    while (rs1.next()) {
                        hrmname.add(rs1.getString("lastname"));
                    }
                }
            }
        }
        if ("2".equalsIgnoreCase(jktype)) {
            //角色
            String[] values = value.split(",");
            for (String v : values) {
                rs1.executeQuery("select t2.LASTNAME from hrmrolemembers t1 inner join HRMRESOURCE t2 on t2.id =t1.RESOURCEID where t1.roleid = ?", v);
                while (rs1.next()) {
                    hrmname.add(rs1.getString("lastname"));
                }
            }
        }
        String sql = "select t2.WORKFLOWNAME from workflow_monitor_detail t1 inner join workflow_base t2 on t1.WORKFLOWID = t2.id where t1.infoid=?";
        rs1.executeQuery(sql, id);
        while (rs1.next()) {
            workflowname.add(rs1.getString(1));
        }
        if (hrmname.size() > 0) {
            for (String h : hrmname) {
                for (String w : workflowname) {
                    out.println(h + "," + w + "," + typename + "," + type+"<br>");

                }
            }

        }
    }
%>

输出到页面上 然后复制放到TXT 然后转成EXCEL 就可以了

效果如下

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你真好看≧◔◡◔≦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值