package cn.ksource.web.controller.wechat.ewyw;
|
|
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_WORKFLOW_CI_HEALTH;
|
import cn.ksource.beans.SC_WORKFLOW_INCIDENT;
|
import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL;
|
import cn.ksource.beans.SC_WORKFLOW_QUESTION;
|
import cn.ksource.beans.WORKFLOW_NODE;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.ParamsMapUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.facade.ciremind.CiRemindFacade;
|
import cn.ksource.web.facade.health.HealthFacade;
|
import cn.ksource.web.facade.order.OrderFacade;
|
import cn.ksource.web.facade.question.QuestionFacade;
|
import cn.ksource.web.facade.wechat.ewyw.EwOrderFacade;
|
|
@Controller
|
@RequestMapping("/ewyw/eworder")
|
public class EwOrderController {
|
|
@Autowired
|
private CiRemindFacade ciRemindFacade;
|
|
@Resource(name="ewOrderFacade")
|
private EwOrderFacade ewOrderFacade;
|
|
@Resource(name="orderFacade")
|
private OrderFacade orderFacade;
|
|
@Resource
|
private HealthFacade healthFacade;
|
|
/**
|
* 跳转到我的工单页面
|
*/
|
@RequestMapping("eMyorders.html")
|
public ModelAndView eMyOrders(HttpServletRequest request,HttpServletResponse response) {
|
String flowstate = request.getParameter("flowstate");
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eMyorders");
|
modelAndView.addObject("flowstate", flowstate);
|
|
String status = request.getParameter("state");
|
modelAndView.addObject("state", status);
|
|
|
//查询工单环节类型
|
Map<String, String> state = Constants.mapWORKFLOW_BASE_WFSTATE;
|
List states = new ArrayList();
|
for (Map.Entry<String, String> entry : state.entrySet()) {
|
String key = entry.getKey();
|
String value = entry.getValue();
|
Map map = new HashMap();
|
map.put("stateId", key);
|
map.put("stateName", value);
|
states.add(map);
|
}
|
modelAndView.addObject("states", states);
|
|
return modelAndView;
|
}
|
|
|
|
/**
|
* 查询工单列表
|
*/
|
@RequestMapping(value="eMyorderData.html",method=RequestMethod.POST)
|
public ModelAndView worderData(HttpServletRequest request,PageInfo pageInfo) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eMyorderData");
|
String flowstate = request.getParameter("flowstate");
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getEngineerUserId(request));
|
PageInfo list = orderFacade.queryMyOrderData(pageInfo,params);
|
modelAndView.addObject("orderList", list);
|
modelAndView.addObject("flowstate", flowstate);
|
return modelAndView;
|
}
|
|
/**
|
* 查询工单总数量
|
*/
|
@RequestMapping(value="eMyorderCount.html",method=RequestMethod.POST)
|
public void worderCount(HttpServletRequest request,HttpServletResponse response) {
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getEngineerUserId(request));
|
int count = orderFacade.queryMyOrderCount(params);
|
WebUtil.write(response, String.valueOf(count));
|
}
|
|
|
|
/**
|
* 跳转到我的工单池列表
|
*/
|
@RequestMapping("eMyorderPool.html")
|
public ModelAndView eMyorderPool(HttpServletRequest request,HttpServletResponse response) {
|
String flowstate = request.getParameter("flowstate");
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eMyorderPool");
|
modelAndView.addObject("flowstate", flowstate);
|
|
|
//查询工单环节类型
|
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);
|
}
|
modelAndView.addObject("types", ways);
|
|
return modelAndView;
|
}
|
|
|
/**
|
* 查询我的工单池数据
|
*/
|
@RequestMapping("eMyorderPoolData.html")
|
public ModelAndView eMyorderPoolData(HttpServletRequest request,PageInfo pageInfo) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eMyorderPoolData");
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getEngineerUserId(request));
|
PageInfo orderList = orderFacade.myorderpoolData(pageInfo,params);
|
|
modelAndView.addObject("orderList", orderList);
|
return modelAndView;
|
}
|
|
/**
|
* 查询我的工单池数据
|
*/
|
@RequestMapping("eMyorderPoolCount.html")
|
public void myorderpoolCount(HttpServletRequest request,HttpServletResponse response) {
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
params.put("userId", WebUtil.getEngineerUserId(request));
|
int count = orderFacade.myorderpoolCount(params);
|
WebUtil.write(response, String.valueOf(count));
|
}
|
|
/**
|
* 跳转到工单池列表
|
*/
|
@RequestMapping("eworderPool.html")
|
public ModelAndView eworderPool(HttpServletRequest request,HttpServletResponse response) {
|
String flowstate = request.getParameter("flowstate");
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eworderPool");
|
modelAndView.addObject("flowstate", flowstate);
|
|
|
//查询工单环节类型
|
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);
|
}
|
modelAndView.addObject("types", ways);
|
|
return modelAndView;
|
}
|
|
|
/**
|
* 查询工单池数据
|
*/
|
@RequestMapping("eworderPoolData.html")
|
public ModelAndView eworderPoolData(HttpServletRequest request,PageInfo pageInfo) {
|
ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/eworderPoolData");
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
PageInfo orderList = orderFacade.orderpoolData(pageInfo,params);
|
|
modelAndView.addObject("orderList", orderList);
|
return modelAndView;
|
}
|
|
/**
|
* 查询工单池数据
|
*/
|
@RequestMapping("eworderPoolCount.html")
|
public void eworderPoolCount(HttpServletRequest request,HttpServletResponse response) {
|
Map<String, String> params = ParamsMapUtil.getParameterMap(request);
|
int count = orderFacade.orderpoolCount(params);
|
WebUtil.write(response, String.valueOf(count));
|
}
|
|
|
|
/**
|
* 工单详细信息
|
*/
|
@RequestMapping(value="ewOrderInfo.html")
|
public ModelAndView ewOrderInfo(HttpServletRequest request) {
|
String orderType = request.getParameter("orderType");
|
ModelAndView modelAndView = null;
|
String orderId = request.getParameter("orderId");
|
if(StringUtil.notEmpty(orderId)) {
|
if(StringUtil.notEmpty(orderType)){
|
if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewIncident/ewIncidentInfo.html?orderId="+orderId);
|
} else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewQuestion/ewQuestionInfo.html?orderId="+orderId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewzc/ewZcInfo.html?orderId="+orderId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {//例行维护
|
modelAndView = new ModelAndView("redirect:/ewyw/ewRemind/ewRemindInfo.html?orderId="+orderId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {//健康检查
|
modelAndView = new ModelAndView("redirect:/ewyw/ewHealth/ewHealthInfo.html?orderId="+orderId);
|
} else {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/info");
|
}
|
}
|
}
|
return modelAndView;
|
}
|
|
/**
|
* 工单处理信息
|
*/
|
@RequestMapping(value="ewOrderDeal.html")
|
public ModelAndView ewOrderDeal(HttpServletRequest request) {
|
String orderType = request.getParameter("orderType");
|
ModelAndView modelAndView = null;
|
String orderId = request.getParameter("orderId");
|
String flowId = request.getParameter("flowId");
|
if(StringUtil.notEmpty(orderId)) {
|
if(StringUtil.notEmpty(orderType)){
|
if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewIncident/ewIncidentInfoCl.html?orderId="+orderId);
|
} else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewQuestion/ewQuestionDeal.html?orderId="+orderId+"&flowId="+flowId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewzc/ewZcInfoCl.html?orderId="+orderId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {//例行维护
|
modelAndView = new ModelAndView("redirect:/ewyw/ewRemind/ewRemindInfo.html?orderId="+orderId);
|
} else if(orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {//健康检查
|
modelAndView = new ModelAndView("redirect:/ewyw/ewHealth/ewHealthInfo.html?orderId="+orderId);
|
} else {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/info");
|
}
|
}
|
}
|
return modelAndView;
|
}
|
|
|
/**
|
* 跳转到工单响应界面
|
*/
|
@RequestMapping(value="ewOrderResp.html")
|
public ModelAndView ewOrderResp(HttpServletRequest request) {
|
String orderType = request.getParameter("orderType");
|
ModelAndView modelAndView = null;
|
String orderId = request.getParameter("orderId");
|
if(StringUtil.notEmpty(orderId)) {
|
//通过orderId查询出当前节点
|
String userId = WebUtil.getEngineerUserId(request);
|
String nodeId = ewOrderFacade.queryCurrentNodeId(orderId,userId);
|
|
|
if(StringUtil.notEmpty(orderType)){
|
if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT.toString())) {
|
//判断该工单是否已经响应过,如果响应过,则跳转到详情页面
|
//通过nodeId查询该节点的状态
|
|
if(StringUtil.notEmpty(nodeId)) {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/ewIncident/ewIncidentResp");
|
//查询事件工单信息
|
Map incident = new SC_WORKFLOW_INCIDENT(orderId).getBeanMapById();
|
modelAndView.addObject("incident", incident);
|
} else {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewIncident/ewIncidentInfo.html?orderId="+orderId);
|
}
|
|
}else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND.toString())) {
|
//判断该工单是否已经响应过,如果响应过,则跳转到详情页面
|
//通过nodeId查询该节点的状态
|
if(StringUtil.notEmpty(nodeId)) {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/ewRemind/ewRemindResp");
|
//查询例行巡检工单信息
|
Map remind = ciRemindFacade.queryRemindInfo(orderId);
|
WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(nodeId).getInstanceById();
|
Integer flowType = workflow_node.getFlow_type();
|
//判断是否为回退
|
if(null!=flowType && flowType==2) {
|
WORKFLOW_NODE workflow_node_source = new WORKFLOW_NODE(workflow_node.getSource_node_instance_id()).getInstanceById();
|
remind.put("isBack", "2");
|
remind.put("dealNode", workflow_node_source.getDeal_note());
|
} else {
|
remind.put("isBack", "1");
|
}
|
remind.put("nodeName",workflow_node.getNodename());
|
modelAndView.addObject("remind", remind);
|
} else {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewRemind/ewRemindInfo.html?orderId="+orderId);
|
}
|
}else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH.toString())) {
|
//判断该工单是否已经响应过,如果响应过,则跳转到详情页面
|
//通过nodeId查询该节点的状态
|
if(StringUtil.notEmpty(nodeId)) {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/ewHealth/ewHealthResp");
|
//查询健康检查工单信息
|
Map health = healthFacade.getHealthInfo(orderId);
|
//Map health = new SC_WORKFLOW_CI_HEALTH(orderId).getBeanMapById();
|
WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(nodeId).getInstanceById();
|
Integer flowType = workflow_node.getFlow_type();
|
//判断是否为回退
|
if(null!=flowType && flowType==2) {
|
WORKFLOW_NODE workflow_node_source = new WORKFLOW_NODE(workflow_node.getSource_node_instance_id()).getInstanceById();
|
health.put("isBack", "2");
|
health.put("dealNode", workflow_node_source.getDeal_note());
|
} else {
|
health.put("isBack", "1");
|
}
|
health.put("nodeName",workflow_node.getNodename());
|
modelAndView.addObject("health", health);
|
} else {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewHealth/ewHealthInfo.html?orderId="+orderId);
|
}
|
}else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString())) {
|
//判断该工单是否已经响应过,如果响应过,则跳转到详情页面
|
//通过nodeId查询该节点的状态
|
if(StringUtil.notEmpty(nodeId)) {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionResp");
|
//查询事件工单信息
|
Map question = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById();
|
|
WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(nodeId).getInstanceById();
|
Integer flowType = workflow_node.getFlow_type();
|
//判断是否为回退
|
if(null!=flowType && flowType==2) {
|
WORKFLOW_NODE workflow_node_source = new WORKFLOW_NODE(workflow_node.getSource_node_instance_id()).getInstanceById();
|
|
question.put("isBack", "2");
|
question.put("dealNode", workflow_node_source.getDeal_note());
|
} else {
|
question.put("isBack", "1");
|
}
|
|
modelAndView.addObject("question", question);
|
} else {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewQuestion/ewQuestionInfo.html?orderId="+orderId);
|
}
|
|
} else if (orderType.equals(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL.toString())) {
|
if(StringUtil.notEmpty(nodeId)) {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/ewzc/ewZcResp");
|
//查询事件工单信息
|
Map incident = new SC_WORKFLOW_INCIDENT_LOCAL(orderId).getBeanMapById();
|
modelAndView.addObject("incident", incident);
|
} else {
|
modelAndView = new ModelAndView("redirect:/ewyw/ewzc/ewZcInfo.html?orderId="+orderId);
|
}
|
|
} else {
|
modelAndView = new ModelAndView("/business/wechat/ewyw/eworder/info");
|
}
|
|
modelAndView.addObject("nodeId", nodeId);
|
}
|
}
|
return modelAndView;
|
}
|
|
}
|