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

📄 customdisposeaction.java.svn-base

📁 本例使用Java + Jsp 实现选择树的过程,主要使用Struts+JDBC/hibernate架构
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
/*
 * $Workfile: CustomDisposeAction.java$ 
 * Copyright (c) 2007 Jama, International.
 * All rights reserved.
 * Creator kay
 * Last Changed by: $Author: kay$ 
 * On: $Date: 2007-8-29 上午09:10:13$ 
 * $Revision: 1$ 
 */

package com.jama.rcrm.service.web;


import static com.jama.rcrm.service.ServiceConstants.STATUS_NEW;
import static com.jama.rcrm.service.ServiceConstants.STATUS_ONE;
import static com.jama.rcrm.service.ServiceConstants.STATUS_TWO;
import static com.jama.rcrm.service.ServiceConstants.STATUS_ING;
import static com.jama.rcrm.service.ServiceConstants.STATUS_END;
import static com.jama.rcrm.service.ServiceConstants.STATUS_QEND;
import static com.jama.rcrm.service.ServiceConstants.STATUS_NO;
import static com.jama.rcrm.service.ServiceConstants.STATUS_YES;
import static com.jama.rcrm.service.ServiceConstants.STATUS_AEND;
import static com.jama.rcrm.service.ServiceConstants.STATUS_STRING;
import static com.jama.rcrm.service.ServiceConstants.DATE_TYPE;
import static com.jama.rcrm.service.ServiceConstants.DATE_TYPE_DAY;
import static com.jama.rcrm.service.ServiceConstants.DATE_TYPE_HOUR;

import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.jama.common.BeanFactory;
import com.jama.common.base.BaseDispatchAction;
import com.jama.common.base.BaseOptionDTO;
import com.jama.common.exception.BaseAppException;
import com.jama.common.exception.ErrorCode;
import com.jama.common.exception.WebException;
import com.jama.common.taglib.GridModel;
import com.jama.common.taglib.QueryInfo;
import com.jama.common.taglib.TableHeadInfo;
import com.jama.common.util.Tools;
import com.jama.rcrm.common.BeanNameConstants;
import com.jama.rcrm.service.ServiceConstants;
import com.jama.rcrm.service.business.CustomDisposeService;
import com.jama.rcrm.service.business.TserAdviseService;
import com.jama.rcrm.service.business.dto.CustomDisposeDTO;
import com.jama.rcrm.service.business.dto.TserAdviseAccessDto;
import com.jama.rcrm.service.web.form.CustomDisposeForm;


