- 论坛徽章:
- 0
|
private void adjust(Connection conn, String strParentTreeId)
throws SQLException {
Statement stmt = conn.createStatement();
String strSql = "select record_id,material_type_id,material_type_name,"
+ "material_type_short_name,material_flag,remark,tree_id,depth,long_id,long_name,seq "
+ "from t_mim_code_material_type where use_flag=1 and "
+ " tree_id like '" + strParentTreeId + "%' "
+ "order by tree_id";
ResultSet rs = stmt.executeQuery(strSql);
// 1.将所有数据放在一个list中
ArrayList listCC = new ArrayList();
while (rs.next()) {
Materialtype cc = new Materialtype(rs.getString("record_id"), rs
.getString("tree_id"));
cc.setDepth(rs.getInt("depth"));
cc.setLong_name(rs.getString("long_name"));
cc.setLong_id(rs.getString("long_id"));
cc.setMaterial_type_name(rs.getString("material_type_name"));
cc.setMaterial_type_id(rs.getString("material_type_id"));
listCC.add(cc);
}
rs.close();
stmt.close();
// 2.将这些数据组织
// 修改各级项目的深度:如果为叶子节点,=0,否则 = length(tree_id)/6
Materialtype ccPre = null;
// 设置父子关系
for (int i = 0; i = ccNext.getDepth()) {
ccTmp = ccTmp.getParent();
}
ccNext.setParent(ccTmp);
}
ccPre = ccNext;
}
for (int i = 0; i
// 3.把这些数据更新到数据库,prepareStatement
strSql = " update t_mim_code_material_type set depth= ?,"
+ "long_id=? , long_name=? where record_id= ?";
PreparedStatement pstmt = conn.prepareStatement(strSql);
pstmt.setInt(1, ccNext.getDepth());
pstmt.setString(2, ccNext.getLong_id());
pstmt.setString(3, ccNext.getLong_name());
pstmt.setString(4, ccNext.getRecord_id());
pstmt.execute();
pstmt.close();
}
}
package ch.mim.basecode;
import java.util.ArrayList;
/**
*
* @author wzt
* @version 1.01.2006-11-29
*/
public class Materialtype extends Object {
String record_id;
String material_type_id;
String material_type_name;
String material_type_short_name;
int material_flag;
String remark;
String tree_id;
int depth;
String long_id;
String long_name;
int seq;
private Materialtype parent;
private ArrayList children = new ArrayList();
public Materialtype(String record_id) {
this.record_id = record_id;
}
public Materialtype() {
super();
}
public Materialtype getParent() {
return parent;
}
public void setParent(Materialtype parent) {
if (parent != null)
parent.addAChild(this);
this.parent = parent;
}
public boolean hasChild() {
return children.size() > 0;
}
public void addAChild(Materialtype achild) {
children.add(achild);
}
public Materialtype(String record_id, String tree_id) {
this.record_id = record_id;
this.tree_id = tree_id;
}
public int getDepth() {
return depth;
}
public void setDepth(int depth) {
this.depth = depth;
}
public String getLong_id() {
return long_id;
}
public void setLong_id(String long_id) {
this.long_id = long_id;
}
public String getLong_name() {
return long_name;
}
public void setLong_name(String long_name) {
this.long_name = long_name;
}
public int getMaterial_flag() {
return material_flag;
}
public void setMaterial_flag(int material_flag) {
this.material_flag = material_flag;
}
public String getMaterial_type_id() {
return material_type_id;
}
public void setMaterial_type_id(String material_type_id) {
this.material_type_id = material_type_id;
}
public String getMaterial_type_name() {
return material_type_name;
}
public void setMaterial_type_name(String material_type_name) {
this.material_type_name = material_type_name;
}
public String getMaterial_type_short_name() {
return material_type_short_name;
}
public void setMaterial_type_short_name(String material_type_short_name) {
this.material_type_short_name = material_type_short_name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
public String getTree_id() {
return tree_id;
}
public void setTree_id(String tree_id) {
this.tree_id = tree_id;
}
public String getRecord_id() {
return record_id;
}
public void setRecord_id(String record_id) {
this.record_id = record_id;
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18825/showart_208091.html |
|