📄 delfolprepservice.java
字号:
package com.t60.oa.doc.service;
import java.util.*;
import org.hibernate.Session;
import hong.javanet.dao.HibernateUtil;
import org.hibernate.Criteria;
import com.t60.oa.po.*;
import org.hibernate.criterion.Restrictions;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
//删除查询结果中重复数据
public class DelFolpRepService {
public static List delFolpRep(List res) {
if (res.isEmpty()) {
return res;
}
List flo = new ArrayList(); //去重复后的集合
Set result = new HashSet();
Iterator iter = res.iterator();
while (iter.hasNext()) {
Floadpurview item = (Floadpurview) iter.next();
result.add(item.getDoucumentFile().getId().toString());
}
Floadpurview fload; //临时变量,保存最大权限的对象
Iterator iter1 = res.iterator();
while (iter1.hasNext()) {
Floadpurview item1 = (Floadpurview) iter1.next();
String str = item1.getDoucumentFile().getId();
fload = item1;
///以下到B判断有没否有重复
Iterator iter2 = result.iterator();
while (iter2.hasNext()) {
String item2 = (String) iter2.next();
if (str.equals(item2.toString())) {
////以下到C是取得最大权限的对象
Iterator iter3 = res.iterator();
while (iter3.hasNext()) {
Floadpurview item3 = (Floadpurview) iter3.next();
if (item3.getDoucumentFile().getId().equals(item2.
toString()) && item3.getType().intValue() <=
item1.getType().intValue()) {
fload = item3;
}
}
////C
flo.add(fload); //把最大权限的放入集合
}
}
///B
result.remove(item1.getDoucumentFile().getId().toString()); //删除添加过的权限对象的文件编号
}
return flo;
}
public static List delFloadRep(List res) {
Set emp = new HashSet();
Set dep = new HashSet();
List tempRep = new ArrayList();
//*****************************
if (res.isEmpty()) {
return res;
}
Iterator iter = res.iterator();
while (iter.hasNext()) {
Floadpurview item = (Floadpurview) iter.next();
if (item.getDepartment() != null) {
dep.add(item.getDepartment().getId());
}
if (item.getUser() != null) {
emp.add(item.getUser().getId());
}
}
//*************************
Floadpurview fload = null; //临时变量,保存最大权限的对象
boolean flag = true;
//*********************************
Iterator iterDep = dep.iterator();
while (iterDep.hasNext()) {
String itemDep = (String) iterDep.next();
flag = true;
Iterator iterRes = res.iterator();
while (iterRes.hasNext()) {
Floadpurview itemRes = (Floadpurview) iterRes.next();
if (flag && itemRes.getDepartment() != null &&
itemRes.getDepartment().getId().equals(itemDep)) {
fload = itemRes;
flag = false;
} else if (itemRes.getDepartment() != null &&
itemRes.getDepartment().getId().equals(itemDep) &&
itemRes.getType().intValue() <
fload.getType().intValue()) {
fload = itemRes;
}
}
tempRep.add(fload);
}
//***************************************
Iterator iterEmp = emp.iterator();
while (iterEmp.hasNext()) {
Integer itemEmp = (Integer) iterEmp.next();
Session session = HibernateUtil.currentSession();
Criteria cridemp = session.createCriteria(DepEmp.class);
Criteria criemp = cridemp.createCriteria("emp");
criemp.add(Restrictions.eq("id", itemEmp));
List dempList = cridemp.list();
flag = true;
boolean blg=true;
Iterator iterRes = res.iterator();
while (iterRes.hasNext()) {
Floadpurview itemRes = (Floadpurview) iterRes.next();
if (flag && itemRes.getUser() != null &&
itemRes.getUser().getId().equals(itemEmp)) {
fload = itemRes;
flag = false;
} else if (itemRes.getUser() != null &&
itemRes.getUser().getId().equals(itemEmp) &&
itemRes.getType().intValue() <
fload.getType().intValue()) {
fload = itemRes;
}
}
Iterator iterRes1 = res.iterator();
while (iterRes1.hasNext()) {
Floadpurview itemRes1 = (Floadpurview) iterRes1.next();
Iterator iterDemp = dempList.iterator();
while (iterDemp.hasNext()) {
DepEmp itemDemp = (DepEmp) iterDemp.next();
if (itemRes1.getDepartment() != null &&
itemRes1.getDepartment().equals(itemDemp.getDep()) &&
itemRes1.getType().intValue() <=
fload.getType().intValue()) {
fload = itemRes1;
blg=false;
}
}
}
if(blg){
tempRep.add(fload);
}
}
//***********************
return tempRep;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -