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

📄 staffcfg.java

📁 通过java语音实现灵活的权限控制功能
💻 JAVA
📖 第 1 页 / 共 4 页
字号:


    }

    /**
     * 菜单遍历
     * 递归程序
     * @menusub 子节点的集合
     */
    public void viewMenu(Vector menusub)
    {
        menu temp=null;//获得节点信息的临时变量

        for(int i=0;i<menusub.size();i++)
        {
            temp = (menu)menusub.elementAt(i);//获得一个节点



            if(temp.sub!=null)//判断是否又子节点,如果有则递归
            {
                if(temp.getStrParentId().equals("0"))//如果是第一级菜单节点
                {
                    retMenuscript_buffer.append("id_"+temp.getStrID()+
                            "=insFld(foldersTree, gFld(\""+temp.getStrName()+"\",\"javascript:parent.op()\"))\n");

                }
                else
                {
                    retMenuscript_buffer.append("id_"+temp.getStrID()+
                            "=insFld(id_"+temp.getStrParentId()+", gFld(\""+temp.getStrName()+"\",\"javascript:parent.op()\"))\n");

                }
                viewMenu(temp.sub);//递归调用
            }
            else//无子节点
            {
                if(temp.getStrParentId().equals("0"))//如果是第一级菜单节点
                {
                    retMenuscript_buffer.append("id_"+temp.getStrID()+
                            "=insDoc(foldersTree, gLnk(\"R\",\""+temp.getStrName()+"\",\""+temp.getStrLink()+"\"))\n");
                }
                else
                {
                    retMenuscript_buffer.append("id_"+temp.getStrID()+
                            "=insDoc(id_"+temp.getStrParentId()+", gLnk(\"R\",\""+temp.getStrName()+"\",\""+temp.getStrLink()+"\"))\n");
                }
            }
        }
    }


    /**
     * 写入菜单配置文件
     */

    public void WriteProp()
    {
        this.ReadData();//数据库读取菜单信息

        Properties m_MenuProps = new Properties();//菜单配置属性

        for(int i=0;i<mStru.length;i++)//设置 m_MenuProps
        {
            m_MenuProps.setProperty("Menu"+"_title"+String.valueOf(i+1),convertStr(mStru[i].getStrName()));
            m_MenuProps.setProperty("Menu"+"_right"+String.valueOf(i+1),convertStr(mStru[i].getStrID()));
            m_MenuProps.setProperty("Menu"+"_grade"+String.valueOf(i+1),convertStr(mStru[i].getStrGrade()));
            //m_MenuProps.setProperty("Menu"+"_grade_id"+String.valueOf(i+1),convertStr(mStru[i].getStrGradeId()));
            m_MenuProps.setProperty("Menu"+"_parent_id"+String.valueOf(i+1),convertStr(mStru[i].getStrParentId()));
            m_MenuProps.setProperty("Menu"+"_link"+String.valueOf(i+1),convertStr(mStru[i].getStrLink()));


        }
            m_MenuProps.setProperty("MenuCount",String.valueOf(mStru.length));

        try{//写入文件

            FileOutputStream out =new FileOutputStream(new File(strFilePath));
            m_MenuProps.store(out,"menu.prop");
            out.close();

        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

    /**
     * method-name ReadData
     * return void
     * 在数据库读取菜单数据存放在变量mStru中
     */
    public void ReadData()
    {
        String sql="select * from ALL_RIGHTITEM order by GRADE,INTID";
        dbConnect dbconn0 = new dbConnect(conn_code);
        try{
            rs=dbconn0.runQuery(sql);
            int iRow=rs.getRowSize();
     //       System.out.println("fdfdsfd ireo="+iRow);
            int i=0;
            mStru=new menu[iRow];
            while(rs.moveNext()){

                mStru[i]=new menu();
                mStru[i].setStrName(rs.fieldByName("STRNAME"));
         //       System.out.println("mstr["+i+"]="+rs.fieldByName("STRNAME"));
                mStru[i].setStrID(rs.fieldByName("INTID"));
                mStru[i].setStrGrade(rs.fieldByName("GRADE"));
                mStru[i].setStrParentId(rs.fieldByName("PARENT_ID"));
                mStru[i].setStrLink(rs.fieldByName("MENU_LINK"));
                mStru[i].setStrType(rs.fieldByName("STRKEY"));
                i++;
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }




    public int ReadStaffData()
    {
        int ret=0;
        String sql="select * from STAFF_RIGHTITEM";
        dbConnect dbconn0 = new dbConnect(conn_code);
        try{
            rs=dbconn0.runQuery(sql);
            int iRow=rs.getRowSize();
       //     System.out.println("fdfdsfd ireo="+iRow);
            if(iRow==0) return ret=1;
            int i=0;
            mStru=new menu[iRow];
            while(rs.moveNext()){

                mStru[i]=new menu();
                mStru[i].setStrName(rs.fieldByName("STRNAME"));
          //      System.out.println("mstr["+i+"]="+rs.fieldByName("STRNAME"));
                mStru[i].setStrID(rs.fieldByName("INTID"));
                mStru[i].setStrGrade(rs.fieldByName("GRADE"));
                mStru[i].setStrParentId(rs.fieldByName("PARENT_ID"));
                mStru[i].setStrLink(rs.fieldByName("MENU_LINK"));
                mStru[i].setStrType(rs.fieldByName("STRKEY"));
                i++;
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return ret;
    }



    /**
     * 字符串处理,返回处理过后的字符串
     * @str  未处理的字符串
     * return String
     */
    private String convertStr(String str)
    {

        if(str==null)
            str="";
        return str;
    }

/** @todo 根据社区营销信息表,建立对应的权限表,便于构件树形菜单 */
    public void createAllRightItem(String conn_code)
    {
      /** @todo 清除权限表中的数据 */
      deleteData(conn_code);

      /** @todo 超级系统管理员和系统管理员 */
      insertSuperSysManager(conn_code);
      insertSysManager(conn_code);

      System.out.println("管理员信息插入完毕");
      /** @todo 社区 */
      insertBranch(conn_code);
      System.out.println("分局信息插入完毕");
      insertBranchLeader(conn_code);
      System.out.println("分局领导信息插入完毕");
      insertRegion(conn_code);
      System.out.println("社区信息插入完毕");

      /** @todo 片区 */
      insertUnitnew(conn_code);
      System.out.println("片区信息插入完毕");

      /** @todo 片区下的员工 */
      insertRegionManager(conn_code);

      /** @todo 其他人员,即不属于上述的人员 */
    }

public void deleteData(String conn_code)
{
       dbConnect dbconn0 = new dbConnect(conn_code);
       String sql="delete STAFF_RIGHTITEM";

      try {
        dbconn0.runUpdate(sql);
      }
      catch (Exception ex) {
        System.out.println("删除权限表ALL_RIGHTITEM发生错误。");
        ex.printStackTrace();
      }
}
    /**
     * 查询系统管理系统信息到菜单表STAFF_RIGHTITEM
     * @param conn_code String
     * 0  超级管理员
     * 1  系统管理员
     * 2  社区经理
     * 3  分局长
     *
     */
    public void insertSuperSysManager(String conn_code)
      {
      menu[] allmStru=null;
      /* 获取权限表的最大编号*/
       dbConnect dbconn0 = new dbConnect(conn_code);
       String sql0 = "select MAX(INTID) FROM  STAFF_RIGHTITEM";
       DBResultset rs0=null;
       int maxid=1;
       String str=null;
      try {
        rs0 = dbconn0.runQuery(sql0);
        while (rs0.moveNext()) {
          str = rs0.fieldByIndex(0);
        }
      }
      catch (Exception ex1) {
        ex1.printStackTrace();
      }
      if(str!=null && !str.equalsIgnoreCase(""))
        maxid=Integer.parseInt(str)+1;

      /** @todo 插入系统系统管理员信息 */
       dbConnect dbconn = new dbConnect(conn_code);
       String sql="select CUST_STAFF_ID,STAFF_NAME   from REGN_STAFF where STAFF_LEVEL=0";
 //      System.out.println("insert sysmanager sql: "+sql);
       DBResultset rs=null;


      try {
        rs = dbconn.runQuery(sql);
      }
      catch (Exception ex2) {
      }
       if(rs==null) return;
       if(rs.getRowSize()==0) return;

      int i=0;
      try {
        int iRow=rs.getRowSize();
        if (iRow==0) return;
        allmStru=new menu[iRow+1];

        allmStru[i]=new menu();

        allmStru[i].setStrName("超级系统管理员组"); //菜单中文名字

        String maxidStr= ""+maxid;
        maxidStr.trim();
        allmStru[i].setStrID(maxidStr);   //菜单编号

        allmStru[i].setStrGrade("1");       //菜单级别
        allmStru[i].setStrParentId("0");  /*父菜单编号*/
        allmStru[i].setStrLink("");
        allmStru[i].setStrType("SM");   // 菜单中文名称对应的编号,与社区营销资料对应
        allmStru[i].setStrLevel("0");

  //      System.out.println("maxid="+maxid);
        String parid = maxidStr;
        maxid++;
        i++;

       /** @todo 超级系统管理组的成员:超级系统管理员 */
        while(rs.moveNext()){
            String sysManagerid = rs.fieldByIndex(0);
            String sysManagername = rs.fieldByIndex(1);
            allmStru[i]=new menu();

            allmStru[i].setStrName(sysManagername); //菜单中文名字

            maxidStr= ""+maxid;
            maxidStr.trim();
            allmStru[i].setStrID(maxidStr);   //菜单编号

            allmStru[i].setStrGrade("2");       //菜单级别
            allmStru[i].setStrParentId(parid);  /*父菜单编号*/
            allmStru[i].setStrLink("");
            allmStru[i].setStrType(sysManagerid);   // 菜单中文名称对应的编号,与社区营销资料对应
            allmStru[i].setStrLevel("00");

      //      System.out.println("maxid="+maxid);
            maxid++;
            i++;
        }
      }
      catch (Exception ex) {
        ex.printStackTrace();
      }

      if(allmStru!=null && i>1)
         insert_menu(i, allmStru, conn_code);
}


      public void insertSysManager(String conn_code)
        {
        menu[] allmStru=null;
        /* 获取权限表的最大编号*/
         dbConnect dbconn0 = new dbConnect(conn_code);
         String sql0 = "select MAX(INTID) FROM  STAFF_RIGHTITEM";
         DBResultset rs0=null;
         int maxid=1;
         String str=null;
        try {
          rs0 = dbconn0.runQuery(sql0);
          while (rs0.moveNext()) {
            str = rs0.fieldByIndex(0);
          }
        }
        catch (Exception ex1) {
          ex1.printStackTrace();
        }
        if(str!=null && !str.equalsIgnoreCase(""))
          maxid=Integer.parseInt(str)+1;

        /** @todo 插入系统系统管理员信息 */
         dbConnect dbconn = new dbConnect(conn_code);
         String sql="select CUST_STAFF_ID,STAFF_NAME  from REGN_STAFF where STAFF_LEVEL=1";
   //      System.out.println("insert sys sql: "+sql);
         DBResultset rs=null;


        try {
          rs = dbconn.runQuery(sql);
        }
        catch (Exception ex2) {
        }
         if(rs==null) return;

        int i=0;
        try {
          int iRow=rs.getRowSize();
          if (iRow==0) return;
          allmStru=new menu[iRow+1];

          allmStru[i]=new menu();

          allmStru[i].setStrName("系统管理员组"); //菜单中文名字

          String maxidStr= ""+maxid;
          maxidStr.trim();
          allmStru[i].setStrID(maxidStr);   //菜单编号

          allmStru[i].setStrGrade("1");       //菜单级别
          allmStru[i].setStrParentId("0");  /*父菜单编号*/
          allmStru[i].setStrLink("");
          allmStru[i].setStrType("M");   // 菜单中文名称对应的编号,与社区营销资料对应
          allmStru[i].setStrLevel("1");

     //     System.out.println("maxid="+maxid);
          String parid = maxidStr;
          maxid++;
          i++;


          while(rs.moveNext()){
              String sysManagerid = rs.fieldByIndex(0);
              String sysManagername = rs.fieldByIndex(1);
              allmStru[i]=new menu();

              allmStru[i].setStrName(sysManagername); //菜单中文名字

              maxidStr= ""+maxid;
              maxidStr.trim();
              allmStru[i].setStrID(maxidStr);   //菜单编号

              allmStru[i].setStrGrade("2");       //菜单级别
              allmStru[i].setStrParentId(parid);  /*父菜单编号*/
              allmStru[i].setStrLink("");
              allmStru[i].setStrType(sysManagerid);   // 菜单中文名称对应的编号,与社区营销资料对应
              allmStru[i].setStrLevel("11");

      //        System.out.println("maxid="+maxid);
              maxid++;
              i++;
          }
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }



      /** @todo 执行插入社区信息 */
      if(allmStru!=null && i>1)
         insert_menu(i, allmStru, conn_code);
}


    /**
     * 查询社区分局长信息信息到菜单表
     * @param conn_code String
     */
    public void insertBranch(String conn_code)
{
      menu[] allmStru = null;
      int flag = 0;

      /* 获取权限表的最大编号*/
      int maxid = getMaxid(conn_code);
 //     System.out.println("maxidooo=" + maxid);

      /* 从权限表中获取社区分局信息*/
      String sql1 = "select REGN_BRANCH_NAME from REGION_BRANCH";
      String sql2 = "select REGN_BRANCH_ID from REGION_BRANCH";

      String branchid[] = null, branchname[] = null;
      branchname = getDataFromTable(conn_code, sql1);
      branchid = getDataFromTable(conn_code, sql2);
   //   for (int j = 0; j < branchid.length; j++) {
   //     System.out.println("branchid[" + j + "]=" + branchid[j]);
   //   }
      if (branchname == null || branchid == null)
        return;
      else
        allmStru = new menu[branchid.length];

        /** @todo 插入社区分局信息 */
        int k=0;
      for (int i = 0; i < branchid.length; i++) {
        /** @todo 写社区分局信息 */

⌨️ 快捷键说明

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