package cn.ksource.web.controller.business.pages.customerconfig; 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.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.core.util.ConvertUtil; import cn.ksource.core.util.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.SysInfo; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.JsglFacade; import cn.ksource.web.facade.customerconfig.SlaCusFacade; import cn.ksource.web.facade.servicelist.SlaPartnerFacade; import cn.ksource.web.facade.servicelist.SlaProjectFacade; /** * 客户管理--服务目录控制器 * @note: * @version * @author sxj * @date June 28, 2016 10:35:44 AM */ @Controller @RequestMapping("/business/pages/customerconfig/slacus") public class SlaCusController { @Autowired private SlaCusFacade slaCusFacade; @Autowired private SlaPartnerFacade slaPartnerFacade; @Resource(name="slaProjectFacade") private SlaProjectFacade slaProjectFacade; @Autowired private JsglFacade jsglFacade; @RequestMapping("slacusMain.html") public ModelAndView slacusMain(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacusMain"); return modelAndView; } @RequestMapping("customerSl.html") public ModelAndView customerSl(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/customerSl"); String customerId = request.getParameter("customerId"); //查询该项目的服务目录 List serviceList = slaCusFacade.queryProjectSeviceList(customerId); modelAndView.addObject("serviceList", serviceList); return modelAndView; } /** * 更改我的服务目录的状态 */ @RequestMapping("changeState.html") public void changeState(HttpServletRequest request,HttpServletResponse response) { boolean result = slaCusFacade.updateState(request); if(result) { WebUtil.write(response, "1"); } else { WebUtil.write(response, "2"); } } /** * 跳转到增加项目服务目录页面 */ @RequestMapping("addcussl.html") public ModelAndView addcussl(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/addcussl"); //查询该三级服务目录(不包含该客户已选择的三级服务目录) String customerId = request.getParameter("customerId"); List serviceList = slaCusFacade.queryAddServiceList(customerId); modelAndView.addObject("serviceList", serviceList); return modelAndView; } /** * 保存项目新增的服务目录 */ @RequestMapping("savecussl.html") public ModelAndView savecussl(HttpServletRequest request,HttpServletResponse response) { String customerId = request.getParameter("customerId"); boolean b = slaCusFacade.savesl(request); if(b) { return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success,"/business/pages/customerconfig/slacus/customerSl.html?customerId="+customerId); } else { return WebUtil.sysInfoPage(request, "操作失败!", "", SysInfo.Error,""); } } /** * 查看项目的SLA关联设置 */ @RequestMapping("customerSlaLink.html") public ModelAndView customerSlaLink(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/customerSlaLink"); String customerId = request.getParameter("customerId"); //查询紧急程度,影响程度,优先级的关联信息 Map linkMsg = slaCusFacade.querySlaCusLink(customerId); //查询所有的级别 List levels = slaCusFacade.queryPartnerLevels(request); modelAndView.addObject("linkMsg", linkMsg); modelAndView.addObject("lvs",levels); return modelAndView; } /** * 保存SLA关联设置 */ @RequestMapping(value="saveSlaLink.html",method=RequestMethod.POST) public void saveSlaLink(HttpServletRequest request,HttpServletResponse response) { String result = slaCusFacade.saveSlaLink(request); WebUtil.write(response, result); } /** * 跳转到服务目录报表界面 */ @RequestMapping("customerSlReport.html") public ModelAndView customerSlReport(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/customerSlReport"); //查询服务目录报表 Map result = new HashMap(); String customerId = request.getParameter("customerId"); if(StringUtil.notEmpty(customerId)) { result = slaCusFacade.slaReport(request); SC_PARTNER_CUSTOMER_INFO customer = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); String projectName = customer.getCustomer_name(); modelAndView.addObject("projectName", projectName); } modelAndView.addObject("result", result); return modelAndView; } /** * 跳转到批量添加等级协议页面 */ @RequestMapping(value="batchSlaTab.html") public ModelAndView batchSlaTab(HttpServletRequest request,HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/customerconfig/slacus/batchSlaTab"); String customerId = request.getParameter("customerId"); String cateIds = request.getParameter("cateIds"); String type = request.getParameter("type"); List slaList = slaCusFacade.getSlalevelList(); List slatab = new ArrayList(); for(int i=0; i slaList = slaCusFacade.getSlalevelList(); List slatab = new ArrayList(); for(int i=0; i users = slaCusFacade.queryAllCusContacts(customerId); modelAndView.addObject("users", users); String sl = request.getParameter("sl"); if(!StringUtil.notEmpty(sl)) { sl = ""; } modelAndView.addObject("sl", sl); modelAndView.addObject("zzjglist", zzjgList.get("resultList")); modelAndView.addObject("userlist", zzjgList.get("PARTNERLIST")); return modelAndView; } /** * 查询该客户下所有的客户联系人 */ @RequestMapping(value="cusContacts.html") public ModelAndView cusContacts(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/cusContacts"); //查询所有的客户联系人 String customerId = request.getParameter("customerId"); List users = slaCusFacade.queryAllCusContacts(customerId); modelAndView.addObject("users", users); return modelAndView; } @RequestMapping(value="slaTabAdd.html",method=RequestMethod.POST) public ModelAndView slaTabAddSubmit(HttpServletRequest request,HttpServletResponse response){ String cateId = request.getParameter("cateId"); String customerId = request.getParameter("customerId"); String type = request.getParameter("type"); slaCusFacade.saveSlaTab(request); return WebUtil.sysInfoPage(request,"操作成功!", "", SysInfo.Success,"/business/pages/customerconfig/slacus/slaTab.html?type="+type+"&customerId="+customerId+"&cateId="+cateId); } @RequestMapping(value="initsla.html",method=RequestMethod.POST) public void initsla(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); slaCusFacade.updateSla(params); WebUtil.write(response, "1"); } /** * 跳转到服务人员页面 */ @RequestMapping("serviceUser.html") public ModelAndView serviceUser(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(""); //Map result = slaProjectFacade.getserviceUser(request); String cateId = request.getParameter("cateId"); String customerId = request.getParameter("customerId"); String edit = request.getParameter("edit"); String secondcate = ""; String threecate = ""; SC_SERVCE_CATEGORY cate = new SC_SERVCE_CATEGORY(cateId).getInstanceById(); if(cate.getLevel() == 2) { secondcate = cateId; } else if(cate.getLevel() == 3) { threecate = cateId; secondcate = cate.getP_id(); } Map result = slaPartnerFacade.querySlaUser(customerId, threecate, secondcate, cate.getLevel()); if(result == null || result.size() ==0){ result = slaProjectFacade.getserviceUser(request); result.put("isSelf", 1); result.put("noresult", 1); }else if(ConvertUtil.obj2Integer(result.get("count")) == 0){ result.put("isSelf", 1); result.put("noresult", 1); } Map yxMap = (Map)result.get("yxMap"); Map exMap = (Map)result.get("exMap"); Map sxMap = (Map)result.get("sxMap"); Map yxrole = jsglFacade.getRoleByRoleKey(Constants.ROLE_FLINE); Map exrole = jsglFacade.getRoleByRoleKey(Constants.ROLE_SLINE); Map sxrole = jsglFacade.getRoleByRoleKey(Constants.ROLE_TLINE); yxMap.put("roleId", yxrole.get("ID")); exMap.put("roleId", exrole.get("ID")); sxMap.put("roleId", sxrole.get("ID")); yxMap.put("roleName", yxrole.get("ROLENAME")); exMap.put("roleName", exrole.get("ROLENAME")); sxMap.put("roleName", sxrole.get("ROLENAME")); if(StringUtil.isEmpty(edit)){ if(ConvertUtil.obj2Integer(result.get("isSelf")) == 1){ modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/serviceUser"); }else{ modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/serviceUserDetail"); } }else{ modelAndView = new ModelAndView("/business/pages/customerconfig/slacus/serviceUser"); } modelAndView.addObject("yxMap", yxMap); modelAndView.addObject("exMap", exMap); modelAndView.addObject("sxMap", sxMap); modelAndView.addObject("isSelf", result.get("isSelf")); modelAndView.addObject("noresult", result.get("noresult")); return modelAndView; } /** * 保存服务人员 */ @RequestMapping("saveUser.html") public ModelAndView saveUser(HttpServletRequest request,HttpServletResponse response) { boolean result = slaCusFacade.saveUser(request); if(result) { return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('0')", SysInfo.Success,""); } else { return WebUtil.sysInfoPage(request, "操作失败!", "", SysInfo.Error,""); } } @RequestMapping(value="initSlaUser.html",method=RequestMethod.POST) public void initSlaUser(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); slaCusFacade.updateSlaUser(params); WebUtil.write(response, "1"); } }