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<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI);
|
view.addObject("eventPri", eventPri);
|
//查询事件影响度数据字典
|
List<Map> 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<String,String> 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<String,String> 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<Map> 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<String,String> 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<String,String> 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<String,String> 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<String,String> 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<String,String> 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<String,String> 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<Map> 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<ExcelSupport> excelSupportList = new ArrayList<ExcelSupport>();
|
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();
|
}
|
}
|
|
|
}
|