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

📄 queryemp.java

📁 办公自动化项目
💻 JAVA
字号:
package com.t60.oa.service.org;
import java.util.List;

import com.t60.oa.po.base.BaseEmployee;
import com.t60.oa.web.org.QueryEmpActionForm;
import hong.javanet.dao.HibernateUtil;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Criteria;
import org.hibernate.criterion.Projections;
import java.util.*;
import com.t60.oa.po.Employee;
import com.t60.oa.po.DepEmp;
import org.hibernate.criterion.Restrictions;

public class QueryEmp {
    private QueryEmpActionForm queryform;
    private List result;
    private String message;

    private int pageIndex;//当前第几页
    private int pageSize=10;//每页10条记录
    private boolean needCount;//需要统计
    private int rowCount;//总记录数
    private int pageCount;//总共页数

    public String getMessage() {
        return message;
    }

    public void QueryEmp()
    {
    //      BaseEmployee emp = new BaseEmployee();
       // Employee emp = new Employee();
        Session session = HibernateUtil.currentSession();
        Criteria cri = session.createCriteria(DepEmp.class);//!!!!加载第3方表,查询关联2个表
//         Criteria cri2=
        //.............部门编号条件...

    /* Query er= session.createQuery(
               "from BaseEmployee"
            );
    */
//   DepEmp df=new DepEmp();
//   df.getEmp().getState()
   System.out.println(this.queryform.getId());
   cri.add(Restrictions.eq("dep.id",this.getQueryform().getId()));
   //一开始只显示在职人员..
  cri.add(Restrictions.eq("depleaveTime","".toString()));
  cri.setCacheable(true);//查询缓存

   Criteria cristate = null;
   cristate = cri.createCriteria("emp");
   cristate.add(Restrictions.eq("state", Byte.valueOf("1")));

   System.out.println(this.queryform.getDuty());
//   if (queryform.getDuty() != null && queryform.getDuty().trim().length() > 0)
//   {
//       cri.add(Restrictions.eq("duty", this.queryform.getDuty()));
//   }

   Criteria criEmp = null;
   if(queryform.getState()!=null && queryform.getState().trim().length()>0)
   {
       //int n=Integer.parseInt(this.queryform.getState());
//        criEmp=cri.createCriteria("emp");
//
//       criEmp.add(Restrictions.eq("state",Byte.valueOf(this.queryform.getState())));


       //查询所有状态的员工
       if(this.queryform.getState().equals("7"))
       {
           HibernateUtil.closeSession();
           Session session2 = HibernateUtil.currentSession();

           cri = session2.createCriteria(DepEmp.class);
           cri.setCacheable(true);//查询缓存
           Criteria criEmp1 = null;
           cri.add(Restrictions.eq("dep.id",this.getQueryform().getId()));

           if (queryform.getDuty() != null && queryform.getDuty().trim().length() > 0)
          {
              cri.add(Restrictions.eq("duty", this.queryform.getDuty()));
          }

          if (queryform.getEmpName() != null &&
              queryform.getEmpName().trim().length() > 0)
          {
              if (criEmp1 == null)
              {
                  criEmp1 = cri.createCriteria("emp");
              }
              criEmp1.add(Restrictions.like("empName",
                                            "%" + queryform.getEmpName() + "%"));
          }



       }

       //查询在职人员
       if(this.queryform.getState().equals("1"))
       {
           HibernateUtil.closeSession();
           Session session3 = HibernateUtil.currentSession();

           cri = session3.createCriteria(DepEmp.class);
           cri.setCacheable(true);//查询缓存
           Criteria criEmp3 = null;
           cri.add(Restrictions.eq("dep.id",this.getQueryform().getId()));

           criEmp3 = cri.createCriteria("emp");

           criEmp3.add(Restrictions.eq("state", Byte.valueOf(this.queryform.getState())));

           if (queryform.getDuty() != null && queryform.getDuty().trim().length() > 0)
           {
               cri.add(Restrictions.eq("duty", this.queryform.getDuty()));
           }

           if (queryform.getEmpName() != null &&
               queryform.getEmpName().trim().length() > 0) {
               if (criEmp3 == null) {
                   criEmp3 = cri.createCriteria("emp");
               }
               criEmp3.add(Restrictions.like("empName",
                                            "%" + queryform.getEmpName() + "%"));
           }

       }


       //查询状态为 兼职/反聘/试用/离职/退休/
       if(this.queryform.getState().equals("4") || this.queryform.getState().equals("6")
               || this.queryform.getState().equals("2") || this.queryform.getState().equals("3") ||
                    this.queryform.getState().equals("5"))
       {
           HibernateUtil.closeSession();
           Session session1 = HibernateUtil.currentSession();

           cri = session1.createCriteria(DepEmp.class);
           cri.setCacheable(true);//查询缓存
//           Criteria cri = null;
          Criteria criEmp2 = null;
           cri.add(Restrictions.eq("dep.id",this.getQueryform().getId()));

           criEmp2 = cri.createCriteria("emp");

           criEmp2.add(Restrictions.eq("state", Byte.valueOf(this.queryform.getState())));


           if (queryform.getDuty() != null && queryform.getDuty().trim().length() > 0)
           {
               cri.add(Restrictions.eq("duty", this.queryform.getDuty()));
           }

           if (queryform.getEmpName() != null &&
               queryform.getEmpName().trim().length() > 0)
           {
               if (criEmp2 == null)
               {
                   criEmp2 = cri.createCriteria("emp");
               }
               criEmp2.add(Restrictions.like("empName",
                                             "%" + queryform.getEmpName() + "%"));
           }



       }



   }

//   if(queryform.getEmpName()!=null && queryform.getEmpName().trim().length()>0)
//   {
//       if(criEmp==null) {
//           criEmp=cri.createCriteria("emp");
//       }
//       criEmp.add(Restrictions.like("empName","%"+queryform.getEmpName()+"%"));
//   }


   cri.setMaxResults(this.pageSize);//每页最多几条
   cri.setFirstResult((this.pageIndex-1)*this.pageSize);//当前页的条数

   //连接关掉之前查出数据
      this.result = cri.list();

      //queryform.setList(this.result);//把list也可以放在form,而不是业务类


      Iterator iter = this.result.iterator();
      while (iter.hasNext()) {
          DepEmp item = (DepEmp) iter.next();
          //惰性载入
           org.hibernate.Hibernate.initialize(item.getEmp());
           org.hibernate.Hibernate.initialize(item.getDep());

      }


      if(this.needCount)
      {
          cri.setProjection(Projections.rowCount());
          this.rowCount = ((Integer)cri.uniqueResult()).intValue();//总记录数
          this.pageCount =(this.rowCount-1)/this.pageSize+1;
      }
      //  this.result=er.list();
       // this.result = cri.list();

       HibernateUtil.closeSession();//关闭连接

    }

    public QueryEmpActionForm getQueryform() {
        return queryform;
    }

    public List getResult() {
        return result;
    }

    public boolean isNeedCount() {
        return needCount;
    }

    public int getPageCount() {
        return pageCount;
    }

    public int getPageIndex() {
        return pageIndex;
    }

    public int getPageSize() {
        return pageSize;
    }

    public int getRowCount() {
        return rowCount;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void setQueryform(QueryEmpActionForm queryform) {
        this.queryform = queryform;
    }

    public void setResult(List result) {
        this.result = result;
    }

    public void setNeedCount(boolean needCount) {
        this.needCount = needCount;
    }

    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public void setRowCount(int rowCount) {
        this.rowCount = rowCount;
    }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -