import
org.apache.commons.logging.Log;
import
org.apache.commons.logging.LogFactory;
import
com.topsoft.icisrpt.common.beans.StageBean;
import
com.topsoft.icisrpt.common.util.DBUtil;
import
java.util.Map;
import
java.util.HashMap;
import
java.sql.Connection;
import
java.sql.Statement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
/**
* 期别代码工具类
* File: StageCode.java
* User: leizhimin
* Date: 2008-2-22 9:35:43
*/
public
final
class
StageCode {
private
static
final
Log log = LogFactory.getLog(StageCode.
class
);
private
static
Map<String, StageBean> codeMap =
new
HashMap<String, StageBean>();
private
static
boolean
isLoad =
false
;
private
static
final
String sql =
"\n"
+
"SELECT DM,MC,LX FROM RPT.DM_BBQB"
;
static
{
reLoad();
}
/**
* 私有构造方法,禁止建立对象
*/
private
StageCode() {
}
/**
* 从新加载期别代码
*
* @return boolean
*/
public
static
boolean
reLoad() {
boolean
flag =
false
;
Connection conn = DBUtil.makeConnection();
Statement stmt =
null
;
try
{
stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.CLOSE_CURSORS_AT_COMMIT);
ResultSet rs = stmt.executeQuery(sql);
while
(rs.next()) {
StageBean stageBean =
new
StageBean();
stageBean.setCode(rs.getString(
"DM"
));
stageBean.setName(rs.getString(
"MC"
));
stageBean.setType(rs.getString(
"LX"
));
codeMap.put(stageBean.getCode(), stageBean);
}
isLoad =
true
;
flag =
true
;
}
catch
(SQLException e) {
log.error(
"载入期别代码表发生异常!"
);
e.printStackTrace();
}
finally
{
if
(stmt !=
null
)
try
{
stmt.close();
}
catch
(SQLException e) {
log.error(
"关闭数据库Statement对象失败!"
);
e.printStackTrace();
}
if
(conn !=
null
)
try
{
conn.close();
}
catch
(SQLException e) {
log.error(
"关闭数据库链接失败!"
);
e.printStackTrace();
}
}
log.info(
"加载期别代码表"
+ (flag ?
"成功!"
:
"失败!"
));
return
flag;
}
/**
* 获取期别代码表
*
* @return Map<String, StageBean>
*/
public
static
Map<String, StageBean> getCodeMap() {
return
codeMap;
}
/**
* 判断期别代码表是否已经载入
*
* @return boolean
*/
public
static
boolean
isLoad() {
return
isLoad;
}
/**
* 获取查询期别代码表的SQL
*
* @return String
*/
public
static
String getSql() {
return
sql;
}
}