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