删除分销商
来源:互联网 发布:无法登陆mysql服务器 编辑:程序博客网 时间:2024/04/28 00:11
删除函数
function deleteRegion() {if(window.confirm("确认删除吗?")){with(document.forms[0]){action = "client_node_crud.jsp";submit();}}}
jsp里取得表单值,调用删除分销商方法
<%int id = Integer.parseInt(request.getParameter("id"));Client client = ClientManager.getInstance().findClientOrRegionById(id);//删除区域String command = request.getParameter("command");if(Constants.Del.equals(command)){ClientManager.getInstance().delClientOrRegion(id);%><script type="text/javascript">alert("用户【<%=client.getName()%>】删除成功!");window.parent.clientTreeFrame.location.reload();</script><%}%>
删除分销商方法
/** * 删除分销商或区域 * @param id */public void delClientOrRegion(int id){Connection conn = null;try{conn = DbUtil.getConnection();//手动控制事务DbUtil.beginTransaction(conn);//保存当前分销商Client client = findClientOrRegionById(id);//递归删除树节点recursionDelNode(conn, id);//如果父节点下没有子节点,修改为叶子if(getChildren(conn,client.getPid())==0){modifyIsLeafField(conn, client.getPid(), Constants.YES);}//提交事务DbUtil.commitTransaction(conn);}catch(Exception e){e.printStackTrace();DbUtil.rollbackTransaction(conn);}finally{DbUtil.resetConnection(conn);DbUtil.close(conn);}}
读取分销商
// 读取分销商public Client findClientOrRegionById(int id) {StringBuffer sbSql = new StringBuffer();sbSql.append("select a.id,pid,a.name,client_level_id,b.name as client_level_name,client_id,bank_acct_no,contact_tel,address,zip_code,").append("is_leaf,is_client").append(" from t_client a").append(" left join t_data_dict b on a.client_level_id=b.id").append(" where a.id = ?");Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;conn = DbUtil.getConnection();Client client = null;try {pstmt = conn.prepareStatement(sbSql.toString());pstmt.setInt(1, id);rs = pstmt.executeQuery();while (rs.next()) {client = new Client();client.setId(rs.getInt("id"));client.setPid(rs.getInt("pid"));client.setName(rs.getString("name"));ClientLevel cl = new ClientLevel();cl.setId(rs.getString("client_level_id"));cl.setName(rs.getString("client_level_name"));client.setClientLevel(cl);client.setClientId(rs.getString("client_id"));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 {DbUtil.close(rs);DbUtil.close(pstmt);DbUtil.close(conn);}return client;}
递归删除节点
/** * 递归删除,首先删除下面的子节点 * @param conn * @param id * @throws SQLException */private void recursionDelNode(Connection conn, int id) throws SQLException {String sql = "select * from t_client where pid=?";PreparedStatement pstmt = null;ResultSet rs = null;try{pstmt = conn.prepareStatement(sql);pstmt.setInt(1, id);rs = pstmt.executeQuery();while(rs.next()){if(Constants.NO.equals(rs.getString("is_leaf"))){recursionDelNode(conn,rs.getInt("id"));}delNode(conn, rs.getInt("id"));}//删除自身delNode(conn, id);}finally{DbUtil.close(rs);DbUtil.close(pstmt);}}
获取子节点数目
/** * 获取孩子数目 * @param conn * @param pid * @return * @throws SQLException */private int getChildren(Connection conn, int pid) throws SQLException {String sql = "select count(*) as c from t_client where pid=?";PreparedStatement pstmt = null;ResultSet rs = null;int count = 0;try{pstmt = conn.prepareStatement(sql);pstmt.setInt(1, pid);rs = pstmt.executeQuery();rs.next();count = rs.getInt("c");}finally{DbUtil.close(rs);DbUtil.close(pstmt);}return count;}
修改叶子
/** * 修改isLeaf字段 * * @param conn * 连接 * @param id * @param leaf * 是否为叶子Y/N */private void modifyIsLeafField(Connection conn, int id, String leaf) {String sql = "update t_client t set t.is_leaf=? where id=?";PreparedStatement pstmt = null;try {pstmt = conn.prepareStatement(sql);pstmt.setString(1, leaf);pstmt.setInt(2, id);pstmt.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally {DbUtil.close(pstmt);}}
0 0
- 删除分销商
- 添加或删除分销商时如何刷新那棵树
- 添加分销商
- 电子元器件分销商列表
- 经销商、分销商、代理商
- 分销商管理--代理模式
- AIXUN艾逊,MRO工业品分销商
- 信用管理——分销商管理细谈
- IT分销商:如何突破微利瓶颈
- 干掉分销商,还是干掉渠道商?
- 酒店预订分销系统和分销商
- Memblaze联手分销商Avnet 进军EMEA
- 分销商模块之分销商树的原理及div树的形成
- 增设区域分销商:APC渠道变革拒绝“扁平化”
- cPanel中国的分销商与cPanel演示地址
- 三大Linux分销商将在云OS市场一决雌雄
- 2015中国国内元器件分销商10亿俱乐部20强榜单
- 【捷克生活点滴】投诉包头海尔Haier电脑授权分销商刘智勇
- Delphi学习笔记三 运算符
- 转载的一篇IE之haslayout
- 【Leetcode】TwoSum
- IOS网络编程
- LINUX下的用户访问授权,文件权限
- 删除分销商
- volatile的原子性机制
- 基本知识点
- 华清远见高级讲师蒙洋:Windows CE 6.0 R3让用户界面更炫
- 摩托车类
- 94. 使用范例来编写小巧的函数
- 一个简单的抽奖转盘游戏
- perl学习-用Net::SMTP发邮件
- 简单缓存处理---UDT