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

📄 busiopportaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
package com.yuanchung.sales.struts.busiOpport.action;

import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.yuanchung.sales.config.ClassCodeMgr;
import com.yuanchung.sales.config.ConfigMgr;
import com.yuanchung.sales.constants.CorrelationConstant;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.IllegalParameterException;
import com.yuanchung.sales.model.admin.Rights;
import com.yuanchung.sales.model.businessOpportunity.BusinessOpportunity;
import com.yuanchung.sales.model.businessOpportunity.BusinessOpportunityStageHistory;
import com.yuanchung.sales.model.customer.Customer;
import com.yuanchung.sales.model.customer.CustomerContact;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.model.userDefined.UserDefined;
import com.yuanchung.sales.model.userDefined.UserField;
import com.yuanchung.sales.model.userDefined.UserFilter;
import com.yuanchung.sales.service.RelationManage;
import com.yuanchung.sales.service.admin.authorization.AuthorizationMgr;
import com.yuanchung.sales.service.busiOpport.BoStageHistoryMgr;
import com.yuanchung.sales.service.busiOpport.BusiOpportMgr;
import com.yuanchung.sales.struts.busiOpport.form.BusiOpportForm;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.util.DateTimeTool;
import com.yuanchung.sales.util.SessionMgr;
import com.yuanchung.sales.util.StringTool;
import com.yuanchung.sales.util.XPage;
import com.yuanchung.sales.vo.CustomerVo;
import com.yuanchung.sales.vo.busiOpport.BusiOpportDefinedVo;
import com.yuanchung.sales.vo.busiOpport.BusinessOpportunityVo;
import com.yuanchung.sales.vo.contact.ContactRoleVo;
import com.yuanchung.sales.vo.contact.ContactVo;
import com.yuanchung.sales.vo.taskEvent.ActivityTaskVo;
import com.yuanchung.sales.vo.taskEvent.CorrelationVo;
import com.yuanchung.sales.vo.taskEvent.EventVo;
import com.yuanchung.sales.vo.user.UserVo;

public class BusiOpportAction extends DispatchAction {
	private static Logger logger = Logger.getLogger(BusiOpportAction.class);
	private BusiOpportMgr busiOpportMgr;
	private BoStageHistoryMgr boshMgr;
	private AuthorizationMgr authorizationMgr;

	public void setAuthorizationMgr(AuthorizationMgr authorizationMgr) {
		this.authorizationMgr = authorizationMgr;
	}

	public void setBusiOpportMgr(BusiOpportMgr busiOpportMgr) {
		this.busiOpportMgr = busiOpportMgr;
	}

	private RelationManage relationManage;

	public RelationManage getRelationManage() {
		return relationManage;
	}

	public void setRelationManage(RelationManage relationManage) {
		this.relationManage = relationManage;
	}

