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

📄 doufolder.java

📁 办公自动化项目
💻 JAVA
字号:

package com.t60.oa.doc.service;

import java.text.SimpleDateFormat;
import java.util.*;

import com.t60.oa.doc.struts.ReadActionForm;
import com.t60.oa.po.*;
import com.t60.oa.po.base.BaseDoucumentEdition;
import hong.javanet.dao.HibernateUtil;
import org.hibernate.*;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.apache.log4j.Logger;

public class DouFolder {
    private static Logger log=Logger.getLogger(DouFolder.class);
    private ReadActionForm form;
    private String doucumentFolder;
    private List list;
    private List listDate; //取得时间集合
    private List docResult;
    private String message;
    private List acclist;
    private int editionId;
    private String context;
    private Integer id;
    private String docId;
    private DoucumentEdition edit;
    private String ownername;
    private String docPath;
    private static SimpleDateFormat sdf =
            new SimpleDateFormat("yyyy-MM-dd");
    /**
     * 点击主页面文档连接显示最新文档相关内容
     * 原理:根据主页面文档ID取得最新文档信息(取得文档ID即可)
     * 关联表:版本表,附件表,员工表
     * @throws Exception
     */
    public void showFolder() throws Exception {
        Session session = HibernateUtil.currentSession();
        Criteria criEditionDate = session.createCriteria(BaseDoucumentEdition.class);
        Criteria criFolderDate = criEditionDate.createCriteria("doucumentFolder");
        criFolderDate.add(Restrictions.eq("id", this.doucumentFolder));
        criEditionDate.addOrder(Order.desc("editDate")); //排序
        this.listDate = criEditionDate.list(); //为了取得发表时间集合



        Criteria criEdition = session.createCriteria(DoucumentEdition.class);
        Criteria criFolder = criEdition.createCriteria("doucumentFolder");
        criFolder.add(Restrictions.eq("id", this.doucumentFolder));
        criEdition.add(Restrictions.eq("newly", new Boolean(true))); //最新版本
        this.list = criEdition.list();
        this.edit = (DoucumentEdition)this.list.get(0); //取得第一条记录
        Hibernate.initialize(edit.getDoucumentFolder().getOwner().getEmpName());//惰性初试化发表人
        Hibernate.initialize(edit.getDoucumentFolder().getName());//惰性初试化文档名
//        Iterator iter1 = list.iterator();
//        while (iter1.hasNext()) {
//            DoucumentEdition item1 = (DoucumentEdition) iter1.next();
//            Hibernate.initialize(item1.getDoucumentFolder().
//                                 getOwner().getEmpName()); //惰性初试化发表人
//            Hibernate.initialize(item1.getDoucumentFolder().
//                                 getName()); //惰性初试化文档名
//
//        }

        Iterator iter = this.list.iterator();
        while (iter.hasNext()) {
            DoucumentEdition item = (DoucumentEdition) iter.next();
            String acc = item.getAccessories();
            if (acc != null) {
                String[] accs = acc.split(","); //根据','来取截取字符串用正则表达式,取得附件编号
                Criteria criAcc = session.createCriteria(Accessories.class);
                criAcc.add(Restrictions.in("id", accs));
                this.acclist = criAcc.list(); //取得附件集合
            }
        }
        this.showDocName() ;
    }
    /**
 * 取得文件/文件夹对应的路径
 */

    public void showDocName(){
       Session session=HibernateUtil.currentSession();
       List result=new ArrayList();
       for (int i = (this.docId.length()/4)-1; i >0 ; i--) { //先取父文件夹在取子文件夹
           //query.setString(0,this.id.substring(0,(id.length()-4)*i));
          String ids=this.docId.substring(0,(docId.length()-4*i));
          log.debug("文件路径:-->"+ids);
           DoucumentFolder doc=(DoucumentFolder) session.load(DoucumentFolder.class,ids);
           result.add(doc.getName());//取得集合对象
           //System.out.println(doc.getName());
       }
       this.docResult=(ArrayList) result;//取得集合对象
       Iterator iter = result.iterator();
       this.docPath = ""; //设置初试值,否则空的时候显示null
       while (iter.hasNext()) {
           Object item = (Object) iter.next();
           this.docPath = this.docPath + (String) item + "/"; //取得文挡对应的路径
        }

   }

