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 + -
显示快捷键?