package com.bjsxt.drp.basedata;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.bjsxt.drp.util.DB;
import com.bjsxt.drp.util.PageModel;
import com.bjsxt.drp.util.datadict.ClientLevel;
/**
* 分销商管理类
* @author Administrator
*
*/
public class ClientManager {
private static ClientManager instance = null;
private ClientManager() {}
/**
* 获取分销商管理者对象
* @return
*/
public static synchronized ClientManager getInstance() {
if (instance == null) {
instance = new ClientManager();
}
return instance;
}
/**
* 获取分销商树html字符串
* @return
*/
public String getTreeString() {
ClientTreeReader treeReader = new ClientTreeReader();
treeReader.read();
return treeReader.getTreeString();
}
/**
* 根据id查询区域或分销商
* @param id
* @return
*/
public Client findRegionOrClientById(int id) {
StringBuffer sbfSql = new StringBuffer();
sbfSql.append("select a.id, a.pid, a.name, a.client_id, b.id as client_level_id, b.name as client_level_name, ")
.append("a.bank_acct_no, a.contact_tel, a.address, a.zip_code, a.is_leaf, a.is_client ")
.append("from t_client a left join t_data_dict b on a.client_level=b.id ")
.append("where a.id=?");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
Client client = null;
try {
conn = DB.getConn();
pstmt = conn.prepareStatement(sbfSql.toString());
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
client = new Client();
client.setId(rs.getInt("id"));
client.setPid(rs.getInt("pid"));
client.setName(rs.getString("name"));
client.setClientId(rs.getString("client_id"));
//注意这个对象的赋值
ClientLevel cl = new ClientLevel();
cl.setId(rs.getString("client_level_id"));
cl.setName(rs.getString("client_level_name"));
client.setClientLevel(cl);
client.setBankAcctNo(rs.getString("bank_acct_no"));
client.setContactTel(rs.getString("contact_tel"));
client.setAddress(rs.getString("address"));
client.setZipCode(rs.getString("zip_code"));
client.setIsLeaf(rs.getString("is_leaf"));
client.setIsClient(rs.getString("is_client"));
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
DB.closeRs(rs);
DB.closeStmt(pstmt);
DB.closeConn(conn);
}
return client;
}
/**
* 增加区域或分销商
* @param client
*/
public void addRegionOrClient(Client client) {
StringBuffer sbfSql = new StringBuffer();
sbfSql.append("insert into t_client(pid, name, client_id, client_level, bank_acct_no, ")
.append("contact_tel, address, zip_code, is_leaf, is_client) ")
.append("values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DB.getConn();
//开启事务,因为对两个表进行更新操作
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sbfSql.toString());
pstmt.setInt(1, client.getPid());
pstmt.setString(2, client.getName());
pstmt.setString(3, client.getClientId());
pstmt.setString(4, client.getClientLevel().getId());
pstmt.setString(5, client.getBankAcctNo());
pstmt.setString(6, client.getContactTel());
pstmt.setString(7, client.getAddress());
pstmt.setString(8, client.getZipCode());
pstmt.setString(9, client.getIsLeaf());
pstmt.setString(10, client.getIsClient());
pstmt.executeUpdate();
//更新节点为非叶子节点
modifyIsLeafField(conn, client.getPid());
conn.commit();
}catch(SQLException e) {
try {
//事务回滚
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
DB.closeStmt(pstmt);
DB.closeConn(conn);
}
}
/**
* 更新节点为非叶子节点
* @param conn
* @param id
*/
private void modifyIsLeafField(Connection conn, int id) {
String sql = "update t_client set is_leaf='N' where id=?";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally {
DB.closeStmt(pstmt);
}
}
/*
* 根据id删除分销商树节点
*/
public void deleteTreeNodeById(int id) {
String sql = "select * from t_client where pid=?";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DB.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
while (rs.next()) {
if (rs.getString("is_leaf").equals("N")) {
deleteTreeNodeById(rs.getInt("id"));
}
deleteTreeNodeById(conn, rs.getInt("id"));
}
deleteTreeNodeById(conn, id);
}catch(SQLException e) {
e.printStackTrace();
}finally {
DB.closeRs(rs);
DB.closeStmt(pstmt);
DB.closeConn(conn);
}
}
public void deleteTreeNodeById(Connection conn, int id) {
String sql = "delete from t_client where id=?";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally {
DB.closeStmt(pstmt);
}
}
// public void deleteTreeNodeById(int id) {
// String sql = "delete from t_client where id=? or pid=?";
// Connection conn = null;
// PreparedStatement pstmt = null;
// try {
// conn = DB.getConn();
// pstmt = conn.prepareStatement(sql);
// pstmt.setInt(1, id);
// pstmt.setInt(2, id);
// pstmt.executeUpdate();
// } catch (SQLException e) {
// e.printStackTrace();
// }finally {
// DB.closeStmt(pstmt);
// DB.closeConn(conn);
// }
// }
/**
* 修改区域数据
* @param id
* @param name
*/
public void modifyRegion(int id, String name) {
String sql = "update t_client set name=? where id=?";
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DB.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, id);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DB.closeStmt(pstmt);
DB.closeConn(conn);
}
}
/**
* 修改分销商数据
* @param client
*/
public void modifyClient(Client client) {
String sql = "update t_client set name=?, client_id=?, client_level=?, bank_acct_no=?, contact_tel=?, address=?, zip_code=? " +
"where id=?";
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DB.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, client.getName());
pstmt.setString(2, client.getClientId());
pstmt.setString(3, client.getClientLevel().getId());
pstmt.setString(4, client.getBankAcctNo());
pstmt.setString(5, client.getContactTel());
pstmt.setString(6, client.getAddress());
pstmt.setString(7, client.getZipCode());
pstmt.setInt(8, client.getId());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
DB.closeStmt(pstmt);
DB.closeConn(conn);
}
}
/**
* 查询所有的分销删,对应页面aim_client_select.html
* @param pageNo
* @param pageSize
* @param queryStr
* @return
*/
public PageModel findAllAimClients(int pageNo, int pageSize,
String queryStr) {
String sql = "select id, name, level_id, level_name from v_aim_client " +
"where (id like '" + queryStr + "%' or name like '" + queryStr + "%') " +
" order by id " +
"limit " +
(pageNo-1) * pageSize +
", " +
pageSize;
System.out.println(sql);
Connection conn = null;
Statement stmt = null;
ResultSet rs = nul
没有合适的资源?快使用搜索试试~ 我知道了~
java大型企业DRP系统源码带sql数据库
共1669个文件
gif:630个
html:370个
java:157个
1星 需积分: 9 31 下载量 97 浏览量
2008-11-14
12:33:36
上传
评论
收藏 7.44MB RAR 举报
温馨提示
java大型企业DRP系统源码带sql数据库,很好用的
资源推荐
资源详情
资源评论
收起资源包目录
java大型企业DRP系统源码带sql数据库 (1669个子文件)
ClientManager.class 11KB
ClientManager.class 11KB
FlowCardDao4MySqlImpl.class 10KB
FlowCardDao4MySqlImpl.class 10KB
ItemDao4MySqlImpl.class 8KB
ItemDao4MySqlImpl.class 8KB
ItemDao4MySqlImpl.class 8KB
UserManager.class 7KB
UserManager.class 7KB
ClientManager.class 7KB
ClientManager.class 7KB
UserManager.class 6KB
UserManager.class 6KB
UserManager.class 6KB
FiscalYearPeriodManager.class 6KB
FiscalYearPeriodManager.class 6KB
UserManager.class 6KB
UserManager.class 6KB
ItemDao4OracleImpl.class 5KB
ItemDao4OracleImpl.class 5KB
ItemDao4OracleImpl.class 5KB
FileUpload.class 5KB
FileUpload.class 5KB
FlowCard.class 4KB
FlowCard.class 4KB
ClientStatManager.class 4KB
ClientStatManager.class 4KB
AuthImage.class 4KB
AuthImage.class 4KB
ItemManager.class 4KB
ItemManager.class 4KB
ItemManager.class 4KB
ClientTreeReader.class 3KB
ClientTreeReader.class 3KB
ClientTreeReader.class 3KB
ClientTreeReader.class 3KB
DataDictManager.class 3KB
DataDictManager.class 3KB
DataDictManager.class 3KB
ChartDemoServlet.class 3KB
ChartDemoServlet.class 3KB
FlowCardManager.class 3KB
FlowCardManager.class 3KB
SelectProvinceServlet.class 3KB
SelectProvinceServlet.class 3KB
Client.class 3KB
Client.class 3KB
Client.class 3KB
Client.class 3KB
FlowCardDetail.class 2KB
FlowCardDetail.class 2KB
PieChartDemo.class 2KB
PieChartDemo.class 2KB
ItemManager.class 2KB
AuthFilter.class 2KB
AuthFilter.class 2KB
AuthFilter.class 2KB
AuthFilter.class 2KB
AuthFilter.class 2KB
DB.class 2KB
DB.class 2KB
DataDictManager.class 2KB
DB.class 2KB
DB.class 2KB
DB.class 2KB
DB.class 2KB
DB.class 2KB
CharsetEncodingFilter.class 2KB
CharsetEncodingFilter.class 2KB
CharsetEncodingFilter.class 2KB
CharsetEncodingFilter.class 2KB
CharsetEncodingFilter.class 2KB
UserCountListener.class 2KB
UserCountListener.class 2KB
IpFilter.class 2KB
IpFilter.class 2KB
Item.class 2KB
Item.class 2KB
Item.class 2KB
Item.class 2KB
FiscalYearPeriod.class 2KB
FiscalYearPeriod.class 2KB
PageModel.class 2KB
PageModel.class 2KB
PageModel.class 2KB
PageModel.class 2KB
PageModel.class 2KB
PageModel.class 2KB
PageModel.class 2KB
FlowCardDao4OracleImpl.class 2KB
FlowCardDao4OracleImpl.class 2KB
User.class 2KB
User.class 2KB
User.class 2KB
User.class 2KB
User.class 2KB
User.class 2KB
User.class 2KB
FiscalYearPeriod.class 1KB
FiscalYearPeriod.class 1KB
共 1669 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
- 75老猿2015-11-26没法实际使用,就当做一个java学习的例子吧
yueniao1234
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功