package cn.ksource.web.controller.business.pages.order; import java.util.ArrayList; 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.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.incident.IncidentFacade; import cn.ksource.web.facade.knowledge.knowledgeDeal.KnowledgeDealFacade; import cn.ksource.web.facade.order.OrderFacade; /** * 工单管理--工单管理控制器 * @note: * @version * @author sxj * @date June 28, 2016 10:35:44 AM */ @Controller @RequestMapping("/business/pages/order") public class OrderController { @Resource(name="orderFacade") private OrderFacade orderFacade; /** * 跳转到我的工单列表 * @param request * @param response * @return */ @RequestMapping("myorder.html") public ModelAndView myorder(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/myorder"); //查询工单类型 Map state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("typeId", key); map.put("typeName", value); ways.add(map); } //客户列表 List cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); modelAndView.addObject("types", ways); Map num = orderFacade.queryOrderCountByCate(request, ""); modelAndView.addObject("num", num); return modelAndView; } /** * 查询我的工单列表 * @param request * @param response * @return */ @RequestMapping("myorderData.html") public ModelAndView myorderData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/myorderData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); PageInfo orders = orderFacade.queryMyOrderData(pageInfo,params); modelAndView.addObject("orders", orders); modelAndView.addObject("userId", WebUtil.getLoginedUserId(request)); return modelAndView; } /** * 查询我的工单数量 */ @RequestMapping("myorderCount.html") public void myorderCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); int count = orderFacade.queryMyOrderCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 跳转到我的工单池页面 */ @RequestMapping("myorderpool.html") public ModelAndView myorderpool(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/myorderpool"); String type = request.getParameter("type"); //查询工单类型 Map state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("typeId", key); map.put("typeName", value); if(key.equals(type)) { map.put("checked", 1); } else { map.put("checked", 2); } ways.add(map); } modelAndView.addObject("types", ways); //客户列表 List cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); return modelAndView; } /** * 查询我的工单池数据 */ @RequestMapping("myorderpoolData.html") public ModelAndView myorderpoolData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/myorderpoolData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); PageInfo orderList = orderFacade.myorderpoolData(pageInfo,params); modelAndView.addObject("orders", orderList); return modelAndView; } /** * 查询我的工单池数据 */ @RequestMapping("myorderpoolCount.html") public void myorderpoolCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getLoginedUserId(request)); int count = orderFacade.myorderpoolCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 所有工单池 */ @RequestMapping("orderpool.html") public ModelAndView orderpool(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/orderpool"); //查询工单类型 Map state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("typeId", key); map.put("typeName", value); ways.add(map); } //客户列表 List cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); modelAndView.addObject("types", ways); return modelAndView; } /** * 查询工单池数据 */ @RequestMapping("orderpoolData.html") public ModelAndView orderpoolData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/orderPoolData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); PageInfo orderList = orderFacade.orderpoolData(pageInfo,params); modelAndView.addObject("orders", orderList); return modelAndView; } /** * 查询工单池数据 */ @RequestMapping("orderpoolCount.html") public void orderpoolCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); int count = orderFacade.orderpoolCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 跳转到所有工单页面 */ @RequestMapping("ordersList.html") public ModelAndView orderPool(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/ordersList"); //查询工单类型 Map state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; List ways = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("typeId", key); map.put("typeName", value); ways.add(map); } //客户列表 List cusList = incidentFacade.getCustomerList(); modelAndView.addObject("customers", cusList); modelAndView.addObject("types", ways); return modelAndView; } /** * 所有工单数据 */ @RequestMapping("ordersListData.html") public ModelAndView orderPoolData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/order/ordersListData"); //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); PageInfo orders = orderFacade.ordersListData(pageInfo,params); modelAndView.addObject("orders", orders); return modelAndView; } /** * 所有工单数量 */ @RequestMapping("ordersListCount.html") public void orderPoolCount(HttpServletRequest request,HttpServletResponse response) { //定义参数Map Map params = ParamsMapUtil.getParameterMap(request); int count = orderFacade.ordersListCount(params); WebUtil.write(response, String.valueOf(count)); } @Autowired private IncidentFacade incidentFacade; @Autowired private KnowledgeDealFacade knowledgeDealFacade; /** * 跳转到服务目录 */ @RequestMapping("ordersl.html") public ModelAndView serviceListTree(HttpServletRequest request,HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/order/ordersl"); Map trees =incidentFacade.serviceListTree(request); List tree = (List)trees.get("categoryList"); Map slMap = (Map)trees.get("slMap"); List checkSl = new ArrayList(); if(null!=slMap && slMap.size()>0) { for (Map.Entry entry : slMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("checkId", key); map.put("checkName", value); checkSl.add(map); } } view.addObject("trees", tree); view.addObject("checkSl", checkSl); return view; } /** * 跳转到知识分类 */ @RequestMapping("orderknow.html") public ModelAndView knowListTree(HttpServletRequest request,HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/order/orderknow"); Map trees = knowledgeDealFacade.categoryListTree(request); List tree = (List)trees.get("categoryList"); Map slMap = (Map)trees.get("slMap"); List checkSl = new ArrayList(); if(null!=slMap && slMap.size()>0) { for (Map.Entry entry : slMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("checkId", key); map.put("checkName", value); checkSl.add(map); } } view.addObject("trees", tree); view.addObject("checkSl", checkSl); return view; } /** * 跳转到设备分类 */ @RequestMapping("orderci.html") public ModelAndView ciListTree(HttpServletRequest request,HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/order/orderci"); Map trees = knowledgeDealFacade.thirdlevelListTree(request); List tree = (List)trees.get("categoryList"); Map slMap = (Map)trees.get("slMap"); List checkSl = new ArrayList(); if(null!=slMap && slMap.size()>0) { for (Map.Entry entry : slMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("checkId", key); map.put("checkName", value); checkSl.add(map); } } view.addObject("trees", tree); view.addObject("checkSl", checkSl); return view; } /** * 工单详细信息 */ @RequestMapping(value="orderInfo.html") public ModelAndView orderInfo(HttpServletRequest request) { String orderType = request.getParameter("orderType"); ModelAndView modelAndView = null; String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); if(StringUtil.notEmpty(orderId)) { if(StringUtil.notEmpty(orderType)){ if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/incident/incidentDetail.html?orderId="+orderId+"&flowId="+flowId); } else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/question/questionDetail.html?orderId="+orderId+"&flowId="+flowId); } else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_CHANGE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/change/changeDetail.html?orderId="+orderId+"&flowId="+flowId); }else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/zcyw/zcywDetail.html?orderId="+orderId+"&flowId="+flowId); } else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {//例行维护 modelAndView = new ModelAndView("redirect:/business/pages/ciremind/orderdeal/ciRemindDetail.html?orderId="+orderId+"&flowId="+flowId); } else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {//健康检查 modelAndView = new ModelAndView("redirect:/business/pages/health/healthDetail.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/releaseManage/releaseOverview.html?orderId="+orderId+"&flowId="+flowId); } } } return modelAndView; } /** * 跳转到工单响应界面 */ @RequestMapping(value="orderResp.html") public ModelAndView orderResp(HttpServletRequest request) { String orderType = request.getParameter("orderType"); ModelAndView modelAndView = null; String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); int count = orderFacade.getDealerIsMy(flowId,WebUtil.getLoginedUserId(request)); if(count > 0){ if(StringUtil.notEmpty(orderId)) { if(StringUtil.notEmpty(orderType)){ if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/incident/incidentDeal.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/ciremind/orderdeal/ciRemindJumpPage.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_CHANGE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/change/changeDeal.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/health/orderJumpPage.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/question/questionDeal.html?orderId="+orderId+"&flowId="+flowId); } else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/zcyw/zcywDeal.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/releaseManage/releaseJump.html?orderId="+orderId+"&flowId="+flowId); } } } }else{ if(StringUtil.notEmpty(orderId)) { if(StringUtil.notEmpty(orderType)){ if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/incident/incidentDetail.html?orderId="+orderId+"&flowId="+flowId); } else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/question/questionDetail.html?orderId="+orderId+"&flowId="+flowId); } else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/zcyw/zcywDetail.html?orderId="+orderId+"&flowId="+flowId); } else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {//例行维护 modelAndView = new ModelAndView("redirect:/business/pages/ciremind/orderdeal/ciRemindDetail.html?orderId="+orderId+"&flowId="+flowId); } else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {//健康检查 modelAndView = new ModelAndView("redirect:/business/pages/health/healthDetail.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/releaseManage/releaseJump.html?orderId="+orderId+"&flowId="+flowId); }else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_CHANGE.toString())) { modelAndView = new ModelAndView("redirect:/business/pages/change/changeDeal.html?orderId="+orderId+"&flowId="+flowId); } } } } return modelAndView; } }