📄 orgmenubean.java
字号:
package oa.bean;
import java.text.*;
import java.util.*;
import java.lang.*;
import java.io.*;
import java.sql.*;
import oa.main.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class OrgMenuBean extends ParentBean
{
int strID=-1;//当前类唯一编号
int strParentID=-1;//父类编号
String strOrgID="";
public void setID(int o)//设置菜单唯一编号
{
strID = o;
}
public void setParentID(int o)//设置父菜单编号
{
strParentID = o;
}
public void setOrgID(String o)//设置父菜单编号
{
strOrgID = o;
}
//根据职部门编号生成其子树并返回根节点
public DefaultMutableTreeNode buildTree(String orgid)
{
String sql = "";
sql = "select * from ZZ_BMB where BMBH='"+orgid+"'";
Statement stmt = null;
Hashtable hash = new Hashtable();//存放部门信息
ResultSet rs = selectRecord(sql);
try{
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
if(rs.next())
{
hash.clear();
for (int i = 1; i <= cols; i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field, value);
}
}
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
DefaultMutableTreeNode root = new DefaultMutableTreeNode(hash);//建立树根
//System.out.println("部门信息"+hash);
//开始建立类树
String DepartNo = "";
String strPBH = "0";
DepartNo = (String)((Hashtable) root.getUserObject()).get("BMBH");
sql = "select * from orgmenu where BMBH = '"+DepartNo+"' and PBH = "+strPBH+" order by JBXH";
ResultSet rs1 = selectRecord(sql);
try{
ResultSetMetaData rsmd1 = rs1.getMetaData();
int cols1 = rsmd1.getColumnCount();
while(rs1.next())
{
Hashtable hash1 = new Hashtable();
hash1.clear();
for (int i = 1; i <= cols1; i++)
{
String field = ds.toString(rsmd1.getColumnName(i));
String value = ds.toString(rs1.getString(i));
hash1.put(field, value);
}
//System.out.println("一级类别信息"+hash1);
DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode(hash1);
root.add(treeNode);
buildSubTree(treeNode);
}
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs1!=null)try{ stmt = rs1.getStatement(); rs1.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
return root;
}
//迭代生成树
private void buildSubTree(DefaultMutableTreeNode rootNode)
{
String sql = "";
String DepartNo = "";
DefaultMutableTreeNode root = rootNode;
DefaultMutableTreeNode treeNode;
//选出rootNode的子节点
DepartNo = (String)((Hashtable) rootNode.getUserObject()).get("BMBH");
String strPBH = (String)((Hashtable) rootNode.getUserObject()).get("BH");
//System.out.println("DepartNo="+DepartNo);
//System.out.println("strPBH="+strPBH);
sql ="select * from orgmenu where BMBH = '"+DepartNo+"' and PBH = "+strPBH+" order by JBXH";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try{
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
//System.out.println("dddddddddd");
while (rs.next())
{
Hashtable hash = new Hashtable();
for (int i = 1; i <= cols; i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field, value);
}
treeNode = new DefaultMutableTreeNode(hash);
//System.out.println("二级类别信息"+hash);
root.add(treeNode);
buildSubTree(treeNode);
}
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
}
//新增子类信息
public int addMenu(Hashtable hash)
{
int intMax = makeID("ORGMENU","BH","","",true);
String strParentId = ds.toString((String)hash.get("PBH"));
String strOrgId = ds.toString((String)hash.get("BMBH"));
String strName = ds.toString((String)hash.get("MC"));
String strJBXH = ds.toString((String)hash.get("JBXH"));
if(strParentId.equals("")) strParentId = "0";
String sql ="";
sql = "select * from ORGMENU where BMBH = '"+strOrgId+"' and PBH = "+strParentId+" and MC = '"+strName+"'";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try{
if(rs.next())
return 1;
}
catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null)try{stmt.close();}catch(Exception e){System.out.println("关闭声明statement时出错;错误为:"+e);}
}
int intJBXH = setJBXH(strOrgId,strParentId,strJBXH);
Vector vect =new Vector();
vect.add("ORGMENU");
vect.add(addVector("BH",String.valueOf(intMax),"NUM"));
vect.add(addVector("PBH",strParentId,"NUM"));
vect.add(addVector("BMBH",strOrgId,"CHAR"));
vect.add(addVector("MC",strName,"CHAR"));
vect.add(addVector("JBXH",String.valueOf(intJBXH),"NUM"));
return insertRecord(vect);
}
//修改子类信息
public int updateMenu(Hashtable hash)
{
String strId = ds.toString((String)hash.get("BH"));
String strParentId = ds.toString((String)hash.get("PBH"));
String strOrgId = ds.toString((String)hash.get("BMBH"));
String strName = ds.toString((String)hash.get("MC"));
String strJBXH = ds.toString((String)hash.get("JBXH"));
String sql ="";
String stroName = "";
sql = "select MC from ORGMENU where BH = "+strId+"";
ResultSet rs1 = selectRecord(sql);
Statement stmt = null;
try{
if(rs1.next())
{
stroName = ds.toString(rs1.getString("MC"));
}
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs1!=null)try{ stmt = rs1.getStatement(); rs1.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
//被修改名称
if(!stroName.equals(strName))
{
sql = "select * from ORGMENU where BMBH = '"+strOrgId+"' and PBH = "+strParentId+" and MC = '"+strName+"'";
ResultSet rs = selectRecord(sql);
try{
if(rs.next()){ return 1; }
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
}
int intJBXH = setJBXH(strId,strOrgId,strParentId,strJBXH);
Vector vect =new Vector();
vect.add("ORGMENU");
vect.add(addVector("MC",strName,"CHAR"));
vect.add(addVector("JBXH",String.valueOf(intJBXH),"NUM"));
vect.add("BH="+strId+"");
return updateRecord(vect);
}
//删除子类信息
public int delMenu()
{
String sql = "";
String strJBXH = "0";
String strOrgID ="";
String strid ="";
ResultSet rs = null;
int intJBXH = Integer.parseInt(strJBXH);
sql = "select * from orgmenu where BH = "+strID+"";
rs = selectRecord(sql);
Statement stmt = null;
try{
if(rs.next())
{
strJBXH = ds.toString(rs.getString("JBXH"));
strOrgID = ds.toString(rs.getString("BMBH"));
strid = ds.toString(rs.getString("BH"));
}
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
sql = "select count(id) from article where article.organid='"+strOrgID+"' and article.wzlx="+strID+"";
rs = selectRecord(sql);
int article_num = 0;
try{
if(rs.next())
article_num = rs.getInt(1);
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
if(article_num!=0){
return article_num;
}
if(isChild(strOrgID,strid)) return -5;
intJBXH = Integer.parseInt(strJBXH);
sql = "update orgmenu set JBXH = JBXH-1 where BMBH = '"+strOrgID+"' and PBH="+strParentID+" and JBXH>"+intJBXH+"";
deleteRecord(sql);
sql = "delete from orgmenu where BH = "+strID+"";
return deleteRecord(sql);
}
//取得所有下一级类信息
public Vector getAllDownCs(String id)
{
Vector vect = new Vector();
return vect;
}
//新增的时候设置级别序号
public int setJBXH(String id,String pid,String jbxh)
{
int intJBXH = makeID("ORGMENU","BMBH","PBH","JBXH",id,pid,false,true);
if(jbxh.equals("")) jbxh = "0";
int intxh = Integer.parseInt(jbxh);
if(intxh>0&&intxh<intJBXH)
{
intJBXH = intxh;
String sql = "";
sql = "update orgmenu set JBXH=JBXH+1 where BMBH = '"+id+"' and PBH = "+pid+" and JBXH>="+intxh;
deleteRecord(sql);
}
return intJBXH;
}
//修改的时候设置级别序号
public int setJBXH(String id,String orgid,String pid,String strJBXH)
{
if(pid.equals(""))
pid = "0";
ResultSet rs1 = selectRecord("select JBXH from ORGMENU where BH=" + id);
int yjbxh=999;
Statement stmt = null;
try{
if(rs1.next())
yjbxh=Integer.parseInt(rs1.getString("JBXH"));
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs1!=null)try{ stmt = rs1.getStatement(); rs1.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
///////////////
int jbxh = Integer.parseInt(strJBXH);
int maxjbNo = makeID("ORGMENU","BMBH","PBH","JBXH",orgid,pid,false,true);
if(jbxh==0||jbxh>=maxjbNo)
jbxh=maxjbNo-1;
if(jbxh < yjbxh){
String sql1="update ORGMENU set JBXH=JBXH+1 where BMBH='"
+ orgid + "' and PBH = " + pid
+ " and JBXH >="
+ jbxh
+ " and JBXH<"
+ yjbxh;
deleteRecord(sql1);
}
else if(jbxh > yjbxh && yjbxh!=0){
String sql2="update ORGMENU set jbxh=jbxh-1 where BMBH='"
+ orgid + "' and PBH = " + pid
+ " and JBXH <="
+ jbxh
+ " and JBXH>"
+ yjbxh;
deleteRecord(sql2);
}
//////////////////////
return jbxh;
}
//根据编号取得名称
public String toName(String id)
{
String sql ="";
String name = "";
if(id.equals("")) return name;
sql = "select mc from orgmenu where BH = "+id+"";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try{
if(rs.next())
name = ds.toString(rs.getString("MC"));
}catch(Exception e){System.out.println("运行时出错:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
}
return name;
}
//取得某一条信息
public Hashtable getOneData(String id)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -