lostsaction.java

来自「一套自己原先在学校作的CRM,大家指点下」· Java 代码 · 共 202 行

JAVA
202
字号

package com.crm.action.client;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
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 org.apache.struts.actions.DispatchAction;

import com.crm.form.ClientStateInfoForm;
import com.crm.pojo.Client;
import com.crm.pojo.ClientStateInfo;
import com.crm.pojo.OrderInfo;
import com.crm.service.IClientBiz;
import com.crm.service.IClientStateInfoBiz;

/** 
 * MyEclipse Struts
 * Creation date: 10-19-2008
 * 
 * XDoclet definition:
 * @struts.action path="/losts" name="clientStateInfoForm" parameter="operate" scope="request"
 * 薛霞
 * 客户流失管理
 */
public class LostsAction extends DispatchAction {
	private IClientBiz clientBiz;
	private IClientStateInfoBiz csiBiz;
	private ClientStateInfo csiQB=new ClientStateInfo();
	private String time="";
	public void setClientBiz(IClientBiz clientBiz) {
		this.clientBiz = clientBiz;
	}
	public void setCsiBiz(IClientStateInfoBiz csiBiz) {
		this.csiBiz = csiBiz;
	}
	/*
	 * 所有的客户信息
	 */
	public ActionForward toList(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		csiQB=new ClientStateInfo();
		this.page(csiQB, request);
		//要订单的日期,得到最后订单的日期
		List csiList=(List) request.getAttribute("csiList");
		for(int i=0;i<csiList.size();i++){
			ClientStateInfo csi=(ClientStateInfo) csiList.get(0);
			int id=csi.getClient().getClientId();
			Client client=clientBiz.findById(id);
			Iterator it=client.getOrderInfos().iterator();
			while(it.hasNext()){
				OrderInfo orderInfo=(OrderInfo) it.next();
				String str=orderInfo.getOrderTime();
				time=str;
				time=this.time(str);
			}
		}
		request.getSession().setAttribute("time", time);
		return mapping.findForward("list");
	}
	/*
	 * 到暂缓流失的页面
	 */
	public ActionForward toConfirm(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int id=Integer.parseInt(request.getParameter("id"));
		ClientStateInfo csi=csiBiz.findById(id);
		request.setAttribute("csi", csi);
		return mapping.findForward("confirm");
	}
	/*
	 * 确认暂缓流失
	 */
	public ActionForward doConfirm(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int id=Integer.parseInt(request.getParameter("id"));
		ClientStateInfo csi=((ClientStateInfoForm)form).getCsi();
		ClientStateInfo c=csiBiz.findById(id);
		c.setCsiCause(csi.getCsiCause());
		c.setCsiTime(new SimpleDateFormat("yy-MM-dd").format(new Date()));
		Client client=clientBiz.findById(c.getClient().getClientId());
		client.getClientState().setClientStateId(csi.getClient().getClientState().getClientStateId());
		clientBiz.update(client);
		csiBiz.update(c);
		return this.toList(mapping, form, request, response);
	}
	/*
	 * 到确认流失
	 */
	public ActionForward toRelay(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int id=Integer.parseInt(request.getParameter("id"));
		ClientStateInfo csi=csiBiz.findById(id);
		request.setAttribute("csi", csi);
		return mapping.findForward("relay");
	}
	public ActionForward toSeach(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int id=Integer.parseInt(request.getParameter("id"));
		ClientStateInfo csi=csiBiz.findById(id);
		request.setAttribute("csi", csi);
		return mapping.findForward("seach");
	}
	/*
	 * 确认流失信息
	 */
	public ActionForward doRelay(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int id=Integer.parseInt(request.getParameter("id"));
		ClientStateInfo csi=((ClientStateInfoForm)form).getCsi();
		ClientStateInfo c=csiBiz.findById(id);
		String bstr=c.getCsiStep();
		String str=csi.getCsiStep();
		String s=bstr+"<br>"+str;
		c.setCsiStep(s);
		Client client=clientBiz.findById(c.getClient().getClientId());
		client.getClientState().setClientStateId(csi.getClient().getClientState().getClientStateId());
		clientBiz.update(client);
		csiBiz.update(c);
		return this.toList(mapping, form, request, response);
	}
	public ActionForward doFind(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ClientStateInfoForm df=(ClientStateInfoForm)form;
		ClientStateInfo csi=df.getCsi();
		csiQB=csi;
		this.page(csi, request);
		return mapping.findForward("list");	
	}
	public ActionForward doPage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		this.page(csiQB, request);
		return mapping.findForward("list");	
	}
	public void page(ClientStateInfo csi,HttpServletRequest request){
		int pageSize=10;//一页查几行
		int count=csiBiz.findAll(csi).size();//一共多少行	
		int page=count%pageSize==0?count/pageSize:count/pageSize+1;//一共多少页
		int pageNo=1;//第几页查
		//没有转到第几页
			if(request.getParameter("pageNo")==null || request.getParameter("pageNo").equals("")){
				pageNo=1;
			}else{
				pageNo=Integer.parseInt(request.getParameter("pageNo"));
			}	
		
		List csiList=csiBiz.find(csi,pageNo,pageSize);
		request.setAttribute("page", page);
		request.setAttribute("pageSize", pageSize);
		request.setAttribute("pageNo", pageNo);
		request.setAttribute("count", count);
		request.setAttribute("csiList",csiList);
	}
	private String time(String str){
		int year=Integer.parseInt(str.substring(0, 4));
		String month=str.substring(5, 7);
		int months=0;
		if(Integer.parseInt(month.substring(0,1))==0){
			months=Integer.parseInt(month.substring(1,2));
		}else{
			months=Integer.parseInt(month);
		}
		String date=str.substring(8,10);
		int day=0;
		if(Integer.parseInt(date.substring(0,1))==0){
			day=Integer.parseInt(date.substring(1,2));
		}else{
			day=Integer.parseInt(date);
		}
		
		
		int m=0;
		if(Integer.parseInt(time.substring(5,7).substring(0,1))==0){
			m=Integer.parseInt(month.substring(1,2));
		}else{
			m=Integer.parseInt(time.substring(5,7));
		}
		int d=0;
		if(Integer.parseInt(time.substring(8,10).substring(0,1))==0){
			d=Integer.parseInt(time.substring(8,10).substring(1,2));
		}else{
			d=Integer.parseInt(time.substring(8,10));
		}
		
		if(year>Integer.parseInt(time.substring(0,4))){
			return str;
		}
		if(months>m){
			return str;
		}
		if(day>d){
			return str;
		}
		return time;
	}
}

⌨️ 快捷键说明

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