package cn.ksource.web.controller.business.pages.desktop;
|
|
import java.text.SimpleDateFormat;
|
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.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import cn.ksource.beans.GG_USER;
|
import cn.ksource.core.license.LicenseController;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.ParamsMapUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.LoginUser;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.GnConstants;
|
import cn.ksource.web.SysConstants;
|
import cn.ksource.web.facade.JsglFacade;
|
import cn.ksource.web.facade.customermanage.CustomerManageFacade;
|
import cn.ksource.web.facade.desktop.DesktopFacade;
|
import cn.ksource.web.facade.incident.IncidentFacade;
|
import cn.ksource.web.facade.order.OrderFacade;
|
import cn.ksource.web.facade.question.QuestionFacade;
|
import cn.ksource.web.facade.traffic.TrafficFacade;
|
import cn.ksource.web.facade.zc.ZcywFacade;
|
import de.schlichtherle.license.LicenseContent;
|
|
@Controller
|
@RequestMapping("/business/pages/desktop")
|
public class DesktopController {
|
|
@Resource
|
private JsglFacade jsglFacade;
|
@Resource
|
private OrderFacade orderFacade;
|
@Resource
|
private IncidentFacade incidentFacade;
|
@Resource
|
private QuestionFacade questionFacade;
|
@Resource
|
private ZcywFacade zcywFacade;
|
@Resource
|
private DesktopFacade desktopFacade;
|
@Resource
|
private CustomerManageFacade customerFacade;
|
@Autowired
|
private TrafficFacade trafficFacade;
|
|
/**
|
* 跳转页面
|
* @param model
|
* @param request
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("homeJump.html")
|
public String homeJump(Model model,HttpServletRequest request){
|
ModelAndView view = new ModelAndView();
|
//默认地址
|
String url = "/business/pages/desktop/defaultDesk.html";
|
List<Map> roles = jsglFacade.getRolesByUserId(WebUtil.getLoginedUserId(request), 1);
|
if(roles.size()>1){
|
url = "/business/pages/desktop/selDesk.html";
|
}else if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
url = Constants.getINDEX(identify);
|
}
|
}
|
return "redirect:"+url;
|
}
|
|
/**
|
* 默认桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("defaultDesk.html")
|
public String defaultDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
return "/business/pages/desktop/defaultDesk";
|
}
|
|
/**
|
* 跳转到系统管理员桌面
|
*/
|
@RequestMapping("sysmanager.html")
|
public String sysmanager(Model model,HttpServletRequest request) {
|
LicenseController licenseController = new LicenseController();
|
LicenseContent license;
|
String licenseFileName = "license.lic";
|
String path = this.getClass().getClassLoader().getResource("").getPath().replace("WEB-INF/classes/", "");
|
try {
|
license = licenseController.installLicense(path + licenseFileName);
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
|
String expire = df.format(license.getNotAfter());
|
Long expireDay = DateUtil.getFromTime2TimeByDay(DateUtil.getCurrentDate8(),Long.valueOf(expire));
|
model.addAttribute("expireDay", expireDay);
|
model.addAttribute("expire", expire);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
setAc(request,model);
|
setFunList(request,model);
|
return "/business/pages/desktop/sysmanager";
|
}
|
|
/**
|
* 公司领导
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("leaderDesk.html")
|
public String leaderDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
List<Map> cusList = customerFacade.getCusList();
|
model.addAttribute("cusList", cusList);
|
return "/business/pages/desktop/leaderDesk";
|
}
|
|
/**
|
* 管理层桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("manageDesk.html")
|
public String manageDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
List<Map> cusList = customerFacade.getCusList();
|
model.addAttribute("cusList", cusList);
|
return "/business/pages/desktop/manageDesk";
|
}
|
|
/**
|
* 服务台桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("serviceDesk.html")
|
public String serviceDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
Map<String,String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getLoginedUserId(request));
|
int order_num = orderFacade.queryMyOrderCount(params);//我的工单数量
|
int out_num = incidentFacade.queryincidentTimeoutCount(params);//超时数量
|
int pool_num = orderFacade.orderpoolCount(params);//工单池数量
|
int incident_num = incidentFacade.queryincidentJxzCount(params);//事件数量
|
int question_count = questionFacade.queryQuestionJxzCount(params);//问题
|
int local_count = zcywFacade.zcywCountForFwt(params);//驻场运维
|
int remind_count = 0;//例行维护
|
int health_count = 0;//健康检查
|
int satis_count = 0;//满意度
|
model.addAttribute("order_num", order_num);
|
model.addAttribute("out_num", out_num);
|
model.addAttribute("pool_num", pool_num);
|
model.addAttribute("incident_num", incident_num);
|
model.addAttribute("question_count", question_count);
|
model.addAttribute("local_count", local_count);
|
model.addAttribute("remind_count", remind_count);
|
model.addAttribute("health_count", health_count);
|
model.addAttribute("satis_count", satis_count);
|
//查询工单类型
|
Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE;
|
List ways = new ArrayList();
|
for (Map.Entry<String, String> 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);
|
}
|
model.addAttribute("types", ways);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/serviceDesk";
|
}
|
|
|
/**
|
* 一线桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("flineDesk.html")
|
public String flineDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/flineDesk";
|
}
|
|
/**
|
* 二线桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("slineDesk.html")
|
public String slineDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/slineDesk";
|
}
|
|
/**
|
* 三线桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("tlineDesk.html")
|
public String tlineDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/tlineDesk";
|
}
|
|
/**
|
* 驻场桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("locationDesk.html")
|
public String locationDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/locationDesk";
|
}
|
|
/**
|
* 运维经理桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("operationDesk.html")
|
public String operationDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
List<Map> cusList = customerFacade.getCusList();
|
model.addAttribute("cusList", cusList);
|
//查询工单类型
|
Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE;
|
List ways = new ArrayList();
|
for (Map.Entry<String, String> 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);
|
}
|
model.addAttribute("types", ways);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/operationDesk";
|
}
|
|
/**
|
* 配置管理员
|
* @param model
|
* @param request
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("cfgDesk.html")
|
public String cfgDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request,model);
|
return "/business/pages/desktop/cfgDesk";
|
}
|
|
/**
|
* 知识管理员桌面
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping("knowDesk.html")
|
public String knowDesk(Model model,HttpServletRequest request){
|
setAc(request,model);
|
setMyOrder(request, model);
|
return "/business/pages/desktop/knowDesk";
|
}
|
|
|
/**
|
* 选择桌面类型
|
* @param model
|
* @param request
|
* @return
|
* @author chenlong
|
*/
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@RequestMapping(value="selDesk.html",method=RequestMethod.GET)
|
public String selDesk(Model model,HttpServletRequest request){
|
List<Map> list = jsglFacade.getRolesByUserId(WebUtil.getLoginedUserId(request), 1);
|
model.addAttribute("list", list);
|
return "/business/pages/desktop/selDesk";
|
}
|
|
/**
|
* 选择桌面
|
* @param model
|
* @param request
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping(value="selDesk.html",method=RequestMethod.POST)
|
public String doSelDesk(Model model,HttpServletRequest request){
|
String roleId = request.getParameter("roleId");
|
String userId = WebUtil.getLoginedUserId(request);
|
jsglFacade.setDefaultRole(userId, roleId);
|
//默认地址
|
String url = "/business/pages/desktop/defaultDesk.html";
|
List<Map> roles = jsglFacade.getRolesByUserId(WebUtil.getLoginedUserId(request), 1);
|
if(roles.size()>1){
|
url = "/business/pages/desktop/selDesk.html";
|
}else if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
url = Constants.getINDEX(identify);
|
}
|
}
|
return "redirect:"+url;
|
}
|
/**
|
* 设置权限
|
* @param request
|
* @param model
|
* @author chenlong
|
*/
|
private void setAc(HttpServletRequest request,Model model){
|
LoginUser user = WebUtil.getLoginUser(request);
|
Map<String, List<Map>> gnMap = user.getGnMap();
|
Map<String, List<Map>> ejgnMap = user.getEjgnMap();
|
Map param=ParamsMapUtil.getParameterMap(request);
|
Map countNum=trafficFacade.getTrafficNum(param);
|
model.addAttribute("countNum", countNum);
|
}
|
|
/**
|
* 运维经理桌面详情
|
* @param request
|
* @param model
|
* @return
|
* @author chenlong
|
*/
|
@RequestMapping(value="operationDeskDetail.html",method=RequestMethod.POST)
|
public String operationDeskDetail(HttpServletRequest request,Model model){
|
String cusId = request.getParameter("cusId");
|
Map info = desktopFacade.getOperationDeskDetail(cusId);
|
model.addAttribute("info", info);
|
return "/business/pages/desktop/operationDeskDetail";
|
}
|
|
@RequestMapping("getCusSatisfactionSurvey.html")
|
public void getCusSatisfactionSurvey(Model model,HttpServletRequest request, HttpServletResponse response){
|
Map SurveyMap = desktopFacade.getCusSatisfactionSurvey(request);
|
WebUtil.write(response, JsonUtil.map2Json(SurveyMap));
|
}
|
|
@RequestMapping("getCusSatisfactionDetail.html")
|
public void getCusSatisfactionDetail(Model model,HttpServletRequest request, HttpServletResponse response){
|
String cusId = request.getParameter("cusId");
|
Map SurveyMap = desktopFacade.getCusSatisfactionDetail(cusId);
|
System.out.println(JsonUtil.map2Json(SurveyMap));
|
WebUtil.write(response, JsonUtil.map2Json(SurveyMap));
|
}
|
|
@RequestMapping("getLastStep.html")
|
public void getLastStep(Model model,HttpServletRequest request, HttpServletResponse response){
|
String lastIndex = request.getParameter("lastIndex");
|
List<Map> cusList = customerFacade.getCusList();
|
List<Map> targetList = new ArrayList<Map>();
|
int flag = Integer.valueOf(lastIndex)-6;
|
if(flag>=0){
|
for(int i=0;i<6;i++){
|
int index = flag + i;
|
if(index==0){
|
cusList.get(index).put("flowTop", true);
|
}
|
cusList.get(index).put("index", index);
|
targetList.add(cusList.get(index));
|
}
|
}
|
WebUtil.write(response, JsonUtil.list2Json(targetList));
|
}
|
|
/**
|
* 获取下一页项目
|
* @param model
|
* @param request
|
* @param response
|
*/
|
@RequestMapping("getNextStep.html")
|
public void getNextStep(Model model,HttpServletRequest request, HttpServletResponse response){
|
String nextIndex = request.getParameter("nextIndex");
|
List<Map> cusList = customerFacade.getCusList();
|
List<Map> targetList = new ArrayList<Map>();
|
for(int i=1;i<=6;i++){
|
int index = Integer.valueOf(nextIndex)+i;
|
if(index<cusList.size()){
|
if(index==cusList.size()-1){
|
cusList.get(index).put("flowOver", true);
|
}
|
cusList.get(index).put("index", index);
|
targetList.add(cusList.get(index));
|
}
|
}
|
WebUtil.write(response, JsonUtil.list2Json(targetList));
|
}
|
|
private void setMyOrder(HttpServletRequest request,Model model){
|
PageInfo pageInfo = new PageInfo();
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getUserId(request));
|
params.put("flowstate", Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE.toString());
|
params.put("status", Constants.WORKFLOW_BASE_WFSTATE_DOING.toString());
|
pageInfo = orderFacade.queryMyOrderData(pageInfo,params);
|
model.addAttribute("pageInfo", pageInfo);
|
}
|
|
private void setFunList(HttpServletRequest request,Model model){
|
List lv3Set = new ArrayList();
|
LoginUser loginUser = WebUtil.getLoginUser(request);
|
Map gnMap = loginUser.getGnMap();
|
if(null!=gnMap&&gnMap.containsKey(GnConstants.XGSZ)) {
|
Map lv1Map= (Map)gnMap.get(GnConstants.XGSZ);
|
if(null!=lv1Map) {
|
List<Map> lv2List = (List<Map>)lv1Map.get("MENULIST");
|
if(lv2List!=null&&lv2List.size()>0){
|
for(Map lv2Map:lv2List){
|
if(lv2Map.get("MENULIST")!=null){
|
List<Map> lv3List = (List<Map>)lv2Map.get("MENULIST");
|
for(Map lv3Map:lv3List){
|
lv3Set.add(lv3Map);
|
}
|
}
|
}
|
}
|
}
|
}
|
model.addAttribute("lv3Set", lv3Set);
|
}
|
@RequestMapping("updateUser.html")
|
public void updateUser(HttpServletRequest request,HttpServletResponse response){
|
String id=WebUtil.getLoginedUserId(request);
|
GG_USER user=new GG_USER(id).getInstanceById();
|
String is_tp=request.getParameter("is_tp");
|
user.setIs_tp(ConvertUtil.obj2Integer(is_tp)).update();
|
Map loguser=(Map)request.getSession().getAttribute("loguser");
|
loguser.put("IS_TP", ConvertUtil.obj2Integer(is_tp));
|
request.getSession().setAttribute("loguser", loguser);
|
}
|
}
|