⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myrightcfg.java

📁 通过java语音实现灵活的权限控制功能
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package com.dreamtel.rightCtrl.dataright;

import com.dreamtel.db.dbresult.DBResultset;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.Vector;
import com.dreamtel.db.conn.*;
import com.dreamtel.global.ComFuns;
import java.util.*;
import com.dreamtel.rightCtrl.menuright.*;

/**
 * Title:menuCfgnew
 * Description:读写菜单配置文件(递归),不限制菜单级别
 * Copyright:    Copyright (c) 2004
 * Company:dreamtel
 * @author weij
 * @modify: weij
 * @date: 20040528
 * @version 1.1
 */


public class myRightCfg
{

    private String strPropName="menu.prop";//配置文件明

    private dbConnect DBConn=null;//数据库链接
    private DBResultset rs=null;//结果集
    private menu[] mStru=null;//菜单结构数组
    private menu[] mStru1=null;//菜单结构数组
    private menu[] mStru2=null;//菜单结构数组
    private menu[] mStru3=null;//菜单结构数组
    private String defaultLink="/TaglibWebProject/no_link.jsp";//默认链接
    private menu tmenu=new menu();//菜单树
    private Vector vmenu;//所有的节点信息矢量集合
    private String strFilePath="config\\\\menucfg.prop";  //配置文件路径,位于1000/config中
    private StringBuffer retMenuscript_buffer=new StringBuffer();

    private Vector searchtree=null;//查找的分支
    private Vector vSQL=null;//返回的sql集合

    private String conn_code=null;


    public myRightCfg(String conn_code)
    {
      this.conn_code = conn_code;
    }

    public Vector getVmenu()
    {
      return this.vmenu;
    }

