package cn.ksource.web.controller.uc.ucstatis;
|
|
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.bind.annotation.RequestMethod;
|
|
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.customermanage.CustomerManageFacade;
|
import cn.ksource.web.facade.tj.SatisfactionStatisFacade;
|
|
@RequestMapping("/uc/statis/satis")
|
@Controller
|
public class UcStatisSatisController {
|
@Resource
|
private SatisfactionStatisFacade satisfactionStatisFacade;
|
@Resource
|
private CustomerManageFacade customerFacade;
|
|
/**
|
* 预防性维护类满意度明细起始页
|
* @param model
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("/satisfactionDetailTableIndex.html")
|
public String satisfactionDetailChartIndex(Model model,HttpServletRequest request,HttpServletResponse response){
|
modelAddAttribute(model,request);
|
return "/uc/statis/satis/satisfactionDetailTableIndex";
|
}
|
|
/**
|
* 预防性维护类满意度明细
|
* @param model
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("/satisfactionDetailTable.html")
|
public String satisfactionDetailChart(Model model,HttpServletRequest request,HttpServletResponse response){
|
String subTitle = request.getParameter("subTitle");
|
model.addAttribute("subTitle",subTitle);
|
Map resMap = satisfactionStatisFacade.satisfactionDetailChart(request);
|
List<Map> resList = (List<Map>)resMap.get("resList");
|
Map root = (Map)resMap.get("root");
|
model.addAttribute("resList",resList);
|
model.addAttribute("root",root);
|
|
return "/uc/statis/satis/satisfactionDetailTable";
|
}
|
|
|
/**
|
* 大项统计页面(图表)
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value="/satisfactionBigItemChart.html",method=RequestMethod.GET)
|
public String satisfactionBigItemChartIndex(Model model,HttpServletRequest request,HttpServletResponse response) {
|
modelAddAttribute(model,request);
|
return "/uc/statis/satis/satisfactionBigItemChart";
|
}
|
|
/**
|
* 大项统计(图表)
|
* @param model
|
* @param request
|
* @param response
|
*/
|
@RequestMapping(value="/satisfactionBigItemChart.html",method=RequestMethod.POST)
|
public void satisfactionBigItemChart(Model model,HttpServletRequest request,HttpServletResponse response){
|
Map resMap = satisfactionStatisFacade.satisfactionBigItemChart(request);
|
WebUtil.write(response, JsonUtil.map2Json(resMap));
|
}
|
|
|
/**
|
* 大项统计页面(报表)
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("/satisfactionBigItemTableIndex.html")
|
public String satisfactionBigItemTableIndex(Model model,HttpServletRequest request,HttpServletResponse response){
|
modelAddAttribute(model,request);
|
return "/uc/statis/satis/satisfactionBigItemTableIndex";
|
}
|
|
@RequestMapping("/satisfactionBigItemTable.html")
|
public String satisfactionBigItemTable(Model model,HttpServletRequest request,HttpServletResponse response){
|
String subTitle = request.getParameter("subTitle");
|
model.addAttribute("subTitle",subTitle);
|
Map resMap = satisfactionStatisFacade.satisfactionBigItemChart(request);
|
List<List> tableData = (List<List>)resMap.get("tableData");
|
List<Map> tableLabel = (List<Map>)resMap.get("tableLabel");
|
model.addAttribute("tableData",tableData);
|
model.addAttribute("tableLabel",tableLabel);
|
return "/uc/statis/satis/satisfactionBigItemTable";
|
}
|
|
|
|
|
|
/**
|
* 小项统计页面(图表)
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value="/satisfactionSmallItemChart.html",method=RequestMethod.GET)
|
public String satisfactionSmallItemChartIndex(Model model,HttpServletRequest request,HttpServletResponse response) {
|
modelAddAttribute(model,request);
|
return "/uc/statis/satis/satisfactionSmallItemChart";
|
}
|
|
/**
|
* 小项统计(图表)
|
* @param model
|
* @param request
|
* @param response
|
*/
|
@RequestMapping(value="/satisfactionSmallItemChart.html",method=RequestMethod.POST)
|
public void satisfactionSmallItemChart(Model model,HttpServletRequest request,HttpServletResponse response){
|
Map resMap = satisfactionStatisFacade.satisfactionSmallItemChart(request);
|
WebUtil.write(response, JsonUtil.map2Json(resMap));
|
}
|
|
|
/**
|
* 小项统计页面(报表)
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("/satisfactionSmallItemTableIndex.html")
|
public String satisfactionSmallItemTableIndex(Model model,HttpServletRequest request,HttpServletResponse response){
|
modelAddAttribute(model,request);
|
return "/uc/statis/satis/satisfactionSmallItemTableIndex";
|
}
|
|
@RequestMapping("/satisfactionSmallItemTable.html")
|
public String satisfactionSmallItemTable(Model model,HttpServletRequest request,HttpServletResponse response){
|
String subTitle = request.getParameter("subTitle");
|
model.addAttribute("subTitle",subTitle);
|
Map resMap = satisfactionStatisFacade.satisfactionSmallItemChart(request);
|
List<List> tableData = (List<List>)resMap.get("tableData");
|
Map tableLabel = (Map)resMap.get("tableLabel");
|
model.addAttribute("tableData",tableData);
|
model.addAttribute("tableLabel",tableLabel);
|
return "/uc/statis/satis/satisfactionSmallItemTable";
|
}
|
|
|
private void modelAddAttribute(Model model,HttpServletRequest request){
|
//获取当前session中的客户信息
|
Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request));
|
long month = DateUtil.getCurrentDate6();
|
long monthFirstDate = ConvertUtil.obj2Long(month+"01");
|
String beginTime = DateUtil.format("yyyy-MM-dd", monthFirstDate);
|
String endTime = DateUtil.getToday("yyyy-MM-dd");
|
int beginMonth = DateUtil.getYear();
|
String endMonth = DateUtil.getToday("yyyyMM");
|
String showType = request.getParameter("showType");
|
String busType = request.getParameter("busType");
|
String cycle = request.getParameter("cycle");
|
String subTitle = "";
|
if(StringUtil.isBlank(cycle)){
|
cycle = "day";
|
}
|
if(StringUtil.isBlank(showType)){
|
showType = "chart";
|
}
|
if(StringUtil.isBlank(busType)){
|
busType = "1";
|
}
|
|
if(busType.equals("1")){
|
model.addAttribute("tjType", "ANSWER");
|
subTitle = "响应支持类";
|
}else if(busType.equals("2")){
|
model.addAttribute("tjType", "DEFEND");
|
subTitle = "预防维护类";
|
}else if(busType.equals("3")){
|
model.addAttribute("tjType", "LOCAL");
|
subTitle = "驻场类";
|
}else if(busType.equals("4")){
|
model.addAttribute("tjType", "TOTAL");
|
subTitle = "综合类满意度";
|
}
|
|
model.addAttribute("subTitle", subTitle);
|
model.addAttribute("showType", showType);
|
model.addAttribute("cycle", cycle);
|
model.addAttribute("busType", busType);
|
model.addAttribute("beginTime", beginTime.replaceAll("-", ""));
|
model.addAttribute("endTime", endTime.replaceAll("-", ""));
|
model.addAttribute("beginMonth", beginMonth+"01");
|
model.addAttribute("endMonth", endMonth);
|
model.addAttribute("cus", cus);
|
}
|
|
/**
|
* 月度统计
|
* @param model
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value="/satisfactionMonthChart.html",method=RequestMethod.GET)
|
public String satisfactionMonthChartIndex(Model model,HttpServletRequest request,HttpServletResponse response) {
|
String showType = request.getParameter("showType");
|
Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request));
|
String endMonth = DateUtil.getToday("yyyyMM");
|
model.addAttribute("cus", cus);
|
model.addAttribute("endMonth", endMonth);
|
model.addAttribute("showType", showType);
|
return "/uc/statis/satis/satisfactionMonthChart";
|
}
|
|
/**
|
* 月度统计
|
* @param model
|
* @param request
|
* @param response
|
*/
|
@RequestMapping(value="/satisfactionMonthChart.html",method=RequestMethod.POST)
|
public void satisfactionMonthChart(Model model,HttpServletRequest request,HttpServletResponse response){
|
Map resMap = satisfactionStatisFacade.satisfactionMonthChart(request);
|
System.out.println(JsonUtil.map2Json(resMap));
|
WebUtil.write(response, JsonUtil.map2Json(resMap));
|
}
|
|
/**
|
* 月度统计报表
|
* @param model
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("/satisfactionMonthTableIndex.html")
|
public String satisfactionMonthTableIndex(Model model,HttpServletRequest request,HttpServletResponse response){
|
String showType = request.getParameter("showType");
|
Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request));
|
String endMonth = DateUtil.getToday("yyyyMM");
|
model.addAttribute("cus", cus);
|
model.addAttribute("endMonth", endMonth);
|
model.addAttribute("showType",showType);
|
return "/uc/statis/satis/satisfactionMonthTableIndex";
|
}
|
|
@RequestMapping("/satisfactionMonthTable.html")
|
public String satisfactionMonthTable(Model model,HttpServletRequest request,HttpServletResponse response){
|
Map resMap = satisfactionStatisFacade.satisfactionMonthChart(request);
|
List<String> tableLabel = (List<String>)resMap.get("tableLabel");
|
Map tableData = (Map)resMap.get("tableData");
|
model.addAttribute("tableData",tableData);
|
model.addAttribute("tableLabel",tableLabel);
|
return "/uc/statis/satis/satisfactionMonthTable";
|
}
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/**
|
* 满意度调查统计
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("satisReport.html")
|
public String questionStatusReport(Model model,HttpServletRequest request){
|
Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request));
|
model.addAttribute("cus", cus);
|
return "/uc/statis/satis/satisReport";
|
}
|
|
@RequestMapping("satisReportData.html")
|
public String questionStatusReportData(Model model,HttpServletRequest request,HttpServletResponse response){
|
String cusId = WebUtil.getWebLoginUserCusId(request);
|
String beginTime = request.getParameter("beginDay");
|
String endTime = request.getParameter("endDay");
|
Map report = satisfactionStatisFacade.querySatisReport(cusId,beginTime,endTime);
|
model.addAttribute("report", report);
|
return "/uc/statis/satis/satisReportData";
|
}
|
|
/**
|
* 工程师满意度统计统计
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping("engineerSatisReport.html")
|
public String engineerSatisReport(Model model,HttpServletRequest request){
|
Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request));
|
model.addAttribute("cus", cus);
|
return "/uc/statis/satis/engineerSatisReport";
|
}
|
|
@RequestMapping("engineerSatisReportData.html")
|
public String engineerSatisReportData(Model model,HttpServletRequest request,HttpServletResponse response){
|
Map report = satisfactionStatisFacade.queryEngineerSatisReport(request);
|
model.addAttribute("report", report);
|
return "/uc/statis/satis/engineerSatisReportData";
|
}
|
}
|