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.servlet.ModelAndView; 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.Constants; import cn.ksource.web.facade.customermanage.CustomerManageFacade; import cn.ksource.web.facade.tj.QuestionStatisFacade; @Controller @RequestMapping("/uc/statis/question") public class UcStatisQuestionController { @Resource private QuestionStatisFacade questionStatisFacade; @Resource private CustomerManageFacade customerFacade; /** * 统计模板 */ @RequestMapping("questionTemplate.html") public String questionTemplate(Model model,HttpServletRequest request,HttpServletResponse response) { initQueryParam(model,request); return "/uc/statis/question/questionTemplate"; } /** * 问题统计占比 */ @RequestMapping("questionTemplatePie.html") public void questionTemplatePie(HttpServletRequest request,HttpServletResponse response) { List attitude = questionStatisFacade.questionTypePie(request); WebUtil.write(response, JsonUtil.list2Json(attitude)); } /** * 问题统计时间走势 */ @RequestMapping("questionTemplateLine.html") public void questionTemplateLine(HttpServletRequest request,HttpServletResponse response) { Map scoreLine = questionStatisFacade.questionTypeLine(request); WebUtil.write(response, JsonUtil.map2Json(scoreLine)); } /** * 初始化查询条件 * @param model * @param request */ private void initQueryParam(Model model,HttpServletRequest request){ String focus = request.getParameter("focus"); //获取当前查询类型 String charTitle = ""; //初始化查询数据 Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request)); model.addAttribute("cus", cus); 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"); model.addAttribute("beginTime", beginTime.replaceAll("-", "")); model.addAttribute("endTime", endTime.replaceAll("-", "")); int beginMonth = DateUtil.getYear(); String endMonth = DateUtil.getToday("yyyyMM"); model.addAttribute("beginMonth", beginMonth+"01"); model.addAttribute("endMonth", endMonth); model.addAttribute("charTitle", charTitle); if(focus!=null&&focus.equals("QUESTION_SERVER_CATALOG")){ List lv1List = questionStatisFacade.getCiCategoryList(null); model.addAttribute("lv1List", lv1List); } if(StringUtil.isBlank(focus)){ model.addAttribute("focus", "QUESTION_SOURCE"); }else{ model.addAttribute("focus", focus); } } /** * 获取设备分类下拉列表 * @param request * @param response */ @RequestMapping("/getCategotyList.html") public void getCategotyList(HttpServletRequest request,HttpServletResponse response){ String lv1Id = request.getParameter("lv1Id"); List list = questionStatisFacade.getCiCategoryList(lv1Id); WebUtil.write(response, JsonUtil.list2Json(list)); } /** * 问题达成率统计 */ @RequestMapping("questionDcl.html") public ModelAndView questionDcl(Model model,HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/uc/statis/question/questionDcl"); initQueryParam(model,request); return modelAndView; } /** * 跳转到事件达成率信息页面 */ @RequestMapping("questionDclStatis.html") public ModelAndView questionDclStatis(Model model,HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/uc/statis/question/questionDclStatis"); String cusId = WebUtil.getWebLoginUserCusId(request); String beginTime = request.getParameter("beginTime"); String endTime = request.getParameter("endTime"); String subCustomerId = request.getParameter("sub_customer_id"); List reports = questionStatisFacade.queryQuestiontDclStatis(cusId,subCustomerId,beginTime,endTime); modelAndView.addObject("reports", reports); String cusName = request.getParameter("cusName"); modelAndView.addObject("cusName", cusName); return modelAndView; } /** * 跳转到事件处理情况页面 */ @RequestMapping("questionClqk.html") public ModelAndView incidentClqk(Model model,HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/uc/statis/question/questionClqk"); initQueryParam(model,request); return modelAndView; } /** * 跳转到事件处理情况信息页面 */ @RequestMapping("questionClStatis.html") public ModelAndView questionClStatis(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/uc/statis/question/questionClStatis"); Map result = questionStatisFacade.queryOrderClStatis(request,Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); modelAndView.addObject("result", result); String cusName = request.getParameter("cusName"); modelAndView.addObject("cusName", cusName); return modelAndView; } /** * 问题明细统计 * @return */ @RequestMapping("questionDetailReport.html") public String questionDetailReport(Model model,HttpServletRequest request){ Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request)); model.addAttribute("cus", cus); initQueryParam(model,request); return "/uc/statis/question/questionDetailReport"; } @RequestMapping("questionDetailReportData.html") public String questionDetailReportData(Model model,HttpServletRequest request,HttpServletResponse response){ String cusId = WebUtil.getWebLoginUserCusId(request); String beginDay = request.getParameter("beginDay"); String endDay = request.getParameter("endDay"); Map report = questionStatisFacade.queryDetailReport(cusId,beginDay,endDay); model.addAttribute("report", report); return "/uc/statis/question/questionDetailReportData"; } /** * 问题处理情况统计 * @return */ @RequestMapping("questionDealStatuReport.html") public String questionDealStatuReport(Model model,HttpServletRequest request){ Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request)); model.addAttribute("cus", cus); initQueryParam(model,request); return "/uc/statis/question/questionDealStatuReport"; } @RequestMapping("questionDealStatuReportData.html") public String questionDealStatuReportData(Model model,HttpServletRequest request,HttpServletResponse response){ String cusId = WebUtil.getWebLoginUserCusId(request); String beginDay = request.getParameter("beginDay"); String endDay = request.getParameter("endDay"); Map report = questionStatisFacade.queryDealStatuReport(cusId,beginDay,endDay); model.addAttribute("report", report); return "/uc/statis/question/questionDealStatuReportData"; } /** * 工程师处理情况统计 * @return */ @RequestMapping("questionEngineerReport.html") public String questionEngineerReport(Model model,HttpServletRequest request){ Map cus = customerFacade.getCusById(WebUtil.getWebLoginUserCusId(request)); model.addAttribute("cus", cus); return "/uc/statis/question/questionEngineerReport"; } @RequestMapping("questionEngineerReportData.html") public String questionEngineerReportData(Model model,HttpServletRequest request,HttpServletResponse response){ Map report = questionStatisFacade.queryEngineerDealReport(request); model.addAttribute("report", report); return "/uc/statis/question/questionEngineerReportData"; } /** * 问题状态统计 * @param model * @param request * @return */ @RequestMapping("questionStatusReport.html") public String questionStatusReport(Model model,HttpServletRequest request){ initQueryParam(model,request); return "/uc/statis/question/questionStatusReport"; } @RequestMapping("questionStatusReportData.html") public String questionStatusReportData(Model model,HttpServletRequest request,HttpServletResponse response){ String cusId = WebUtil.getWebLoginUserCusId(request); String beginDay = request.getParameter("beginDay"); String endDay = request.getParameter("endDay"); Map report = questionStatisFacade.queryStatusReport(cusId,beginDay,endDay); model.addAttribute("report", report); return "/uc/statis/question/questionStatusReportData"; } }