📄 taskdb.java
字号:
return title; } public String getContent() { return content; } public String getFileName() { return fileName; } public String getExt() { return ext; } public int getType() { return type; } public int getExpression() { return expression; } public String getInitiator() { return initiator; } public int getRootId() { return rootId; } public String getPerson() { return person; } public int getLayer() { return layer; } public int getOrders() { return orders; } public int getParentId() { return parentId; } public String getIp() { return ip; } public int getReCount() { return reCount; } public int getStatus() { return status; } public java.util.Date getMyDate() { return myDate; } public String getJobCode() { return jobCode; } public Vector getAttachments() { return attachments; } public int getActionId() { return actionId; } public synchronized boolean del(int delid) throws ErrMsgException { TaskDb td = getTaskDb(delid); TaskDb rootTd = td.getTaskDb(td.getRootId()); if (td == null || !td.isLoaded()) throw new ErrMsgException("该任务已不存在!"); ResultSet rs = null; int layer = 1, orders = 1, rootid = -1; String sql; layer = td.getLayer(); rootid = td.getRootId(); orders = td.getOrders(); initiator = td.getInitiator(); boolean updateorders = true; int orders1 = orders; boolean re = td.del(); if (!re) return false; Conn conn = new Conn(connname); try { if (rootid == delid) { sql = "select id from task where rootid=" + delid + " and parentid<>-1"; rs = conn.executeQuery(sql); while (rs.next()) { TaskDb t = td.getTaskDb(rs.getInt(1)); t.del(); } if (rs != null) { rs.close(); rs = null; } updateorders = false; } else { sql = "select min(orders) from task where rootid=" + rootid + " and orders>" + orders + " and layer<=" + layer; rs = conn.executeQuery(sql); if (rs != null && rs.next()) { orders1 = rs.getInt(1); } if (rs!=null) { rs.close(); rs = null; } if (orders1 == 0) { sql = "select id from task where rootid=" + rootid + " and orders>" + orders; rs = conn.executeQuery(sql); while (rs.next()) { TaskDb t = td.getTaskDb(rs.getInt(1)); t.del(); } if (rs != null) { rs.close(); rs = null; } updateorders = false; rootTd.setReCount(orders - 2); rootTd.save(); } else { sql = "select id from task where rootid=" + rootid + " and orders>" + orders + " and orders<" + orders1; logger.info("delTipic:sql=" + sql); rs = conn.executeQuery(sql); while (rs.next()) { TaskDb t = td.getTaskDb(rs.getInt(1)); t.del(); } if (rs!=null) { rs.close(); rs = null; } rootTd.setReCount(rootTd.getReCount() - (orders1 - orders)); logger.info("recount=" + td.getReCount() + " " + (orders1 - orders)); rootTd.save(); } } if (re && updateorders) { int dlt = orders1 - orders; sql = "select id from task where rootid=" + rootid + " and orders>=" + orders1; rs = conn.executeQuery(sql); while (rs.next()) { TaskDb t = td.getTaskDb(rs.getInt(1)); t.setOrders(t.getOrders() - dlt); t.save(); } } } catch (SQLException e) { logger.error("del:" + e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) {} rs = null; } if (conn!=null) { conn.close(); conn = null; } } return re; } public Vector getUserJoinTask(String username) { String sql = "select distinct rootid from task where person=? order by mydate desc"; ResultSet rs = null; Vector v = new Vector(); Conn conn = new Conn(connname); try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); rs = conn.executePreQuery(); if (rs != null) { while (rs.next()) { v.addElement(getTaskDb(rs.getInt(1))); } } } catch (Exception e) { logger.error("getUserJoinTask:" + e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) {} rs = null; } if (conn!=null) { conn.close(); conn = null; } } return v; } public Vector getUserNotFinishedTask(String username) { String sql = "select distinct rootid from task where status=" + STATUS_NOTFINISHED + " and person=? order by mydate desc"; ResultSet rs = null; Vector v = new Vector(); Conn conn = new Conn(connname); try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); rs = conn.executePreQuery(); if (rs != null) { while (rs.next()) { v.addElement(getTaskDb(rs.getInt(1))); } } } catch (Exception e) { logger.error("getTaskNotFinishedOfPerson:" + e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) {} rs = null; } if (conn!=null) { conn.close(); conn = null; } } return v; } public ListResult listResult(String sql, int curPage, int pageSize) throws ErrMsgException { int total = 0; ResultSet rs = null; Vector result = new Vector(); ListResult lr = new ListResult(); lr.setResult(result); lr.setTotal(total); Conn conn = new Conn(connname); try { String countsql = SQLFilter.getCountSql(sql); rs = conn.executeQuery(countsql); if (rs != null && rs.next()) { total = rs.getInt(1); } if (rs != null) { rs.close(); rs = null; } if (total != 0) conn.setMaxRows(curPage * pageSize); rs = conn.executeQuery(sql); if (rs == null) { return lr; } else { TaskDb td; rs.setFetchSize(pageSize); int absoluteLocation = pageSize * (curPage - 1) + 1; if (rs.absolute(absoluteLocation) == false) { return lr; } do { td = getTaskDb(rs.getInt(1)); result.addElement(td); } while (rs.next()); } } catch (SQLException e) { logger.error("listResult:" + e.getMessage()); throw new ErrMsgException("数据库出错!"); } finally { if (rs != null) { try { rs.close(); } catch (Exception e) {} rs = null; } if (conn != null) { conn.close(); conn = null; } } lr.setResult(result); lr.setTotal(total); return lr; } public ListResult listResult(String sql) throws ErrMsgException { int total = 0; ResultSet rs = null; Vector result = new Vector(); ListResult lr = new ListResult(); lr.setResult(result); lr.setTotal(total); Conn conn = new Conn(connname); try { String countsql = SQLFilter.getCountSql(sql); rs = conn.executeQuery(countsql); if (rs != null && rs.next()) { total = rs.getInt(1); } if (rs != null) { rs.close(); rs = null; } if (total != 0) conn.setMaxRows(total); rs = conn.executeQuery(sql); if (rs == null) { return lr; } else { TaskDb td; rs.setFetchSize(total); while (rs.next()) { td = getTaskDb(rs.getInt(1)); result.addElement(td); } } } catch (SQLException e) { logger.error("listResult:" + e.getMessage()); throw new ErrMsgException("数据库出错!"); } finally { if (rs != null) { try { rs.close(); } catch (Exception e) {} rs = null; } if (conn != null) { conn.close(); conn = null; } } return lr; } private String title; private String content; private String fileName; private String ext; private int type; private int expression; private String initiator; private int rootId = -1; private String person; private int layer = 1; private int orders = 1; private int parentId = -1; private String ip; private int reCount = 0; private int status = 0; private java.util.Date myDate; private String jobCode; private Vector attachments; private int actionId;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -