reportdaoimpl.java
来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 139 行
JAVA
139 行
package com.yuanchung.sales.dao.report.impl;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.yuanchung.sales.dao.report.ReportDAO;
import com.yuanchung.sales.model.report.Report;
/**
* 报表DAO
* @author gzq
*
*/
public class ReportDAOImpl extends ReportBaseDAOImpl implements ReportDAO {
private static final Log log = LogFactory.getLog(ReportDAOImpl.class);
/**
* 保存报表
* @param report 报表
*/
public void save(Report transientInstance) {
log.debug("saving Report instance");
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
}
/**
* 删除报表
* @param report 报表
*/
public void delete(Report persistentInstance) {
log.debug("deleting Report instance");
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
}
/**
* 根据ID读取报表
* @param id 报表ID
* @return
*/
public Report findById(java.lang.Integer id) {
log.debug("getting Report instance with id: " + id);
return (Report) getHibernateTemplate().get("com.yuanchung.sales.model.report.Report", id);
}
/**
* 读取所有报表
* @return List<Report>
*/
public List findAll() {
log.debug("finding all Report instances");
return getHibernateTemplate().find("from Report");
}
/**
* 根据时间范围获得新增客户数
* @param startDate 开始日期
* @param endDate 结束日期
* @return List(){month,customerCount}
*/
public List getNewCreatedCustomerCount(String startDate,String endDate){
StringBuilder hqlSB = new StringBuilder();
hqlSB.append("select ");
hqlSB.append("concat(extract(year from inDate),'-',extract(month from inDate)),");
hqlSB.append("count(*) ");
hqlSB.append("from Customer ");
hqlSB.append("where ");
hqlSB.append("inDate between ? and ? group by concat(extract(year from inDate),'-',extract(month from inDate))");
return getHibernateTemplate().find(hqlSB.toString(), new Object[]{startDate,endDate});
}
/**
* 获得已忽视的客户数
* @param startDate 开始日期
* @param endDate 结束日期
* @return List(){month,customerCount}
*/
public List getIgnoredCustomerCount(String startDate,String endDate){
StringBuilder sqlSB = new StringBuilder();
sqlSB.append("select ");
sqlSB.append("concat(extract(year from create_date),'-',extract(month from create_date)),");
sqlSB.append("count(*) ");
sqlSB.append("from activity_task ");
sqlSB.append("where recordId is not null and ");
sqlSB.append("datediff(now(), cast(create_date as date)) > 60 and ");
sqlSB.append("create_date between :startDate and :endDate ");
sqlSB.append("group by ");
sqlSB.append("concat(extract(year from create_date),'-',extract(month from create_date));");
List lst = this.getSession().createSQLQuery(sqlSB.toString()).setString("startDate", startDate).setString("endDate", endDate).list();
if(lst != null && lst.size() > 0){
for(int i=0,len=lst.size();i<len;i++){
Object[] objs = (Object[])lst.get(i);
byte[] strBytes = (byte[])objs[0];
try {
objs[0] = new String(strBytes, "UTF-8");
} catch (UnsupportedEncodingException e) {
log.error(this.getClass(), e);
}
}
}
return lst;
}
/**
* 获得最近联系的客户数
* @param startDate 开始日期
* @param endDate 结束日期
* @return List(){month,customerCount}
*/
public List getRecentlyContactCustomerCount(String startDate,String endDate){
StringBuilder sqlSB = new StringBuilder();
sqlSB.append("select ");
sqlSB.append("concat(extract(year from create_date),'-',extract(month from create_date)),");
sqlSB.append("count(*) ");
sqlSB.append("from activity_task ");
sqlSB.append("where recordId is not null and ");
sqlSB.append("datediff(now(), cast(create_date as date)) < 30 and ");
sqlSB.append("create_date between :startDate and :endDate ");
sqlSB.append("group by ");
sqlSB.append("concat(extract(year from create_date),'-',extract(month from create_date))");
List lst = this.getSession().createSQLQuery(sqlSB.toString()).setString("startDate", startDate).setString("endDate", endDate).list();
if(lst != null && lst.size() > 0){
for(int i=0,len=lst.size();i<len;i++){
Object[] objs = (Object[])lst.get(i);
byte[] strBytes = (byte[])objs[0];
try {
objs[0] = new String(strBytes, "UTF-8");
} catch (UnsupportedEncodingException e) {
log.error(this.getClass(), e);
}
}
}
return lst;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?