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;
}
}