public class CustomDisposeAction extends BaseDispatchAction
{
	/**
	 * 投诉处理显示列表
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward findCustomertaskList(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		checkUserPermission(getMenuId(request), PERMISSION_READ, request);			
		String adviseGuid = getUserGuid(request);
		try
		{
			int colCount = 7; //总共数据的列数
			GridModel gridModel = new GridModel(colCount);
			gridModel.addHeadColumn(new TableHeadInfo("任务描述", "getTaskDescription", "250", "t.task_description", "center", 0));
			gridModel.addHeadColumn(new TableHeadInfo("处理部门", "getOrgName", "200", "o.name", "center", 1));
			gridModel.addHeadColumn(new TableHeadInfo("责任人", "getDutyUserName", "100", "p.name", "center", 2));
			gridModel.addHeadColumn(new TableHeadInfo("联系电话", "getTelPhone", "200", "t.tel_phone", "center", 3));
			gridModel.addHeadColumn(new TableHeadInfo("处理时限", "getDateLimit", "100", "t.date_limit", "center", 4));
			gridModel.addHeadColumn(new TableHeadInfo("处理状态", "getProcessStatus", "100", "t.process", "center", 5));
			gridModel.addHeadColumn(new TableHeadInfo("处理意见或结果", "getDisposeMind", "250", "t.dispose_mind", "center", 6));

			QueryInfo queryInfo = new QueryInfo(-1, "", request.getRequestURI());
			//默认排序列
			queryInfo.setSortColName("t.task_guid");
			//默认排序方式(升序?降序)
			queryInfo.setSortType("asc");		
			gridModel.setQueryInfo(queryInfo);

			if (request.getParameter("GridListTable") != null)
			{
				loadQueryInfo(gridModel.getQueryInfo(), request);
			}
			//设置翻页url
			gridModel.getQueryInfo().setPageLink(gridModel.getQueryInfo().getPageLink() + "?method=findCustomertaskList");
			CustomDisposeService testService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			// 获得当前用户任务分解记录(不包含已归档的)
			List testList = testService.findAll(gridModel.getQueryInfo(),adviseGuid);
      //将返回的DTOList 放入GridModel
			gridModel.setDataList(testList);
			request.setAttribute("gridModel", gridModel);
			//saveToken(request);

			return mapping.findForward("tocustomertask");
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_FINDTASK, e);
		}
	}
	/**
	 * 处理投诉(列表页面点击处理)
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward findByidAndUserid(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		try{
			checkUserPermission(getMenuId(request), PERMISSION_READ, request);	
			String guid = request.getParameter("guid");
			//获得用户ID
			String userid = super.getUserGuid(request);
			
			CustomDisposeService customDisposeService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			CustomDisposeDTO dto = customDisposeService.findByidAndUserID(guid, userid);
			CustomDisposeForm cform = new CustomDisposeForm();
			this.coverDTOToForm(dto, cform);
			//加载下拉列表
			disposePageDate(request,form);
			request.setAttribute("CustomDisposeForm", cform);
			return mapping.findForward("tocustomerdotask");
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_FINDBYIDANDUSERID,e);
		}
	}
	/**
	 * 处理投诉
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward update(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		try{
			checkUserPermission(getMenuId(request), PERMISSION_READ, request);
			CustomDisposeForm cf = (CustomDisposeForm) form;	
			CustomDisposeDTO dto = new CustomDisposeDTO();
			//将form转换为dto
			this.coverFormToDTO(cf, dto);
			CustomDisposeService testService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			
			testService.updateTask(dto);
			TserAdviseService tseradviseService = (TserAdviseService)BeanFactory.getBeanByName(BeanNameConstants.TSERADVIS_SERVICE);
			//判断是否有为完成的子任务
			if(!testService.findNoDisposeTasks(cf.getTaskGuid()))
			{
				tseradviseService.modifyProcess(cf.getAdviceGuid(), String.valueOf(ServiceConstants.STATUS_QEND));
			}
			super.showAlertMessage(request, "message.rcrm.sales.dispose.success");
			return mapping.findForward("toList");
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_ADD,e);
		}
	}
	/**
	 * 修改前 根据ID获得该记录信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward toUpdate(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		try
		{
			checkUserPermission(getMenuId(request), PERMISSION_READ, request);
			String guid = request.getParameter("guid");
			CustomDisposeService testService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			CustomDisposeDTO dto = testService.getTasksById(guid);
			CustomDisposeForm cf = new CustomDisposeForm();
			this.coverDTOToForm(dto, cf);
			//加载下拉列表
			taskPageDate(request,form);
			
			request.setAttribute("CustomDisposeForm", cf);
			return mapping.findForward("toUpdate");
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_ADD,e);
		}
	
	}
	/**
	 * 修改投诉
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward UpdateTasks(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		try
		{
			CustomDisposeForm cf = (CustomDisposeForm) form;
			CustomDisposeDTO dto = new CustomDisposeDTO();
			this.coverFormToDTO(cf, dto);
			CustomDisposeService testService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			testService.updateTask(dto);
			super.showAlertMessage(request, "message.rcrm.sales.updatetasks.success");
			return mapping.findForward("toList");
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_UPDATE,e);
		}
	}
	/**
	 * 删除任务分解(列表页点击删除)
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		try
		{
			checkUserPermission(getMenuId(request), PERMISSION_READ, request);
			String[] guid = request.getParameterValues("guid");
			CustomDisposeService testService = (CustomDisposeService) BeanFactory.getBeanByName("customDisposeService");
			for (int i = 0; i < guid.length; i++)
			{
				CustomDisposeDTO dto = testService.getTasksById(guid[i]);
				testService.delTask(dto);
			}
		}
		catch (Exception e)
		{
			throw new WebException(ErrorCode.ERROR_RCRM_WEB_SERVICE_CUSTOMERDISPOSE_DELETE,e);
		}
		super.showAlertMessage(request, "message.rcrm.sales.deletetasks.success");
		return mapping.findForward("toList");
	}
	
	/**
	 * 添加新的任务分解
	 * @param mapping

⌨️ 快捷键说明

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