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 javax.servlet.http.HttpSession; 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.QUESTION_ZD_HISTORY; import cn.ksource.beans.SC_WORKFLOW_QUESTION; import cn.ksource.beans.WORKFLOW_BASE; import cn.ksource.beans.WORKFLOW_NODE; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.AjaxUtil; 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.SysInfo; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.SysConstants; import cn.ksource.web.facade.incident.IncidentFacade; import cn.ksource.web.facade.question.QuestionFacade; import cn.ksource.web.facade.wechat.ewyw.EwQuestionFacade; import cn.ksource.web.service.DataDictionaryService; import cn.ksource.web.service.device.DeviceService; import cn.ksource.web.service.file.FileService; import cn.ksource.web.service.order.OrderService; @Controller @RequestMapping("/ewyw/ewQuestion") public class EwQuestionController { @Resource(name="ewQuestionFacade") private EwQuestionFacade ewQuestionFacade; @Autowired private QuestionFacade questionFacade; @Autowired private IncidentFacade incidentFacade; @Autowired private DataDictionaryService dataDictionaryService; @Autowired private FileService fileService; @Autowired private OrderService orderService; @Autowired private DeviceService deviceService; /** * 跳转到所有问题工单页面 */ @RequestMapping("ewQuestion.html") public ModelAndView ewQuestion(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestion"); //查询工单状态 Map state = Constants.mapWORKFLOW_BASE_WFSTATE; List status = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("state", key); map.put("stateName", value); status.add(map); } modelAndView.addObject("status", status); //查询问题所有环节 Map node = Constants.questionNode; List nodes = new ArrayList(); for (Map.Entry entry : node.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("nodeId", key); map.put("nodeName", value); nodes.add(map); } modelAndView.addObject("nodes", nodes); return modelAndView; } /** * 查询问题工单列表 */ @RequestMapping(value="ewQuestionData.html",method=RequestMethod.POST) public ModelAndView ewQuestionData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionData"); Map params = ParamsMapUtil.getParameterMap(request); String flowstate = request.getParameter("flowstate"); PageInfo list = new PageInfo(); if(StringUtil.isEmpty(flowstate)){ list = questionFacade.queryQuestionOrderList(pageInfo,params); }else{ if("11".equals(flowstate)){ list = questionFacade.queryQuestionOrderNodeList(pageInfo,params); }else{ params.put("type", flowstate); list = questionFacade.queryQuestionEndList(pageInfo,params); } } modelAndView.addObject("orderList", list); modelAndView.addObject("flowstate", flowstate); return modelAndView; } /** * 查询问题工单总数量 */ @RequestMapping(value="ewQuestionCount.html",method=RequestMethod.POST) public void ewQuestionCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); String flowstate = request.getParameter("flowstate"); int count = 0; if(StringUtil.isEmpty(flowstate)){ count = questionFacade.queryQuestionOrderCount(params); }else{ if("11".equals(flowstate)){ count = questionFacade.queryQuestionOrderNodeCount(params); }else{ params.put("type", flowstate); count = questionFacade.queryQuestionEndCount(params); } } WebUtil.write(response, String.valueOf(count)); } /** * 跳转到我的问题工单页面 */ @RequestMapping("ewMyQuestion.html") public ModelAndView ewMyIncident(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewMyQuestion"); //查询工单状态 Map state = Constants.mapWORKFLOW_BASE_WFSTATE; List status = new ArrayList(); for (Map.Entry entry : state.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); Map map = new HashMap(); map.put("state", key); map.put("stateName", value); status.add(map); } modelAndView.addObject("status", status); return modelAndView; } /** * 查询我的问题工单列表 */ @RequestMapping(value="ewMyQuestionData.html",method=RequestMethod.POST) public ModelAndView eMyIncidentData(HttpServletRequest request,PageInfo pageInfo) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewMyQuestionData"); Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getEngineerUserId(request)); String flowstate = request.getParameter("flowstate"); PageInfo list = new PageInfo(); if("end".equals(flowstate)||"close".equals(flowstate)){ if("end".equals(flowstate)){ params.put("type", "2"); }else{ params.put("type", "3"); } list = questionFacade.querymyQuestionEndList(pageInfo,params); }else{ list = questionFacade.queryMyQuestionData(pageInfo,params); } modelAndView.addObject("orderList", list); modelAndView.addObject("flowstate", flowstate); return modelAndView; } /** * 查询我的问题工单总数量 */ @RequestMapping(value="ewMyQuestionCount.html",method=RequestMethod.POST) public void worderCount(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getEngineerUserId(request)); String flowstate = request.getParameter("flowstate"); int count = 0; if("end".equals(flowstate)||"close".equals(flowstate)){ if("end".equals(flowstate)){ params.put("type", "2"); }else{ params.put("type", "3"); } count = questionFacade.querymyQuestionEndCount(params); }else{ count = questionFacade.queryMyQuestionCount(params); } WebUtil.write(response, String.valueOf(count)); } /** * 问题工单详情 */ @RequestMapping("ewQuestionInfo.html") public ModelAndView ewIncidentInfo(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionInfo"); //查询事件基本信息 String orderId = request.getParameter("orderId"); String flowId = new String(); if(StringUtil.notEmpty(orderId)) { SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(orderId).getInstanceById(); flowId = question.getFlow_id(); } //通过工单编号查询工单基本信息 Map baseMsg = questionFacade.queryQuestionBaseMsg(orderId); WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); Map node = questionFacade.getFlowMsg(flowId, WebUtil.getEngineerUserId(request)); //node为空,则为分派到组 if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(node.get("ID")))){ node = new WORKFLOW_NODE(base.getCurrent_node_id()).getBeanMapById(); } modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("curnodeId", node.get("NODE_TEMPLATE_ID")); return modelAndView; } /** * 问题工单响应 * @param request * @param response */ @RequestMapping("answerQuestion.html") public void answerQuestion(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); Map user = WebUtil.getEngineerMsg(request); params.put("ID", ConvertUtil.obj2StrBlank(user.get("ID"))); params.put("ZSXM", ConvertUtil.obj2StrBlank(user.get("ZSXM"))); String result = ewQuestionFacade.doOrderConfirm(params); WebUtil.write(response, result); } /** * 问题处理服务报告 * @param request * @return */ @RequestMapping("ewQuestionReport.html") public ModelAndView ewQuestionReport(HttpServletRequest request){ ModelAndView view = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionReport"); String orderId = request.getParameter("orderId"); Map map=ewQuestionFacade.queryQuestionReport(orderId); view.addObject("questionMap", map); view.addObject("orderList", map.get("orderList")); view.addObject("ciList", map.get("ciList")); view.addObject("fileList", map.get("fileList")); return view; } /** * 服务台创建问题页面 * @param request * @param response * @return */ @RequestMapping(value="ewAddQuestion", method=RequestMethod.GET) public ModelAndView addIncidentForService(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewAddQuestion"); String add = request.getParameter("add"); if("1".equals(add)){ request.getSession().removeAttribute(SysConstants.QUESTIONSESSION); } //来源于事件升级 Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); if(questionMsg.size() > 0){ if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(questionMsg.get("ciList")))){ List deviceList = (List)questionMsg.get("ciList"); if(deviceList != null && deviceList.size() > 0){ for(Map map:deviceList){ map.put("deivceId", map.get("ID")); map.put("lv_name", map.get("FIRST_NAME")+"->"+map.get("SECOND_NAME")+"->"+map.get("THIRD_NAME")); } questionMsg.put("deviceList", deviceList); } } if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(questionMsg.get("orderList")))){ List deviceList = (List)questionMsg.get("orderList"); if(deviceList != null && deviceList.size() > 0){ for(Map map:deviceList){ map.put("orderId", map.get("ID")); } questionMsg.put("orderList", deviceList); } } } //查询问题来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); //取得问题来源的第一条数据 if(null!=froms && froms.size()>0) { Map from = froms.get(0); view.addObject("fromId", from.get("DATAKEY")); view.addObject("fromName", from.get("DATAVALUE")); } view.addObject("froms", froms); Map resultMap = new HashMap(); resultMap.put("want_deal_time", DateUtil.getCurrentDate8()); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; }else{ resultMap = questionMsg; } view.addObject("resultMap", resultMap); return view; } /** * 保存问题信息 */ @RequestMapping("savetempquestion.html") public void savetempincident(HttpServletRequest request,HttpServletResponse response) { String changeId = request.getParameter("changeId"); String bustype = request.getParameter("bustype"); String name = request.getParameter("name"); String descrip = request.getParameter("descrip"); String contact_phone = request.getParameter("contact_phone"); String contact_name = request.getParameter("contact_name"); String keshi = request.getParameter("keshi"); String customer_id = request.getParameter("customer_id"); String customer_name = request.getParameter("customer_name"); String serivceListId = request.getParameter("serivceListId"); String serivceList = request.getParameter("serivceList"); if(serivceList.equals("->->")){ serivceList=""; } String sla_id = request.getParameter("sla_id"); String sla_name = request.getParameter("sla_name"); String priority_id = request.getParameter("priority_id"); String influence_id = request.getParameter("influence_id"); String source_id = request.getParameter("source_id"); String want_deal_time = request.getParameter("want_deal_time"); want_deal_time = want_deal_time.replace("-", "").replace(" ", "").replace(":", ""); String[] devices = request.getParameterValues("devices"); List deviceList = new ArrayList(); if(devices != null){ if(devices.length > 0){ for(int i=0;i orderList = new ArrayList(); if(orders != null){ if(orders.length > 0){ for(int i=0;i froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); //取得问题来源的第一条数据 if(null!=froms && froms.size()>0) { Map from = froms.get(0); view.addObject("fromId", from.get("DATAKEY")); view.addObject("fromName", from.get("DATAVALUE")); } view.addObject("froms", froms); Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(resultMap.get("want_deal_time")))){ resultMap.put("want_deal_time", DateUtil.format("yyyy-MM-dd HH:mm", resultMap.get("want_deal_time"))); } } view.addObject("question", resultMap); return view; } /** * 分配人员 */ @RequestMapping("ewslusers.html") public ModelAndView ewslusers(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewslusers"); String curnodeId = request.getParameter("curnodeId"); String flowId = request.getParameter("flowId"); List nodeList = questionFacade.getFlueNode(request); modelAndView.addObject("nodeList", nodeList); modelAndView.addObject("curnodeId", curnodeId); Map tempMsg = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { tempMsg = (Map)obj; } modelAndView.addObject("tempMsg", tempMsg); return modelAndView; } /** * 分配人员 */ @RequestMapping("ewwtusers.html") public ModelAndView ewwtusers(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewwtusers"); String add = request.getParameter("add"); if("1".equals(add)){ request.getSession().removeAttribute(SysConstants.QUESTIONSESSION); modelAndView.addObject("sf", "1"); } String curnodeId = request.getParameter("curnodeId"); String flowId = request.getParameter("flowId"); Map baseMsg = new HashMap(); if(!StringUtil.isEmpty(flowId)){ baseMsg = new WORKFLOW_BASE(flowId).getBeanMapById(); } modelAndView.addObject("baseMsg", baseMsg); List nodeList = questionFacade.getFlueNode(request); Map tempMsg = questionFacade.gettempMsg(flowId,WebUtil.getEngineerUserId(request)); if(tempMsg.get("ID") != null){ Map user = JsonUtil.json2Map(ConvertUtil.obj2StrBlank(tempMsg.get("DEALER"))); tempMsg.put("userId", user.get("userid")); tempMsg.put("userName", user.get("username")); } if(tempMsg.get("ID") == null){ if(curnodeId.equals(Constants.WTZD)){ List zdmsg = questionFacade.getZdMsgList(flowId); if(zdmsg.size()> 0){ modelAndView.addObject("zdmsg", zdmsg.get(0)); } } } if(tempMsg.size() ==0){ Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { tempMsg = (Map)obj; } } modelAndView.addObject("nodeList", nodeList); modelAndView.addObject("curnodeId", curnodeId); modelAndView.addObject("tempMsg", tempMsg); return modelAndView; } /** * 查询所有的分配人员 */ @RequestMapping("ewselectUsers.html") public ModelAndView ewselectUsers(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewselectUsers"); List groupList = incidentFacade.getGroupUser(request); modelAndView.addObject("groupList", groupList); return modelAndView; } /** * 保存问题信息 */ @RequestMapping("savenode.html") public void savenode(HttpServletRequest request,HttpServletResponse response) { String node = request.getParameter("node"); String nodebz = request.getParameter("bz"); String alluser = request.getParameter("alluser"); String type = request.getParameter("type"); String seltype = request.getParameter("seltype"); String savetype = request.getParameter("savetype"); String saveusername = request.getParameter("saveusername"); String reason = request.getParameter("reason"); String resolve = request.getParameter("resolve"); String suggest = request.getParameter("suggest"); String user = ""; if(!StringUtil.isEmpty(seltype)){ user = type+"&"+node+"&"+alluser; } Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; resultMap.put("node", node); resultMap.put("nodebz", nodebz); resultMap.put("alluser", alluser); resultMap.put("EXTEND1", type); resultMap.put("selectUser", user); resultMap.put("savetype", savetype); resultMap.put("saveusername", saveusername); resultMap.put("EXTEND2", reason); resultMap.put("EXTEND3", resolve); resultMap.put("EXTEND4", suggest); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); }else{ resultMap.put("node", node); resultMap.put("nodebz", nodebz); resultMap.put("alluser", alluser); resultMap.put("EXTEND1", type); resultMap.put("selectUser", user); resultMap.put("saveusername", saveusername); resultMap.put("EXTEND2", reason); resultMap.put("EXTEND3", resolve); resultMap.put("EXTEND4", suggest); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); } WebUtil.write(response, "1"); } /** * 保存问题分派人员信息 */ @RequestMapping("saveuser.html") public void saveuser(HttpServletRequest request,HttpServletResponse response) { String typelx = request.getParameter("typelx"); String alluserid1 = request.getParameter("alluserid1"); String allusername1 = request.getParameter("allusername1"); Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; resultMap.put("EXTEND1", typelx); resultMap.put("userId", alluserid1); resultMap.put("userName", allusername1); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); }else{ resultMap.put("EXTEND1", typelx); resultMap.put("userId", alluserid1); resultMap.put("userName", allusername1); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); } WebUtil.write(response, "1"); } /** * 分派人员 */ @RequestMapping(value="saveusersAssign.html",method=RequestMethod.POST) public void usersAssign(HttpServletRequest request,HttpServletResponse response) { String savetype = request.getParameter("savetype"); Map resultMap = ewQuestionFacade.updateAssign(request); request.getSession().setAttribute(SysConstants.SJTIPSESSION, resultMap); WebUtil.write(response, "1"); } /** * 跳转到填写结局方案页面 */ @RequestMapping(value="ewEndQuestion.html",method=RequestMethod.GET) public ModelAndView endQuestion(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewEndQuestion"); String orderId = request.getParameter("orderId"); Map question = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById(); Map endMsg = questionFacade.getEndMsgById(orderId); //查询解决方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTIONEND_RESOLVE_TYPE); //查询解决方式数据字典 List closeways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTIONCLOSE_RESOLVE_TYPE); modelAndView.addObject("closeways", closeways); modelAndView.addObject("ways", ways); modelAndView.addObject("endMsg", endMsg); modelAndView.addObject("question", question); Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; } modelAndView.addObject("resultMap", resultMap); return modelAndView; } /** * 结果方案提交 */ @RequestMapping(value="ewEndQuestion.html",method=RequestMethod.POST) public void endQuestionsubmit(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updateEndQuestion(request); Map resultMap = new HashMap(); resultMap.put("result", 1); String orderId = request.getParameter("orderId"); SqlParameter map = new SqlParameter("orderId",orderId).addValue("bustype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); map.addValue("result", "1"); WebUtil.write(response, JsonUtil.map2Json(map)); } /** * 保存问题分派人员信息 */ @RequestMapping("saveEndMsg.html") public void saveEndMsg(HttpServletRequest request,HttpServletResponse response) { String reordercode = request.getParameter("reordercode"); String repeat_order = request.getParameter("repeat_order"); String solve = request.getParameter("solve"); String solveWay = request.getParameter("solveWay"); String closeWay = request.getParameter("closeWay"); String reason = request.getParameter("reason"); Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; resultMap.put("reordercode", reordercode); resultMap.put("repeat_order", repeat_order); resultMap.put("solve", solve); resultMap.put("solveWay", solveWay); resultMap.put("closeWay", closeWay); resultMap.put("reason", reason); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); }else{ resultMap.put("reordercode", reordercode); resultMap.put("repeat_order", repeat_order); resultMap.put("solve", solve); resultMap.put("solveWay", solveWay); resultMap.put("closeWay", closeWay); resultMap.put("reason", reason); request.getSession().setAttribute(SysConstants.QUESTIONSESSION, resultMap); } WebUtil.write(response, "1"); } /** * 跳转到工单处理页面 * @param request * @return */ @RequestMapping("ewQuestionDeal.html") public ModelAndView ewQuestionDeal(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionDeal"); //查询问题基本信息 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); Map questionMap = questionFacade.queryQuestionBaseMsg(orderId); List cilist = deviceService.queryLinkDevices(flowId); List orderlist = orderService.queryLinkOrders(flowId); List filelist = fileService.getFileList(flowId); questionMap.put("deviceList", cilist); questionMap.put("orderList", orderlist); questionMap.put("fileList", filelist); //查询问题来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); Map node = questionFacade.getFlowMsg(flowId, WebUtil.getEngineerUserId(request)); //node为空,则为分派到组 if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(node.get("ID")))){ node = new WORKFLOW_NODE(base.getCurrent_node_id()).getBeanMapById(); } String isclose = ""; List closejd = JsonUtil.json2List(ConvertUtil.obj2Str(questionMap.get("closejd"))); for(Map map:closejd){ if(map.get("nodeId").equals(node.get("NODE_TEMPLATE_ID"))){ isclose = "1"; } } String isback = ""; List backjd = JsonUtil.json2List(ConvertUtil.obj2Str(questionMap.get("backjd"))); for(Map map:backjd){ if(map.get("nodeId").equals(node.get("NODE_TEMPLATE_ID"))){ isback = "1"; } } if((Constants.WTFQ).equals(node.get("NODE_TEMPLATE_ID"))){ modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewbackQuestion"); } //通过工单编号查询工单基本信息 Map baseMsg = questionFacade.queryQuestionBaseMsg(orderId); //得到工单是否开启得标志 String isopen = ewQuestionFacade.getIsOpenQuestion(request); modelAndView.addObject("isopen", isopen); modelAndView.addObject("question", questionMap); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("nodeId", node.get("ID")); modelAndView.addObject("ismain", node.get("IS_ADMIN")); modelAndView.addObject("isclose", isclose); modelAndView.addObject("isback", isback); modelAndView.addObject("curnodeId", node.get("NODE_TEMPLATE_ID")); modelAndView.addObject("curnodeState", Constants.getWORKFLOW_NODE_FLOWSTATE_Label(ConvertUtil.obj2Integer(node.get("FLOWSTATE")))); modelAndView.addObject("repeat_mark", questionMap.get("REPEAT_MARK")); modelAndView.addObject("froms", froms); Map resultMap = new HashMap(); Object obj = request.getSession().getAttribute(SysConstants.QUESTIONSESSION); if(null!=obj) { resultMap = (Map)obj; } modelAndView.addObject("userMap", resultMap); return modelAndView; } /** * 查询是否可以进入下一个节点 */ @RequestMapping("ewissave.html") public void issave(HttpServletRequest request,HttpServletResponse response) { String issave = questionFacade.issave(request); WebUtil.write(response, issave); } /** * 流转备注 */ @RequestMapping(value="ewlzbz.html", method=RequestMethod.GET) public ModelAndView ewlzbz(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewlzbz"); String nodeId = request.getParameter("nodeId"); WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); WORKFLOW_BASE base = new WORKFLOW_BASE(node.getFlowid()).getInstanceById(); return modelAndView; } /** * 流转备注 */ @RequestMapping(value="ewlzbz.html", method=RequestMethod.POST) public void lzbzsubmit(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updatefinishnode(request); Map resultMap = new HashMap(); resultMap.put("result", "1"); request.getSession().setAttribute(SysConstants.SJTIPSESSION, resultMap); WebUtil.write(response, "1"); } /** * 工单审核中回退 */ @RequestMapping(value="eworderBack.html", method=RequestMethod.GET) public ModelAndView eworderBack(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/eworderBack"); String nodeId = request.getParameter("nodeId"); String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); Map nodeMap = questionFacade.getBeforeNodeMsg(nodeId); String node_template_name = Constants.getquestionNodeLabel(ConvertUtil.obj2StrBlank(nodeMap.get("NODE_TEMPLATE_ID"))); nodeMap.put("NODE_TEMPLATE_NAME",node_template_name ); modelAndView.addObject("nodeMap", nodeMap); modelAndView.addObject("nodeId", nodeId); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); return modelAndView; } /** * 工单审核中回退 */ @RequestMapping(value="eworderBack.html", method=RequestMethod.POST) public void orderBacksubmit(HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); Map user = WebUtil.getEngineerMsg(request); String userId = ConvertUtil.obj2StrBlank(user.get("ID")); String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); params.put("userId", userId); params.put("userName", userName); ewQuestionFacade.gobackNodeSubmit(params); WebUtil.write(response, "1"); } /** * 跳转到填写申请工单结束方案页面 */ @RequestMapping(value="ewadminEndQuestion.html",method=RequestMethod.GET) public ModelAndView adminEndQuestion(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewadminEndQuestion"); return modelAndView; } /** * 申请工单结束方案提交 */ @RequestMapping(value="ewadminEndQuestion.html",method=RequestMethod.POST) public void adminEndQuestionSubmit(HttpServletRequest request,HttpServletResponse response) { Map resultMap = ewQuestionFacade.updateApplyEnd(request); request.getSession().setAttribute(SysConstants.SJTIPSESSION, resultMap); WebUtil.write(response, "1"); } /** * 查询重复问题工单 */ @RequestMapping("linkwtOrder.html") public ModelAndView linkwtOrder(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/linkwtOrder"); return modelAndView; } /** * 查询关联工单 */ @RequestMapping("orderwtList.html") public ModelAndView orderwtList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/orderwtList"); List orders = questionFacade.queryLinkwtOrder(request); modelAndView.addObject("orders", orders); return modelAndView; } /** * 问题回退信息提交 * @param request * @param response * @return */ @RequestMapping(value="ewbackquestion.html", method=RequestMethod.POST) public ModelAndView backUpdatequestionSubmit(HttpServletRequest request, HttpServletResponse response,SC_WORKFLOW_QUESTION sc_workflow_question) { Map resultMap = ewQuestionFacade.saveQuestion(request,sc_workflow_question); SysInfoMsg msg = (SysInfoMsg)resultMap.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success,"/business/pages/question/myQuestion.html",msg); } /** * 工单审核中关闭 */ @RequestMapping(value="ewclosequestion.html", method=RequestMethod.GET) public ModelAndView ewclosequestion(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewclosequestion"); String orderId = request.getParameter("orderId"); Map question = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById(); //查询解决方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTIONCLOSE_RESOLVE_TYPE); modelAndView.addObject("ways", ways); modelAndView.addObject("question", question); modelAndView.addObject("nodeId", request.getParameter("nodeId")); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", request.getParameter("flowId")); modelAndView.addObject("customerId", request.getParameter("customerId")); Map info = (Map)request.getSession().getAttribute(SysConstants.CLOSEORDERSESSION); if(info != null){ info.put("id", request.getParameter("id")); info.put("value", request.getParameter("value")); } modelAndView.addObject("info", info); return modelAndView; } /** * 工单审核中关闭 */ @RequestMapping(value="ewclosequestion.html", method=RequestMethod.POST) public void ewclosequestionsubmit(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updateResolveType(request); //清除session中的信息 HttpSession session = request.getSession(); session.removeAttribute(SysConstants.CLOSEORDERSESSION); WebUtil.write(response, "1"); } /** * 查询重复问题工单 * */ @RequestMapping("ewLinkwtOrder.html") public ModelAndView ewLinkwtOrder(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewLinkwtOrder"); SqlParameter map = new SqlParameter("repeat_order",request.getParameter("reordercode")).addValue("bz", AjaxUtil.decode(request.getParameter("bz"))); request.getSession().setAttribute(SysConstants.CLOSEORDERSESSION, map); modelAndView.addObject("nodeId", request.getParameter("nodeId")); modelAndView.addObject("orderId", request.getParameter("orderid")); modelAndView.addObject("flowId", request.getParameter("flowId")); modelAndView.addObject("customerId", request.getParameter("customerid")); return modelAndView; } /** * 查询关联工单 */ @RequestMapping("ewOrderwtList.html") public ModelAndView ewOrderwtList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewOrderwtList"); List orders = questionFacade.queryLinkwtOrder(request); modelAndView.addObject("orders", orders); return modelAndView; } /** * 工单挂起 */ @RequestMapping(value="ewquestiongq.html", method=RequestMethod.GET) public ModelAndView ewquestiongq(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewquestiongq"); //查询解决方式数据字典 List ways = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_GQYY); modelAndView.addObject("ways", ways); modelAndView.addObject("nodeId", request.getParameter("nodeId")); modelAndView.addObject("orderId", request.getParameter("orderId")); modelAndView.addObject("flowId", request.getParameter("flowId")); return modelAndView; } /** * 工单挂起 */ @RequestMapping(value="ewquestiongq.html", method=RequestMethod.POST) public void questiongqsubmit(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updateQuestiongq(request); WebUtil.write(response, "1"); } /** * 诊断报告历史 */ @RequestMapping("ewQuestionZd.html") public ModelAndView ewQuestionZd(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionZd"); String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); String curnodeId = request.getParameter("curnodeId"); modelAndView.addObject("curnodeId", curnodeId); List zdList = questionFacade.getZdMsgList(flowId); modelAndView.addObject("zdList", zdList); modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); return modelAndView; } /** * 诊断报告历史(进行中) */ @RequestMapping("ewQuestionZdCl.html") public ModelAndView questionZdMsg(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionZdCl"); String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); String curnodeId = request.getParameter("curnodeId"); modelAndView.addObject("curnodeId", curnodeId); List zdList = questionFacade.getZdMsgList(flowId); modelAndView.addObject("zdList", zdList); modelAndView.addObject("userId", WebUtil.getWywEngineerLoginUser(request).get("ID")); modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); modelAndView.addObject("createUserId", WebUtil.getWywEngineerLoginUser(request).get("ID")); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("curnodeId", curnodeId); return modelAndView; } /** * 跳转到填写诊断报告页面 */ @RequestMapping(value="ewQuestionZdReport.html",method=RequestMethod.GET) public ModelAndView questionZdReport(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionZdReport"); String id = request.getParameter("id"); String type = request.getParameter("type"); Map zdMsg = questionFacade.getzdmsgbyId(request); List fileList = new ArrayList(); /* if(!StringUtil.isEmpty(type)){ if("1".equals(type)){ fileList=fileService.getFileList(ConvertUtil.obj2StrBlank(zdMsg.get("ZDID"))); }else{ fileList=fileService.getFileList(ConvertUtil.obj2StrBlank(zdMsg.get("ID"))); } }*/ modelAndView.addObject("zdMsg", zdMsg); modelAndView.addObject("type", type); modelAndView.addObject("fileList", fileList); return modelAndView; } /** * 诊断报告填写提交 */ @RequestMapping(value="ewQuestionZdReport.html",method=RequestMethod.POST) public void ewQuestionZdReport(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updateZdMsg(request); WebUtil.write(response, "1"); } /** * 删除诊断报告历史数据 */ @RequestMapping(value="delReport.html",method=RequestMethod.POST) public void delReport(HttpServletRequest request,HttpServletResponse response) { String reportId = request.getParameter("reportId"); QUESTION_ZD_HISTORY zd = new QUESTION_ZD_HISTORY(reportId); zd.deleteById(); WebUtil.write(response, "1"); } /** * 跳转到诊断报告详情 * */ @RequestMapping("ewZdReportDetail.html") public ModelAndView ewZdReportDetail(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewZdReportDetail"); String show = request.getParameter("show"); String id = request.getParameter("id"); Map info = new HashMap(); if(show.equals("1")){//最终诊断报告 info = new SC_WORKFLOW_QUESTION(id).getBeanMapById(); }else{ info = ewQuestionFacade.getZdMsgById(id); } modelAndView.addObject("info", info); modelAndView.addObject("show", show); return modelAndView; } /** * 工单开启 */ @RequestMapping(value="ewQuestionopen.html", method=RequestMethod.GET) public ModelAndView questionopen(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/wechat/ewyw/ewQuestion/ewQuestionopen"); return modelAndView.addObject("orderId", request.getParameter("orderId")).addObject("flowId", request.getParameter("flowId")); } /** * 工单开启提交 */ @RequestMapping(value="ewQuestionopen.html",method=RequestMethod.POST) public void questionopenSubmit(HttpServletRequest request,HttpServletResponse response) { ewQuestionFacade.updateQuestionOpen(request); WebUtil.write(response, "1"); } }