?? dutybean.java
字號:
/**********************************************************
Version 1.0
Date:2003-10-17
Description:組織機構中的職務表:列表查詢、單條信息查詢、增加記錄、修改記錄、刪除記錄
Other:
Variable List:
1.String strOrgNO = "-1"//部門編號
2.String strDutyNO = "-1";//職務編號
Function List:
1.public DutyBean()//構造函數
2.public void setOrgNO(String o)//設置部門編號
3.public void setDutyNO(String d)//設置職務編號
4.public Vector getData()//取得當前部門的職務列表
5.public Hashtable getOneData()//取得當前部門當前職務的信息
6.public int addDuty(Hashtable hash)//增加當前部門職務數據記錄
7.public int modDuty(Hashtable hash)//修改當前部門職務數據記錄
8.public int delDuty()//刪除當前部門當前職務數據記錄,返回值為True表示刪除成功,
//返回值為false表示職務職工占用不執行操作
public void delDBDuty() //刪除當前部門當前職務數據記錄
9.public String getOper()//通過部門編號和職務編號得到當前職務的操作權限,沒轉化為漢字 NEW 改的
10.public String getFlow()//通過部門編號和職務編號得到當前職務的流程權限,并且轉化為漢字
11.public String getConf()//通過部門編號得到當前職務的配置參數
12.public String toOperNo(String strPer)//根據填寫的操作權限轉化為存儲字符
13.public String toFlowNo(String strFlow)//根據填寫的流程權限轉化為存儲字符
14.public String toName()//根據部門編號返回名稱
15.public String getJBNo() throws SQLException//設置級別序號
16.public String getOrdinaryZWBH(String bmbh,String zwmc)//根椐部門編號、職務名稱返回職務編號
1.History:
2003-10-19 鄒晨 修改SQL處理方式
2. Date:2003-11-22
Author: 王震
Modification:級別序號問題修正
3. Date:2003-11-23
Author: 李伯華
Modification:修正getOper()
4. Date:2003-11-24
Author: 柳美
Modification:public String getOrdinaryZWBH(String bmbh,String zwmc)//根椐部門編號、職務名稱返回職務編號
李伯華 修改://通過部門編號和職務編號得到當前職務的操作權限,沒轉化為漢字 11-24
public String getOper()
***********************************************************/
package oa.bean;
import java.text.*;
import java.util.*;
import java.lang.*;
import java.io.*;
import java.sql.*;
import oa.main.*;
public class DutyBean extends ParentBean
{
String strOrgNO = "-1";
String strDutyNO = "-1";
String strConfNO = "-1";
//構造函數
public DutyBean()
{
}
//設置部門編號
public void setOrgNO(String o)
{
strOrgNO = o;
}
//設置職務編號
public void setDutyNO(String d)
{
strDutyNO = d;
}
//取得當前部門的職務列表
public Vector getData()
{
Vector vect = new Vector();
String sql = "";
sql = " select * from news.ZZ_ZWB order by BMBH,ZWBH ";
ResultSet rs = selectRecord(sql);
//取得列數和列名
Statement stmt = null;
try{
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
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);
}
vect.add(hash);
}
}catch(Exception e){System.out.println("DutyBean.getData()運行時出錯:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("DutyBean.getData()關閉記錄集rs時出錯"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("DutyBean.getData()關閉聲明時statement出錯"+e);}
}
return vect;
}
//取得當前部門當前職務的信息
public Hashtable getOneData()
{
Hashtable hash = new Hashtable();
String sql = "";
sql = " select * from news.ZZ_ZWB where BMBH = '"+strOrgNO+"' and ZWBH = "+strDutyNO+" ";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try{
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
if (rs.next())
{
for(int i=1;i<=cols;i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
if(field.equals("CZQX"))
{
//value = getOper();
}
if(field.equals("LCQX"))
{
value = getFlow();
}
if(field.equals("PZCS"))
{
//value = getConf();
}
hash.put(field,value);
}
}
}catch(Exception e){System.out.println("DutyBean.getOneData()運行時出錯:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("DutyBean.getOneData()關閉記錄集rs時出錯"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("DutyBean.getOneData()關閉聲明時statement出錯"+e);}
}
return hash;
}
public int addDuty(Hashtable hash,boolean rebuild)
{
String sql="";
String strBMBH = ds.toString((String)hash.get("BMBH"));
int intZWBH = db.makeID("ZZ_ZWB","BMBH","ZWBH",strBMBH,false);
String strZWMC = ds.toString((String)hash.get("ZWMC"));
String strCZQX = ds.toString((String)hash.get("CZQX"));
String strLCQX = ds.toString((String)hash.get("LCQX"));
String strPZCS = ds.toString((String)hash.get("PZCS"));
String strJBXH = ds.toString((String)hash.get("JBXH"));
String strZWZT = ds.toString((String)hash.get("ZWZT"));
String strSFJC = ds.toString((String)hash.get("SFJC"));
//檢驗是否已經存在
ResultSet rs = selectRecord("select * from news.ZZ_ZWB where BMBH='"+strBMBH+"' and ZWMC='"+strZWMC+"' and ZWZT=0");
Statement stmt = null;
try{
if(rs.next()){
return 1;
}
}catch(Exception e){System.out.println("DutyBean.addDuty(Hashtable hash)運行時出錯:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("DutyBean.addDuty(Hashtable hash)關閉記錄集rs時出錯"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("DutyBean.addDuty(Hashtable hash)關閉聲明時statement出錯"+e);}
}
/////////////////
int maxjbNo=makeID("ZZ_ZWB","BMBH","JBXH",strBMBH,false);
int jbxh=0;
if(!strJBXH.equals(""))
jbxh=Integer.parseInt(strJBXH);
if(jbxh==0||jbxh>maxjbNo)
{ jbxh=maxjbNo;strJBXH=""+jbxh;}
//////////////////////
sql="update ZZ_ZWB set jbxh=jbxh+1 where BMBH='"+ strBMBH + "' and JBXH >=" + jbxh ;
deleteRecord(sql);
//////////////////////
Vector vect = new Vector();
vect.add("ZZ_ZWB");
vect.add(addVector("BMBH",strBMBH,"CHAR"));
vect.add(addVector("ZWBH",String.valueOf(intZWBH),"NUM"));
vect.add(addVector("ZWMC",strZWMC,"CHAR"));
vect.add(addVector("CZQX",strCZQX,"CHAR"));
vect.add(addVector("LCQX",strLCQX,"CHAR"));
vect.add(addVector("PZCS",strPZCS,"CHAR"));
vect.add(addVector("JBXH",strJBXH,"NUM"));
vect.add(addVector("ZWZT",strZWZT,"NUM"));
vect.add(addVector("SFJC",strSFJC,"NUM"));
insertRecord(vect);
if(rebuild){
PublicData.rebuildFlowVector();
PublicData.rebuildRightVector();
}
return 0;
}
//增加當前部門數據記錄
public int addDuty(Hashtable hash)
{
return addDuty(hash,true);
}
//修改當前部門數據記錄
public int modDuty(Hashtable hash)
{
String strZWMC = ds.toString((String)hash.get("ZWMC"));
String strCZQX = ds.toString((String)hash.get("CZQX"));
String strLCQX = ds.toString((String)hash.get("LCQX"));
String strPZCS = ds.toString((String)hash.get("PZCS"));
String strJBXH = ds.toString((String)hash.get("JBXH"));
String strZWZT = ds.toString((String)hash.get("ZWZT"));
String strSFJC = ds.toString((String)hash.get("SFJC"));
///////////////
ResultSet rs1 = selectRecord(
"select JBXH from news.ZZ_ZWB where BMBH='" + strOrgNO + "' and ZWBH=" + strDutyNO);
int yjbxh=999;
Statement stmt = null;
try{
if(rs1.next())
yjbxh=Integer.parseInt(rs1.getString("JBXH"));
}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)運行時出錯:"+e);}
finally{
if(rs1!=null)try{ stmt = rs1.getStatement(); rs1.close();}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)關閉記錄集rs時出錯"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)關閉聲明時statement出錯"+e);}
}
///////////////
int jbxh=Integer.parseInt(strJBXH);
int maxjbNo=makeID("ZZ_ZWB","BMBH","JBXH",strOrgNO,false);
if(jbxh==0||jbxh>=maxjbNo)
{ jbxh=maxjbNo-1;strJBXH=""+jbxh;}
if(jbxh < yjbxh){
String sql1="update ZZ_ZWB set jbxh=jbxh+1 where BMBH='"
+ strOrgNO
+ "' and JBXH >="
+ jbxh
+ " and JBXH<"
+ yjbxh;
deleteRecord(sql1);
}
else if(jbxh > yjbxh && yjbxh!=0){
String sql2="update ZZ_ZWB set jbxh=jbxh-1 where BMBH='"
+ strOrgNO
+ "' and JBXH <="
+ jbxh
+ " and JBXH>"
+ yjbxh;
deleteRecord(sql2);
}
//////////////////////
Vector vect = new Vector();
vect.add("ZZ_ZWB");
vect.add(addVector("ZWMC",strZWMC,"CHAR"));
vect.add(addVector("CZQX",strCZQX,"CHAR"));
vect.add(addVector("LCQX",strLCQX,"CHAR"));
vect.add(addVector("PZCS",strPZCS,"CHAR"));
vect.add(addVector("JBXH",strJBXH,"NUM"));
vect.add(addVector("ZWZT",strZWZT,"NUM"));
vect.add(addVector("SFJC",strSFJC,"NUM"));
vect.add("BMBH = '"+strOrgNO+"' and ZWBH = "+strDutyNO);
updateRecord(vect);
ResultSet rs2 = selectRecord("select ZGBH from news.ZZ_ZGZWB where BMBH='"+strOrgNO+"' and ZWBH="+strDutyNO+" and CZQX is null");
//rs1 = selectRecord("select * from news.CODE_ANCZQXB where mkmc='信息管理' and (anmc='信息維護' or anmc='類別維護'");
try{
while(rs2.next()){
String personno = rs2.getString(1);
boolean sfgl = false,sflr = false;
int id = 0;
String sql = "select id from news.zz_fbxwb where zgbh='" + personno + "' and bmbh='"+strOrgNO+"' and lb='2' and sfgl='1'";
ResultSet rs = selectRecord(sql);
try{
if(rs.next()){
sfgl = true;
sflr = true;
id = rs.getInt(1);
}
else{
rs.getStatement().close();
sql = "select id from news.zz_fbxwb where zgbh='" + personno + "' and bmbh='"+strOrgNO+"' and lb='2' and sfgl<>'1'";
rs = selectRecord(sql);
if(rs.next()){
sflr = true;
id = rs.getInt(1);
}
}
}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)運行時出錯:"+e);}
finally{
if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)關閉記錄集rs時出錯"+e);}
if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("DutyBean.modDuty(Hashtable hash)關閉聲明時statement出錯"+e);}
}
if(strOrgNO.equals("00000000000000000000")||!strOrgNO.substring(4).equals("0000000000000000"))
return 0;
RightBean rb = null;
boolean _sflr = false,
_sfgl = false;
try{
rb = new RightBean();
rb.setUID(personno);
rb.setOrgid(strOrgNO);
_sflr = rb.isRightModelbh("信息管理","信息發布");
_sfgl = rb.isRightModelbh("信息管理","信息維護")||rb.isRightModelbh("信息管理","類別維護");
}
finally{
if(rb!=null)
rb.closeConn();
}
if(!sflr){//原先沒有錄入權限
if(_sfgl){//原先沒有錄入權限,則一定沒有管理權限,此時分配給他管理權限
Hashtable hash1 = new Hashtable();
hash1.put("ZGBH",personno);
hash1.put("LB","2");
hash1.put("BMBH",strOrgNO);
hash1.put("SFGL","1");
MakeNews news = null;
try{
news= new MakeNews();
news.addNews(hash1);
}finally{
if(news!=null)
news.closeConn();
}
}
else if(_sflr&&!_sfgl){//原先沒有錄入權限,則一定沒有管理權限,此時只分配給他錄入權限,沒有管理權限
Hashtable hash1= new Hashtable();
hash1.put("ZGBH",personno);
hash1.put("LB","2");
hash1.put("BMBH",strOrgNO);
hash1.put("SFGL","0");
MakeNews news = null;
try{
news= new MakeNews();
news.addNews(hash1);
}finally{
if(news!=null)
news.closeConn();
}
}
}
else if(sfgl&&!_sfgl){//原先有管理權限,此時去掉他的管理權限
if(_sflr){//原先有管理權限,此時去掉他的管理權限,保留他的錄入權限
Hashtable hash1 = new Hashtable();
hash1.put("ZGBH",personno);
hash1.put("LB","2");
hash1.put("BMBH",strOrgNO);
hash1.put("SFGL","0");
MakeNews news = null;
try{
news= new MakeNews();
news.setID(id);
news.modNews(hash1);
}finally{
if(news!=null)
news.closeConn();
}
}
else if(!_sflr){//原先有管理權限,此時去掉他的錄入權限和管理權限,刪除記錄
MakeNews news = null;
try{
news= new MakeNews();
news.setID(id);
news.delNews();
}finally{
if(news!=null)
news.closeConn();
}
}
}
else if(sflr&&!sfgl){//原先有錄入權限但沒有管理權限
if(_sfgl){//原先有錄入權限但沒有管理權限,此時分配給他管理權限
Hashtable hash1 = new Hashtable();
hash1.put("ZGBH",personno);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -