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

📄 delfolprepservice.java

📁 办公自动化项目
💻 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 + -