package cn.ksource.web.controller.business.pages.zc; import java.util.ArrayList; 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.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; import cn.ksource.beans.SC_SERVCE_CATEGORY; import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.NumberUtil; import cn.ksource.core.util.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.SysInfo; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.customermanage.CustomerManageFacade; import cn.ksource.web.facade.incident.IncidentFacade; import cn.ksource.web.facade.order.OrderFacade; import cn.ksource.web.facade.zc.ZcywFacade; import cn.ksource.web.service.DataDictionaryService; /** * 日常运维--驻场运维控制器 * @note: * @version * @author sxj * @date June 28, 2016 10:35:44 AM */ @Controller @RequestMapping("/business/pages/zcyw") public class ZcywController { @Resource(name="zcywFacade") private ZcywFacade zcywFacade; @Autowired private OrderFacade orderFacade; @Autowired private DataDictionaryService dataDictionaryService; @Autowired private IncidentFacade incidentFacade; @Autowired private CustomerManageFacade customerFacade; /** * 跳转到驻场运维工单列表页面 */ @RequestMapping("myZcyw.html") public ModelAndView myIncident(HttpServletRequest request) { ModelAndView view = new ModelAndView("/business/pages/zc/zcyw/myZcyw"); System.out.println("flowstate:--------------"+request.getParameter("flowstate")); Map num = orderFacade.queryOrderCountByCate(request, Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString()); view.addObject("flowstate", request.getParameter("flowstate")); view.addObject("type", request.getParameter("type")); view.addObject("num", num); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); Map map = zcywFacade.getOrderNum(params); view.addObject("data", map); view.addObject("types", types); //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); return view; } /** * 查询我的事件列表 */ @RequestMapping("myZcywData.html") public ModelAndView myIncidentData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/myZcywData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); PageInfo incidents = zcywFacade.queryMyZcywData(pageInfo,params); modelAndView.addObject("orders", incidents); return modelAndView; } /** * 查询我的事件数量 */ @RequestMapping("myZcywCount.html") public void myIncidentCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); int count = zcywFacade.queryMyZcywCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 服务台查看驻场管理的信息 */ @RequestMapping("zcyws.html") public ModelAndView zcyws(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcyws"); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); modelAndView.addObject("types", types); //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); modelAndView.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); modelAndView.addObject("eventDg", eventDg); //客户列表 List cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); Map params=ParamsMapUtil.getParameterMap(request); Map map = zcywFacade.getZcywNum(params); modelAndView.addObject("data", map); return modelAndView; } /** * 查询服务台的驻场运维列表 */ @RequestMapping("zcywsData.html") public ModelAndView zcywsData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); PageInfo incidents = zcywFacade.zcywDataForFwt(pageInfo,params); modelAndView.addObject("orders", incidents); return modelAndView; } /** * 查询服务台的驻场运维数量 */ @RequestMapping("zcywsCount.html") public void zcywsCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); int count = zcywFacade.zcywCountForFwt(params); WebUtil.write(response, String.valueOf(count)); } /** * 服务台创建事件页面 * @param request * @param response * @return */ @RequestMapping(value="addZcyw", method=RequestMethod.GET) public ModelAndView addIncidentForService(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/zc/zcyw/addZcyw"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); Map map = zcywFacade.getOrderNum(params); view.addObject("data", map); //查询出该驻场人员的总客户,和下级客户,项目 Map result = zcywFacade.queryZcMsg(request); view.addObject("msg", result); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); //取得事件类型的第一条数据 if(null!=types && types.size()>0) { Map type = types.get(0); view.addObject("typeId", type.get("DATAKEY")); view.addObject("typeName", type.get("DATAVALUE")); } //查询申报方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_APPLY_TYPE); //取得申报方式的第一条数据 if(null!=ways && ways.size()>0) { Map way = ways.get(0); view.addObject("wayId", way.get("DATAKEY")); view.addObject("wayName", way.get("DATAVALUE")); } //查询事件来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); //取得事件来源的第一条数据 if(null!=froms && froms.size()>0) { Map from = froms.get(0); view.addObject("fromId", from.get("DATAKEY")); view.addObject("fromName", from.get("DATAVALUE")); } //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); //查询该加盟商的事件影响力 view.addObject("types", types); view.addObject("ways", ways); view.addObject("froms", froms); return view; } /** * 根据客户查询该客户下的所有驻场人员 */ @RequestMapping("fpry.html") public ModelAndView queryUser(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/fpry"); List users = zcywFacade.queryAllZcry(request); modelAndView.addObject("users", users); return modelAndView; } /** * 服务台创建事件提交 * @param request * @param response * @return */ @RequestMapping(value="addZcyw.html", method=RequestMethod.POST) public ModelAndView addIncidentForDeskSubmit(HttpServletRequest request, HttpServletResponse response,SC_WORKFLOW_INCIDENT_LOCAL sc_workflow_incident_local) { Map map = zcywFacade.saveZcyw(request,sc_workflow_incident_local); String incidentId = ConvertUtil.obj2StrBlank(map.get("incidentId")); SysInfoMsg msg = (SysInfoMsg)map.get("msg"); String type = request.getParameter("type"); if(type.equals("1")) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/addSuccess"); modelAndView.addObject("type", type); modelAndView.addObject("incidentId", incidentId); modelAndView.addObject("sysInfo", "Success"); modelAndView.addObject("message", "操作成功"); modelAndView.addObject("info", msg); return modelAndView; } else if (type.equals("2")) { ModelAndView modelAndView = new ModelAndView("redirect:/business/pages/zcyw/solution.html?incidentId="+incidentId); return modelAndView; } else if (type.equals("3")) { ModelAndView modelAndView = new ModelAndView("redirect:/business/pages/zcyw/closeOrder.html?incidentId="+incidentId); return modelAndView; } return null; } /** * 跳转到填写结局方案页面 */ @RequestMapping(value="solution.html",method=RequestMethod.GET) public ModelAndView endTask(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/solution"); //查询解决方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.RESOLVE_WAY); modelAndView.addObject("ways", ways); return modelAndView; } /** * 结果方案提交 */ @RequestMapping(value="solution.html",method=RequestMethod.POST) public ModelAndView doEndTask(HttpServletRequest request,HttpServletResponse response) { zcywFacade.doEndTask(request); String orderId = request.getParameter("incidentId"); ModelAndView modelAndView = new ModelAndView("/business/pages/incident/rechange"); modelAndView.addObject("orderId", orderId); modelAndView.addObject("zcyw", 1); modelAndView.addObject("bustype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); return modelAndView; } /** * 跳转到关闭原因界面 */ @RequestMapping("closeOrder.html") public ModelAndView closeReason(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/closeOrder"); //查询关闭原因数据字典 List reasons = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CLOSE_REASON); modelAndView.addObject("reasons", reasons); return modelAndView; } /** * 关闭事件提交 */ @RequestMapping(value="closeOrder.html",method=RequestMethod.POST) public ModelAndView doCloseReason(HttpServletRequest request,HttpServletResponse response) { zcywFacade.doCloseReason(request); ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/addSuccess"); modelAndView.addObject("type", 1); modelAndView.addObject("sysInfo", "Success"); modelAndView.addObject("message", "操作成功"); return modelAndView; } /** * 选择重复事件 */ @RequestMapping("selectZcyw.html") public ModelAndView selectIncident(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/selectZcyw"); String incidentId = request.getParameter("id"); modelAndView.addObject("incidentId", incidentId); return modelAndView; } /** * 查询事件列表 */ @RequestMapping("zcywMerged.html") public ModelAndView merged(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywMerged"); List incidents = zcywFacade.queryZcyws(request); modelAndView.addObject("incidents", incidents); return modelAndView; } /** * 跳转到订单查看页面 */ @RequestMapping("zcywDetail.html") public ModelAndView incidentDetail(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywDetail"); //查询事件基本信息 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); //通过工单编号查询工单基本信息 Map baseMsg = zcywFacade.queryIncidentLocalBaseMsg(orderId); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); List lzs = zcywFacade.incidentLocalLzRecord(flowId); modelAndView.addObject("lzs", lzs); //查询要求响应时间和实际响应时间 long create_time = ConvertUtil.obj2Long(baseMsg.get("CREATE_TIME")); String answer_time = ConvertUtil.obj2StrBlank(baseMsg.get("ANSWER_TIME")); if(!StringUtil.notEmpty(answer_time)) { answer_time = DateUtil.getCurrentDate14().toString(); } String request_answer_time = ConvertUtil.obj2StrBlank(baseMsg.get("REQUEST_ANSWER_TIME")); String answer_timeout = ConvertUtil.obj2StrBlank(baseMsg.get("ANSWER_TIMEOUT")); //计算第一次响应时间和创建事件的事件差 将时间差转化为分钟 long seconds = DateUtil.getSecondsFormDate2Date(create_time, ConvertUtil.obj2Long(answer_time)); //将秒转化为分钟 double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); baseMsg.put("sjxysj", sjxysj); if(answer_timeout.equals("2")) { //计算时间走动长度 double a1 = NumberUtil.mul(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(250)); double a2 = NumberUtil.mul(ConvertUtil.obj2Double(request_answer_time), ConvertUtil.obj2Double(60)); double xyWidth = NumberUtil.div(a1, a2); if(xyWidth>250) { xyWidth = 250; baseMsg.put("ANSWER_TIMEOUT", 1); } baseMsg.put("xyWidth", xyWidth); } else { baseMsg.put("xyWidth", 250); } //处理超时操作 //1.判断当前工单有没有解决时间,如果有解决时间 说明已完成,如果没有解决时间 说明未完成 String resolveTime = ConvertUtil.obj2StrBlank(baseMsg.get("RESOLVE_TIME")); if(!StringUtil.notEmpty(resolveTime)) { resolveTime = DateUtil.getCurrentDate14().toString(); } //计算实际用了多长时间 String request_deal_time = ConvertUtil.obj2StrBlank(baseMsg.get("REQUEST_DEAL_TIME")); String deal_timeout = ConvertUtil.obj2StrBlank(baseMsg.get("DEAL_TIMEOUT")); //计算第解决时间和创建事件的事件差 将时间差转化为小时 long jjSeconds = DateUtil.getSecondsFormDate2Date(create_time, ConvertUtil.obj2Long(resolveTime)); //将秒转化为小时 double sjjjsj = NumberUtil.div(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(3600), 2); baseMsg.put("sjjjsj", sjjjsj); if(deal_timeout.equals("2")) { //计算时间走动长度 double a1 = NumberUtil.mul(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(250)); double a2 = NumberUtil.mul(ConvertUtil.obj2Double(request_deal_time), ConvertUtil.obj2Double(3600)); double jjWidth = NumberUtil.div(a1, a2); if(jjWidth>250) { jjWidth = 250; baseMsg.put("DEAL_TIMEOUT", 1); } baseMsg.put("jjWidth", jjWidth); } else { baseMsg.put("jjWidth", 250); } return modelAndView; } /** * 查看处理记录 */ @RequestMapping("viewZcywRecord.html") public ModelAndView viewRecord(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/viewZcywRecord"); String orderId = request.getParameter("orderId"); List records = new ArrayList(); if(StringUtil.notEmpty(orderId)) { records = zcywFacade.queryDealRecord(orderId); System.out.println(JsonUtil.list2Json(records)); modelAndView.addObject("records",records); } return modelAndView; } /** * 查看关联设备 */ @RequestMapping("viewZcywDevice.html") public ModelAndView viewDevice(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/viewZcywDevice"); //查询关联设备 String orderId = request.getParameter("orderId"); List devices = zcywFacade.queryDevices(orderId); modelAndView.addObject("devices", devices); return modelAndView; } /** * 查看关联工单 */ @RequestMapping("viewZcywOrder.html") public ModelAndView viewOrder(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/viewZcywOrder"); //查询关联工单 String orderId = request.getParameter("orderId"); List orders = zcywFacade.queryOrders(orderId); modelAndView.addObject("orders", orders); return modelAndView; } /** * 查询关联附件 */ @RequestMapping("viewZcywFile.html") public ModelAndView viewFile(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/viewZcywFile"); //查询所有的文档附件 String orderId = request.getParameter("orderId"); List files = zcywFacade.queryFiles(orderId); modelAndView.addObject("files", files); return modelAndView; } /** * 跳转到驻场运维事件处理界面 */ @RequestMapping("zcywDeal.html") public ModelAndView zcywDeal(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywDeal"); //查询事件基本信息 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); //通过工单编号查询工单基本信息 Map baseMsg = zcywFacade.queryIncidentLocalBaseMsg(orderId); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); List lzs = zcywFacade.incidentLocalLzRecord(flowId); modelAndView.addObject("lzs", lzs); //查询要求响应时间和实际响应时间 long create_time = ConvertUtil.obj2Long(baseMsg.get("CREATE_TIME")); String answer_time = ConvertUtil.obj2StrBlank(baseMsg.get("ANSWER_TIME")); if(!StringUtil.notEmpty(answer_time)) { answer_time = DateUtil.getCurrentDate14().toString(); } String request_answer_time = ConvertUtil.obj2StrBlank(baseMsg.get("REQUEST_ANSWER_TIME")); String answer_timeout = ConvertUtil.obj2StrBlank(baseMsg.get("ANSWER_TIMEOUT")); //计算第一次响应时间和创建事件的事件差 将时间差转化为分钟 long seconds = DateUtil.getSecondsFormDate2Date(create_time, ConvertUtil.obj2Long(answer_time)); //将秒转化为分钟 double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); baseMsg.put("sjxysj", sjxysj); if(answer_timeout.equals("2")) { //计算时间走动长度 double a1 = NumberUtil.mul(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(250)); double a2 = NumberUtil.mul(ConvertUtil.obj2Double(request_answer_time), ConvertUtil.obj2Double(60)); double xyWidth = NumberUtil.div(a1, a2); if(xyWidth>250) { xyWidth = 250; baseMsg.put("ANSWER_TIMEOUT", 1); } baseMsg.put("xyWidth", xyWidth); } else { baseMsg.put("xyWidth", 250); } //处理超时操作 //1.判断当前工单有没有解决时间,如果有解决时间 说明已完成,如果没有解决时间 说明未完成 String resolveTime = ConvertUtil.obj2StrBlank(baseMsg.get("RESOLVE_TIME")); if(!StringUtil.notEmpty(resolveTime)) { resolveTime = DateUtil.getCurrentDate14().toString(); } //计算实际用了多长时间 String request_deal_time = ConvertUtil.obj2StrBlank(baseMsg.get("REQUEST_DEAL_TIME")); String deal_timeout = ConvertUtil.obj2StrBlank(baseMsg.get("DEAL_TIMEOUT")); //计算第解决时间和创建事件的事件差 将时间差转化为小时 long jjSeconds = DateUtil.getSecondsFormDate2Date(create_time, ConvertUtil.obj2Long(resolveTime)); //将秒转化为小时 double sjjjsj = NumberUtil.div(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(3600), 2); baseMsg.put("sjjjsj", sjjjsj); if(deal_timeout.equals("2")) { //计算时间走动长度 double a1 = NumberUtil.mul(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(250)); double a2 = NumberUtil.mul(ConvertUtil.obj2Double(request_deal_time), ConvertUtil.obj2Double(3600)); double jjWidth = NumberUtil.div(a1, a2); if(jjWidth>250) { jjWidth = 250; baseMsg.put("DEAL_TIMEOUT", 1); } baseMsg.put("jjWidth", jjWidth); } else { baseMsg.put("jjWidth", 250); } return modelAndView; } /** * 工单确认 */ @RequestMapping("zcywOrderConfirm.html") public ModelAndView orderConfirm(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywOrderConfirm"); String incidentId = request.getParameter("incidentId"); Map incident = new SC_WORKFLOW_INCIDENT_LOCAL(incidentId).getBeanMapById(); modelAndView.addObject("incident", incident); return modelAndView; } /** * 执行工单确认 */ @RequestMapping("doConfirm.html") public void doConfirm(HttpServletRequest request,HttpServletResponse response) { String result = zcywFacade.doOrderConfirm(request); WebUtil.write(response, result); } /** * 查驻场运维询事件基本信息 */ @RequestMapping("zcywBaseMsg.html") public ModelAndView zcywBaseMsg(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywBaseMsg"); String orderId = request.getParameter("orderId"); //通过工单编号查询工单基本信息 Map baseMsg = zcywFacade.queryIncidentLocalBaseMsg(orderId); modelAndView.addObject("baseMsg", baseMsg); return modelAndView; } /** * 跳转编辑编辑事件基本信息页面 */ @RequestMapping("editZcyw.html") public ModelAndView editZcyw(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/editZcyw"); String id = request.getParameter("id"); Map baseMsg = zcywFacade.queryIncidentLocalBaseMsg(id); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); //查询申报方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_APPLY_TYPE); //查询事件来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); modelAndView.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); modelAndView.addObject("eventDg", eventDg); modelAndView.addObject("types", types); modelAndView.addObject("ways", ways); modelAndView.addObject("froms", froms); modelAndView.addObject("baseMsg", baseMsg); return modelAndView; } /** * 执行事件基本信息操作功能 */ @RequestMapping(value="updateZcyw.html",method=RequestMethod.POST) public ModelAndView updateZcyw(HttpServletRequest request,HttpServletResponse response,SC_WORKFLOW_INCIDENT_LOCAL incident) { String id = request.getParameter("id"); String result = zcywFacade.updateZcywMsg(request,incident); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.location.reload(true);", SysInfo.Success,""); } /** * 分派任务 */ @RequestMapping("dispatchTask.html") public ModelAndView dispatchTask(HttpServletRequest request,HttpServletResponse response) { Map map = zcywFacade.saveDispatchTask(request); String result = ConvertUtil.obj2StrBlank(map.get("result")); if(result.equals("1")) { SysInfoMsg msg = (SysInfoMsg)map.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success,"/business/pages/zcyw/myZcyw.html",msg); } else { return WebUtil.sysInfoPage(request, "操作失败!", "", SysInfo.Error,""); } } /** * 弹出升级事件 */ @RequestMapping(value="upTask.html",method=RequestMethod.GET) public ModelAndView upTask(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/upTask"); return modelAndView; } /** * 执行升级事件操作 */ @RequestMapping(value="upTask.html",method=RequestMethod.POST) public ModelAndView doTask(HttpServletRequest request,HttpServletResponse response) { //执行升级为事件操作 String incidentId = zcywFacade.updateUpTask(request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('upTask');", SysInfo.Success,"/business/pages/zcyw/myZcyw.html"); } /** * 工单完成时的驻场运维事件处理报告 */ @RequestMapping("zcywFinishReport.html") public ModelAndView wcReport(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywFinishReport"); String orderId = request.getParameter("orderId"); Map report = zcywFacade.queryWcReport(orderId); //项目编号 String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); if(StringUtil.notEmpty(CUSTOMER_ID)){ SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); report.put("customer_code", customer_INFO.getCustomer_code()); } String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); if(StringUtil.notEmpty(FIRST_CATEGORY_ID)){ SC_SERVCE_CATEGORY sc_SERVCE_CATEGORY =new SC_SERVCE_CATEGORY(FIRST_CATEGORY_ID).getInstanceById(); report.put("FIRST_CATEGORY_CODE", sc_SERVCE_CATEGORY.getCategory_code()); } String SECOND_CATEGORY_ID=ConvertUtil.obj2Str(report.get("SECOND_CATEGORY_ID")); if(StringUtil.notEmpty(SECOND_CATEGORY_ID)){ SC_SERVCE_CATEGORY sc_SERVCE_CATEGORY =new SC_SERVCE_CATEGORY(SECOND_CATEGORY_ID).getInstanceById(); report.put("SECOND_CATEGORY_CODE", sc_SERVCE_CATEGORY.getCategory_code()); } String THIRD_CATEGORY_ID=ConvertUtil.obj2Str(report.get("THIRD_CATEGORY_ID")); if(StringUtil.notEmpty(THIRD_CATEGORY_ID)){ SC_SERVCE_CATEGORY sc_SERVCE_CATEGORY =new SC_SERVCE_CATEGORY(THIRD_CATEGORY_ID).getInstanceById(); report.put("THIRD_CATEGORY_CODE", sc_SERVCE_CATEGORY.getCategory_code()); } modelAndView.addObject("report", report); return modelAndView; } /** * 工单关闭时的驻场运维事件处理报告 */ @RequestMapping("zcywCloseReport.html") public ModelAndView closeReport(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywCloseReport"); String orderId = request.getParameter("orderId"); Map report = zcywFacade.queryCloseReport(orderId); modelAndView.addObject("report", report); return modelAndView; } /** * 驻场事件首页(我的) * @param model * @param request * @param response * @return */ @RequestMapping(value="myZcywIndex.html") public String myZcywIndex(Model model,HttpServletRequest request,HttpServletResponse response){ model.addAttribute("userId", WebUtil.getUserId(request)); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); Map map = zcywFacade.getOrderNum(params); //查询出该驻场人员的总客户,和下级客户,项目 Map result = zcywFacade.queryZcMsg(request); model.addAttribute("data", map); model.addAttribute("result", result); return "/business/pages/zc/zcyw/myZcywIndex"; } @RequestMapping(value="myZcywIndexLoad.html") public String myZcywIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getUserId(request)); //待处理问题数量 params.put("state","1"); int pendingCount = zcywFacade.getOrederStateNum(params); //进行中问题数量 params.put("state","2"); int inHandCount = zcywFacade.getOrederStateNum(params); //已处理 params.put("state","3"); int processedCount = zcywFacade.queryZcywTimeoutCount (params); model.addAttribute("pendingCount",pendingCount); model.addAttribute("inHandCount",inHandCount); model.addAttribute("processedCount",processedCount); return "/business/pages/zc/zcyw/myZcywIndexLoad"; } /** * 查询最近一月驻场事件影响度分析 * @param request * @param response */ @RequestMapping(value="getZcywEffectPieChart.html") public void getZcywEffectPieChart(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); Map info = zcywFacade.getLastMonthZcywEffect(params); //System.out.println("json--------------------------"+JsonUtil.map2Json(info)); WebUtil.write(response, JsonUtil.map2Json(info)); } /** * 查询最近一月驻场事件数量 * @param request * @param response */ @RequestMapping(value="getZcywSumLineChart.html") public void getZcywSumLineChart(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); Map info = zcywFacade.getLastMonthZcywCount(params); WebUtil.write(response, JsonUtil.map2Json(info)); } /** * 查询最近一月驻场事件级别分析 * @param request * @param response */ @RequestMapping(value="getZcywLvPieChart.html") public void getZcywLvPieChart(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); Map info = zcywFacade.getLastMonthZcywLv(params); WebUtil.write(response, JsonUtil.map2Json(info)); } /** * 查询最近一月驻场事件优先级分析 * @param request * @param response */ @RequestMapping(value="getZcywPriPieChart.html") public void getZcywPriPieChart(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); Map info = zcywFacade.getLastMonthZcywPri(params); WebUtil.write(response, JsonUtil.map2Json(info)); } /** * 查询最近一月服务目录驻场事件数量 * @param request * @param response */ @RequestMapping(value="getZcywServerLineChart.html") public void getZcywServerLineChart(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); Map info = zcywFacade.getLastMonthZcywServer(params); WebUtil.write(response, JsonUtil.map2Json(info)); } /** * 驻场事件工单 * @param request * @param response * @return */ @RequestMapping(value="{type}/myZcywNodeList.html") public ModelAndView myZcywNodeList(HttpServletRequest request, HttpServletResponse response,@PathVariable(value="type") String type) { //定义参数Map ModelAndView view = new ModelAndView("/business/pages/zc/zcyw/myZcywNodeList"); Map num = orderFacade.queryOrderCountByCate(request, Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString()); view.addObject("type", type); view.addObject("num", num); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); view.addObject("types", types); //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); Map map = zcywFacade.getOrderNum(params); view.addObject("data", map); return view; } /** * 驻场管理首页 * @param model * @param request * @param response * @return */ @SuppressWarnings("rawtypes") @RequestMapping(value="zcywIndex.html") public String zcywIndex(Model model,HttpServletRequest request,HttpServletResponse response){ //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); Map map = zcywFacade.getZcywNum(params); model.addAttribute("data", map); //查询出该驻场人员的总客户,和下级客户,项目 List cusList = customerFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/zc/zcyw/zcywIndex"; } @RequestMapping(value="zcywIndexLoad.html") public String incidentIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); //待处理数量 params.put("state", "1"); int pendingCount = zcywFacade.getOrederZcywNumDxy(params); //进行中数量 params.put("state", "2"); int inHandCount = zcywFacade.getOrederZcywNumJxz(params); //已处理 int timeoutCount = zcywFacade.getOrederZcywTimeoutCount(params); model.addAttribute("pendingCount",pendingCount); model.addAttribute("inHandCount",inHandCount); model.addAttribute("timeoutCount",timeoutCount); return "/business/pages/zc/zcyw/zcywIndexLoad"; } /** * 驻场事件工单 * @param request * @param response * @return */ @RequestMapping(value="{type}/zcywNodeList.html") public ModelAndView zcywNodeList(HttpServletRequest request, HttpServletResponse response,@PathVariable(value="type") String type) { //定义参数Map ModelAndView view = new ModelAndView("/business/pages/zc/zcyw/zcywNodeList"); //查询事件类型数据字典 List types = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); view.addObject("types", types); //查询该加盟商的事件优先级 List eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); view.addObject("eventPri", eventPri); //查询事件影响度数据字典 List eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); view.addObject("eventDg", eventDg); //客户列表 List cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); view.addObject("state", type); Map params=ParamsMapUtil.getParameterMap(request); Map map = zcywFacade.getZcywNum(params); view.addObject("data", map); return view; } /** * 查询服务台的驻场运维列表 */ @RequestMapping("zcywsNodeData.html") public ModelAndView zcywsNodeData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/zc/zcyw/zcywData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); PageInfo incidents = zcywFacade.zcywNodeData(pageInfo,params); modelAndView.addObject("orders", incidents); return modelAndView; } /** * 查询服务台的驻场运维数量 */ @RequestMapping("zcywsNodeCount.html") public void zcywsNodeCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); int count = zcywFacade.zcywNodeCount(params); WebUtil.write(response, String.valueOf(count)); } }