    /**
     * check()方法是按文件历史版本的时间来查询
     * @throws Exception
     */
    public void check() throws Exception {

        Session session = HibernateUtil.currentSession();
        Criteria criEditionDate = session.createCriteria(BaseDoucumentEdition.class);
        Criteria criFolderDate = criEditionDate.createCriteria("doucumentFolder");
        criFolderDate.add(Restrictions.eq("id", this.doucumentFolder));
        criEditionDate.addOrder(Order.desc("editDate")); //排序
        this.listDate = criEditionDate.list(); //为了取得发表时间集合

        Criteria criEdition = session.createCriteria(DoucumentEdition.class);
        Criteria criFolder = criEdition.createCriteria("doucumentFolder");
        criEdition.add(Restrictions.sqlRestriction("DATEDIFF(n,editDate,'"+form.getEditDate()+"')=0"));//精确到分钟的日期比较
        criFolder.add(Restrictions.eq("id", this.doucumentFolder));
        //criEdition.add(Restrictions.eq("newly", new Boolean(true)));
        this.list = criEdition.list();
        this.edit = (DoucumentEdition)this.list.get(0); //取得第一条记录

        Hibernate.initialize(edit.getDoucumentFolder().getOwner().getEmpName());//惰性初试化发表人
        Hibernate.initialize(edit.getDoucumentFolder().getName());//惰性初试化文档名

        Iterator iter = this.list.iterator();
        while (iter.hasNext()) {
            DoucumentEdition item = (DoucumentEdition) iter.next();
            String acc = item.getAccessories();
            if (acc != null) {
                String[] accs = acc.split(","); //根据','来取截取字符串用正则表达式
                Criteria criAcc = session.createCriteria(Accessories.class);
                criAcc.add(Restrictions.in("id", accs));
                this.acclist = criAcc.list();
            }
        }
        this.showDocName() ;
    }
    public ReadActionForm getForm() {
        return form;
    }

    public List getList() {
        return list;
    }

    public String getMessage() {
        return message;
    }

    public String getDoucumentFolder() {
        return doucumentFolder;
    }

    public List getAcclist() {
        return acclist;
    }

    public int getEditionId() {
        return editionId;
    }

    public String getContext() {
        return context;
    }

    public Integer getId() {
        return id;
    }

    public DoucumentEdition getEdit() {
        return edit;
    }

    public String getOwnername() {
        return ownername;
    }

    public List getListDate() {
        return listDate;
    }

    public List getDocResult() {
        return docResult;
    }

    public String getDocId() {
        return docId;
    } //    public String getAccname() {

    public String getDocPath() {
        return docPath;
    } //    }
//
//    public String getCreateDate() {
//        return createDate;
//    }
//
//    public String getEditionname() {
//        return editionname;
//    }
//
//    public String getFoldername() {
//        return foldername;
//    }
//
//    public String getOwnername() {
//        return ownername;
//    }

    public void setForm(ReadActionForm form) {
        this.form = form;
    }


    public void setList(List list) {
        this.list = list;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void setDoucumentFolder(String doucumentFolder) {
        this.doucumentFolder = doucumentFolder;
    }

    public void setAcclist(List acclist) {
        this.acclist = acclist;
    }

    public void setEditionId(int editionId) {
        this.editionId = editionId;
    }

    public void setContext(String context) {
        this.context = context;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public void setEdit(DoucumentEdition edit) {
        this.edit = edit;
    }

    public void setOwnername(String ownername) {
        this.ownername = ownername;
    }

    public void setListDate(List listDate) {
        this.listDate = listDate;
    }

    public void setDocResult(List docResult) {
        this.docResult = docResult;
    }

    public void setDocId(String docId) {
        this.docId = docId;
    }

    public void setDocPath(String docPath) {
        this.docPath = docPath;
    }
    /**
     * getMessage
     *
     * @param string String
     */
    public void getMessage(String string) {
    }


}

⌨️ 快捷键说明

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