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

📄 busiopportmgriml.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			ud = busiOpportDao.getUserDefinedById(Integer.parseInt(optionId));
			// 取得相应显示字段
			UserField userField = busiOpportDao.getUserFieldByOption(ud);
			String[] fieldArray = userField.getFieldName().split(",");// 将显示字段转换成数组
			for (String o : fieldArray) {
				fields.add(o);
				System.out.println(o);
			}
			return fields;
		}
		return null;
	}

	// 根据选项查找业务机会
	@SuppressWarnings("unchecked")
	public List<BusinessOpportunityVo> getBusiOpportByOptionId(String optionId,int currentPage,
			HttpSession session) throws ApplicationException {
		logger.debug("这里的选项id" + optionId);
		// 2009-02-15 add 数据范围
		logger.debug("request" + session);
		Rights rights = ((Map<String, WebRightsView>) session
				.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
				.getRightsMap().get("304");
		User user = (User) session.getAttribute(Constants.SESSION_USER);
		logger.debug("user : " + user.getId());
		String userIds = authorizationMgr.findUserDataRange(rights.getId(),
				user);
		//删除(数据范围)
		Rights delRights = ((Map<String, WebRightsView>) session
				.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
				.getRightsMap().get("303");
		String delUserIds = authorizationMgr.findUserDataRange(delRights.getId(), user);
		logger.debug("delUserIds : " + delUserIds);
		//修改(数据范围)
		Rights modifyRights = ((Map<String, WebRightsView>) session
				.getAttribute(SystemConstant.JSP_RIGHTS_CONTROL)).get("3")
				.getRightsMap().get("302");
		String modifyUserIds = authorizationMgr.findUserDataRange(modifyRights.getId(), user);

		// end add

		UserDefined userDefined = null;
		if (StringTool.isNotBlank(optionId)) {
			userDefined = busiOpportDao.getUserDefinedById(Integer
					.parseInt(optionId));
			// 取得用户的过滤字段
			Set<UserFilter> userFilters = userDefined.getUserFilters();
			StringBuffer hql = new StringBuffer();
			hql.append("FROM BusinessOpportunity WHERE flag=1 ");
			for (Object o : userFilters) {// 遍历所有的用户过滤字段
				UserFilter filter = (UserFilter) o;
				String filterName = filter.getFilterName();
				// 生成hql
				hql.append("AND " + filter.getFilterName() + " "
						+ filter.getOperator() + " " + filter.getFilterValue()
						+ " ");
			}
			// 2009-02-19 add 数据范围
			hql.append(" and user in (" + userIds + ") order by creatDate desc");
			// end add
			logger.debug("查找的hql:" + hql.toString());
			// 根据自定义hql查找业务机会
			//2009-02-25 modify
//			List busiOpports = busiOpportDao.getBusiOpportByUserDefined(hql
//					.toString());
			List busiOpports = utilDao.findDataByPage(hql.toString(), currentPage, Constants.PAGE_SEARCH_COUNT);
			String hqlCount = "select count(*) " + hql.toString();
			logger.debug("hqlCount : " + hqlCount);
			int pageCount = utilDao.getResultsetCount(hqlCount.toString());
			logger.debug("pageCount : " + pageCount);
			session.setAttribute("pageCount", pageCount);
			//end modify
			List<BusinessOpportunityVo> result = new ArrayList<BusinessOpportunityVo>();
			try {
				for (Object o : busiOpports) {
					BusinessOpportunity bo = (BusinessOpportunity) o;
					//2009-02-25 add 删除、修改(数据范围)
					String delRightsFlag = "n";
					String modifyRightsFlag = "n";
					if(authorizationMgr.isRights(bo.getUser().getId(), delUserIds)){
						delRightsFlag = "y";
					}
					if(authorizationMgr.isRights(bo.getUser().getId(), modifyUserIds)){
						modifyRightsFlag = "y";
					}
					logger.debug("delRightsFlag : " + delRightsFlag);
					logger.debug("modifyRightsFlag : " + modifyRightsFlag);
					//end

					// 将客户po封装成vo
					BusinessOpportunityVo busiOpportVo = new BusinessOpportunityVo();
					BeanUtils.copyProperties(busiOpportVo, bo);
					busiOpportVo.setCustomerId(busiOpportVo.getCustomer()
							.getId());
					busiOpportVo.setCustomerName(busiOpportVo.getCustomer()
							.getCustomerName());
					//2009-02-25 add
					busiOpportVo.setDelRights(delRightsFlag);
					busiOpportVo.setModifyRights(modifyRightsFlag);
					//end add
					result.add(busiOpportVo);
				}
				// 将联系人保存在会话中
				session.setAttribute("busiOpports", result);
				logger.debug("有几个结果:" + result.size());
				return result;
			} catch (Exception e) {
				e.printStackTrace();
				throw new ApplicationException(Constants.GETCUSTOMEREXCEPTION);
			}
		}
		return null;
	}

	// 获得分页显示类
	@SuppressWarnings("unchecked")
	public PageController getPageController(int currentPage, HttpSession session)
			throws ApplicationException {
		try {
			List busiOpports = (List) session.getAttribute("busiOpports");
			//2009-02-25 add
			int pageCount = (Integer)session.getAttribute("pageCount");
			//end add
			System.out.println("当前页:" + currentPage + "有几条记录2:"
					+ busiOpports.size());
			PageController pageController = new PageController(null,
					pageCount, currentPage, Constants.PAGE_SEARCH_COUNT, busiOpports);
			pageController.setCurrentItems(currentPage);
			System.out.println("当前数据" + pageController.getCurrentItems());
			pageController.setPageBar();
			//2009-02-25 add
			if(session.getAttribute("pageCount") != null){
				session.removeAttribute("pageCount");
			}
			if(session.getAttribute("customers") != null){
				session.removeAttribute("customers");
			}
			//end add
			return pageController;
		} catch (Exception e) {
			throw new ApplicationException(Constants.XPAGEEXCEPTION);
		}
	}

	// 根据id查找业务机会
	public BusinessOpportunity getBusiOpportById(int busiOpportId)
			throws ApplicationException {
		return busiOpportDao.getById(busiOpportId);
	}

	// 根据ID查找业务机会VO
	public BusinessOpportunityVo getgetBusiOpportVoById(int busiOpportId)
			throws ApplicationException {
		try {
			BusinessOpportunity busiOpport = getBusiOpportById(busiOpportId);
			return new BusinessOpportunityVo(busiOpport.getId(), busiOpport
					.getBusiOpportName());
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("transform exception");
			throw new ApplicationException("transform exception");
		}
	}

	// 修改业务机会
	public boolean updateBusiOpport(BusinessOpportunity busiOpport)
			throws ApplicationException {
		try {
			busiOpportDao.updateBusiOpport(busiOpport);
		} catch (Exception e) {
			throw new ApplicationException(Constants.MODIFYBUSIOPPORTEXCEPTION);
		}
		return true;
	}

	// 删除业务机会
	public boolean deleteBusiOpport(int busiOpportId)
			throws ApplicationException {
		System.out.println("有到这里吗" + busiOpportId);
		try {
			BusinessOpportunity busiOpport = busiOpportDao
					.getById(busiOpportId);
			busiOpportDao.delete(busiOpport);
		} catch (Exception e) {
			throw new ApplicationException(Constants.DELETEBUSIOPPORTEXCEPTION);
		}
		return true;
	}

	// 删除过滤条件
	public boolean deleteFilter(UserFilter userFilter)
			throws ApplicationException {
		try {
			busiOpportDao.deleteFilter(userFilter);
		} catch (Exception e) {
			throw new ApplicationException(Constants.DELETEFILTEREXCEPTION);
		}
		return true;
	}

	/**
	 * 根据名称模糊查找业务机会;
	 */
	public List getAllBusiOpportByName(String nameLike)
			throws ApplicationException {
		try {
			return busiOpportDao.getAllBusiOpportByName(nameLike);
		} catch (Exception e) {
			throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
		}
	}

	/**
	 * 获取当前头几条信息;
	 */
	public List getTopBusiOpport() throws ApplicationException {
		try {
			return busiOpportDao.getTopBusiOpport();
		} catch (Exception e) {
			throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
		}
	}

	/**
	 * 搜索删除状态的业务机会;
	 */
	public List getAllBusiOpportByDelete() throws ApplicationException {
		try {
			return null;
		} catch (Exception e) {
			throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
		}
	}

	// --------------------------------------更新后----------------------------------------//
	public List<ContactVo> getContactsByContactId(int contactId)
			throws ApplicationException {
		try {
			return null;
		} catch (Exception e) {
			e.printStackTrace();
			throw new ApplicationException(Constants.FINDBUSIOPPORTEXCEPTION);
		}
	}

	// 根据用户和旗标查找联系人
	public List<ContactVo> getContactByUser(User user, int flag)
			throws ApplicationException {
		try {
			List contacts = busiOpportDao.getContactByUser(user, flag);
			List<ContactVo> contactVos = new ArrayList<ContactVo>();
			for (Object o : contacts) {
				CustomerContact contact = (CustomerContact) o;
				Customer c = contact.getCustomer();
				if (c != null) {
					contactVos.add(new ContactVo(contact.getId(), contact
							.getName(), c.getId(), c.getCustomerName(), contact
							.getComPhone()));
				} else {
					contactVos.add(new ContactVo(contact.getId(), contact
							.getName(), contact.getComPhone()));
				}
			}
			return contactVos;
		} catch (Exception e) {
			e.printStackTrace();
			logger.debug("update ContactRole error...");
			throw new ApplicationException("update ContactRole error...");
		}
	}

	// 根据业务机会ID查找联系人---业务机会
	public List<ContactRoleVo> getContactRoleByBusiOpportId(int busiOpportId,
			int customerId) throws ApplicationException {
		try {
			List<ContactRoleVo> contactRoles = new ArrayList<ContactRoleVo>();
			List contactBusiOpports = busiOpportDao
					.getContactBusiOpportByBusiOpportId(busiOpportId);
			logger.debug("有查找到联系人---业务机会吗..." + contactBusiOpports);
			List<Integer> contactIdArray = new ArrayList<Integer>();// 联系人ID数组
			if (contactBusiOpports != null) {

				for (Object o : contactBusiOpports) {
					ContactBusiopport contactBusiOpport = (ContactBusiopport) o;
					// 取得相应的联系人
					CustomerContact contact = contactBusiOpport
							.getCustomerContact();

					contactIdArray.add(contact.getId());

					ConRole conRole = contactBusiOpport.getConrole();
					if (conRole != null) {// 若角色为空
						Customer customer = contact.getCustomer();
						if (customer != null) {
							contactRoles
									.add(new ContactRoleVo(contactBusiOpport
											.getId(), contact.getId(), contact
											.getName(), contactBusiOpport
											.getIsprincipal(), conRole.getId(),
											conRole.getRoleName(), customer
													.getId(), customer
													.getCustomerName(), contact
													.getEmail(), contact
													.getComPhone()));
						} else {
							contactRoles
									.add(new ContactRoleVo(contactBusiOpport
											.getId(), contact.getId(), contact
											.getName(), contactBusiOpport
											.getIsprincipal(), conRole.getId(),
											conRole.getRoleName(), null, null,
											contact.getEmail(), contact
													.getComPhone()));
						}
					} else {// 若角色不为空
						contactRoles.add(new ContactRoleVo(contactBusiOpport
								.getId(), contact.getId(), contact.getName(),
								contactBusiOpport.getIsprincipal(), null, null,
								contact.getCustomer().getId(), contact
										.getCustomer().getCustomerName(),
								contact.getEmail(), contact.getComPhone()));
					}
				}
			}
			// 查找所有的该客户下的联系人
			List contacts = busiOpportDao.getContactsByCustomerId(customerId,
					contactIdArray);
			if (contacts != null) {
				for (Object o : contacts) {
					CustomerContact contact = (CustomerContact) o;
					contactRoles.add(new ContactRoleVo(contact.getId(), contact
							.getName()));
				}
			}
			return contactRoles;
		} catch (Exception e) {
			e.printStackTrace();
			throw new ApplicationException("find no data!");
		}
	}

	/**
	 * 更新业务机会---联系人
	 * 
	 * @param conBusiId
	 *            联系人---业务机会ID
	 * @param roleId
	 *            角色ID
	 * @param contactId
	 *            联系人ID
	 * @param isMain
	 *            是否是主要联系人
	 * @throws ApplicationException
	 */
	public void updateContactBusiOpport(int conBusiId, int contactId,
			int roleId, boolean isMain) throws ApplicationException {
		try {
			// 查找联系人---业务机会
			ContactBusiopport contactBusiopprt = busiOpportDao
					.getContactBusiopportById(conBusiId);
			// 查找联系人
			CustomerContact contact = busiOpportDao.getContactById(contactId);
			// 查找角色
			ConRole conrole = busiOpportDao.getConRoleById(roleId);

			// 设置联系人属性
			contactBusiopprt.setCustomerContact(contact);
			// 设置角色
			contactBusiopprt.setConrole(conrole);

			if (isMain) {// 如果是主要负责人
				// 设置主要联系人
				contactBusiopprt.setIsprincipal(Constants.MAINCONTACT);
			} else {
				// 不是主要联系人
				contactBusiopprt.setIsprincipal(Constants.NOMAINCONTACT);
			}
			// 保存民联系人---业务机会
			busiOpportDao.updateContactBusiopport(contactBusiopprt);
		} catch (Exception e) {
			e.printStackTrace();
			throw new ApplicationException("update data error!");
		}
	}

	/**
	 * 保存联系人---业务机会
	 * 
	 * @param contactId
	 *            联系人ID
	 * @param busiOpportId
	 *            业务机会ID
	 * @param roleId角色ID
	 * @param isMain是否是主要联系人
	 * @throws ApplicationException
	 */
	public void addContactBusiOpport(int contactId, int busiOpportId,
			int roleId, boolean isMain) throws ApplicationException {
		try {
			// 查找联系人
			CustomerContact contact = busiOpportDao.getContactById(contactId);
			// 查找业务机会
			BusinessOpportunity busiOpport = busiOpportDao
					.getById(busiOpportId);
			// 查找角色
			ConRole conrole = busiOpportDao.getConRoleById(roleId);

			if (isMain) {// 如果是主要联系人
				ContactBusiopport contactBusiopprt = new ContactBusiopport(
						busiOpport, contact, Constants.MAINCONTACT, conrole);
				busiOpportDao.saveContactBusiopport(contactBusiopprt);
			} else {// 不是主要联系人
				ContactBusiopport contactBusiopprt = new ContactBusiopport(
						busiOpport, contact, Constants.NOMAINCONTACT, conrole);
				busiOpportDao.saveContactBusiopport(contactBusiopprt);
			}

		} catch (Exception e) {
			e.printStackTrace();
			throw new ApplicationException("save data error!");
		}
	}
}

⌨️ 快捷键说明

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