📄 docadvancedsearchservice.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 + -