sequencemgr.java

来自「该HttpProxy用于从Applet或Swing界面中访问Ejb和服务端的Ja」· Java 代码 · 共 107 行

JAVA
107
字号
package com.nari.pmos.common.utilities;

import pbos.dao.DB.ConnectParameters;
import pbos.dao.helper.DAOFactory;
import pbos.dao.services.PbosDAO;

public class SequenceMgr {
	
	public static final String SEQ_RESOURCE_ID = "RESOURCE_KEY"; // 资源id

	public static final String SEQ_WF_INSTANCE_ID = "WF_INSTANCE_KEY"; // 工作流实例id

	public static final String SEQ_WF_OPERATION_ID = "WF_OPERATION_KEY"; // 资源id

	public static final String SEQ_AAM_DEPARTMENT_ID = "DEMPARMENT_KEY"; // 部门id
	
	private PbosDAO DAO = null;

	private String dsName = "jdbc/pmosDB";

	private int counter = 0;

	/*
	 * 获得一个新的资源id
	 */
	public long newResId() {
		PbosDAO dao = this.getDAO();
		Long seq = (Long) dao.findDefaultVariable(SequenceList.SEQ_RESOURCE_ID
				+ ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	/*
	 * 获得一个新的部门id,部门,组,角色,人员统一编号
	 */
	public long newDepId() {
		Long seq = (Long) getDAO().findDefaultVariable(
				SequenceList.SEQ_AAM_DEPARTMENT_ID + ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	public long newGroupId() {
		Long seq = (Long) getDAO().findDefaultVariable(
				SequenceList.SEQ_AAM_DEPARTMENT_ID + ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	public long newRoleId() {
		Long seq = (Long) getDAO().findDefaultVariable(
				SequenceList.SEQ_AAM_DEPARTMENT_ID + ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	public long newUserId() {
		Long seq = (Long) getDAO().findDefaultVariable(
				SequenceList.SEQ_AAM_DEPARTMENT_ID + ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	public long newInsOperId() {
		Long seq = (Long) getDAO().findDefaultVariable(
				SequenceList.SEQ_WF_OPERATION_ID + ".nextval", Long.class);
		closeDAO();
		return seq.longValue();
	}

	public void setDsName(String dsName) {
		this.dsName = dsName;
	}

	public PbosDAO getDAO() {
		if (this.DAO == null) {
			if (dsName != null) {
				if (counter < 1) {
					ConnectParameters.DataSource = dsName;
					counter++;
				}
			}
			this.DAO = DAOFactory.getPbosDAO();
		}
		return this.DAO;
	}

	public void getDAO(PbosDAO dao) {
		DAO = dao;
	}

	public void closeDAO() {
		if (this.DAO != null) {
			this.DAO.closeDAO();
			this.DAO = null;
		}
	}

	/*
	 * 测试用的主函数
	 */
	public static void main(String[] args) {

	}
}

⌨️ 快捷键说明

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