    public String LoadMyRightData(String operid, String cust_staff_id, String cust_staff_sel_id, String group)
    {
//System.out.println("GGGGGoperid="+operid+", cust_staff_id="+cust_staff_id+", group="+group);
      String sqlpro="EXEC PR_RECREATE_MYDATATREE";
      dbConnect dbconn=  new dbConnect(conn_code);
     try {
       dbconn.runProc(sqlpro, null);
     }
     catch (Exception ex) {
       ex.printStackTrace();
     }



      if(group.equalsIgnoreCase("GROUP" ))
      {
        if (operid.equalsIgnoreCase("9")) {
          int ret = this.ReadMyRightData(operid, cust_staff_id, cust_staff_sel_id, group);

          if (ret == 1) {
            tmenu.setStrName("超级系统管理员组无数据权限"); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
            retMenuscript_buffer.append(tmenu.getStrName());
            retMenuscript_buffer.append("</font>\", \"\")\n");
          }
          else {
            vmenu = new Vector();
            if (mStru == null || mStru.length == 0) {
              tmenu.setStrName("超级系统管理员组无数据权限"); //初始化根
              retMenuscript_buffer.append(
                  "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
              retMenuscript_buffer.append(tmenu.getStrName());
              retMenuscript_buffer.append("</font>\", \"\")\n");
              return retMenuscript_buffer.toString();
            }

            for (int i = 0; i < mStru.length; i++) {
              if (mStru[i].getStrLink() == null ||
                  mStru[i].getStrLink().equals(""))
                mStru[i].setStrLink(defaultLink);
              vmenu.add(mStru[i]);
            }

            String strtmp = "超级系统管理员";
            tmenu.setStrName(strtmp); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font size='2.5pt'>" + //根节点的SCRIPT
                tmenu.getStrName() + "</font>\", \"\")\n");

            //System.out.println("初始化树");
            initMenu(tmenu, "0", vmenu); //初始化菜单树
            viewMenuAll(tmenu.sub); //遍历菜单树,生成返回的脚本
            //   viewMenuAllnew();
          }
        }

        else if (operid.equalsIgnoreCase("1")) {
          int ret = this.ReadMyRightData(operid, cust_staff_id, cust_staff_sel_id,group);
          if (ret == 1) {
            tmenu.setStrName("系统管理员组无数据权限"); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
            retMenuscript_buffer.append(tmenu.getStrName());
            retMenuscript_buffer.append("</font>\", \"\")\n");
          }
          else {
            vmenu = new Vector();
            if (mStru == null || mStru.length == 0) {
              tmenu.setStrName("系统管理员组无数据权限"); //初始化根
              retMenuscript_buffer.append(
                  "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
              retMenuscript_buffer.append(tmenu.getStrName());
              retMenuscript_buffer.append("</font>\", \"\")\n");
              return retMenuscript_buffer.toString();
            }

            for (int i = 0; i < mStru.length; i++) {
              if (mStru[i].getStrLink() == null ||
                  mStru[i].getStrLink().equals(""))
                mStru[i].setStrLink(defaultLink);
              vmenu.add(mStru[i]);
            }

            String strtmp = "系统管理员";
            tmenu.setStrName(strtmp); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font size='2.5pt'>" + //根节点的SCRIPT
                tmenu.getStrName() + "</font>\", \"\")\n");

            //System.out.println("初始化树");
            initMenu(tmenu, "0", vmenu); //初始化菜单树
            viewMenuAll(tmenu.sub); //遍历菜单树,生成返回的脚本
            //   viewMenuAllnew();
          }

      }
      else //非管理员组
      {
        int ret = this.ReadMyRightData(operid, cust_staff_id, cust_staff_sel_id,group);
        if (ret == 1) {
          tmenu.setStrName("员工组无数据权限"); //初始化根
          retMenuscript_buffer.append(
              "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
          retMenuscript_buffer.append(tmenu.getStrName());
          retMenuscript_buffer.append("</font>\", \"\")\n");
        }
        else {
          vmenu = new Vector();
          if (mStru == null || mStru.length == 0) {
            tmenu.setStrName("员工组无数据权限"); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
            retMenuscript_buffer.append(tmenu.getStrName());
            retMenuscript_buffer.append("</font>\", \"\")\n");
            return retMenuscript_buffer.toString();
          }

          for (int i = 0; i < mStru.length; i++) {
            if (mStru[i].getStrLink() == null ||
                mStru[i].getStrLink().equals(""))
              mStru[i].setStrLink(defaultLink);
            vmenu.add(mStru[i]);
          }

          String strtmp = "员工组";
          tmenu.setStrName(strtmp); //初始化根
          retMenuscript_buffer.append(
              "foldersTree = gFld(\"<font size='2.5pt'>" + //根节点的SCRIPT
              tmenu.getStrName() + "</font>\", \"\")\n");

          //System.out.println("初始化树");
          initMenu(tmenu, "0", vmenu); //初始化菜单树
          viewMenuAll(tmenu.sub); //遍历菜单树,生成返回的脚本
          //   viewMenuAllnew();
        }


      }
  }  //not group
  else
  {
    //      long t1 = ComFuns.getDoTime();
          int ret = this.ReadMyRightData(operid, cust_staff_id, cust_staff_sel_id, group);
    //      long t2 = ComFuns.getDoTime();
       //   System.out.println("ReadMyRightData:" + (t2 - t1));

          if (ret == 1) {
            tmenu.setStrName("员工" + cust_staff_id + "没有你拥有的数据权限"); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
            retMenuscript_buffer.append(tmenu.getStrName());
            retMenuscript_buffer.append("</font>\", \"\")\n");
          }
          else {
            vmenu = new Vector();

            if (mStru == null || mStru.length == 0) {
              tmenu.setStrName("员工" + cust_staff_id + "没有你拥有的数据权限"); //初始化根
              retMenuscript_buffer.append(
                  "foldersTree = gFld(\"<font color='red' size='2.5pt'>"); //根节点的SCRIPT
              retMenuscript_buffer.append(tmenu.getStrName());
              retMenuscript_buffer.append("</font>\", \"\")\n");
              return retMenuscript_buffer.toString();
            }
            for (int i = 0; i < mStru.length; i++) {
              if (mStru[i].getStrLink() == null ||
                  mStru[i].getStrLink().equals(""))
                mStru[i].setStrLink(defaultLink);
              vmenu.add(mStru[i]);
            }

            String strtmp = "员工" + cust_staff_id + "数据权限列表";
            tmenu.setStrName(strtmp); //初始化根
            retMenuscript_buffer.append(
                "foldersTree = gFld(\"<font size='2.5pt'>" + //根节点的SCRIPT
                tmenu.getStrName() + "</font>\", \"\")\n");

            //System.out.println("初始化树");
            initMenu(tmenu, "0", vmenu); //初始化菜单树
            viewMenuAll(tmenu.sub); //遍历菜单树,生成返回的脚本
            //   viewMenuAllnew();
          }

      }

        return retMenuscript_buffer.toString();
    }

    public int ReadMyRightData(String operid, String cust_staff_id, String cust_staff_sel_id, String group)
    {
      int ret = 0;
      dbConnect dbconn0 = new dbConnect(conn_code);
      String table_name = "MYDATA_RIGHTITEM";
      DBResultset dbrsRet = null;
      String sql = "";
             int i=0;
      String tmpstr="";



        if(group.equalsIgnoreCase("GROUP"))
        {
          if(operid.equalsIgnoreCase("9"))
          {
            tmpstr = "99";
            /*
            sql="SELECT DISTINCT INTID,INTKEY,STRNAME, GRADE, PARENT_ID "+
                "FROM     MYDATA_RIGHTITEM " +
                 "WHERE    (SELECT COUNT(INTKEY) FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"') =( "+
                 "SELECT COUNT( DISTINCT CUST_STAFF_ID) FROM MYDATA_RIGHTITEM WHERE "+
                  "CUST_STAFF_ID IN   (SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"') ) "+
                  "AND  CUST_STAFF_ID IN   (SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"')  ORDER BY INTID ";
            */
           sql="SELECT DISTINCT INTID,INTKEY,STRNAME, GRADE, PARENT_ID "+
               "FROM     MYDATA_RIGHTITEM " +
               "WHERE CUST_STAFF_ID IN(SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"
               +tmpstr+"') ORDER BY INTID";

          }
          else if(operid.equalsIgnoreCase("1"))
          {
            tmpstr = "11";
            /*
            sql="SELECT DISTINCT INTID,INTKEY,STRNAME, GRADE, PARENT_ID "+
                "FROM     MYDATA_RIGHTITEM " +
                 "WHERE    (SELECT COUNT(INTKEY) FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"') =( "+
                 "SELECT COUNT( DISTINCT CUST_STAFF_ID) FROM MYDATA_RIGHTITEM WHERE "+
                  "CUST_STAFF_ID IN   (SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"') ) "+
                  "AND  CUST_STAFF_ID IN   (SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"+tmpstr+"')  ORDER BY INTID ";
             }*/
            sql="SELECT DISTINCT INTID,INTKEY,STRNAME, GRADE, PARENT_ID "+
                "FROM     MYDATA_RIGHTITEM " +
                "WHERE CUST_STAFF_ID IN(SELECT INTKEY FROM ALL_STAFF_RIGHTITEM WHERE STRMEM='"
                +tmpstr+"') ORDER BY INTID";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -