⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attachment.java

📁 oa 源码
💻 JAVA
字号:
package com.redmoon.oa.netdisk;import java.io.*;import java.sql.*;import java.util.*;import cn.js.fan.db.*;import cn.js.fan.util.*;import cn.js.fan.web.*;import com.redmoon.oa.person.*;import org.apache.log4j.*;public class Attachment implements java.io.Serializable {    int id;    int docId;    String name;    String fullPath;    String diskName;    String visualPath;    String connname;    String LOAD = "SELECT doc_id, name, fullpath, diskname, visualpath, orders, page_num, file_size, ext, uploadDate, publicShareDir,PUBLIC_SHARE_DEPTS,USER_NAME FROM netdisk_document_attach WHERE id=?";    String SAVE = "update netdisk_document_attach set doc_id=?, name=?, fullpath=?, diskname=?, visualpath=?, orders=?, page_num=?, publicShareDir=?,PUBLIC_SHARE_DEPTS=? WHERE id=?";    Logger logger = Logger.getLogger(Attachment.class.getName());    public Attachment() {        connname = Global.defaultDB;    }    public Attachment(int id) {        connname = Global.defaultDB;        if (connname.equals(""))            logger.info("Attachment:默认数据库名为空!");        this.id = id;        loadFromDb();    }    public Attachment(int orders, int docId, int pageNum) {        connname = Global.defaultDB;        if (connname.equals(""))            logger.info("Attachment:默认数据库名为空!");        this.orders = orders;        this.docId = docId;        this.pageNum = pageNum;        loadFromDbByOrders();    }    public Attachment getAttachment(int id) {        return new Attachment(id);    }    public String getDirCode() {        Document doc = new Document();        doc = doc.getDocument(docId);        if (doc==null || !doc.isLoaded())            return "";        else            return doc.getDirCode();    }    public Leaf getLeaf() {        String dirCode = getDirCode();        if (dirCode.equals(""))            return null;        Leaf lf = new Leaf();        return lf.getLeaf(dirCode);    }    public boolean create() {        String sql =            "insert into netdisk_document_attach (fullpath,doc_id,name,diskname,visualpath,page_num,orders,file_size,ext,publicShareDir,uploaddate,USER_NAME) values (?,?,?,?,?,?,?,?,'',NOW(),?)";        Conn conn = new Conn(connname);        boolean re = false;        try {            PreparedStatement pstmt = conn.prepareStatement(sql);            pstmt.setString(1, fullPath);            pstmt.setInt(2, docId);            pstmt.setString(3, name);            pstmt.setString(4, diskName);            pstmt.setString(5, visualPath);            pstmt.setInt(6, pageNum);            pstmt.setInt(7, orders);                        File f = new File(fullPath);            if (f.exists())                size = f.length();            pstmt.setLong(8, size);            pstmt.setString(9, ext);            userName = getLeaf().getRootCode();            pstmt.setString(10, userName);            re = conn.executePreUpdate()==1?true:false;        }        catch (SQLException e) {            logger.error("create:" + e.getMessage());        }        finally {            if (conn!=null) {                conn.close(); conn = null;            }        }        return re;    }    public boolean del() {        String sql = "delete from netdisk_document_attach where id=?";        Conn conn = new Conn(connname);        boolean re = false;        try {            PreparedStatement pstmt = conn.prepareStatement(sql);            logger.info("del:id=" + id);            pstmt.setInt(1, id);            re = conn.executePreUpdate()==1?true:false;            pstmt.close();                        sql = "update netdisk_document_attach set orders=orders-1 where doc_id=? and page_num=? and orders>?";            pstmt = conn.prepareStatement(sql);            pstmt.setInt(1, docId);            pstmt.setInt(2, pageNum);            pstmt.setInt(3, orders);            conn.executePreUpdate();                        UserDb ud = new UserDb();            Document doc = new Document();            doc = doc.getDocument(docId);            ud = ud.getUserDb(doc.getNick());            ud.setDiskSpaceUsed(ud.getDiskSpaceUsed() - size);            ud.save();        }        catch (SQLException e) {            logger.error("del:" + e.getMessage());        }        finally {            if (conn!=null) {                conn.close(); conn = null;            }        }                File fl = new File(this.fullPath);        fl.delete();        return re;    }    public boolean save() {        Conn conn = new Conn(connname);        boolean re = false;        try {            PreparedStatement pstmt = conn.prepareStatement(SAVE);            pstmt.setInt(1, docId);            pstmt.setString(2, name);            pstmt.setString(3, fullPath);            pstmt.setString(4, diskName);            pstmt.setString(5, visualPath);            pstmt.setInt(6, orders);            pstmt.setInt(7, pageNum);            pstmt.setString(8, publicShareDir);            pstmt.setString(9, publicShareDepts);            pstmt.setInt(10, id);            re = conn.executePreUpdate()==1?true:false;        }        catch (SQLException e) {            logger.error("save:" + e.getMessage());        }        finally {            if (conn!=null) {                conn.close(); conn = null;            }        }        return re;    }    public int getId() {        return this.id;    }    public void setId(int id) {        this.id = id;    }    public int getDocId() {        return this.docId;    }    public void setDocId(int di) {        this.docId = di;    }    public String getName() {        return this.name;    }    public void setName(String name) {        this.name = name;    }    public String getDiskName() {        return this.diskName;    }    public void setDiskName(String dn) {        this.diskName = dn;    }    public String getFullPath() {        return this.fullPath;    }    public void setFullPath(String f) {        this.fullPath = f;    }    public String getVisualPath() {        return this.visualPath;    }    public int getOrders() {        return orders;    }    public int getPageNum() {        return pageNum;    }    public boolean isLoaded() {        return loaded;    }    public long getSize() {        return size;    }    public String getExt() {        return ext;    }    public void setVisualPath(String vp) {        this.visualPath = vp;    }    public void setOrders(int orders) {        this.orders = orders;    }    public void setPageNum(int pageNum) {        this.pageNum = pageNum;    }    public void setLoaded(boolean loaded) {        this.loaded = loaded;    }    public void setSize(long size) {        this.size = size;    }    public void setExt(String ext) {        this.ext = ext;    }    public void setPublicShareDir(String publicShareDir) {        this.publicShareDir = publicShareDir;    }    public void setPublicShareDepts(String publicShareDepts) {        this.publicShareDepts = publicShareDepts;    }    public void setUserName(String userName) {        this.userName = userName;    }    public static String getIcon(String ext) {       if (ext == null)           return "default.gif";       if (ext.equals("doc") || ext.equals("xls") || ext.equals("gif") ||           ext.equals("jpg"))           return ext + ".gif";       if (ext.equals("jpeg"))           return "jpg.gif";       if (ext.equals("exe"))           return "exe.gif";       if (ext.equals("rar"))           return "rar.gif";       if (ext.equals("wmv") || ext.equals("wma") || ext.equals("mp3"))           return "mp3.gif";       return "default.gif";   }   public String  getIcon() {       return getIcon(ext);   }    public void loadFromDb() {        Conn conn = new Conn(connname);        PreparedStatement pstmt = null;        ResultSet rs = null;        try {            pstmt = conn.prepareStatement(LOAD);            pstmt.setInt(1, id);            rs = conn.executePreQuery();            if (rs != null && rs.next()) {                docId = rs.getInt(1);                name = rs.getString(2);                fullPath = rs.getString(3);                diskName = rs.getString(4);                visualPath = rs.getString(5);                orders = rs.getInt(6);                pageNum = rs.getInt(7);                size = rs.getInt(8);                ext = rs.getString(9);                uploadDate = rs.getTimestamp(10);                publicShareDir = rs.getString(11);                publicShareDepts = StrUtil.getNullStr(rs.getString(12));                userName = StrUtil.getNullStr(rs.getString(13));                loaded = true;            }        } catch (SQLException e) {            logger.error("loadFromDb:" + e.getMessage());        } finally {            if (rs != null) {                try {                    rs.close();                } catch (Exception e) {}                rs = null;            }            if (conn != null) {                conn.close();                conn = null;            }        }    }    public void loadFromDbByOrders() {        PreparedStatement pstmt = null;        ResultSet rs = null;        Conn conn = new Conn(connname);        try {            String LOADBYORDERS = "SELECT id, name, fullpath, diskname, visualpath, file_size, ext, uploadDate, publicShareDir, PUBLIC_SHARE_DEPTS, USER_NAME FROM netdisk_document_attach WHERE orders=? and doc_id=? and page_num=?";            pstmt = conn.prepareStatement(LOADBYORDERS);            pstmt.setInt(1, orders);            pstmt.setInt(2, docId);            pstmt.setInt(3, pageNum);            rs = conn.executePreQuery();            if (rs != null && rs.next()) {                id = rs.getInt(1);                name = rs.getString(2);                fullPath = rs.getString(3);                diskName = rs.getString(4);                visualPath = rs.getString(5);                size = rs.getInt(6);                ext = rs.getString(7);                uploadDate = rs.getTimestamp(8);                publicShareDir = StrUtil.getNullStr(rs.getString(9));                publicShareDepts = StrUtil.getNullStr(rs.getString(10));                userName = StrUtil.getNullStr(rs.getString(11));                loaded = true;            }        } catch (SQLException e) {            logger.error("loadFromDbByOrders:" + e.getMessage());        } finally {            if (rs != null) {                try {                    rs.close();                } catch (Exception e) {}                rs = null;            }            if (conn != null) {                conn.close();                conn = null;            }        }    }    public java.util.Date getUploadDate() {        return uploadDate;    }    public String getPublicShareDir() {        return publicShareDir;    }    public String getPublicShareDepts() {        return publicShareDepts;    }    public String getUserName() {        return userName;    }    public ListResult listResult(String listsql, int curPage, int pageSize) throws            ErrMsgException {        int total = 0;        ResultSet rs = null;        Vector result = new Vector();        ListResult lr = new ListResult();        lr.setTotal(total);        lr.setResult(result);        Conn conn = new Conn(connname);        try {                        String countsql = SQLFilter.getCountSql(listsql);            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(listsql);            if (rs == null) {                return lr;            } else {                rs.setFetchSize(pageSize);                int absoluteLocation = pageSize * (curPage - 1) + 1;                if (rs.absolute(absoluteLocation) == false) {                    return lr;                }                do {                    Attachment ug = getAttachment(rs.getInt(1));                    result.addElement(ug);                } while (rs.next());            }        } catch (SQLException e) {            logger.error(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;    }    private int orders = 0;    private int pageNum;    private boolean loaded = false;    private long size = 0;    private String ext;    private java.util.Date uploadDate;    private String publicShareDir;    private String publicShareDepts;    private String userName;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -