package cn.ksource.web.controller.change; import cn.ksource.beans.DSL_VERSION; import cn.ksource.beans.PROJECT_DSL; import cn.ksource.beans.SC_WORKFLOW_CHANGE; import cn.ksource.beans.WORKFLOW_BASE; import cn.ksource.beans.WORKFLOW_NODE; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; 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.facade.change.ChangeFacade; import cn.ksource.web.facade.dsl.DSLFacade; import cn.ksource.web.facade.incident.IncidentFacade; import cn.ksource.web.facade.order.OrderFacade; 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; 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 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; @SuppressWarnings("unchecked") @Controller @RequestMapping("/business/pages/change") public class ChangeController { @Autowired private DeviceService deviceService; @Autowired private ChangeFacade changeFacade; @Resource private OrderFacade orderFacade; @Autowired private DataDictionaryService dataDictionaryService; @Autowired private IncidentFacade incidentFacade; @Autowired private DSLFacade dslFacade; @Autowired private OrderService orderService; @Autowired private FileService fileService; /** * 服务台创建变更页面 * * @param request * @param response * @return */ @RequestMapping(value = "addChange", method = RequestMethod.GET) public ModelAndView addIncidentForService(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/change/addChange"); String partnerId = ""; //查询所有客户 List customers = incidentFacade.getCustomerList(); //查询变更来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_SOURCE); Map changeType = Constants.mapSC_WORKFLOW_CHANGE_TYPE; List changeTypeList = new ArrayList(); for (Object entry : changeType.keySet()) { Map typeMap = new HashMap(); typeMap.put("DATAKEY", entry); typeMap.put("DATAVALUE", changeType.get(entry)); changeTypeList.add(typeMap); } //查询该加盟商的变更风险等级 List questionPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_RISK); view.addObject("changePri", questionPri); //查询问题影响度数据字典 List questionDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_EFFECT); view.addObject("changeDg", questionDg); view.addObject("customers", customers); view.addObject("froms", froms); view.addObject("changeType", changeTypeList); return view; } /** * 创建变更提交 * * @param request * @param response * @return */ @RequestMapping(value = "addChange.html", method = RequestMethod.POST) public ModelAndView addquestionSubmit(HttpServletRequest request, HttpServletResponse response, SC_WORKFLOW_CHANGE sc_workflow_change) { Map resultMap = changeFacade.saveChange(request, sc_workflow_change); String result = ConvertUtil.obj2StrBlank(resultMap.get("result")); SysInfoMsg msg = (SysInfoMsg) resultMap.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success, "/business/pages/change/myChange.html", msg); } /** * 跳转到我的问题工单列表 */ @RequestMapping("myChange.html") public ModelAndView myChange(HttpServletRequest request) { ModelAndView view = new ModelAndView("/business/pages/change/myChange"); Map num = orderFacade.queryOrderCountByCate(request, Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_CHANGE.toString()); view.addObject("num", num); //查询变更来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_SOURCE); view.addObject("sources", froms); //查询该加盟商的变更风险等级 List questionPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_RISK); view.addObject("changePri", questionPri); List cusList = incidentFacade.getCustomerList(); view.addObject("customers", cusList); return view; } /** * 查询我的问题列表 */ @RequestMapping("myChangeData.html") public ModelAndView myIncidentData(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/myChangeData"); List incidents = changeFacade.queryMyChangeData(request); modelAndView.addObject("orders", incidents); return modelAndView; } /** * 查询我的问题数量 */ @RequestMapping("myChangeCount.html") public void myIncidentCount(HttpServletRequest request, HttpServletResponse response) { int count = changeFacade.queryMyChangeCount(request); WebUtil.write(response, String.valueOf(count)); } @RequestMapping("selUser.html") public String selUser(HttpServletRequest request) { return "/business/pages/change/selUser"; } /** * Dsl资料详情 */ @RequestMapping("viewDslInfo.html") public ModelAndView viewDslInfo(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslInfo"); String flowId = request.getParameter("flowId"); List list = dslFacade.getOrderDslList(flowId); modelAndView.addObject("list", list); return modelAndView; } /** * 跳转到DSL关联配置 */ @RequestMapping("viewDslLinkCi.html") public ModelAndView viewDslLinkCi(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslLinkCi"); return modelAndView; } /** * DSL关联配置列表 */ @RequestMapping("dsllinkCi.html") public ModelAndView dsllinkCi(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/dsllinkCi"); return modelAndView; } /** * DSL关联配置列表数据 */ @RequestMapping("dsllinkCiData.html") public ModelAndView dsllinkCiData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/dsllinkCiData"); PageInfo detailList = changeFacade.getDslLinkCiData(request); modelAndView.addObject("devices", detailList.getDatas()); modelAndView.addObject("pagesize", detailList.getRowNum()); return modelAndView; } /** * DSL关联配置列表总数 */ @RequestMapping("dsllinkCiCount.html") public void dsllinkCiCount(HttpServletRequest request, HttpServletResponse response) { int count = changeFacade.getDslLinkCiCount(request); WebUtil.write(response, ConvertUtil.obj2Str(count)); } /** * Dsl版本 */ @RequestMapping("viewDslVesionList.html") public ModelAndView viewDslVesionList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslVesionList"); return modelAndView; } /** * 查询dsl版本数据列表 */ @RequestMapping("viewDslVesionData.html") public ModelAndView viewDslVesionData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslVesionData"); PageInfo pageInfo = changeFacade.queryDslVersionData(request); modelAndView.addObject("info", pageInfo); return modelAndView; } /** * 查询dsl版本数据 */ @RequestMapping("viewDslVesionCount.html") public void viewDslVesionCount(HttpServletRequest request, HttpServletResponse response) { int count = changeFacade.queryDslVersionCount(request); WebUtil.write(response, ConvertUtil.obj2Str(count)); } /** * Dsl版本配置 */ @RequestMapping("viewDslConfigMain.html") public ModelAndView viewDslConfigMain(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslConfigMain"); return modelAndView; } /** * Dsl版本配置 */ @RequestMapping("viewDslConfig.html") public ModelAndView viewDslConfig(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslConfig"); //查询DSL详细信息 String versionId = request.getParameter("versionId"); DSL_VERSION version = new DSL_VERSION(versionId).getInstanceById(); PROJECT_DSL dsl = new PROJECT_DSL(version.getDsl_id()).getInstanceById(); //获取配置文件夹二级分类 String partnerId = ""; List folders = dslFacade.queryDslConfigFolder(partnerId, dsl.getDsl_third_category_id()); modelAndView.addObject("folders", folders); modelAndView.addObject("versionId", versionId); return modelAndView; } /** * 跳转到DSL配置文件变更记录页面 */ @RequestMapping("viewDslConfigRecord.html") public ModelAndView viewDslConfigRecord(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslConfigRecord"); //查询DSL详细信息 String versionId = request.getParameter("versionId"); String flowId = request.getParameter("flowId"); DSL_VERSION version = new DSL_VERSION(versionId).getInstanceById(); PROJECT_DSL dsl = new PROJECT_DSL(version.getDsl_id()).getInstanceById(); //获取配置文件夹二级分类 // String partnerId = WebUtil.getLoginedPartnerId(request); List folders = dslFacade.queryDslConfigFolder("", dsl.getDsl_third_category_id()); modelAndView.addObject("folders", folders); modelAndView.addObject("versionId", versionId); modelAndView.addObject("flowId", flowId); return modelAndView; } /** * DSL配置文件变更记录数据 */ @RequestMapping("viewDslConfigRecordList.html") public ModelAndView viewDslConfigRecordList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslConfigRecordList"); return modelAndView; } /** * DSL配置文件变更记录数据 */ @RequestMapping("viewDslConfigRecordData.html") public ModelAndView viewDslConfigRecordData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewDslConfigRecordData"); String versionId = request.getParameter("versionId"); PageInfo pageInfo = changeFacade.queryDslConfigRecordData(request, versionId); modelAndView.addObject("info", pageInfo); return modelAndView; } /** * DSL配置文件变更记录数据总量 */ @RequestMapping("viewDslConfigRecordCount.html") public void viewDslConfigRecordCount(HttpServletRequest request, HttpServletResponse response) { String versionId = request.getParameter("versionId"); int count = changeFacade.queryDslConfigRecordCount(request, versionId); WebUtil.write(response, ConvertUtil.obj2Str(count)); } /** * 跳转到DSL文件页面 */ @RequestMapping("viewversionFile.html") public ModelAndView viewversionFile(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewversionFile"); String id = request.getParameter("id"); String versionId = request.getParameter("versionId"); modelAndView.addObject("folderId", id); modelAndView.addObject("versionId", versionId); String userId = WebUtil.getLoginedUserId(request); modelAndView.addObject("userId", userId); return modelAndView; } /** * 跳转到DSL文件页面 */ @RequestMapping("viewversionFileData.html") public ModelAndView viewversionFileData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewversionFileData"); String folderId = request.getParameter("folderId"); String versionId = request.getParameter("versionId"); PageInfo pageInfo = dslFacade.queryDslVersionFileData(request, folderId, versionId); modelAndView.addObject("info", pageInfo); return modelAndView; } /** * 跳转到DSL文件页面 */ @RequestMapping("viewDslLinkCiData.html") public ModelAndView viewDslLinkCiData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/viewdsllinkCiData"); PageInfo detailList = changeFacade.getDslLinkCiData(request); modelAndView.addObject("devices", detailList.getDatas()); modelAndView.addObject("pagesize", detailList.getRowNum()); return modelAndView; } /** * 跳转到工单处理页面 * * @param request * @return */ @RequestMapping("changeDeal.html") public ModelAndView questionDeal(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(""); //查询问题基本信息 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); String partnerId =""; Map changeMap = changeFacade.getChangeMsgById(orderId); List cilist = deviceService.queryLinkDevices(flowId); List orderlist = orderService.queryLinkOrders(flowId); List filelist = fileService.getFileList(flowId); changeMap.put("ciList", cilist); changeMap.put("orderList", orderlist); changeMap.put("fileList", filelist); WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); Map node = changeFacade.getFlowMsg(flowId, WebUtil.getLoginedUserId(request)); //node为空,则为分派到组 if (StringUtil.isEmpty(ConvertUtil.obj2StrBlank(node.get("ID")))) { node = new WORKFLOW_NODE(base.getCurrent_node_id()).getBeanMapById(); } if (Constants.BGSL.equals(node.get("NODE_TEMPLATE_ID"))) { modelAndView = new ModelAndView("/business/pages/change/changesl"); } else { modelAndView = new ModelAndView("/business/pages/change/changeSchemeDeal"); } if (Constants.BGSQ.equals(node.get("NODE_TEMPLATE_ID"))) { modelAndView = new ModelAndView("/business/pages/change/backchange"); } //查询客户信息 List customers = incidentFacade.getCustomerList(); //查询当前客户下的该操作者能看到的项目 String customerId = ConvertUtil.obj2StrBlank(changeMap.get("CUSTOMER_ID")); String isclose = ""; String isback = ""; if (Constants.BGSL.equals(node.get("NODE_TEMPLATE_ID"))) { isclose = "1"; isback = "1"; } else { List closejd = JsonUtil.json2List(ConvertUtil.obj2Str(changeMap.get("closejd"))); for (Map map : closejd) { if (map.get("nodeId").equals(node.get("NODE_TEMPLATE_ID"))) { isclose = "1"; } } List backjd = JsonUtil.json2List(ConvertUtil.obj2Str(changeMap.get("backjd"))); for (Map map : backjd) { if (map.get("nodeId").equals(node.get("NODE_TEMPLATE_ID"))) { isback = "1"; } } } //查询变更来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_SOURCE); Map changeType = Constants.mapSC_WORKFLOW_CHANGE_TYPE; List changeTypeList = new ArrayList(); for (Object entry : changeType.keySet()) { Map typeMap = new HashMap(); typeMap.put("DATAKEY", entry); typeMap.put("DATAVALUE", changeType.get(entry)); changeTypeList.add(typeMap); } modelAndView.addObject("changeType", changeTypeList); //查询该加盟商的变更风险等级 List changePri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_RISK); modelAndView.addObject("changePri", changePri); //查询问题影响度数据字典 List changeDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_EFFECT); modelAndView.addObject("changeDg", changeDg); if (ConvertUtil.obj2Integer(node.get("FLOWSTATE")) == 1) { modelAndView.addObject("answer", 1); } //通过工单编号查询工单基本信息 Map baseMsg = changeFacade.queryChangeBaseMsg(partnerId, orderId); modelAndView.addObject("change", changeMap); modelAndView.addObject("customers", customers); modelAndView.addObject("froms", froms); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("nodeId", node.get("ID")); modelAndView.addObject("isclose", isclose); modelAndView.addObject("isback", isback); modelAndView.addObject("ismain", node.get("IS_ADMIN")); modelAndView.addObject("curnodeId", node.get("NODE_TEMPLATE_ID")); modelAndView.addObject("curnodeState", Constants.getWORKFLOW_NODE_FLOWSTATE_Label(ConvertUtil.obj2Integer(node.get("FLOWSTATE")))); modelAndView.addObject("CCBPS", Constants.CCBSP); return modelAndView; } /** * 流转备注 */ @RequestMapping(value = "lzbz.html", method = RequestMethod.GET) public ModelAndView lzbz(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/lzbz"); String curnodeId = request.getParameter("curnodeId"); String nodeId = request.getParameter("nodeId"); modelAndView.addObject("curnodeId", curnodeId); modelAndView.addObject("nodeId", nodeId); return modelAndView; } /** * 流转备注 */ @RequestMapping(value = "lzbz.html", method = RequestMethod.POST) public ModelAndView lzbzsubmit(HttpServletRequest request, HttpServletResponse response) { changeFacade.updatefinishnode(request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('2');", SysInfo.Success, "/business/pages/change/myChange.html"); } /** * 变更受理提交 * * @param request * @param response * @return */ @RequestMapping(value = "changesl.html", method = RequestMethod.POST) public ModelAndView changeslSubmit(HttpServletRequest request, HttpServletResponse response) { String orderId = request.getParameter("orderId"); SC_WORKFLOW_CHANGE sc_workflow_change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); ModelAndView view = new ModelAndView("/business/pages/change/selectChangeType"); String flowId = request.getParameter("flowId"); view.addObject("curnodeId", Constants.BGSL); view.addObject("projectId", sc_workflow_change.getProject_id()); view.addObject("orderId", sc_workflow_change.getId()); view.addObject("flowId", flowId); Map changeType = Constants.mapSC_WORKFLOW_CHANGE_TYPE; List changeTypeList = new ArrayList(); for (Object entry : changeType.keySet()) { Map typeMap = new HashMap(); typeMap.put("DATAKEY", entry); typeMap.put("DATAVALUE", changeType.get(entry)); changeTypeList.add(typeMap); } view.addObject("changeType", changeTypeList); String isnotmain = request.getParameter("isnotmain"); if ("1".equals(isnotmain)) { return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success, "/business/pages/change/myChange.html", null); } else { return view; } } @RequestMapping(value = "backchange", method = RequestMethod.GET) public ModelAndView backUpdatequestion(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/change/backchange"); String id = request.getParameter("id"); Map changeMap = changeFacade.getChangeMsgById(id); view.addObject("change", changeMap); String partnerId = ""; //查询所有客户 List customers = incidentFacade.getCustomerList(); //查询变更来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_SOURCE); Map changeType = Constants.mapSC_WORKFLOW_CHANGE_TYPE; List changeTypeList = new ArrayList(); for (Object entry : changeType.keySet()) { Map typeMap = new HashMap(); typeMap.put("DATAKEY", entry); typeMap.put("DATAVALUE", changeType.get(entry)); changeTypeList.add(typeMap); } view.addObject("changeType", changeTypeList); //查询该加盟商的问题优先级 List changePri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_RISK); view.addObject("changePri", changePri); //查询问题影响度数据字典 List changeDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_EFFECT); view.addObject("changeDg", changeDg); view.addObject("customers", customers); view.addObject("froms", froms); return view; } /** * 工单响应 * @param request * @param response * @return */ @RequestMapping("anwer.html") public ModelAndView anwer(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/change/anwer"); String flowId = request.getParameter("flowId"); String nodeId = request.getParameter("nodeId"); String orderId = request.getParameter("orderId"); Map change = new SC_WORKFLOW_CHANGE(orderId).getBeanMapById(); WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); Map nodeMsgMap = new HashMap(); if (node.getFlow_type() == 2) { nodeMsgMap = new WORKFLOW_NODE(node.getSource_node_instance_id()).getBeanMapById(); nodeMsgMap.put("ORDER_CODE", change.get("ORDER_CODE")); nodeMsgMap.put("STATE", change.get("STATE")); nodeMsgMap.put("CUSTOMER_NAME", change.get("CUSTOMER_NAME")); nodeMsgMap.put("PROJECT_NAME", change.get("PROJECT_NAME")); nodeMsgMap.put("FIRST_CATEGORY_NAME", change.get("FIRST_CATEGORY_NAME")); nodeMsgMap.put("SECOND_CATEGORY_NAME", change.get("SECOND_CATEGORY_NAME")); nodeMsgMap.put("THIRD_CATEGORY_NAME", change.get("THIRD_CATEGORY_NAME")); nodeMsgMap.put("isback", 2); view.addObject("nodeMsg", nodeMsgMap); } else { view.addObject("nodeMsg", change); } view.addObject("flowId", flowId); view.addObject("nodeId", nodeId); view.addObject("orderId", orderId); return view; } @RequestMapping(value = "answer.html", method = RequestMethod.POST) public void anwerSubmit(HttpServletRequest request, HttpServletResponse response) { String result = changeFacade.anwerSubmit(request); WebUtil.write(response, result); } /** * 查询变更基本信息 */ @RequestMapping("changeBaseMsg.html") public ModelAndView changeBaseMsg(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/changeBaseMsg"); String partnerId = ""; String orderId = request.getParameter("orderId"); //通过工单编号查询工单基本信息 Map baseMsg = changeFacade.queryChangeBaseMsg(partnerId, orderId); Map psresult = changeFacade.getPsResult(orderId); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("psresult", psresult); return modelAndView; } /** * 查看ccb评审结果 */ @RequestMapping("ccbList.html") public ModelAndView ccbList(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/ccbList"); String orderId = request.getParameter("orderId"); SC_WORKFLOW_CHANGE change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); String partnerId = ""; //ccb评审规则 Map ccbrule = changeFacade.getCcbRule(change.getProject_id(), partnerId); modelAndView.addObject("ccbrule", ccbrule); String flowId = request.getParameter("flowId"); if (StringUtil.notEmpty(flowId)) { List ccbList = changeFacade.getCcbResult(flowId); modelAndView.addObject("ccbList", ccbList); } //ccb评审结果统计 List ccbresult = changeFacade.getCcbTjResult(flowId); modelAndView.addObject("ccbresult", ccbresult); return modelAndView; } /** * 查询是否可以进入下一个节点 */ @RequestMapping("issave.html") public void issave(HttpServletRequest request, HttpServletResponse response) { String issave = changeFacade.issave(request); WebUtil.write(response, issave); } /** * 变更类型确定提交 * * @param request * @param response * @return */ @RequestMapping(value = "selectChangeType.html", method = RequestMethod.POST) public ModelAndView selectChangeTypeSubmit(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/change/usersAssign"); String orderId = request.getParameter("orderId"); String type = request.getParameter("type"); String is_release = request.getParameter("is_release"); String is_ccb = request.getParameter("is_ccb"); SC_WORKFLOW_CHANGE sc_workflow_change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); sc_workflow_change.setType(type).setIs_release(ConvertUtil.obj2Integer(is_release)).update(); Map nodeMap = new HashMap(); if ("1".equals(is_ccb)) { nodeMap.put("nodeId", Constants.CCBSP); nodeMap.put("nodeName", "CCB评审"); } else { nodeMap.put("nodeId", Constants.BGSP); nodeMap.put("nodeName", "变更审批"); } view.addObject("nodeMap", nodeMap); view.addObject("curnodeId", Constants.BGSL); view.addObject("projectId", sc_workflow_change.getProject_id()); return view; } /** * 分派人员 */ @RequestMapping(value = "saveusersAssign.html", method = RequestMethod.POST) public ModelAndView usersAssign(HttpServletRequest request, HttpServletResponse response) { Map resultMap = changeFacade.updateAssign(request); String result = ConvertUtil.obj2StrBlank(resultMap.get("result")); if (result.equals("1")) { SysInfoMsg msg = (SysInfoMsg) resultMap.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('1');", SysInfo.Success, "/business/pages/change/myChange.html", msg); } else { return WebUtil.sysInfoPage(request, "操作失败!", "", SysInfo.Error, ""); } } /** * CCB主负责人评审 */ @RequestMapping(value = "ccbMainSubmit.html", method = RequestMethod.GET) public ModelAndView ccbMain(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/ccbMainSubmit"); String flowId = request.getParameter("flowId"); List ccbList = changeFacade.getCcbResult(flowId); modelAndView.addObject("ccbList", ccbList); String proId = request.getParameter("projectId"); String partnerId = ""; //ccb评审规则 Map ccbrule = changeFacade.getCcbRule(proId, partnerId); modelAndView.addObject("ccbrule", ccbrule); //ccb评审结果统计 List ccbresult = changeFacade.getCcbTjResult(flowId); modelAndView.addObject("ccbresult", ccbresult); modelAndView.addObject("nodeId", request.getParameter("nodeId")); return modelAndView; } /** * CCB主负责人评审提交 */ @RequestMapping(value = "ccbMainSubmit.html", method = RequestMethod.POST) public ModelAndView ccbMainsubmit(HttpServletRequest request, HttpServletResponse response) { String orderId = request.getParameter("orderId"); ModelAndView view = new ModelAndView("/business/pages/change/usersAssign"); String resolve = request.getParameter("resolve"); Map ccbrule = changeFacade.saveCcbEndResult(request); if ("1".equals(ccbrule.get("norule"))) { return WebUtil.sysInfoPage(request, "请配置CCB评审规则!", "", SysInfo.Error, ""); } else { //通过 if ((ConvertUtil.obj2Integer(ccbrule.get("TGTJ")) == 1 && "1".equals(resolve)) || (ConvertUtil.obj2Integer(ccbrule.get("TGTJ")) == 2 && ConvertUtil.obj2Integer(ccbrule.get("is_tg")) == 1)) { SC_WORKFLOW_CHANGE sc_workflow_change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); Map nodeMap = new HashMap(); nodeMap.put("nodeId", Constants.BGSP); nodeMap.put("nodeName", "变更审批"); view.addObject("nodeMap", nodeMap); view.addObject("projectId", sc_workflow_change.getProject_id()); view.addObject("curnodeId", Constants.BGSL); return view; } else {//不通过 if (ConvertUtil.obj2Integer(ccbrule.get("LZFA")) == 1) {//直接关闭 changeFacade.updatecloseChange(request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('0');", SysInfo.Success, "/business/pages/change/myChange.html"); } else if (ConvertUtil.obj2Integer(ccbrule.get("LZFA")) == 2) {//下一环节负责人决定流程走向 SC_WORKFLOW_CHANGE sc_workflow_change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); Map nodeMap = new HashMap(); nodeMap.put("nodeId", Constants.BGSP); nodeMap.put("nodeName", "变更审批"); view.addObject("nodeMap", nodeMap); view.addObject("projectId", sc_workflow_change.getProject_id()); view.addObject("curnodeId", Constants.BGSL); return view; } else {//发送到创建人 Map params = ParamsMapUtil.getParameterMap(request); Map loginUser = WebUtil.getLoginUser(request).getLoginUser(); params.put("userId", ConvertUtil.obj2StrBlank(loginUser.get("ID"))); params.put("userName", ConvertUtil.obj2StrBlank(loginUser.get("ZSXM"))); SysInfoMsg sysInfoMsg = changeFacade.doSendToStart(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('0');", SysInfo.Success, "/business/pages/change/myChange.html", sysInfoMsg); } } } } /** * 变更CCB评审模板配置 */ @RequestMapping(value="changeCcbConfig.html",method=RequestMethod.GET) public ModelAndView changeCcbConfig(HttpServletRequest request,HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/changeCcbConfig"); Map config = changeFacade.queryChangeCcbConfig(request); modelAndView.addObject("config", config); return modelAndView; } /** * 变更CCB评审模板配置 */ @RequestMapping(value="changeCcbConfig.html",method=RequestMethod.POST) public ModelAndView saveChangeCcbConfig(HttpServletRequest request,HttpServletResponse response) { changeFacade.saveChangeCcbConfig(request); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success, ""); } /** * 查询所有的分配人员 */ @RequestMapping("usersAssign.html") public ModelAndView queryUser(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/usersAssign"); String flowId = request.getParameter("flowId"); String nodeId = request.getParameter("nodeId"); String orderId = request.getParameter("orderId"); String curnodeId = request.getParameter("curnodeId"); SC_WORKFLOW_CHANGE sc_workflow_change = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); Map nodeMap = changeFacade.getNextNode(flowId); //Map nodeMap = changeFacade.getFlueNode(request, sc_workflow_change); modelAndView.addObject("nodeMap", nodeMap); modelAndView.addObject("flowId", flowId); modelAndView.addObject("nodeId", nodeId); modelAndView.addObject("curnodeId", curnodeId); modelAndView.addObject("projectId", sc_workflow_change.getProject_id()); modelAndView.addObject("is_release", sc_workflow_change.getIs_release()); return modelAndView; } /** * 工单提交 */ @RequestMapping("orderSubmit.html") public ModelAndView orderTijiao(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/orderSubmit"); String partnerId = ""; String flowId = request.getParameter("flowId"); String nodeId = request.getParameter("nodeId"); String orderId = request.getParameter("orderId"); //查询关闭原因数据字典 List endreason = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_END_TYPE); modelAndView.addObject("endreason", endreason); //查询关闭原因数据字典 List reason = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_CLOSE_TYPE); modelAndView.addObject("reason", reason); modelAndView.addObject("flowId", flowId); modelAndView.addObject("nodeId", nodeId); modelAndView.addObject("orderId", orderId); return modelAndView; } /** * 工单提交 */ @RequestMapping(value = "orderSubmit.html", method = RequestMethod.POST) public ModelAndView orderSubmit(HttpServletRequest request, HttpServletResponse response) { changeFacade.orderSubmit(request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('4');", SysInfo.Success, "/business/pages/change/myChange.html"); } /** * 跳转到订单查看页面 */ @RequestMapping("changeDetail.html") public ModelAndView incidentDetail(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/changeDetail"); //查询问题基本信息 String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); String partnerId = ""; //通过工单编号查询工单基本信息 Map baseMsg = changeFacade.queryChangeBaseMsg(partnerId, orderId); Map psresult = changeFacade.getPsResult(orderId); modelAndView.addObject("baseMsg", baseMsg); modelAndView.addObject("orderId", orderId); modelAndView.addObject("flowId", flowId); modelAndView.addObject("psresult", psresult); List lzs = changeFacade.changeLzRecord(flowId); modelAndView.addObject("lzs", lzs); return modelAndView; } @RequestMapping(value = "changeList.html", method = RequestMethod.GET) public ModelAndView questionList(HttpServletRequest request, HttpServletResponse response) { ModelAndView view = new ModelAndView("/business/pages/change/changeList"); String partnerId = ""; /* //查询工单数量,通过类型查询工单数量 Map msgCount = changeFacade.queryChangeCount(partnerId, request); view.addObject("c", msgCount);*/ //查询变更来源数据字典 List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_SOURCE); view.addObject("sources", froms); //查询该加盟商的变更风险等级 List questionPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_RISK); view.addObject("changePri", questionPri); view.addObject("customers", incidentFacade.getCustomerList()); return view; } /** * 查询问题工单列表数据 */ @RequestMapping(value = "changeData.html", method = RequestMethod.POST) public ModelAndView questionData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/changeData"); List list = changeFacade.queryChangeOrderList(request); modelAndView.addObject("orderList", list); return modelAndView; } /** * 查询问题工单总数量 */ @RequestMapping(value = "changeCount.html", method = RequestMethod.POST) public void questionCount(HttpServletRequest request, HttpServletResponse response) { int count = changeFacade.queryChangeOrderCount(request); WebUtil.write(response, String.valueOf(count)); } /** * 工单审核中回退 */ @RequestMapping(value = "orderBack.html", method = RequestMethod.GET) public ModelAndView orderback(Model model, HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/orderBack"); String nodeName = "变更申请"; String templateId = Constants.BGSQ; String flowId = request.getParameter("flowId"); Map user = changeFacade.queryUserByTemplateId(flowId, templateId); model.addAttribute("nodeName", nodeName); model.addAttribute("userName", user.get("current_dealer_name")); return modelAndView; } /** * 工单审核中回退 */ @RequestMapping(value = "orderBack.html", method = RequestMethod.POST) public ModelAndView orderBacksubmit(HttpServletRequest request, HttpServletResponse response) { Map resultMap = changeFacade.gobackNodeSubmit(request); SysInfoMsg msg = (SysInfoMsg) resultMap.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('2');", SysInfo.Success, "/business/pages/change/myChange.html", msg); } /** * 问题回退信息提交 * * @param request * @param response * @return */ @RequestMapping(value = "backchange.html", method = RequestMethod.POST) public ModelAndView backUpdatequestionSubmit(HttpServletRequest request, HttpServletResponse response, SC_WORKFLOW_CHANGE sc_workflow_change) { Map resultMap = changeFacade.saveChange(request, sc_workflow_change); SysInfoMsg msg = (SysInfoMsg) resultMap.get("msg"); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success, "/business/pages/change/myChange.html", msg); } /** * 添加关联配置列表 */ @RequestMapping("dslciList.html") public ModelAndView dslciList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/dslciList"); return modelAndView; } /** * 添加关联配置列表数据 */ @RequestMapping("dslciData.html") public ModelAndView dslciData(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/dslciData"); List detailList = changeFacade.getDslciData(request); modelAndView.addObject("devices", detailList); return modelAndView; } /** * 保存关联信息 */ @RequestMapping("saveDslci.html") public void saveDslci(HttpServletRequest request, HttpServletResponse response) { String result = changeFacade.saveDslci(request); WebUtil.write(response, result); } /** * 删除关联信息 */ @RequestMapping("delDslci.html") public void delDslci(HttpServletRequest request, HttpServletResponse response) { String result = changeFacade.deleteDslci(request); WebUtil.write(response, result); } /** * 退回信息 */ @RequestMapping("orderBackMsg.html") public ModelAndView orderBackMsg(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/orderBackMsg"); String orderId = request.getParameter("orderId"); String nodeId = request.getParameter("nodeId"); Map question = new SC_WORKFLOW_CHANGE(orderId).getBeanMapById(); WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); Map nodeMsgMap = new WORKFLOW_NODE(node.getSource_node_instance_id()).getBeanMapById(); nodeMsgMap.put("NAME", question.get("NAME")); modelAndView.addObject("nodeMsg", nodeMsgMap); return modelAndView; } @RequestMapping(value = "getSelNodeUser.html", method = RequestMethod.POST) public void getSelNodeUser(HttpServletRequest request, HttpServletResponse response) { String nodeTemplateId = request.getParameter("nodeTemplateId"); String flowId = request.getParameter("flowId"); Map user = changeFacade.queryUserByTemplateId(flowId, nodeTemplateId); WebUtil.write(response, JsonUtil.map2Json(user)); } /** * 工单关闭 */ @RequestMapping(value = "closeChange.html", method = RequestMethod.GET) public ModelAndView orderclose(HttpServletRequest request, HttpServletResponse response) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/closeChange"); //查询关闭原因数据字典 List reason = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.CHANGE_CLOSE_TYPE); modelAndView.addObject("reason", reason); return modelAndView; } /** * 工单审核中关闭 */ @RequestMapping(value = "closeChange.html", method = RequestMethod.POST) public ModelAndView closequestionsubmit(HttpServletRequest request, HttpServletResponse response) { changeFacade.updateResolveType(request); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('3');", SysInfo.Success, "/business/pages/change/myChange.html"); } /** * 变更报告 */ @RequestMapping("changeReport.html") public ModelAndView changeReport(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/change/changeReport"); String orderId = request.getParameter("orderId"); String flowId = request.getParameter("flowId"); Map changeMap = changeFacade.getChangeMsgById(orderId); List cilist = deviceService.queryLinkDevices(flowId); List orderlist = orderService.queryLinkOrders(flowId); List filelist = fileService.getFileList(flowId); if(filelist.size() > 0){ for(Map map:filelist){ map.put("FILE_SIZE", StringUtil.getFileSize(ConvertUtil.obj2Double(map.get("FILE_SIZE")))); } } modelAndView.addObject("ciList", cilist); modelAndView.addObject("orderList", orderlist); modelAndView.addObject("fileList", filelist); modelAndView.addObject("changeMap", changeMap); return modelAndView; } }