📄 codemanager.java
字号:
package cn.edu.ujn.srms.code;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import cn.edu.ujn.srms.pub.util.ParamUtils;
import cn.edu.ujn.srms.pub.conn.SQLBean;
public class CodeManager {
private static SQLBean dbc = null;
protected int id, parentid;
protected String name, sequenceNo, code, level, note, node;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNode() {
return node;
}
public void setNode(String node) {
this.node = node;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public int getParentid() {
return parentid;
}
public void setParentid(int parentid) {
this.parentid = parentid;
}
public String getSequenceNo() {
return sequenceNo;
}
public void setSequenceNo(String sequenceNo) {
this.sequenceNo = sequenceNo;
}
public CodeManager(boolean Conn) {
if (Conn) {
try {
dbc = new SQLBean();
} catch (Exception e) {
System.err.println(e);
}
}
};
/***************************************************************************
* 添加新代码类型 *
**************************************************************************/
public int addCodeType(HttpServletRequest request) throws Exception {
request.setCharacterEncoding("GBK");
String codetype_name = ParamUtils.getString(request, "name", "");
String code = ParamUtils.getString(request, "code", "");
String sequenceNo = ParamUtils.getString(request, "sequenceNo", "1");
System.out.println("--中文测试--:" + codetype_name);
boolean foundErr = false;
int codetypeid = -1;
String errMsg = "";
ResultSet rs;
if (!foundErr) {
dbc
.prepareStatement("Select * from srms_dmk where NAME=? and PARENTID=-1");
dbc.setString(1, codetype_name);
rs = dbc.executeQuery();
if (rs.next()) {
rs.close();
foundErr = true;
return codetypeid;
}
}
String note = ParamUtils.getString(request, "note", "");
if (!foundErr) {
String sql = "INSERT INTO srms_dmk (NAME,PARENTID,CODE,NOTE,sequenceNo)"
+ " VALUES ('"
+ codetype_name
+ "',-1,'"
+ code
+ "','"
+ note + "','" + sequenceNo + "')";
dbc.executeUpdate(sql);
dbc
.prepareStatement("Select ID from srms_dmk where NAME=? and PARENTID=-1");
dbc.setString(1, codetype_name);
rs = dbc.executeQuery();
rs.next();
codetypeid = rs.getInt("ID");
}
dbc.close();
if (foundErr)
throw new Exception(errMsg);
return codetypeid;
}
/***************************************************************************
* 添加新代码内容 *
**************************************************************************/
public int addCode(HttpServletRequest request) throws Exception {
boolean foundErr = false;
String id = ParamUtils.getString(request, "parentid", "");
int parentid = Integer.parseInt(id);
int childid = -1;
String code = ParamUtils.getString(request, "code", "");
String name = ParamUtils.getString(request, "name", "");
String note = ParamUtils.getString(request, "note", "");
String sequenceNo = ParamUtils.getString(request, "sequenceNo", "1");
String errMsg = "";
ResultSet rs;
if (!foundErr) {
rs = dbc.executeQuery("Select * from srms_dmk where PARENTID="
+ parentid + " and NAME='" + name + "'");
if (rs.next()) {
rs.close();
errMsg = errMsg
+ "□ 您输入的表项在指定的代码表中已经存在!<br>□ 五秒钟后会自动返回上一页。<br><meta HTTP-EQUIV=REFRESH REVIEW_README='5; URL=javascript:history.go(-1)'>";
foundErr = true;
}
rs.close();
}
if (!foundErr) {
String sql = "INSERT INTO srms_dmk (PARENTID,CODE,NAME,NOTE,sequenceNo"
+ ") VALUES ("
+ parentid
+ ",'"
+ code
+ "','"
+ name
+ "','" + note + "','" + sequenceNo + "')";
dbc.executeUpdate(sql);
rs = dbc.executeQuery("Select id from srms_dmk where PARENTID="
+ parentid + " and NAME='" + name + "'");
rs.next();
childid = rs.getInt("id");
rs.close();
}
dbc.close();
return childid;
}
/***************************************************************************
* 添加新资料内容 *
**************************************************************************/
public static int appCode(HttpServletRequest request) throws Exception {
boolean foundErr = false;
// ApplyTable applyTable = new ApplyTable(true);
String id = ParamUtils.getString(request, "parentid", "");
int parentid = Integer.parseInt(id);
int childid = -1;
String code = ParamUtils.getString(request, "code", "");
String name = ParamUtils.getString(request, "name", "");
String value = ParamUtils.getString(request, "note", "");
String errMsg = "";
ResultSet rs;
if (!foundErr) {
rs = dbc.executeQuery("Select * from srms_dmk where PARENTID="
+ parentid + " and NAME='" + name + "'");
if (rs.next()) {
rs.close();
errMsg = errMsg
+ "□ 您输入的表项在指定的代码表模版已经存在!<br>□ 五秒钟后会自动返回上一页。<br><meta HTTP-EQUIV=REFRESH REVIEW_README='5; URL=javascript:history.go(-1)'>";
foundErr = true;
}
rs.close();
}
if (!foundErr) {
String sql = "INSERT INTO srms_dmk (PARENTID,CODE,NAME,NOTE) VALUES ("
+ parentid
+ ",'"
+ code
+ "','"
+ name
+ "','"
+ value
+ "',')";
dbc.executeUpdate(sql);
rs = dbc.executeQuery("Select id from srms_dmk where PARENTID="
+ parentid + " and NAME='" + name + "'");
rs.next();
childid = rs.getInt("id");
rs.close();
}
dbc.close();
return childid;
}
/***************************************************************************
* 读出节点信息 *
**************************************************************************/
public CodeManager getById(int id) throws Exception {
CodeManager codeManager = new CodeManager(false);
String sql = "select * from srms_dmk where id=" + id;
ResultSet rs = dbc.executeQuery(sql);
// System.out.println("criterion_id: " + id);
rs.next();
codeManager.setId(rs.getInt("id"));
codeManager.setParentid(rs.getInt("parentid"));
codeManager.setCode(rs.getString("code"));
codeManager.setName(rs.getString("name"));
codeManager.setSequenceNo(rs.getString("sequenceNo"));
// System.out.println(criterion.criterionName);
codeManager.setNote(rs.getString("note"));
// codeManager.setType(rs.getInt("type"));
return codeManager;
}
/***************************************************************************
* 读出所有通用代码表的资料 *
**************************************************************************/
public ArrayList loadAll() {
ArrayList codelist = new ArrayList();
try {
String sql = "select * from srms_dmk order by id";
ResultSet rs = dbc.executeQuery(sql);
rs.last();// 移动到最后一行
int row = rs.getRow();// 得到总记录数
if (row <= 0) {// 如果没有子结点
return null;// 返回null
} else {// 如果有子结点
rs.beforeFirst();
while (rs.next()) {
CodeManager codeManager = new CodeManager(false);
codeManager.setId(rs.getInt("ID"));
codeManager.setName(rs.getString("NAME"));
codeManager.setParentid(rs.getInt("PARENTID"));
codeManager.setCode(rs.getString("CODE"));
codeManager.setNote(rs.getString("NOTE"));
codeManager.setSequenceNo(rs.getString("sequenceNo"));
codelist.add(codeManager);
}
rs.close();
return codelist;// 返回该记录的所有子结点
}
} catch (Exception e) {
System.err.println(e);
}
return codelist;
}
/***************************************************************************
* 根据根节点的ID读出所有通用代码表的资料 *
**************************************************************************/
public ArrayList loadAllbyId(int codeid) {
ArrayList codelist = new ArrayList();
try {
String sql = "select * from srms_dmk where ID='"+codeid+"' order by sequenceno,id";
ResultSet rs = dbc.executeQuery(sql);
rs.last();// 移动到最后一行
int row = rs.getRow();// 得到总记录数
//System.out.println("----测试:----总记录数:"+row);
if (row <= 0) {// 如果没有子结点
return null;// 返回null
} else {// 如果有子结点
rs.beforeFirst();
while (rs.next()) {
CodeManager codeManager = new CodeManager(false);
codeManager.setId(rs.getInt("ID"));
codeManager.setName(rs.getString("NAME"));
codeManager.setParentid(rs.getInt("PARENTID"));
codeManager.setCode(rs.getString("CODE"));
codeManager.setNote(rs.getString("NOTE"));
codeManager.setSequenceNo(rs.getString("sequenceNo"));
codelist.add(codeManager);
if(codeManager.canExpand(codeid))
{
codelist=codeManager.loadChild(codeid, codelist,dbc);
}
}
rs.close();
return codelist;// 返回该记录的所有子结点
}
} catch (Exception e) {
System.err.println(e);
}
return codelist;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -