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