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

📄 busiopportaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	public ActionForward newCreateOption(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws ApplicationException {
		String optionName = request.getParameter("busiOpportOptionName");
		User user = SessionMgr.getCustSession(request);
		// 初始化用户自定义选项,类型3为业务机会
		UserDefined userDefined = busiOpportMgr.initUserDefined(user,
				optionName, Constants.ALLBUSIOPPORT_INT, new Date());
		busiOpportMgr.addUserDefined(userDefined);// 保存自定义选项
		// 遍历所有过滤条件
		UserFilter uf = null;
		for (int i = 1; i <= 20; i++) {
			uf = new UserFilter();
			String fieldId = request.getParameter("field" + i);// 字段
			String operatorPre = request.getParameter("operator" + i);// SW运算符
			String valuePre = request.getParameter("value" + i);// 值
			// 判断输入条件是否为空
			if (!StringTool.isNotBlank(fieldId)
					|| !StringTool.isNotBlank(operatorPre)
					|| !StringTool.isNotBlank(valuePre)) {// 若字段为空
				break;
			}
			String field = busiOpportMgr.getStringByField(fieldId);// 字段转换
			String operator = StringTool.transformStr(operatorPre);// 转换运算符
			String filerValue = "";
			if (operatorPre.equals(Constants.STARTCHAR)) {// 若运算符是起始字符
				filerValue = "'" + valuePre + "%'";
			} else if (operator.equals("like") || operator.equals("!like")) {// 若是模糊查询
				filerValue = "'%" + valuePre + "%'";
			} else {// 其余为数值或字符
				filerValue = StringTool.transformString(fieldId, valuePre);
			}
			// 初始化用户过滤条件
			UserFilter userFilter = busiOpportMgr.initUserFilter(userDefined,
					field, operator, filerValue, operatorPre, valuePre);
			busiOpportMgr.addUserFilter(userFilter);// 保存过滤条件
		}
		String optionFields = request.getParameter("preOptions"); // 分离预选项
		UserField userField = busiOpportMgr.initUserFiled(userDefined,
				optionFields);
		busiOpportMgr.addUserFiled(userField);// 保存显示字段
		System.out.println("显示字段" + userField.getFieldName());
		request.setAttribute("isSuccess", Constants.SAVESUCCESS);
		return mapping.findForward("newBusiOppotOption");
	}

	/**
	 * 编辑业务机会选项
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward editOption(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		String optionId = request.getParameter("optionId");
		UserDefined busiOpportDefined = null;
		if (StringTool.isNotBlank(optionId)) {// 若选项id不空
			// 根据选项id搜索客户选项
			busiOpportDefined = busiOpportMgr.getUserDefinedById(Integer
					.parseInt(optionId));
		}
		// 将选项封装成vo
		BusiOpportDefinedVo busiOpportDefinedVo = busiOpportMgr
				.transaformBusiOpportDefinedPoToVo(busiOpportDefined);
		System.out.println("可选字段" + busiOpportDefinedVo.getNoUserFields());
		request.setAttribute("busiOpportDefinedVo", busiOpportDefinedVo);
		return mapping.findForward("editOption");
	}

	/**
	 * 创建客户新选项
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyOption(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		String optionId = request.getParameter("optionId");
		//String optionId=request.getParameter("optionId");
		System.out.println("选项" + optionId);
		UserDefined ud = null;
		if (StringTool.isNotBlank(optionId)) {// 若选项不为空
			ud = busiOpportMgr.getUserDefinedById(Integer.parseInt(optionId));
		}
		if (ud != null) {
			String optionName = request.getParameter("optionName");
			ud.setDefinedName(optionName);
			ud.setType(Constants.ALLBUSIOPPORT_INT);// 设置选项类型
			busiOpportMgr.updateOption(ud);
			UserFilter uf = null;
			for (int i = 1; i <= 20; i++) {// 遍历所有的过滤条件
				String filterId = request.getParameter("filterId" + i);// 过滤条件id
				String fieldId = request.getParameter("field" + i);// 字段
				String operatorPre = request.getParameter("operator" + i);// 预运算符
				String valuePre = request.getParameter("value" + i);// 值
				if (StringTool.isNotBlank(filterId)) {// 若过滤条件不为空,则从数据库中搜索该过滤条件
					uf = busiOpportMgr.getUserFilterById(filterId);
					if (fieldId.equals("")
							|| operatorPre.equals(Constants.NONE)
							|| valuePre.equals("")) {// 若字段为空
						System.out.println("删除");
						busiOpportMgr.deleteFilter(uf);
						continue;
					}
				} else {
					uf = new UserFilter();
					System.out.println("有到这里吗1..." + uf);
				}

				System.out.println("第几个过滤条件" + filterId);
				System.out.println("fieldId:" + fieldId);
				System.out.println("operatorPre:" + operatorPre);
				System.out.println("value:" + valuePre);
				String filerValue = "";
				if (!StringTool.isNotBlank(fieldId)
						|| !StringTool.isNotBlank(operatorPre)
						|| !StringTool.isNotBlank(valuePre)) {// 若字段为空
					System.out.println("跳出");
					break;// 跳出
				}
				uf.setOperatorName(operatorPre);// 保存操作名
				uf.setFilter(valuePre);// 保存值
				String field = busiOpportMgr.getStringByField(fieldId);
				String operator = StringTool.transformStr(operatorPre);// 转换运算符
				if (operatorPre.equals(Constants.STARTCHAR)) {// 若运算符是起始字符
					filerValue = "'" + valuePre + "%'";
				} else if (operator.equals("like") || operator.equals("!like")) {// 若是模糊查询
					filerValue = "'%" + valuePre + "%'";
				} else {// 其余为数值或字符
					filerValue = "'" + valuePre + "'";
				}
				uf.setFilterName(field);
				uf.setOperator(operator);
				uf.setFilterValue(filerValue);
				uf.setUserDefined(ud);
				System.out.println("有到这里吗2..." + filterId);
				if (StringTool.isNotBlank(filterId)) {// 若过滤条件不为空,则修改该过滤条件
					busiOpportMgr.updateUserFilter(uf);// 修改过滤条件
				} else {
					busiOpportMgr.addUserFilter(uf);// 保存过滤条件
					System.out.println("保存..." + uf);
				}
			}
			String optionFields = request.getParameter("preOptions"); // 分离预选项
			UserField userField = busiOpportMgr.getUserFieldByOption(ud);
			userField.setFieldName(optionFields);
			userField.setUserDefined(ud);
			busiOpportMgr.updateUserField(userField);// 修改显示字段
			System.out.println(userField.getFieldName());
			request.setAttribute("isSuccess", Constants.SAVESUCCESS);
		} else {
			request.setAttribute("isSuccess", Constants.SAVEFIALURE);
		}
		return mapping.findForward("editOptionAgain");
	}

	/**
	 * 编辑业务机会
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward editBusiOpport(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		//获取BusinessOpportunity的id
		String busiOpportId = request.getParameter("id");
		BusinessOpportunity busiOpport = null;
		if (StringTool.isNotBlank(busiOpportId)) {// 根据id查找联系人
			busiOpport = busiOpportMgr.getBusiOpportById(Integer
					.parseInt(busiOpportId));
		}
		if (busiOpport != null) {// 根据联系人查找用户---联系人
			BusinessOpportunityVo busiOpprtVo = new BusinessOpportunityVo();
			try {
				BeanUtils.copyProperties(busiOpprtVo, busiOpport);
			} catch (Exception e) {

			}
			request.setAttribute("busiOpprtVo", busiOpprtVo);
		}
		return mapping.findForward("editBusiOpport");
	}

	/**
	 * 修改业务机会
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyBusiOpport(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws ApplicationException {
		String busiOpportId = request.getParameter("id");
		BusiOpportForm busiOpportForm = (BusiOpportForm) form;
		BusinessOpportunity busiOpport = null;
		if (StringTool.isNotBlank(busiOpportId)) {
			// 根据id查找联系人
			busiOpport = busiOpportMgr.getBusiOpportById(Integer
					.parseInt(busiOpportId));
		}
		if (busiOpport != null) {
			busiOpport.setBusiOpportName(busiOpportForm.getBusiOpportName()); // 业务机会名称
			busiOpport
					.setBusinessDescribe(busiOpportForm.getBusinessDescribe()); // 业务机会描述
			busiOpport.setInvolveProduct(busiOpportForm.getInvolveProduct()); // 涉及产品
			busiOpport.setCreatDate(busiOpportForm.getCreatDate()); // 创建日期
			busiOpport.setPreTransactionDate(busiOpportForm
					.getPreTransactionDate()); // 预计成交日期
			busiOpport.setCompleteTime(busiOpportForm.getCompleteTime()); // 完成日期
			busiOpport.setStageOf(busiOpportForm.getStageOf()); // 所属阶段
			busiOpport.setProbability(busiOpportForm.getProbability()); // 可能性
			busiOpport.setPredictAmount(busiOpportForm.getPredictAmount()); // 成交金额
			busiOpport.setDecisionMan(busiOpportForm.getDecisionMan()); // 决策人
			busiOpport.setCompeteDescribe(busiOpportForm.getCompeteDescribe()); // 竞争情况描述

			// 更新业务机会表
			try {
				// 根据客户ID查找客户
				Customer customer = busiOpportMgr
						.getCustomerById(busiOpportForm.getCustomerId());
				busiOpport.setCustomer(customer);
				busiOpportMgr.updateBusiOpport(busiOpport);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG,
						Constants.ENABLEUPDATEDATA);
				throw new ApplicationException(Constants.ENABLEUPDATEDATA);
			}

			// 把修改的记录添加到阶段历史里 by 张明强
			BusinessOpportunityStageHistory bosh = new BusinessOpportunityStageHistory();
			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())); // 修改时间
			// 获取会话
			User user = SessionMgr.getCustSession(request);
			logger.debug("这个值正确吗~~~~???" + user.getId());
			bosh.setModifyManId(user.getId()); // 修改人的ID
			bosh.setBusinessOpportunityId(busiOpport.getId());
			try {
				boshMgr.addBoStageHistory(bosh);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.ERRORSYSTEM);
				throw new ApplicationException("添加阶段历史失败异常!");
			}

			// 把修改的记录添加到阶段历史里 结束

			// 显示历史阶段 by 张明强
			try {
				List<BusinessOpportunityStageHistory> boshList = new ArrayList<BusinessOpportunityStageHistory>();
				logger.debug("ddddd:" + busiOpport.getId());
				boshList = boshMgr.getByBusiOpportID(busiOpport.getId());
				request.setAttribute("boshList", boshList);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.ERRORSYSTEM);
				throw new ApplicationException("the data copy exception");
			}
			// 显示历史阶段 结束

		}
		String param = request.getParameter("param");
		String forward = "busiOpportCorrelation";
		logger.debug("参数为空吗" + param);
		if (param != null && param.equals("newAgain")) {// 若是保存并新建
			forward = "newBusiOpport";
		} else {

			// 显示业务机会信息
			try {
				BusinessOpportunityVo busiOpportVo = new BusinessOpportunityVo();
				BeanUtils.copyProperties(busiOpportVo, busiOpport);
				request.setAttribute("busiOpportVo", busiOpportVo);
			} catch (Exception e) {
				e.printStackTrace();
				request.setAttribute(Constants.ERRMSG, Constants.ERRORSYSTEM);
				throw new ApplicationException("the data copy exception");
			}

		}
		return mapping.findForward(forward);

⌨️ 快捷键说明

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