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 resList = (List)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 tableData = (List)resMap.get("tableData"); List tableLabel = (List)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 tableData = (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 tableLabel = (List)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"; } }