package cn.ksource.web.controller.business.pages.customermanage; import java.util.ArrayList; import java.util.List; import java.util.Map; 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.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; 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.customermanage.CustomerManageFacade; import cn.ksource.web.service.DataDictionaryService; import cn.ksource.web.service.file.FileService; import cn.ksource.web.util.ExcelSupport; import cn.ksource.web.util.ExcelUtil; /** * 基础管理--客户管理--客户信息控制器 * @author lixiang * */ @Controller @RequestMapping("/business/pages/customermanage") public class CustomerManageController { @Autowired private CustomerManageFacade customerManageFacade; @Autowired private JsglFacade jsglFacade; @Autowired private DataDictionaryService dataDictionaryService; @Autowired private FileService fileService; /** * 客户信息列表 * @param request * @param response * @return */ @RequestMapping("customerManageList.html") public ModelAndView getCustomerList(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/customermanage/customerManageList"); //查询事件类型数据字典 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); return view; } /** * 查询客户列表 */ @RequestMapping(value="customerData.html",method=RequestMethod.POST) public ModelAndView customerData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/customerData"); Map params = ParamsMapUtil.getParameterMap(request); PageInfo info = customerManageFacade.queryCustomerData(params,pageInfo); modelAndView.addObject("info", info); return modelAndView; } /** * 查询客户列表总数量 */ @RequestMapping(value="customerCount.html",method=RequestMethod.POST) public void customerCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int count = customerManageFacade.queryCustomerCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 跳转到添加或者修改页面 * @param request * @param response * @return */ @RequestMapping(value = "customerManageAdd.html", method = RequestMethod.GET) public ModelAndView partnerMsgAdd(HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); List users = jsglFacade.getUsersByRoleKey(Constants.ROLE_OPERATION); List hangyeList = dataDictionaryService.getDataDictionaryByCategoryKey("INDUSTRY_TYPE");//行业 ModelAndView view= new ModelAndView("/business/pages/customermanage/customerManageAdd"); if(StringUtil.isBlank(id)){ view.addObject("partner", new SC_PARTNER_CUSTOMER_INFO()); }else{ Map map = customerManageFacade.getPartnerCostomerById(id); view.addObject("partner", map); view.addObject("customerFiles", fileService.getFileList(id)); } view.addObject("hangye",hangyeList); view.addObject("users",users); return view; } /** * 添加/修改客户信息 * @param request * @param response * @return */ @RequestMapping(value="customerManageAdd.html", method=RequestMethod.POST) public ModelAndView addIncidentForDeskSubmit(HttpServletRequest request, HttpServletResponse response,SC_PARTNER_CUSTOMER_INFO sc_partner_info) { customerManageFacade.addPartnerCustomer(sc_partner_info,request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog(0);", SysInfo.Success,""); } /** * 获取客户拥有的账号数量 * @param request * @param response */ @RequestMapping("getCustomerCount.html") public void getUserCount(HttpServletRequest request,HttpServletResponse response){ if (customerManageFacade.getCustomerCount(request)) { WebUtil.write(response, "1"); } else { WebUtil.write(response, "0"); } } /** * 客户状态修改 * @param request * @param response */ @RequestMapping("updateStatus.html") public void updateStatus(HttpServletRequest request,HttpServletResponse response) { customerManageFacade.updateStatus(request); WebUtil.write(response, "1"); } /** * 检查客户编号是否存在 * */ @RequestMapping("checkCusCode.html") public void checkCusCode(HttpServletRequest request,HttpServletResponse response) { String id=request.getParameter("id"); String result = customerManageFacade.checkCusCodeTwo(request.getParameter("code"),id); WebUtil.write(response, result); } /** * 跳转到客户详情界面 */ @RequestMapping("customerinfo.html") public ModelAndView customerDetail(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/customerinfo"); //查询客户基本信息 String id = request.getParameter("customerId"); if(StringUtil.notEmpty(id)) { Map baseMsg = customerManageFacade.queryCustomerBaseMsg(id); modelAndView.addObject("baseMsg", baseMsg); //查询子账号信息 List subs = customerManageFacade.queryCtmChildAcountList(id); modelAndView.addObject("subs", subs); } return modelAndView; } /** * 查询客户工单 */ @RequestMapping("customerorder.html") public ModelAndView proplinkorder(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/customerorder"); //查询客户基本信息 String id = request.getParameter("customerId"); if(StringUtil.notEmpty(id)) { Map baseMsg = customerManageFacade.queryCustomerBaseMsg(id); modelAndView.addObject("baseMsg", baseMsg); } return modelAndView; } /** * 查询关联工单数据 */ @RequestMapping("customerOrderData.html") public ModelAndView proplinkorderData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/customerOrderData"); Map params = ParamsMapUtil.getParameterMap(request); //查询设备关联工单 PageInfo orders = customerManageFacade.queryCustomerOrder(pageInfo,params); modelAndView.addObject("orders", orders); return modelAndView; } /** * 查询关联工单数量 */ @RequestMapping("customerOrderCount.html") public void proplinkorderCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); //查询设备关联工单 int count = customerManageFacade.queryCustomerOrderCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 查询客户的维保设备 */ @RequestMapping("wbsb.html") public ModelAndView wbsb(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/wbsb"); //查询客户基本信息 String id = request.getParameter("customerId"); if(StringUtil.notEmpty(id)) { Map baseMsg = customerManageFacade.queryCustomerBaseMsg(id); modelAndView.addObject("baseMsg", baseMsg); //查询设备三级分类 List categorys = customerManageFacade.queryDeviceMsg(id); modelAndView.addObject("categorys", categorys); } return modelAndView; } /** * 查询客户设备 */ @RequestMapping("catedevices.html") public ModelAndView catedevices(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/catedevices"); String id = request.getParameter("customerId"); if(StringUtil.notEmpty(id)) { Map baseMsg = customerManageFacade.queryCustomerBaseMsg(id); modelAndView.addObject("baseMsg", baseMsg); } return modelAndView; } /** * 查询客户设备数据 */ @RequestMapping("cateDeviceData.html") public ModelAndView cateDeviceData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/cateDeviceData"); Map params = ParamsMapUtil.getParameterMap(request); //查询客户设备数据 PageInfo devices = customerManageFacade.queryCateDeviceData(pageInfo,params); modelAndView.addObject("devices", devices); return modelAndView; } /** * 查询关联工单数量 */ @RequestMapping("cateDeviceCount.html") public void cateDeviceCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); //查询设备数量 int count = customerManageFacade.queryCateDeviceCount(params); WebUtil.write(response, String.valueOf(count)); } /* @Resource(name="ciHealthPlanFacade") private CiHealthPlanFacade ciHealthPlanFacade;*/ /** * 跳转到客户巡检计划(巡检计划报表)页面 */ @RequestMapping("planRp.html") public ModelAndView dutyerRp(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/planRp"); //Map report = ciHealthPlanFacade.planReport(request); String year = request.getParameter("year"); if(!StringUtil.notEmpty(year)) { year = DateUtil.getToday("yyyy"); } //modelAndView.addObject("report", report); modelAndView.addObject("year", year); String customerId = request.getParameter("customerId"); SC_PARTNER_CUSTOMER_INFO info = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); modelAndView.addObject("customerName", info.getCustomer_name()); modelAndView.addObject("today", DateUtil.getCurrentDate8()); return modelAndView; } /** * 跳转到日常巡检列表 */ @RequestMapping("rcxj.html") public ModelAndView rcxj(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/rcxj"); String id = request.getParameter("customerId"); if(StringUtil.notEmpty(id)) { Map baseMsg = customerManageFacade.queryCustomerBaseMsg(id); modelAndView.addObject("baseMsg", baseMsg); } return modelAndView; } /** * 查询日常巡检列表数据 */ @RequestMapping("rcxjData.html") public ModelAndView rcxjData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/pages/customermanage/rcxjData"); Map params = ParamsMapUtil.getParameterMap(request); PageInfo xjs = customerManageFacade.queryXjReportData(pageInfo,params); modelAndView.addObject("xjs", xjs); return modelAndView; } /** * 查询日常巡检总数量 */ @RequestMapping("rcxjCount.html") public void rcxjCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int count = customerManageFacade.queryXjReportCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 导出 * @param request * @param response * @param dto */ @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping("/exportCustomerName.html") public void export(HttpServletRequest request, HttpServletResponse response) { Map param=ParamsMapUtil.getParameterMap(request); param.put("beginTime", ConvertUtil.obj2Str(param.get("valid_begin_date"))); param.put("endTime", ConvertUtil.obj2Str(param.get("valid_end_date"))); param.put("cusName", ConvertUtil.obj2Str(param.get("cusName"))); param.put("state", ConvertUtil.obj2Str(param.get("state"))); List list=customerManageFacade.queryCustomerDataList(param); if(list.size()>0){ for(Map map:list){ map.put("CREATE_TIME", DateUtil.format("yyyy-MM-dd HH:mm:ss",map.get("CREATE_TIME"))); if(ConvertUtil.obj2Str(map.get("CUSTOMER_STATE")).equals("1")){ map.put("CUSTOMER_STATE", "启用"); }else{ map.put("CUSTOMER_STATE", "禁用"); } } } List excelSupportList = new ArrayList(); ExcelSupport excelSupport1 = new ExcelSupport("项目名称", "CUSTOMER_NAME"); ExcelSupport excelSupport2 = new ExcelSupport("项目简称", "SHORT_NAME"); ExcelSupport excelSupport3 = new ExcelSupport("手机", "PHONE"); ExcelSupport excelSupport4 = new ExcelSupport("开通时间", "CREATE_TIME"); ExcelSupport excelSupport5 = new ExcelSupport("状态", "CUSTOMER_STATE"); ExcelSupport excelSupport6 = new ExcelSupport("所属省", "PROVINCE_NAME"); ExcelSupport excelSupport7 = new ExcelSupport("所属市", "CITY_NAME"); ExcelSupport excelSupport8 = new ExcelSupport("所属县名称", "COUNTY_NAME"); ExcelSupport excelSupport9 = new ExcelSupport("详细地址", "ADDRESS"); ExcelSupport excelSupport10 = new ExcelSupport("所属行业名称", "INDUSTRY_NAME"); ExcelSupport excelSupport11 = new ExcelSupport("创建人姓名", "CREATE_USER_NAME"); ExcelSupport excelSupport12 = new ExcelSupport("联系人", "CONTACT"); ExcelSupport excelSupport13 = new ExcelSupport("联系人电话", "PHONE"); ExcelSupport excelSupport14 = new ExcelSupport("邮箱", "EMAIL"); ExcelSupport excelSupport15 = new ExcelSupport("项目编码", "CUSTOMER_CODE"); ExcelSupport excelSupport16 = new ExcelSupport("运维经理名称", "YWJL_NAME"); excelSupportList.add(excelSupport1); excelSupportList.add(excelSupport2); excelSupportList.add(excelSupport3); excelSupportList.add(excelSupport4); excelSupportList.add(excelSupport5); excelSupportList.add(excelSupport6); excelSupportList.add(excelSupport7); excelSupportList.add(excelSupport8); excelSupportList.add(excelSupport9); excelSupportList.add(excelSupport10); excelSupportList.add(excelSupport11); excelSupportList.add(excelSupport12); excelSupportList.add(excelSupport13); excelSupportList.add(excelSupport14); excelSupportList.add(excelSupport15); excelSupportList.add(excelSupport16); try { ExcelUtil.exportExcel(excelSupportList, list, response, "项目信息导出"); } catch (Exception e) { e.printStackTrace(); } } }