package com.accp.dao.jb_crm_team0.Imp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.hibernate.impl.CriteriaImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.accp.dao.jb_crm_team0.Inf.ICstCustomerDAO;
import com.accp.dao.jb_crm_team0.Inf.ICstManagerDAO;
import com.accp.entity.jb_crm_team0.CstCustomer;
import com.accp.entity.jb_crm_team0.CstManager;
import com.accp.hib.HibernateSessionFactory;
import com.accp.util.PageResult;
import com.accp.struts.form.CustomerForm;
import com.accp.struts.form.ReportForm;
public class CstCustomerDAO extends HibernateDaoSupport implements
ICstCustomerDAO {
private static final Log log = LogFactory.getLog(CstCustomerDAO.class);
private ICstManagerDAO cstManDao = null;
public ICstManagerDAO getCstManDao() {
return cstManDao;
}
public void setCstManDao(ICstManagerDAO cstManDao) {
this.cstManDao = cstManDao;
}
protected void initDao() {
// do nothing
}
public List<CstCustomer> findAllCustomer() {
try {
String queryString = "from CstCustomer";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}
public PageResult findAll(Map paramMap) {
PageResult pgr = new PageResult();
// 参数
String start = (String) paramMap.get("start");
String limit = (String) paramMap.get("limit");
String no = (String) paramMap.get("custNo");
String name = (String) paramMap.get("custName");
String manName = (String) paramMap.get("custManName");
String level = (String) paramMap.get("custLevel");
String region = (String) paramMap.get("custRegion");
System.out.println("第一条" + start);
System.out.println("最后一条" + limit);
// 按客户名称查找出客户编号,再通过主外键关系查出相应数据
List<CstManager> lists = cstManDao.findByManName(manName);
Long[] manId = new Long[lists.size()];
for (int i = 0; i < manId.length; i++) {
manId[i] = lists.get(i).getManId();
System.out.println("aaaaaaaaaaaaa" + manId[i]);
}
try {
Criteria c = getSession().createCriteria(CstCustomer.class);
// 条件查询
c.add(Expression.eq("custStatus", "1"));// 查询状态为1的客户
if (StringUtils.isNotEmpty(no)) {
c.add(Expression.like("custNo", "%" + no + "%"));// 编号
}
if (StringUtils.isNotEmpty(name)) {
c.add(Expression.like("custName", "%" + name + "%"));// 客户名称
}
if (manId.length > 0) {
c.add(Expression.in("cstManager.manId", manId));
}
if (StringUtils.isNotEmpty(level)) {
c.add(Expression.eq("custLevel", level));// 客户等级
}
if (StringUtils.isNotEmpty(region)) {
c.add(Expression.like("custRegion", "%" + region + "%"));// 地区
}
// 总记录条数
Projection entityProjection = ((CriteriaImpl) c).getProjection();
c.setProjection(Projections.rowCount()).uniqueResult();
int rowCount = ((Number) c.uniqueResult()).intValue();
pgr.setRowCount(rowCount);
c.setProjection(entityProjection);
// 分页
if (start != null) {
c.setFirstResult(Integer.parseInt(start));
}
if (limit != null) {
c.setMaxResults(Integer.parseInt(limit));
}
// 把查询到的数据放到List<customerForm>里面,方便在CustomerAction中转换成json数据
List<CstCustomer> list = c.list();
List<CustomerForm> fList = new ArrayList<CustomerForm>();
CustomerForm custForm = null;
for (CstCustomer customer : list) {
custForm = new CustomerForm();
custForm.setCustNo(customer.getCustNo());
custForm.setCustName(customer.getCustName());
custForm.setCustRegion(customer.getCustRegion());
custForm.setCustManagerName(customer.getCstManager().getManName());
// 对客户等级进行判断
Integer cstL = customer.getCustLevel();
String cstLevel;
if (cstL == 1) {
cstLevel = "普通客户";
} else if (cstL == 2) {
cstLevel = "重点开发客户";
} else if (cstL == 3) {
cstLevel = "大客户";
} else if (cstL == 4) {
cstLevel = "合作伙伴";
} else {
cstLevel = "战略合作伙伴";
}
custForm.setCustLevel(cstLevel);
// 对客户满意度进行判断
Integer cstS = customer.getCustSatisfy();
String cstSatisfy;
if (cstS == 1) {
cstSatisfy = "☆";
} else if (cstS == 2) {
cstSatisfy = "☆☆";
} else if (cstS == 3) {
cstSatisfy = "☆☆☆";
} else if (cstS == 4) {
cstSatisfy = "☆☆☆☆";
} else {
cstSatisfy = "☆☆☆☆";
}
custForm.setCustSatisfy(cstSatisfy);
// 对客户信用度进行判断
Integer cstC = customer.getCustSatisfy();
String cstCredit;
if (cstC == 1) {
cstCredit = "☆";
} else if (cstC == 2) {
cstCredit = "☆☆";
} else if (cstC == 3) {
cstCredit = "☆☆☆";
} else if (cstC == 4) {
cstCredit = "☆☆☆☆";
} else {
cstCredit = "☆☆☆☆";
}
custForm.setCustCredit(cstCredit);
custForm.setCustAddr(customer.getCustAddr());
custForm.setCustZip(customer.getCustZip());
custForm.setCustTel(customer.getCustTel());
custForm.setCustFax(customer.getCustFax());
custForm.setCustWebsite(customer.getCustWebsite());
custForm.setCustLicenceNo(customer.getCustLicenceNo());
custForm.setCustChieftain(customer.getCustChieftain());
custForm.setCustBankroll(customer.getCustBankroll());
custForm.setCustTurnover(customer.getCustTurnover());
custForm.setCustBank(customer.getCustBank());
custForm.setCustBankAccount(customer.getCustBankAccount());
custForm.setCustLocalTaxNo(customer.getCustLocalTaxNo());
custForm.setCustNationalTaxNo(customer.getCustNationalTaxNo());
custForm.setCustStatus(customer.getCustStatus());
fList.add(custForm);
}
pgr.setData(fList);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return pgr;
}
// 查询客户构成
public PageResult finCustStructure(String type) {
PageResult pgr = new PageResult();
Session session = HibernateSessionFactory.getSession();
String hql = "";
// 根据报表方式进行查询
if ("cstLevel".equals(type)) {
System.out.println("按客户等级查询");
hql = "select (select b.dictItem from BasDict b where dictType='客户等级' "
+ "and b.dictValue=c.custLevel) as "
+ "等级,count(*) from CstCustomer c group by c.custLevel ";
} else if ("cstSatisfy".equals(type)) {
System.out.println("按客户满意度查询");
hql = "select c.custSatisfy,count(*) from CstCustomer c group by c.custSatisfy";
} else if ("cstCredit".equals(type)) {
System.out.println("按客户信用度查询");
hql = "select c.custCredit,count(*) from CstCustomer c group by c.custCredit";
}
Query query = session.createQuery(hql);
List<Object[]> list = query.list();
List<ReportForm> fList = new ArrayList<ReportForm>();
ReportForm reptForm = null;
for (Object[] obj : list) {
reptForm = new ReportForm();
if (obj[0] != null) {
if (type.equals("cstLevel")) {
reptForm.setCustLevel(obj[0].toString());
} else if (type.equals("cstSatisfy")) {
reptForm
.setCustSatisfy(Integer.parseInt(obj[0].toString()));
} else if (type.equals("cstCredit")) {
rept
没有合适的资源?快使用搜索试试~ 我知道了~
客户关系管理系统(CRM)
共1580个文件
gif:645个
js:257个
jpg:124个
需积分: 0 22 下载量 162 浏览量
2008-09-23
03:04:46
上传
评论
收藏 12.23MB RAR 举报
温馨提示
用MyEclipse开发的一个B/S架构的网络应用程序,采用了3+1持术(即ssh+ext),Hibernate作为数据访问层, 用Spring管理所有的对象,Struts作控制器,用Ext打造的华丽页面.真的很不错哦!
资源详情
资源评论
资源推荐
收起资源包目录
客户关系管理系统(CRM) (1580个子文件)
CstCustomerDAO.class 15KB
CustomerAction.class 14KB
CstServiceDAO.class 13KB
CstLostDAO.class 13KB
OrdersLineDAO.class 11KB
SysUserDAO.class 10KB
SalChanceDAO.class 10KB
StorageDAO.class 10KB
SalPlanDAO.class 10KB
SysRoleDAO.class 9KB
ProductDAO.class 9KB
SysRoleRightDAO.class 9KB
BasDictDAO.class 9KB
CstLinkmanDAO.class 9KB
SysRightDAO.class 9KB
CstActivityDAO.class 8KB
OrdersDAO.class 8KB
CstServiceAction.class 8KB
ChanceAction.class 8KB
PlanAction.class 7KB
RoleAction.class 7KB
CstCustomer.class 7KB
UserinfoAction.class 5KB
CstLostAction.class 5KB
LoginAction.class 5KB
BasDictAction.class 5KB
ReportAction.class 5KB
RightAction.class 5KB
CstManagerDAO.class 5KB
CustomerForm.class 5KB
CstService.class 4KB
SalChance.class 4KB
RoleService.class 4KB
CstServiceForm.class 4KB
StorageAction.class 3KB
ChanceForm.class 3KB
ProductAction.class 3KB
Product.class 3KB
RightFilter.class 3KB
CstLost.class 3KB
CstLinkman.class 3KB
ReportService.class 3KB
PlanService.class 3KB
RightService.class 2KB
UserinfoService.class 2KB
ICstCustomerDAO.class 2KB
HibernateSessionFactory.class 2KB
OrdersLine.class 2KB
CstActivity.class 2KB
MyRightAction.class 2KB
Storage.class 2KB
SysRole.class 2KB
LoginFilter.class 2KB
Orders.class 2KB
CstLostForm.class 2KB
SysUser.class 2KB
CustomerService.class 2KB
SalPlan.class 2KB
PlanForm.class 2KB
ProductForm.class 2KB
EncodeFilter.class 2KB
CstActivityForm.class 2KB
CstLinkmanForm.class 2KB
CstServiceService.class 2KB
CstActivityService.class 2KB
CstLinkmanService.class 2KB
BasDictService.class 2KB
CstLostService.class 2KB
ChanceService.class 2KB
CstManagerService.class 2KB
UserinfoForm.class 2KB
BasDict.class 2KB
StorageForm.class 2KB
ReportDAO.class 2KB
ICstServiceDAO.class 2KB
OrdersService.class 2KB
SysRight.class 2KB
CstLostReptForm.class 1KB
LoginService.class 1KB
OrdersLineForm.class 1KB
ISalChanceDAO.class 1KB
BasDictForm.class 1KB
SysRoleRight.class 1KB
CstManager.class 1KB
OrdersForm.class 1KB
RoleForm.class 1KB
ReportForm.class 1KB
ISysRightDAO.class 1KB
IProductDAO.class 1KB
ICstLinkmanDAO.class 1KB
ISysRoleDAO.class 1KB
ICstLostDAO.class 1KB
IBasDictDAO.class 1KB
CstServiceReptForm.class 1KB
RightForm.class 1KB
IStorageDAO.class 1006B
ISysRoleRightDAO.class 1004B
IOrdersDAO.class 963B
ICstActivityDAO.class 959B
IOrdersLineDAO.class 948B
共 1580 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
cfpl2lanlan
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0