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

📄 docadvancedsearchservice.java

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


package com.t60.oa.doc.service;

import java.text.ParseException;
import java.util.*;

import com.t60.oa.doc.struts.DocAdvancedSearchActionForm;
import com.t60.oa.po.Floadpurview;
import hong.javanet.dao.HibernateUtil;
import org.hibernate.*;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.t60.oa.po.DoucumentEdition;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class DocAdvancedSearchService {
    private DocAdvancedSearchActionForm form;
    private List result = new ArrayList();
    private String docPath;
    private String message;
    private int userid;
    private Set ls;
    Boolean flag = new Boolean(true);

    public void AdvancedSearch() throws ParseException {
        List res;
        Session session = HibernateUtil.currentSession();
        Criteria criflp = session.createCriteria(Floadpurview.class);
        Criteria cribdf = criflp.createCriteria("doucumentFile");
        Criteria criedi = cribdf.createCriteria("doucumentEditionList");
        Criteria criemp = cribdf.createCriteria("owner");
        // System.out.println("");
        if (form.getFoldname() != null &&
            form.getFoldname().trim().length() > 0) {
            cribdf.add(Restrictions.like("name",
                                         "%" + form.getFoldname().trim() + "%"));
        }
        if (form.getContext() != null && form.getContext().trim().length() > 0) {

            criedi.add(Restrictions.like("context",
                                         "%" + form.getContext().trim() + "%"));
        }
        if (form.getOwername() != null &&
            form.getOwername().trim().length() > 0) {
            criemp.add(Restrictions.like("empName",
                                         "%" + form.getOwername().trim() + "%"));
        }
        if (form.getChild() != null && form.getChild().trim().length() > 0) {
            if (form.getFolderId() != null &&
                form.getFolderId().trim().length() > 0) {
                if (form.getChild().trim().equals("1")) {
                    cribdf.add(Restrictions.like("id",
                                                 Integer.valueOf(form.
                            getFolderId()) + "____%"));
                } else {
                    cribdf.add(Restrictions.like("id",
                                                 form.getFolderId() + "____"));
                }
            }
        }
        if (form.getBigDate() != null && form.getBigDate().trim().length() > 0) {
            cribdf.add(Restrictions.sqlRestriction(" DATEDIFF(d,createDate,'" +
                    form.getBigDate() + "')>=0"));
        }
        if (form.getSmallDate() != null &&
            form.getSmallDate().trim().length() > 0) {
            cribdf.add(Restrictions.sqlRestriction(" DATEDIFF(d,createDate,'" +
                    form.getSmallDate() + "')<=0"));
        }
        //此处是取部门编号,要重新写过
        String str = "";
        Iterator iter1 = ls.iterator();
        while (iter1.hasNext()) {
            Object item = (Object) iter1.next();
            str = str + item + ",";
        }
        str = str.substring(0, str.length() - 1);
        //取部门编号结束,以下是添加条件(员工编号=userid或者部门编号在上面取得的部门编号中)
        criflp.add(Restrictions
                   .sqlRestriction(" (userId=" + this.userid
                                   + " or departmentId in(" + str + "))"));
        //添加条件结束,要重新写的至此结束
        cribdf.addOrder(Order.desc("name"));
        if (form.getHistory() != null && form.getHistory().trim().length() > 0) {
            if (form.getHistory().trim().equals("0")) {
                criedi.add(Restrictions.eq("newly", new Boolean(true)));
                System.out.println(new Boolean(true));
            }
        }
        cribdf.add(Restrictions.eq("typeDocument",new Boolean(false)));


        res=(criedi.list());

        Iterator iter = res.iterator();
        while (iter.hasNext()) {
            Floadpurview item = (Floadpurview) iter.next();
//            Hibernate.initialize-(item.getDoucumentFile());
//            Hibernate.initialize(item.getDoucumentFile().getDoucumentEditionList());
            Hibernate.initialize(item.getDoucumentFile().getEdite());
            Hibernate.initialize(item.getDoucumentFile().getOwner());
        }
        if (form.getFolderId() != null && !form.getFolderId().equals("")) {
            DocumentService docu = new DocumentService(); //查找文件或文件夹路径
            docu.setId(form.getFolderId());
            docu.showDocName();
            this.docPath=docu.getDocPath();
        }
        //有
        Iterator iterdel = res.iterator();
        while (iterdel.hasNext()) {
            Floadpurview item = (Floadpurview) iterdel.next();
            Iterator iter2 = item.getDoucumentFile().getDoucumentEditionList().iterator();
            while (iter2.hasNext()) {
                DoucumentEdition item1 = (DoucumentEdition) iter2.next();
                if(item1.isNewly()){
                    this.result.add(item);
                    break;
                }
            }
        }

        this.result=DelFolpRepService.delFolpRep(this.result);//去重复权限记录

        //HibernateUtil.closeSession();
    }


    public DocAdvancedSearchActionForm getForm() {
        return form;
    }

    public String getMessage() {
        return message;
    }

    public List getResult() {
        return result;
    }

    public Set getLs() {
        return ls;
    }


    public int getUserid() {
        return userid;
    }

    public Boolean getFlag() {
        return flag;
    }

    public String getDocPath() {
        return docPath;
    }

    public void setResult(List result) {
        this.result = result;
    }

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

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

    public void setLs(Set ls) {
        this.ls = ls;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public void setFlag(Boolean flag) {
        this.flag = flag;
    }

    public void setDocPath(String docPath) {
        this.docPath = docPath;
    }
}


⌨️ 快捷键说明

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