📄 modifydoc.java
字号:
"from DoucumentEdition de where de.doucumentFolder.id=? order by de.id desc";
Query query = session.createQuery(hql);
query.setString(0, this.docId);
// Criteria criEdition = session.createCriteria(DoucumentEdition.class);
// criEdition.add(Restrictions.eq("newly", new Boolean(true)));
// criEdition.add(Restrictions.eq("doucumentFolder.id",this.docId));
this.docEdition= (DoucumentEdition) query.list().get(0);
this.docEditionId=docEdition.getId().intValue();
Hibernate.initialize(docEdition.getDoucumentFolder().getName());
Hibernate.initialize(docEdition.getContext());
this.findDocEditionAcc(docEdition); //调用取得附件集合的饿方法
}
/**
* 修改文档版本附件,重新创建附件
*/
public void modifyDoc() {
Session session = HibernateUtil.currentSession();
//取得文档
DoucumentFolder dou = (DoucumentFolder) HibernateUtil.currentSession().
load(DoucumentFolder.class, this.docId);
//判断是否为编辑/继续编辑状态
if (!dou.isState()) {
Criteria criEdition = session.createCriteria(DoucumentEdition.class);
criEdition.add(Restrictions.eq("newly", new Boolean(true)));
criEdition.add(Restrictions.eq("doucumentFolder.id",this.docId));
DoucumentEdition doucu = (DoucumentEdition) criEdition.uniqueResult();
doucu.setNewly(false);
HibernateUtil.currentSession().update(doucu); //修改原来的一条为旧版本
DoucumentEdition doucuNew = new DoucumentEdition();
doucuNew.setContext(doucu.getContext());
doucuNew.setEditDate(new java.sql.Timestamp(System.
currentTimeMillis()));
doucuNew.setNewly(true);
Employee emp = (Employee) HibernateUtil.currentSession().load(
Employee.class,
new Integer(this.getEmpId()));
doucuNew.setEdite(emp);
doucuNew.setDoucumentFolder(dou);
//调用方法生成新的附件
this.modifyDocEditionOfAcc(doucu);
if (this.str != null && !this.str.equals("")) {
doucuNew.setAccessories(this.str.substring(0,
this.str.length() - 1)); //设置版本附件编号
this.findDocEditionAcc(doucuNew); //调用取得附件集合的饿方法
} else {
doucuNew.setAccessories("");
}
log.debug("新版本的附件ID为:--》" + this.str);
HibernateUtil.currentSession().save(doucuNew); //添加一条为新版本
this.findDocEditionById(); //调用方法查找
}else{
this.findDocEditionById(); //调用方法查找
}
}
/**
* 修改生成新附件
* @return ModifyDocForm
*/
public void modifyDocEditionOfAcc(DoucumentEdition det) {
if (det.getAccessories() != null &&
det.getAccessories().trim().length() > 0) {
accessories = det.getAccessories().split(",");
acc = new Accessories[accessories.length];
fis = new FileInputStream[accessories.length];
for (int i = 0; i < accessories.length; i++) {
acc[i] = (Accessories) HibernateUtil.currentSession()
.createCriteria(Accessories.class)
.add(Restrictions.eq("id", accessories[i])).
uniqueResult();
GUID guid = new GUID();
try {
log.debug("附件编号:" + acc[i].getId());
fis[i] = new FileInputStream(affixFilePath +
acc[i].getId());
//创建新的附件
BufferedInputStream bis = new BufferedInputStream(fis[i]);
byte[] buf=new byte[8129];
int len=bis.read(buf);
FileOutputStream fos = new FileOutputStream(
affixFilePath + guid);
//fos.write(fis[i].read());
fos.write(buf,0,len);
fos.flush();
fos.close();
str = str + guid + ",";
Accessories access = new Accessories();
System.out.println("附件编号:" + guid.toString());
access.setId(guid.toString());
access.setCreateDate(new java.sql.Timestamp(System.
currentTimeMillis()));
access.setName(acc[i].getName());
access.setSize(acc[i].getSize());
HibernateUtil.currentSession().save(access);
} catch (Exception ex) {
ex.printStackTrace();
log.debug("创建新文档的附件时失败!");
}
System.out.println("附件名称:" + acc[i].getName());
}
}
}
public ModifyDocForm getForm() {
return form;
}
public String getAffixFilePath() {
return affixFilePath;
}
public int getDocEditionId() {
return docEditionId;
}
public List getAcclist() {
return acclist;
}
public int getEmpId() {
return empId;
}
public Accessories[] getAcc() {
return acc;
}
public String getDocId() {
return docId;
}
public DoucumentEdition getDocEdition() {
return docEdition;
}
public String[] getAccessories() {
return accessories;
}
public FileInputStream[] getFis() {
return fis;
}
public String getStr() {
return str;
}
public void setForm(ModifyDocForm form) {
this.form = form;
}
public void setAffixFilePath(String affixFilePath) {
this.affixFilePath = affixFilePath;
}
public void setDocEditionId(int docEditionId) {
this.docEditionId = docEditionId;
}
public void setAcclist(List acclist) {
this.acclist = acclist;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public void setAcc(Accessories[] acc) {
this.acc = acc;
}
public void setDocId(String docId) {
this.docId = docId;
}
public void setDocEdition(DoucumentEdition docEdition) {
this.docEdition = docEdition;
}
public void setAccessories(String[] accessories) {
this.accessories = accessories;
}
public void setFis(FileInputStream[] fis) {
this.fis = fis;
}
public void setStr(String str) {
this.str = str;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -