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 + -
显示快捷键?