当前位置:首页 > Ecology系统程序员开发指南
weaver.hrm.resource.ResourceComInfo 的代码:
package weaver.hrm.resource;
import java.util.*; import weaver.conn.*; import weaver.general.*; /**
* Title: 人力资源缓存信息接口类
* Description: 对其它模块和功能提供统一的获取人力资源信息的接口 * Copyright: Copyright (c) 2002 * Company: weaver * @author liuyu * @version 1.0 */
public class ResourceComInfo extends BaseBean {
/* 1 */
private ArrayList ids = null; // 保存人力资源键值 ID 队列 private ArrayList loginids = null; // 保存人力资源登录名 队列 private ArrayList lastnames = null; // 保存人力资源名称 队列 private ArrayList departmentids = null; // 保存人力资源部门 队列 private ArrayList seclevels = null; // 保存人力资源安全级别 队列 private ArrayList statuses = null; // 保存人力资源状态 队列
private StaticObj staticobj = null; // 公共缓存类
/* 2 */
private int current_index = -1; // 当前人力资源记录的指针 private int array_size = 0; // 人力资源记录的数量
/**
* 人力资源缓存信息接口类构造方法
* 构造方法中将获取公共缓存类的唯一实例,并调用getResourceInfo 方法获取缓存信息,
* 同时赋值人力资源记录的数量 * */
public ResourceComInfo() throws Exception{ staticobj = StaticObj.getInstance(); getResourceInfo() ;
25 泛微网络有限公司 www.weaver.com.cn
array_size = ids.size(); }
/**
* 获取人力资源缓存信息方法
* 检查是否有人力资源缓存信息,如果没有,将调用setResourceInfo 方法从
数据库中获取人力资源信息并放入缓存中 * 将缓存中的信息赋予相应的队列 * */
private void getResourceInfo() throws Exception{ /* 3 */
if(staticobj.getObject(\ setResourceInfo();
// 将缓存中的信息赋予相应的队列
ids = (ArrayList)(staticobj.getRecordFromObj(\
loginids = (ArrayList)(staticobj.getRecordFromObj(\ lastnames = (ArrayList)(staticobj.getRecordFromObj(\\
departmentids = (ArrayList)(staticobj.getRecordFromObj(\\
seclevels = (ArrayList)(staticobj.getRecordFromObj(\\
statuses = (ArrayList)(staticobj.getRecordFromObj(\ }
/**
* 从数据库获取人力资源信息并放入缓存方法
* 从数据库获取所需要的人力资源信息 (该类所提供的人力资源信息) * 将获取的信息放入缓存中 * */
private void setResourceInfo() throws Exception{
// 生成队列实例
ids = new ArrayList();
loginids = new ArrayList(); lastnames = new ArrayList(); departmentids = new ArrayList(); seclevels = new ArrayList(); statuses = new ArrayList();
// 查询数据库并赋值队列
RecordSet rt = new RecordSet() ;
26 泛微网络有限公司 www.weaver.com.cn
rt.executeProc(\ while(rt.next()){
ids.add(Util.null2String(rt.getString(\
loginids.add(Util.null2String(rt.getString(\ lastnames.add(Util.null2String(rt.getString(\
departmentids.add(\ seclevels.add(Util.null2String(rt.getString(\ statuses.add(Util.null2String(rt.getString(\ }
/* 3 */
// 将获取的信息放入缓存中, 缓存中的一级键值为 \, 二级键值为人力资源对应的队列名称
staticobj.putRecordToObj(\
staticobj.putRecordToObj(\ staticobj.putRecordToObj(\
staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ }
/**
* 获取人力资源信息数量方法 *
* @return int 人力资源信息数量 * */
public int getResourceNum() { return array_size; }
/* 2 */ /**
* 将当前人力资源信息指针指向下一个人力资源信息 *
* @return boolean 如果有下一个人力资源信息,返回true, 否则返回false,并将当前人力资源信息指针置为初始值(初始值在第一条记录之前) * */
public boolean next(){
while((current_index+1) < array_size){ current_index++; return true; }
current_index = -1; return false;
27 泛微网络有限公司 www.weaver.com.cn
}
/* 2 */ /**
* 将当前人力资源信息指针指向初始值(初始值在第一条记录之前) * */
public void setTofirstRow(){ current_index = -1; }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的id *
* @return String 当前人力资源信息指针指向的人力资源记录的id */
public String getResourceid(){
return (String)(ids.get(current_index)); }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的名称 *
* @return String 当前人力资源信息指针指向的人力资源记录的名称 */
public String getLastname(){
return ((String)(lastnames.get(current_index))).trim() ; }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的部门id *
* @return String 当前人力资源信息指针指向的人力资源记录的部门id */
public String getDepartmentID(){
return ((String)(departmentids.get(current_index))).trim() ; } /**
* 获取人力资源id对应的人力资源名称信息 *
* @param key 人力资源id (为人力资源信息的键值)
泛微网络有限公司 www.weaver.com.cn 28
共分享92篇相关文档