package cn.ksource.web.controller.wechat.uwyw.stats;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.facade.tj.QuestionStatisFacade;
|
|
@Controller
|
@RequestMapping("/uwyw/stats/uQuestionStats")
|
public class UQuestionStatsController {
|
|
@Resource
|
private QuestionStatisFacade questionStatisFacade;
|
|
/**
|
* 问题统计首页
|
* @author chenlong
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionStatsIndex.html")
|
public String questionStatsIndex(HttpServletRequest request){
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionStatsIndex";
|
}
|
|
/**
|
* 查询条件
|
* @author chenlong
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionSearchIndex.html")
|
public String questionSearchIndex(Model model,HttpServletRequest request){
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionSearchIndex";
|
}
|
|
/**
|
* 获取快速查询日期
|
* @author chenlong
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("/getFastSearchDate.html")
|
public void getFastSearchDate(HttpServletRequest request,HttpServletResponse response){
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
|
Calendar cal = Calendar.getInstance();
|
Map<String, String> dateMap = new HashMap<String, String>();
|
String searchType = request.getParameter("searchType");
|
if(searchType.equals("one_week")){
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -6, "DAY", 8);
|
}else if(searchType.equals("one_month")){
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -1, "MONTH", 8);
|
}else if(searchType.equals("three_month")){
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -2, "MONTH", 8);
|
}else if(searchType.equals("six_month")){
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -5, "MONTH", 8);
|
}else if(searchType.equals("one_year")){
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -1, "YEAR", 8);
|
}
|
WebUtil.write(response, JsonUtil.map2Json(dateMap));
|
}
|
|
@RequestMapping("/questionStatsJump.html")
|
public String questionStatsJump(HttpServletRequest request){
|
String statsType = request.getParameter("statsType");
|
if(statsType.equals("source")){
|
return "forward:/uwyw/stats/uQuestionStats/questionSourcePie.html";
|
}else if(statsType.equals("close")){
|
return "forward:/uwyw/stats/uQuestionStats/questionCloseCol.html";
|
}else if(statsType.equals("priority")){
|
return "forward:/uwyw/stats/uQuestionStats/questionPriPie.html";
|
}else if(statsType.equals("influence")){
|
return "forward:/uwyw/stats/uQuestionStats/questionInfluenceCol.html";
|
}
|
return "forward:/uwyw/stats/uQuestionStats/questionStatsIndex.html";
|
}
|
|
/**
|
* 问题来源饼状图
|
* @author chenlong
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionSourcePie.html")
|
public String questionSourcePie(Model model,HttpServletRequest request){
|
String startDate = request.getParameter("startDate");
|
String endDate = request.getParameter("endDate");
|
if(StringUtil.isBlank(startDate)){
|
Map dateMap = getInitDateMap();
|
startDate =ConvertUtil.obj2Str(dateMap.get("startDate")).replace("-", "");
|
endDate = ConvertUtil.obj2Str(dateMap.get("endDate")).replace("-", "");
|
}
|
String cusId = WebUtil.getUserWywCusId(request);
|
|
|
Map chartMap = questionStatisFacade.questionSourcePie("day",cusId,startDate,endDate);
|
model.addAttribute("chartJsonStr",JsonUtil.map2Json(chartMap));
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionSourcePie";
|
}
|
|
/**
|
* 问题关闭方式柱状图
|
* @author chenlong
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionCloseCol.html")
|
public String questionCloseCol(Model model,HttpServletRequest request){
|
String startDate = request.getParameter("startDate");
|
String endDate = request.getParameter("endDate");
|
if(StringUtil.isBlank(startDate)){
|
Map dateMap = getInitDateMap();
|
startDate =ConvertUtil.obj2Str(dateMap.get("startDate")).replace("-", "");
|
endDate = ConvertUtil.obj2Str(dateMap.get("endDate")).replace("-", "");
|
}
|
String cusId = WebUtil.getUserWywCusId(request);
|
|
|
Map chartMap = questionStatisFacade.questionCloseCol("day",cusId,startDate,endDate);
|
model.addAttribute("chartJsonStr",JsonUtil.map2Json(chartMap));
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionCloseCol";
|
}
|
|
/**
|
* 问题优先级饼图
|
* @author chenlong
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionPriPie.html")
|
public String questionPriPie(Model model,HttpServletRequest request){
|
String startDate = request.getParameter("startDate");
|
String endDate = request.getParameter("endDate");
|
if(StringUtil.isBlank(startDate)){
|
Map dateMap = getInitDateMap();
|
startDate =ConvertUtil.obj2Str(dateMap.get("startDate")).replace("-", "");
|
endDate = ConvertUtil.obj2Str(dateMap.get("endDate")).replace("-", "");
|
}
|
String cusId = WebUtil.getUserWywCusId(request);
|
|
|
Map chartMap = questionStatisFacade.questionPriPie("day",cusId,startDate,endDate);
|
model.addAttribute("chartJsonStr",JsonUtil.map2Json(chartMap));
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionPriPie";
|
}
|
|
/**
|
* 问题影响度柱状图
|
* @author chenlong
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionInfluenceCol.html")
|
public String questionInfluenceCol(Model model,HttpServletRequest request){
|
String startDate = request.getParameter("startDate");
|
String endDate = request.getParameter("endDate");
|
if(StringUtil.isBlank(startDate)){
|
Map dateMap = getInitDateMap();
|
startDate =ConvertUtil.obj2Str(dateMap.get("startDate")).replace("-", "");
|
endDate = ConvertUtil.obj2Str(dateMap.get("endDate")).replace("-", "");
|
}
|
String cusId = WebUtil.getUserWywCusId(request);
|
|
Map chartMap = questionStatisFacade.questionInfluenceCol("day",cusId,startDate,endDate);
|
model.addAttribute("chartJsonStr",JsonUtil.map2Json(chartMap));
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionInfluenceCol";
|
}
|
|
public Map getInitDateMap(){
|
Calendar cal = Calendar.getInstance();
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
|
Map<String, String> dateMap = new HashMap<String, String>();
|
dateMap = DateUtil.getRecentDate(df.format(cal.getTime()), -6, "DAY", 8);
|
return dateMap;
|
}
|
|
@RequestMapping("/questionStatsReportJump.html")
|
public String questionStatsReportJump(HttpServletRequest request){
|
String statsType = request.getParameter("statsType");
|
if(statsType.equals("dcl")){
|
return "forward:/uwyw/stats/uQuestionStats/uquestionDclStatis.html";
|
}else if(statsType.equals("detail")){
|
return "forward:/uwyw/stats/uQuestionStats/uquestionDetailStatis.html";
|
}else if(statsType.equals("deal")){
|
return "forward:/uwyw/stats/uQuestionStats/uquestionDealStatis.html";
|
}else if(statsType.equals("state")){
|
return "forward:/uwyw/stats/uQuestionStats/uquestionStatusStatis.html";
|
}
|
return "forward:/uwyw/stats/uQuestionStats/questionStatsIndex.html";
|
}
|
|
/**
|
* 查询条件
|
* @param request
|
* @return
|
*/
|
@RequestMapping("/questionSearchReport.html")
|
public String questionSearchReport(Model model,HttpServletRequest request){
|
return "/business/wechat/uwyw/stats/uQuestionStats/questionSearchReport";
|
}
|
|
/**
|
* 跳转到事件达成率信息页面
|
*/
|
@RequestMapping("uquestionDclStatis.html")
|
public ModelAndView uquestionDclStatis(HttpServletRequest request) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/uwyw/stats/uQuestionStats/uquestionDclStatis");
|
String cusId = WebUtil.getUserWywCusId(request);
|
String beginTime = request.getParameter("beginTime");
|
String endTime = request.getParameter("endTime");
|
String subCustomerId = request.getParameter("sub_customer_id");
|
if(!StringUtil.isEmpty(cusId)){
|
List<Map> reports = questionStatisFacade.queryQuestiontDclStatis(cusId,subCustomerId,beginTime,endTime);
|
|
modelAndView.addObject("reports", reports);
|
SC_PARTNER_CUSTOMER_INFO cus = new SC_PARTNER_CUSTOMER_INFO(cusId).getInstanceById();
|
modelAndView.addObject("beginTime",DateUtil.format("yyyy/MM/dd", request.getParameter("beginTime")));
|
modelAndView.addObject("endTime",DateUtil.format("yyyy/MM/dd", request.getParameter("endTime")));
|
modelAndView.addObject("cusName",cus.getShort_name());
|
}
|
return modelAndView;
|
}
|
|
@RequestMapping("uquestionDetailStatis.html")
|
public String uquestionDetailStatis(Model model,HttpServletRequest request,HttpServletResponse response){
|
String cusId = WebUtil.getUserWywCusId(request);
|
String beginDay = request.getParameter("beginDay");
|
String endDay = request.getParameter("endDay");
|
if(!StringUtil.isEmpty(beginDay)){
|
Map report = questionStatisFacade.queryDetailReport(cusId,beginDay,endDay);
|
model.addAttribute("report", report);
|
|
SC_PARTNER_CUSTOMER_INFO cus = new SC_PARTNER_CUSTOMER_INFO(cusId).getInstanceById();
|
model.addAttribute("beginTime",DateUtil.format("yyyy/MM/dd", request.getParameter("beginDay")));
|
model.addAttribute("endTime",DateUtil.format("yyyy/MM/dd", request.getParameter("endDay")));
|
model.addAttribute("cusName",cus.getShort_name());
|
}
|
return "/business/wechat/uwyw/stats/uQuestionStats/uquestionDetailStatis";
|
}
|
|
@RequestMapping("uquestionDealStatis.html")
|
public String uquestionDealStatis(Model model,HttpServletRequest request,HttpServletResponse response){
|
String cusId = WebUtil.getUserWywCusId(request);
|
String beginDay = request.getParameter("beginDay");
|
String endDay = request.getParameter("endDay");
|
if(!StringUtil.isEmpty(beginDay)){
|
Map report = questionStatisFacade.queryDealStatuReport(cusId,beginDay,endDay);
|
model.addAttribute("report", report);
|
|
SC_PARTNER_CUSTOMER_INFO cus = new SC_PARTNER_CUSTOMER_INFO(cusId).getInstanceById();
|
model.addAttribute("beginTime",DateUtil.format("yyyy/MM/dd", request.getParameter("beginDay")));
|
model.addAttribute("endTime",DateUtil.format("yyyy/MM/dd", request.getParameter("endDay")));
|
model.addAttribute("cusName",cus.getShort_name());
|
}
|
return "/business/wechat/uwyw/stats/uQuestionStats/uquestionDealStatis";
|
}
|
|
@RequestMapping("uquestionStatusStatis.html")
|
public String uquestionStatusStatis(Model model,HttpServletRequest request,HttpServletResponse response){
|
String cusId = WebUtil.getUserWywCusId(request);
|
String beginDay = request.getParameter("beginDay");
|
String endDay = request.getParameter("endDay");
|
if(!StringUtil.isEmpty(beginDay)){
|
Map report = questionStatisFacade.queryStatusReport(cusId,beginDay,endDay);
|
model.addAttribute("report", report);
|
|
SC_PARTNER_CUSTOMER_INFO cus = new SC_PARTNER_CUSTOMER_INFO(cusId).getInstanceById();
|
model.addAttribute("beginTime",DateUtil.format("yyyy/MM/dd", request.getParameter("beginDay")));
|
model.addAttribute("endTime",DateUtil.format("yyyy/MM/dd", request.getParameter("endDay")));
|
model.addAttribute("cusName",cus.getShort_name());
|
}
|
return "/business/wechat/uwyw/stats/uQuestionStats/uquestionStatusStatis";
|
}
|
}
|