dutybean.java
来自「这是一个很好用的软件」· Java 代码 · 共 965 行 · 第 1/2 页
JAVA
965 行
/*******************************************************************************
* 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.util.*;
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);
hash1.put("LB", "2");
hash1.put("BMBH", strOrgNO);
hash1.put("SFGL", "1");
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();
}
}
}
}
} catch (Exception e) {
System.out.println("DutyBean.modDuty(Hashtable hash)运行时出错:" + e);
} finally {
if (rs2 != null)
try {
stmt = rs2.getStatement();
rs2.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);
}
}
PublicData.rebuildFlowVector();
PublicData.rebuildRightVector();
return 0;
}
//删除当前部门当前职务数据记录
public int delDuty() {
String sql = "";
String strZWZT = "1";
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?