	/**
	 * 新建业务机会
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward newCreateBusiOpport(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws ApplicationException {

		BusiOpportForm busiOpportForm = (BusiOpportForm) form;
		BusinessOpportunity busiOpport = new BusinessOpportunity();
		User user = SessionMgr.getCustSession(request);
		busiOpport.setUser(user);// 添加用户
		// 根据客户名称查找客户
		int customerId = busiOpportForm.getCustomerId();
		logger.debug("客户ID。。。" + customerId);
		String forward = "busiOpportCorrelation";// 跳转到业务机会相关页面

		try {
			Customer customer = busiOpportMgr.getCustomerById(customerId);
			busiOpport.setCustomer(customer);

			// 给其指定一个id by 张明强 注:如果ID自动增长的话,到阶段历史那边取ID不好取
			int boID = StringTool.createID();
			logger.debug("--boID值是多少--:" + boID);
			busiOpport.setId(boID); // ID
			busiOpport.setBusiOpportName(busiOpportForm.getBusiOpportName());// 业务机会名称
			busiOpport
					.setBusinessDescribe(busiOpportForm.getBusinessDescribe());// 业务机会描述
			busiOpport.setInvolveProduct(busiOpportForm.getInvolveProduct());// 涉及产品
			busiOpport.setCreatDate(DateTimeTool
					.getCurrentDate("yyyy-MM-dd HH:mm:ss"));// 默认创建当前时间
			busiOpport.setPreTransactionDate(busiOpportForm
					.getPreTransactionDate());// 结束日期
			busiOpport.setStageOf(busiOpportForm.getStageOf());// 所属阶段
			busiOpport.setProbability(busiOpportForm.getProbability());// 可能性
			busiOpport.setPredictAmount(busiOpportForm.getPredictAmount());// 预计金额
			busiOpport.setDecisionMan(busiOpportForm.getDecisionMan());// 决策人
			busiOpport.setFlag(1);// 默认为激活
			busiOpport.setCompeteDescribe(busiOpportForm.getCompeteDescribe());// 竞争描述
			busiOpport.setModifyManId(user.getId());// 修改人ID
			busiOpport.setLastModifyTime(DateTimeTool.dateToStrFormat(
					"yyyy-MM-dd HH:mm:ss", new Date()));// 修改时间

			// 保存业务机会
			busiOpportMgr.addBusiOpport(busiOpport);

			// 保存业务机会的阶段历史 by 张明强加

			BusinessOpportunityStageHistory bosh = new BusinessOpportunityStageHistory();
			// bosh.setId(boID);
			bosh.setStageName(busiOpportForm.getStageOf()); // 阶段名词
			bosh.setPredictAmount(busiOpportForm.getPredictAmount()); // 金额
			bosh.setProbability(busiOpportForm.getProbability()); // 可能性
			bosh.setPretransactionDate(busiOpportForm.getPreTransactionDate()); // 结束日期
			bosh.setLastModifyTime(DateTimeTool.dateToStrFormat(
					"yyyy-MM-dd HH:mm:ss", new Date())); // 修改时间
			logger.debug("这个值正确吗???" + user.getId());
			bosh.setModifyManId(user.getId()); // 修改人的ID
			bosh.setBusinessOpportunityId(boID);
			try {
				boshMgr.addBoStageHistory(bosh);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.ERRORSYSTEM);
				throw new ApplicationException("添加阶段历史失败异常!");
			}

			// 保存业务机会的阶段历史 结束

			// 查找出最新保存的业务机会
			BusinessOpportunity busiOpportLast = busiOpportMgr
					.getBusiOpportDao().getLastestBusiOpport();
			int contactId = busiOpportForm.getContactId();
			logger.debug("联系人ID。。。" + contactId);
			if (contactId > 0) {// 若是在联系人管理创建业务机会
				// 根据联系人ID查找联系人
				CustomerContact contact = busiOpportMgr.getBusiOpportDao()
						.getContactById(contactId);

				List<ContactVo> contacts = new ArrayList<ContactVo>();
				ContactVo contactVo = new ContactVo(contact.getId(), contact
						.getName(), contact.getCustomer().getId(), contact
						.getCustomer().getCustomerName(),
						contact.getComPhone(), contact.getEmail(), null, null);
				contacts.add(contactVo);
				request.setAttribute("contacts", contactVo);
			}
			String param = request.getParameter("param");
			logger.debug("参数为空吗" + param);
			if (param != null && param.equals("newAgain")) {// 若是保存并新建
				forward = "newBusiOpport";
			} else {
				try {
					BusinessOpportunityVo busiOpportVo = new BusinessOpportunityVo();
					BeanUtils.copyProperties(busiOpportVo, busiOpportLast);
					request.setAttribute("busiOpportVo", busiOpportVo);
				} catch (Exception e) {
					e.printStackTrace();
					request.setAttribute(Constants.ERRMSG,
							Constants.ERRORSYSTEM);
					throw new ApplicationException("the data copy exception");
				}
			}

			// 显示历史阶段 by 张明强
			try {
				BusinessOpportunityStageHistory boshVO = new BusinessOpportunityStageHistory();
				BeanUtils.copyProperties(boshVO, bosh);
				List<BusinessOpportunityStageHistory> boshList = new ArrayList<BusinessOpportunityStageHistory>();
				boshList.add(boshVO);
				request.setAttribute("boshList", boshList);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.ERRORSYSTEM);
				throw new ApplicationException("the data copy exception");
			}
			// 显示历史阶段 结束

		} catch (Exception e) {
			request.setAttribute(Constants.ERRMSG, Constants.UNABLESAVEUSER);
		}

		return mapping.findForward(forward);
	}

	/**
	 * 查找所有的客户
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward allCustomer(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		User user = SessionMgr.getCustSession(request);
		String forward = "customerList";
		if (user != null) {
			// 查找所有的客户
			List<CustomerVo> customers = busiOpportMgr.getCustomerByUser(user,
					Constants.ACTIVEFLAG);
			String currentPage = request.getParameter("currentPage");
			XPage xpage = new XPage(request.getContextPath()
					+ "/busiOpport.do?method=allCustomer", customers.size(), 1,
					8, customers);
			if (currentPage != null && !currentPage.equals("")) {
				xpage.setCurrentItems(Integer.parseInt(currentPage));
			} else {
				xpage.setCurrentItems(1);
			}
			xpage.setPageBar();
			request.setAttribute("xpage", xpage);
		} else {
			request.setAttribute("loginerror", Constants.MESSAGE);
			forward = "userLogin";
		}
		return mapping.findForward(forward);
	}

	/**
	 * 所有业务机会
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward allBusiOpport(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		User user = SessionMgr.getCustSession(request);
		// 2009-02-24 add
		Rights rights = SessionMgr.getJspRightsControl(request).get("3")
				.getRightsMap().get("304");
		String style = rights.getStyle();
		String userIds = authorizationMgr.findUserDataRange(rights.getId(),
				user);
		logger.debug("userIds : " + userIds);
		// end add
		// 根据用户和类型查找业务机会选项
		List<UserDefined> busiOpportOptions = new ArrayList<UserDefined>();
		if (Constants.STYLE_BLOCK.equals(style)) {// 2009-02-23 add 数据范围
			busiOpportOptions = busiOpportMgr.getOptionsByUserAndType(user,
					Constants.ALLBUSIOPPORT_INT);// 根据用户获取所有用户自定义选项

		}
		request.setAttribute("busiOpportOptions", busiOpportOptions);

		// List<BusinessOpportunityVo> busiOpports = busiOpportMgr
		// .getAllBusiOpport(user);
		List<BusinessOpportunityVo> busiOpports = busiOpportMgr
				.getAllBusiOpport(userIds, request);
		String currentPage = request.getParameter("currentPage");
		XPage xpage = new XPage(request.getContextPath()
				+ "/busiOpport.do?method=allBusiOpport", busiOpports.size(), 1,
				10, busiOpports);
		if (currentPage != null && !currentPage.equals("")) {
			xpage.setCurrentItems(Integer.parseInt(currentPage));
		} else {
			xpage.setCurrentItems(1);
		}
		xpage.setPageBar();
		request.setAttribute("xpage", xpage);
		return mapping.findForward("busiOpportList");
	}

	/**
	 * 创建新选项
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */

⌨️ 快捷键说明

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