package cn.ksource.web.controller.business.pages.servicelist;
|
|
import cn.ksource.beans.CUSTOMER_CONTACTS;
|
import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO;
|
import cn.ksource.beans.SC_SERVCE_CATEGORY;
|
import cn.ksource.beans.SC_SLA;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.*;
|
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.servicelist.SlaPartnerFacade;
|
import cn.ksource.web.facade.servicelist.SlaProjectFacade;
|
import cn.ksource.web.service.DataDictionaryService;
|
import cn.ksource.web.service.sl.SlaProjectService;
|
import org.apache.commons.lang.StringUtils;
|
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 javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
|
/**
|
* 基础管理--客户管理控制器
|
* @author lixiang
|
*
|
*/
|
@Controller
|
@RequestMapping("/business/pages/servicelist/slaproject")
|
public class SlaProjectController {
|
|
@Resource(name="slaProjectFacade")
|
private SlaProjectFacade slaProjectFacade;
|
|
@Resource(name="slaPartnerFacade")
|
private SlaPartnerFacade slaPartnerFacade;
|
|
@Autowired
|
private DataDictionaryService dataDictionaryService;
|
|
@Autowired
|
private SlaProjectService slaProjectService;
|
|
@Autowired
|
private JsglFacade jsglFacade;
|
|
/**
|
* 客户联系人列表
|
* @param request
|
* @return
|
*/
|
@RequestMapping("projectContactsList.html")
|
public ModelAndView projectContactsList(HttpServletRequest request){
|
ModelAndView modelAndView= new ModelAndView("/business/pages/servicelist/slaproject/projectContactsList");
|
return modelAndView;
|
}
|
|
/**
|
* 客户联系人数据
|
* @param request
|
* @return
|
*/
|
@RequestMapping("projectContactsData.html")
|
public ModelAndView projectContactsData(HttpServletRequest request,PageInfo pageInfo){
|
ModelAndView modelAndView= new ModelAndView("/business/pages/servicelist/slaproject/projectContactsData");
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
PageInfo info = slaProjectFacade.queryProjectContacts(params,pageInfo);
|
modelAndView.addObject("info", info);
|
return modelAndView;
|
}
|
|
/**
|
* 客户联系人数量
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping("projectContactsCount.html")
|
public void projectContactsCount(HttpServletRequest request,HttpServletResponse response){
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
int count=slaProjectFacade.queryProjectContactsCount(params);
|
WebUtil.write(response, String.valueOf(count));
|
}
|
|
/**
|
* 跳转到添加项目联系人
|
* @return
|
* @author 李云鹏
|
*/
|
@RequestMapping(value="addProjectContacts.html")
|
public ModelAndView addProjectContacts(HttpServletRequest request){
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/addProjectContacts");
|
|
Map resultMap = slaProjectFacade.queryMaxCusNum();
|
String result = ConvertUtil.obj2StrBlank(resultMap.get("result"));
|
if(result.equals("2")) {
|
modelAndView.addObject("resultMap", resultMap);
|
} else {
|
String customerId = request.getParameter("customerId");
|
List<Map> levelList=dataDictionaryService.getDataDictionaryByCategoryKey(Constants.PROJECT_CONSTACTS);
|
modelAndView.addObject("levelList", levelList);
|
modelAndView.addObject("customerId", customerId);
|
}
|
|
return modelAndView;
|
}
|
|
/**
|
* 跳转到当前客户的子客户页面
|
*/
|
@RequestMapping("subCus.html")
|
public ModelAndView subCus(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/subCus");
|
|
String customerId = request.getParameter("customerId");
|
String subCustomerId = request.getParameter("subCustomerId");
|
|
|
//查询当前客户
|
Map currCus = new SC_PARTNER_CUSTOMER_INFO(customerId).getBeanMapById();
|
|
|
Map result = slaProjectFacade.querySubCus(customerId,subCustomerId);
|
|
List<Map> customers = (List<Map>)result.get("subs");
|
List checkSl = (List)result.get("checks");
|
Map map = new HashMap();
|
if(subCustomerId.equals(customerId)){
|
currCus.put("checked", 1);
|
|
map.put("checkId", subCustomerId);
|
map.put("checkName", currCus.get("CUSTOMER_NAME"));
|
checkSl.add(map);
|
}
|
|
modelAndView.addObject("customers", customers);
|
modelAndView.addObject("checkSl", checkSl);
|
|
modelAndView.addObject("currCus", currCus);
|
modelAndView.addObject("customerId", customerId);
|
modelAndView.addObject("subCustomerId", subCustomerId);
|
return modelAndView;
|
}
|
/**
|
* 跳转到当前客户的子客户页面
|
*/
|
@RequestMapping("subCusSearch.html")
|
public ModelAndView subCusSearch(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/subCusSearch");
|
|
String customerId = request.getParameter("customerId");
|
String subCustomerId = request.getParameter("subCustomerId");
|
|
|
//查询当前客户
|
Map currCus = new SC_PARTNER_CUSTOMER_INFO(customerId).getBeanMapById();
|
|
|
Map result = slaProjectFacade.querySubCus(customerId,subCustomerId);
|
|
List<Map> customers = (List<Map>)result.get("subs");
|
List checkSl = (List)result.get("checks");
|
Map map = new HashMap();
|
if(subCustomerId.equals(customerId)){
|
currCus.put("checked", 1);
|
|
map.put("checkId", subCustomerId);
|
map.put("checkName", currCus.get("CUSTOMER_NAME"));
|
checkSl.add(map);
|
}
|
|
modelAndView.addObject("customers", customers);
|
modelAndView.addObject("checkSl", checkSl);
|
|
modelAndView.addObject("currCus", currCus);
|
modelAndView.addObject("customerId", customerId);
|
modelAndView.addObject("subCustomerId", subCustomerId);
|
return modelAndView;
|
}
|
|
/**
|
* 检验登陆名是否一样
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("checkLogin_name.html")
|
public void checkCustomer_name(HttpServletRequest request,HttpServletResponse response){
|
String login_name = AjaxUtil.decode(request.getParameter("login_name"));
|
if (slaProjectFacade.isLogin_NameExists(login_name)) {
|
WebUtil.write(response, "1");
|
} else {
|
WebUtil.write(response, "0");
|
}
|
}
|
|
/**
|
* 检验邮箱是否一样
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("checkEmail.html")
|
public void checkEmail(HttpServletRequest request,HttpServletResponse response){
|
String email = AjaxUtil.decode(request.getParameter("email"));
|
String id = request.getParameter("id");
|
if (slaProjectFacade.isEmailExists(email,id)) {
|
WebUtil.write(response, "1");
|
} else {
|
WebUtil.write(response, "0");
|
}
|
}
|
|
|
/**
|
* 添加修改客户联系人
|
* @param request
|
* @return
|
* @author 李云鹏
|
*/
|
@RequestMapping(value="saveProjectContacts.html")
|
public ModelAndView saveProjectContacts(HttpServletRequest request){
|
String id= request.getParameter("id");
|
String customerId = request.getParameter("customerId");
|
if(StringUtil.notEmpty(id)){
|
slaProjectFacade.updateProjectContacts(request);
|
}else{
|
|
Map resultMap = slaProjectFacade.queryMaxCusNum();
|
String result = ConvertUtil.obj2StrBlank(resultMap.get("result"));
|
if(result.equals("2")) {
|
return WebUtil.sysInfoPage(request, "操作失败!您最多只能添加<em style='font-size:18px;'>"+resultMap.get("maxNum")+"</em>个<p>启用的账号!</p>",
|
"window.top.hideDialog('0');",
|
SysInfo.Error,"/business/pages/servicelist/slaproject/projectContactsList.html?customerId="+customerId);
|
}
|
|
slaProjectFacade.saveProjectContacts(request);
|
}
|
return WebUtil.sysInfoPage(request, "操作成功!",
|
"window.top.hideDialog('0');",
|
SysInfo.Success,"/business/pages/servicelist/slaproject/projectContactsList.html?customerId="+customerId);
|
}
|
|
/**
|
* 跳转到修改页面
|
* @param request
|
* @return
|
* @author 李云鹏
|
*/
|
@RequestMapping("updateProjectContacts.html")
|
public ModelAndView updateProjectContacts(HttpServletRequest request){
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/updateProjectContacts");
|
String contactId=request.getParameter("id");
|
String customerId = request.getParameter("customerId");
|
Map contacts= new CUSTOMER_CONTACTS(contactId).getBeanMapById();
|
List<Map> levelList=dataDictionaryService.getDataDictionaryByCategoryKey(Constants.PROJECT_CONSTACTS);
|
modelAndView.addObject("levelList", levelList);
|
modelAndView.addObject("customerId", customerId);
|
modelAndView.addObject("contact", contacts);
|
return modelAndView;
|
}
|
|
/**
|
* 密码初始化
|
*/
|
@RequestMapping("initPwd.html")
|
public void onInitPwd(HttpServletRequest request,HttpServletResponse response){
|
String id = request.getParameter("id");
|
String loginname = request.getParameter("loginname");
|
|
if (StringUtils.isNotBlank(id) && StringUtils.isNotBlank(loginname)) {
|
slaProjectFacade.execInitUserPwd(id, loginname);
|
}
|
WebUtil.write(response, "1");
|
}
|
|
/**
|
* 删除客户联系人
|
* @param request
|
* @author 李云鹏
|
*/
|
@RequestMapping("deleteProjectContacts")
|
public void deleteProjectContacts(HttpServletRequest request,HttpServletResponse response){
|
String state=request.getParameter("state");
|
String flag = "1";
|
|
Map returnMap = new HashMap();
|
if(state.equals("1")) {
|
Map resultMap = slaProjectFacade.queryMaxCusNum();
|
String result = ConvertUtil.obj2StrBlank(resultMap.get("result"));
|
if(result.equals("2")) {
|
flag = "2";
|
returnMap.put("maxNum", resultMap.get("maxNum"));
|
}
|
}
|
|
if(flag.equals("1")) {
|
slaProjectFacade.deleteProjectContacts(request);
|
}
|
|
returnMap.put("flag", flag);
|
|
WebUtil.write(response,JsonUtil.map2Json(returnMap));
|
}
|
|
/**
|
* 跳转到项目联系人详情页面
|
* */
|
@RequestMapping("contactsDetail.html")
|
public ModelAndView contactsDetail(HttpServletRequest request){
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/contactsDetail");
|
String contactId=request.getParameter("id");
|
Map contacts= new CUSTOMER_CONTACTS(contactId).getBeanMapById();
|
modelAndView.addObject("contact", contacts);
|
return modelAndView;
|
}
|
|
/**
|
* 查询服务目录三级分类
|
*/
|
@RequestMapping("serviceListTree.html")
|
public ModelAndView serviceListTree(HttpServletRequest request,HttpServletResponse response) {
|
ModelAndView view = new ModelAndView("/business/pages/servicelist/slaproject/serviceListTree");
|
String customerId = request.getParameter("customerId");
|
String sl = request.getParameter("sl");
|
|
Map trees = slaProjectService.queryProjectSeviceList(customerId,sl);
|
List tree = (List)trees.get("categoryList");
|
Map<String,String> slMap = (Map<String,String>)trees.get("slMap");
|
|
List checkSl = new ArrayList();
|
if(null!=slMap && slMap.size()>0) {
|
for (Map.Entry<String, String> entry : slMap.entrySet()) {
|
String key = entry.getKey();
|
String value = entry.getValue();
|
Map map = new HashMap();
|
|
if(!key.equals(value)){
|
map.put("checkId", key);
|
map.put("checkName", value);
|
checkSl.add(map);
|
}
|
|
}
|
}
|
view.addObject("trees", tree);
|
view.addObject("checkSl", checkSl);
|
return view;
|
}
|
|
/**
|
* 通过优先级和影响度查询对应的级别
|
*/
|
@SuppressWarnings({ "unchecked", "unused", "rawtypes" })
|
@RequestMapping("queryLevel.html")
|
public void queryLevel(HttpServletRequest request,HttpServletResponse response) {
|
String priority_id = request.getParameter("priority_id");
|
String influence_id = request.getParameter("influence_id");
|
String serivceListId = request.getParameter("serivceListId");
|
String customerId = request.getParameter("customer_id");
|
String levelId = slaProjectService.queryLevel(priority_id,influence_id,customerId);
|
SC_SLA sc=new SC_SLA(levelId).getInstanceById();
|
Map sla=new HashMap();
|
sla.put("levelId", sc.getId());
|
sla.put("levelName", sc.getLevel_name());
|
//查询三级目录的sla
|
String[] services = serivceListId.split("-");
|
String sid=services[2];
|
String eid=services[1];
|
Map param=new HashMap();
|
param.put("levelId", levelId);
|
param.put("customerId", customerId);
|
param.put("cate_id", sid);
|
Map slaS=slaProjectService.getSla_level(param);
|
if(slaS.size()>0){
|
sla.put("responseTime", slaS.get("RESPONSE_TIME"));
|
sla.put("resolveTime", slaS.get("RESOLVE_TIME"));
|
}
|
param.put("cate_id", eid);
|
Map slas=slaProjectService.getSla_level(param);
|
if(slaS.size()==0 && slas.size()>0){
|
sla.put("responseTime", slas.get("RESPONSE_TIME"));
|
sla.put("resolveTime", slas.get("RESOLVE_TIME"));
|
}
|
param.put("cate_id", sid);
|
Map slaE=slaProjectService.getZsSla(param);
|
if(slaS.size()==0 && slas.size()==0 && slaE.size()>0){
|
sla.put("responseTime", slaE.get("RESPONSE_TIME"));
|
sla.put("resolveTime", slaE.get("RESOLVE_TIME"));
|
}
|
if(slaS.size()==0 && slaE.size()==0 && slas.size()==0 ){
|
param.put("cate_id", eid);
|
Map slaEJ=slaProjectService.getZsSla(param);
|
if(slaEJ.size()>0){
|
sla.put("responseTime", slaEJ.get("RESPONSE_TIME"));
|
sla.put("resolveTime", slaEJ.get("RESOLVE_TIME"));
|
}else{
|
Map slaG=slaProjectService.getGsSla(param);
|
if(slaG.size()>0){
|
sla.put("responseTime", slaG.get("RESPONSE_TIME"));
|
sla.put("resolveTime", slaG.get("RESOLVE_TIME"));
|
}else{
|
sla.put("responseTime", "");
|
sla.put("resolveTime", "");
|
}
|
}
|
}
|
// SLALevel slaLevel = new SLALevel();
|
// if(StringUtil.notEmpty(serivceListId)) {
|
// String[] services = serivceListId.split("-");
|
// if(services.length == 3) {
|
// SLAEntity slaEntity = slaProjectService.getLevelMsg(customerId, services[2]);
|
// slaLevel = slaEntity.getSLALevel(levelId);
|
// }
|
// }
|
WebUtil.write(response, JsonUtil.obj2JsonObj(sla));
|
}
|
/**
|
* 健康检查明细表
|
* @param request
|
* @return
|
*/
|
@RequestMapping("getHealthCiDetail.html")
|
public ModelAndView getHealthCiDetail(HttpServletRequest request){
|
ModelAndView view = new ModelAndView("/business/pages/servicelist/slaproject/getHealthCiDetail");
|
Map infoMap=slaProjectFacade.getHealthCiDetail(request);
|
view.addObject("dealerMap", infoMap.get("dealerMap"));
|
view.addObject("ciList", infoMap.get("ciList"));
|
return view;
|
}
|
|
/**
|
* 跳转到服务人员页面
|
*/
|
@RequestMapping("serviceUser.html")
|
public ModelAndView serviceUser(HttpServletRequest request) {
|
ModelAndView modelAndView = new ModelAndView("/business/pages/servicelist/slaproject/serviceUser");
|
//Map result = slaProjectFacade.getserviceUser(request);
|
String cateId = request.getParameter("cateId");
|
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("", threecate, secondcate, cate.getLevel());
|
if(result == null || result.size() == 0){
|
result = slaProjectFacade.getserviceUser(request);
|
}
|
Map yxMap = (Map)result.get("yxMap");
|
Map exMap = (Map)result.get("exMap");
|
Map sxMap = (Map)result.get("sxMap");
|
yxMap.put("roleId", jsglFacade.getRoleByRoleKey(Constants.ROLE_FLINE).get("ID"));
|
exMap.put("roleId", jsglFacade.getRoleByRoleKey(Constants.ROLE_SLINE).get("ID"));
|
sxMap.put("roleId", jsglFacade.getRoleByRoleKey(Constants.ROLE_TLINE).get("ID"));
|
yxMap.put("roleName", jsglFacade.getRoleByRoleKey(Constants.ROLE_FLINE).get("ROLENAME"));
|
exMap.put("roleName", jsglFacade.getRoleByRoleKey(Constants.ROLE_SLINE).get("ROLENAME"));
|
sxMap.put("roleName", jsglFacade.getRoleByRoleKey(Constants.ROLE_TLINE).get("ROLENAME"));
|
modelAndView.addObject("yxMap", yxMap);
|
modelAndView.addObject("exMap", exMap);
|
modelAndView.addObject("sxMap", sxMap);
|
modelAndView.addObject("isSelf", result.get("isSelf"));
|
return modelAndView;
|
}
|
|
/**
|
* 保存服务人员
|
*/
|
@RequestMapping("saveUser.html")
|
public ModelAndView saveUser(HttpServletRequest request,HttpServletResponse response) {
|
boolean result = slaProjectFacade.saveUser(request);
|
if(result) {
|
return WebUtil.sysInfoPage(request, "操作成功!",
|
"window.top.hideDialog('0')",
|
SysInfo.Success,"");
|
} else {
|
return WebUtil.sysInfoPage(request, "操作失败!",
|
"",
|
SysInfo.Error,"");
|
}
|
}
|
}
|