| | |
| | | package cn.ksource.core.util; |
| | | |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | import org.apache.commons.lang.StringUtils; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.Method; |
| | | import java.lang.reflect.Modifier; |
| | |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | import org.apache.commons.lang.StringUtils; |
| | | |
| | | |
| | | public class ConvertUtil { |
| | | |
| | | |
| | | public static Boolean obj2Boolean(Object obj){ |
| | | return obj == null ? false : Boolean.getBoolean(obj.toString()); |
| | | } |
| | | |
| | | |
| | | public static Double obj2Double(Object obj){ |
| | | if (obj == null) { |
| | | return null; |
| | | } |
| | | return StringUtil.isBlank(obj2Str(obj)) ? null : Double.valueOf(obj.toString()); |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | String str = "0.123"; |
| | | System.out.println(obj2Double(str)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * List转Map |
| | | * @param dataList |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * List转Map |
| | | * @param dataList |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 如果为空,使用提供的值替换 |
| | | * @param obj |
| | |
| | | public static Object defaultIfEmpty(Object obj,Object o){ |
| | | return obj == null || StringUtils.isBlank(obj.toString()) || StringUtils.equalsIgnoreCase(obj.toString(), "null") ? o : obj; |
| | | } |
| | | |
| | | |
| | | /**將GBK转化为GBK |
| | | * @param str |
| | | * @return |
| | |
| | | } |
| | | return str; |
| | | } |
| | | |
| | | |
| | | public static String html2Text(String html){ |
| | | return html.replaceAll("<[^>]+>", "").replaceAll(" ",""); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 功能描述:Object类转换为String,避免在Object为null时,直接toString()出错<BR> |
| | | * @param obj |
| | |
| | | return obj == null ? "" : obj.toString(); |
| | | } |
| | | public static Integer obj2Integer(Object obj){ |
| | | return obj == null || obj.toString().trim().equals("") ? null : Integer.parseInt(obj.toString()); |
| | | return obj == null || obj.toString().trim().equals("") ? null : Integer.parseInt(obj.toString()); |
| | | } |
| | | |
| | | |
| | | public static int obj2Int(Object obj){ |
| | | if(null==obj) { |
| | | System.out.println("1121313"); |
| | | } |
| | | return obj == null || obj.toString().trim().equals("") ? null : Double.valueOf(obj.toString()).intValue(); |
| | | return obj == null || obj.toString().trim().equals("") ? 0 : Double.valueOf(obj.toString()).intValue(); |
| | | } |
| | | |
| | | |
| | | public static Long obj2Long(Object obj){ |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); |
| | | } |
| | | |
| | | |
| | | public static Long obj2Long(Object obj,boolean filter){ |
| | | if (!filter) { |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString()); |
| | | } else { |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString().replaceAll("[^0-9]", "")); |
| | | return obj == null || obj.toString().trim().equals("") ? null : Long.parseLong(obj.toString().replaceAll("[^0-9]", "")); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 功能描述:过滤用户输入的html、sql、javascript脚本<BR> |
| | | * @param map |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 将byte转化为K或M,大于1024K的按M计算,返回*K或*M |
| | | * @param byteSize |
| | |
| | | BigDecimal b1 = new BigDecimal(byteSize); |
| | | BigDecimal b2 = new BigDecimal(1024); |
| | | double k = b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | |
| | | |
| | | //大于1024,转化为M |
| | | if (k > 1024) { |
| | | b2 = new BigDecimal(1024*1024); |
| | | k = b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | |
| | | |
| | | return k + "M"; |
| | | } |
| | | |
| | | |
| | | return k + "K"; |
| | | } |
| | | } |
| | |
| | | package cn.ksource.web.controller.business.pages.incident; |
| | | |
| | | 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 cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.*; |
| | | 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.customermanage.CustomerManageFacade; |
| | | 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.message.MessageService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | 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.NumberUtil; |
| | | 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.customermanage.CustomerManageFacade; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.facade.order.OrderFacade; |
| | | import cn.ksource.web.service.DataDictionaryService; |
| | | 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; |
| | | /** |
| | | * 日常运维--事件管理控制器 |
| | | * @note: |
| | |
| | | baseMsg.put("jjWidth", 150); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /*List<Map> lzs = incidentFacade.incidentLzRecord(flowId); |
| | | modelAndView.addObject("lzs", lzs);*/ |
| | | |
| | |
| | | String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); |
| | | if(StringUtil.notEmpty(CUSTOMER_ID)){ |
| | | SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); |
| | | report.put("customer_code", customer_INFO.getCustomer_code()); |
| | | if (customer_INFO != null){ |
| | | report.put("customer_code", customer_INFO.getCustomer_code()); |
| | | } |
| | | } |
| | | String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); |
| | | if(StringUtil.notEmpty(FIRST_CATEGORY_ID)){ |
| | |
| | | @Controller |
| | | @RequestMapping("/business/pages/question") |
| | | public class QuestionController { |
| | | |
| | | |
| | | @Autowired |
| | | private QuestionFacade questionFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private IncidentFacade incidentFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private DataDictionaryService dataDictionaryService; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | |
| | | @Autowired |
| | | private OrderFacade orderFacade; |
| | | |
| | | |
| | | @Resource |
| | | private CustomerManageFacade customerFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private MessageService messageService; |
| | | |
| | |
| | | @RequestMapping(value="questionList.html", method=RequestMethod.GET) |
| | | public ModelAndView questionList(HttpServletRequest request, HttpServletResponse response) { |
| | | ModelAndView view = new ModelAndView("/business/pages/question/questionList"); |
| | | |
| | | |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.queryQuestionCount(request); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | view.addObject("c", msgCount); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | | params.put("type","1"); |
| | | Map map = questionFacade.getOrderNum(params); |
| | | view.addObject("data", map); |
| | | |
| | | |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("orderList", list); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单总数量 |
| | | */ |
| | |
| | | int count = questionFacade.queryQuestionOrderCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转到我的问题工单列表 |
| | | */ |
| | | @RequestMapping("myQuestion.html") |
| | | public ModelAndView myIncident(HttpServletRequest request) { |
| | | ModelAndView view = new ModelAndView("/business/pages/question/myQuestion"); |
| | | |
| | | |
| | | Map num = orderFacade.queryOrderCountByCate(request, Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION.toString()); |
| | | |
| | | |
| | | view.addObject("num", num); |
| | | |
| | | |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | |
| | | view.addObject("data", map); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询我的问题列表 |
| | | */ |
| | |
| | | modelAndView.addObject("orders", question); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的问题数量 |
| | | */ |
| | |
| | | int count = questionFacade.queryMyQuestionCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 服务台创建问题页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/addquestion"); |
| | | //来源于事件升级 |
| | | Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); |
| | | |
| | | |
| | | |
| | | |
| | | //查询问题来源数据字典 |
| | | List<Map> froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | //取得问题来源的第一条数据 |
| | |
| | | view.addObject("fromId", from.get("DATAKEY")); |
| | | view.addObject("fromName", from.get("DATAVALUE")); |
| | | } |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | view.addObject("froms", froms); |
| | | view.addObject("questionMsg", questionMsg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | |
| | | view.addObject("gnmark", GnConstants.ADDWT); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 服务台创建问题页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/addquestion"); |
| | | //来源于事件升级 |
| | | Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); |
| | | |
| | | |
| | | |
| | | |
| | | //查询问题来源数据字典 |
| | | List<Map> froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | //取得问题来源的第一条数据 |
| | |
| | | view.addObject("fromId", from.get("DATAKEY")); |
| | | view.addObject("fromName", from.get("DATAVALUE")); |
| | | } |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | view.addObject("froms", froms); |
| | | view.addObject("questionMsg", questionMsg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | |
| | | view.addObject("gnmark", GnConstants.FWTADDWT); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 服务台创建问题页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/addchangequestion"); |
| | | //来源于事件升级 |
| | | Map questionMsg = questionFacade.getQuestionMsgByOrderId(request); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //查询问题来源数据字典 |
| | | List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | view.addObject("froms", froms); |
| | | view.addObject("questionMsg", questionMsg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 创建问题提交 |
| | | * @param request |
| | |
| | | "", |
| | | SysInfo.Error,""); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 通过优先级和影响度查询对应的级别 |
| | | */ |
| | |
| | | String influence_id = request.getParameter("influence_id"); |
| | | String customerId = request.getParameter("customer_id"); |
| | | Map levelMap = questionFacade.queryLevel(priority_id,influence_id,customerId); |
| | | |
| | | |
| | | WebUtil.write(response, JsonUtil.map2Json(levelMap)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分配人员 |
| | | */ |
| | |
| | | modelAndView.addObject("curnodeId", curnodeId); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询所有的分配人员 |
| | | */ |
| | |
| | | modelAndView.addObject("groupList", groupList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询所有的分配人员 |
| | | */ |
| | |
| | | modelAndView.addObject("groupList", groupList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询角色 |
| | | */ |
| | |
| | | modelAndView.addObject("groupList", groupList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询客户自定义组 |
| | | */ |
| | |
| | | modelAndView.addObject("groupList", groupList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询客户自定义组 |
| | | */ |
| | |
| | | modelAndView.addObject("groupList", groupList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加客户自定义组下的人员 |
| | | */ |
| | |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/addzdyGroupUser"); |
| | | String groupId = request.getParameter("groupId"); |
| | | if(!StringUtil.isEmpty(groupId)){ |
| | | |
| | | |
| | | modelAndView.addObject("group", new CUSTOM_GROUP(groupId).getBeanMapById()); |
| | | }else{ |
| | | modelAndView.addObject("group", new HashMap()); |
| | | } |
| | | |
| | | |
| | | Map users = questionFacade.usersbyGroup(request); |
| | | |
| | | |
| | | modelAndView.addObject("users", users.get("resList")); |
| | | modelAndView.addObject("groupuser", users.get("groupuser")); |
| | | modelAndView.addObject("main", users); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加客户自定义组下的人员 |
| | | */ |
| | |
| | | String groupId = request.getParameter("groupId"); |
| | | String customerId = request.getParameter("customerId"); |
| | | questionFacade.addGroupUser(request); |
| | | |
| | | |
| | | return WebUtil.sysInfoPage(request, "操作成功!", |
| | | "window.top.hideDialog('zdyadd');window.top.document.getElementById('dialogIframedealer').contentWindow.loadGroup();", |
| | | SysInfo.Success,""); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除客户自定义分组 |
| | | */ |
| | |
| | | group.setId(id).deleteById(); |
| | | WebUtil.write(response, "1"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到工单处理页面 |
| | | * @param request |
| | |
| | | @RequestMapping("questionDeal.html") |
| | | public ModelAndView questionDeal(HttpServletRequest request) { |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionDeal"); |
| | | |
| | | |
| | | //查询问题基本信息 |
| | | String orderId = request.getParameter("orderId"); |
| | | String flowId = request.getParameter("flowId"); |
| | |
| | | |
| | | //查询问题来源数据字典 |
| | | List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | |
| | | |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | Map node = questionFacade.getFlowMsg(flowId, WebUtil.getLoginedUserId(request)); |
| | | //node为空,则为分派到组 |
| | | if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(node.get("ID")))){ |
| | | node = new WORKFLOW_NODE(base.getCurrent_node_id()).getBeanMapById(); |
| | | } |
| | | |
| | | |
| | | String isclose = ""; |
| | | List<Map> closejd = JsonUtil.json2List(ConvertUtil.obj2Str(questionMap.get("closejd"))); |
| | | for(Map map:closejd){ |
| | |
| | | modelAndView.addObject("repeat_mark", questionMap.get("REPEAT_MARK")); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | @RequestMapping("anwer.html") |
| | | public ModelAndView anwer(HttpServletRequest request, HttpServletResponse response) { |
| | | ModelAndView view = new ModelAndView("/business/pages/question/anwer"); |
| | |
| | | }else{ |
| | | view.addObject("nodeMsg", question); |
| | | } |
| | | |
| | | |
| | | 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 = questionFacade.anwerSubmit(request); |
| | | WebUtil.write(response, result); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询问题基本信息 |
| | | */ |
| | |
| | | modelAndView.addObject("baseMsg", baseMsg); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题修改页面 |
| | | * @param request |
| | |
| | | List<Map> fileList = fileService.getFileList(flowId); |
| | | questionMap.put("fileList", fileList); |
| | | view.addObject("question", questionMap); |
| | | |
| | | |
| | | //查询问题来源数据字典 |
| | | List froms = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | |
| | | |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | view.addObject("eventPri", eventPri); |
| | | view.addObject("froms", froms); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改问题提交 |
| | | * @param request |
| | |
| | | @RequestMapping(value="editQuestion.html", method=RequestMethod.POST) |
| | | public ModelAndView editQuestionSubmit(HttpServletRequest request, HttpServletResponse response,SC_WORKFLOW_QUESTION sc_workflow_question) { |
| | | questionFacade.updateQuestion(request,sc_workflow_question); |
| | | |
| | | |
| | | return WebUtil.sysInfoPage(request, "操作成功!", |
| | | "window.top.location.reload(true);", |
| | | SysInfo.Success,"",null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 诊断报告历史 |
| | | */ |
| | |
| | | Map baseMsg = new SC_WORKFLOW_QUESTION(orderId).getBeanMapById(); |
| | | modelAndView.addObject("curnodeId", curnodeId); |
| | | modelAndView.addObject("baseMsg", baseMsg); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 诊断报告历史数据 |
| | | */ |
| | |
| | | modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 诊断报告历史 |
| | | */ |
| | |
| | | modelAndView.addObject("orderMsg", new SC_WORKFLOW_QUESTION(orderId).getBeanMapById()); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到填写结局方案页面 |
| | | */ |
| | |
| | | Map zdMsg = questionFacade.getzdmsgbyId(request); |
| | | List<Map> fileList = new ArrayList<Map>(); |
| | | 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; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 结果方案提交 |
| | | */ |
| | |
| | | return WebUtil.sysInfoPage(request, "操作成功!", |
| | | "window.top.document.getElementById('zdReportIframe').contentWindow.queryRecord();window.top.hideDialog('2');", |
| | | SysInfo.Success,"",null); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 诊断报告历史数据 |
| | | */ |
| | |
| | | zd.deleteById(); |
| | | WebUtil.write(response, "1"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询是否可以进入下一个节点 |
| | | */ |
| | |
| | | String issave = questionFacade.issave(request); |
| | | WebUtil.write(response, issave); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分配人员 |
| | | */ |
| | |
| | | modelAndView.addObject("tempMsg", tempMsg); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分派人员 |
| | | */ |
| | |
| | | return WebUtil.sysInfoPage(request, "操作失败!", |
| | | "", |
| | | SysInfo.Error,""); |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 流转备注 |
| | | */ |
| | |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/lzbz"); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 流转备注 |
| | | */ |
| | |
| | | "window.top.hideDialog('2');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单审核中回退 |
| | | */ |
| | |
| | | modelAndView.addObject("nodeMap", nodeMap); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单审核中回退 |
| | | */ |
| | |
| | | "window.top.hideDialog('2');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",msg); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到填写申请工单结束方案页面 |
| | | */ |
| | | @RequestMapping(value="adminEndQuestion.html",method=RequestMethod.GET) |
| | | public ModelAndView adminEndQuestion(HttpServletRequest request,HttpServletResponse response) { |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/adminEndQuestion"); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 申请工单结束方案提交 |
| | | */ |
| | |
| | | "window.top.hideDialog('10');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",msg); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到填写结局方案页面 |
| | | */ |
| | |
| | | modelAndView.addObject("ways", ways); |
| | | modelAndView.addObject("endMsg", endMsg); |
| | | modelAndView.addObject("question", question); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 结果方案提交 |
| | | */ |
| | |
| | | public ModelAndView endQuestionsubmit(HttpServletRequest request,HttpServletResponse response) { |
| | | questionFacade.updateEndQuestion(request); |
| | | String orderId = request.getParameter("orderId"); |
| | | |
| | | |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/rechange"); |
| | | modelAndView.addObject("orderId", orderId); |
| | | modelAndView.addObject("bustype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | return modelAndView; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询重复问题工单 |
| | | */ |
| | | @RequestMapping("linkwtOrder.html") |
| | | public ModelAndView linkwtOrder(HttpServletRequest request) { |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/linkwtOrder"); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询关联工单 |
| | | */ |
| | |
| | | modelAndView.addObject("orders", orders); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题回退信息提交 |
| | | * @param request |
| | |
| | | "", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",msg); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单审核中关闭 |
| | | */ |
| | |
| | | modelAndView.addObject("question", question); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单审核中关闭 |
| | | */ |
| | | @RequestMapping(value="closequestion.html", method=RequestMethod.POST) |
| | | public ModelAndView closequestionsubmit(HttpServletRequest request,HttpServletResponse response) { |
| | | |
| | | |
| | | questionFacade.updateResolveType(request); |
| | | return WebUtil.sysInfoPage(request, "操作成功!", |
| | | "window.top.hideDialog('3');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到订单查看页面 |
| | | */ |
| | | @RequestMapping("questionDetail.html") |
| | | public ModelAndView incidentDetail(HttpServletRequest request,HttpServletResponse response) { |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionDetail"); |
| | | |
| | | |
| | | //查询问题基本信息 |
| | | String orderId = request.getParameter("orderId"); |
| | | String flowId = request.getParameter("flowId"); |
| | | |
| | | |
| | | //通过工单编号查询工单基本信息 |
| | | Map baseMsg = questionFacade.queryQuestionBaseMsg(orderId); |
| | | String isopen = questionFacade.getIsOpenQuestion(request); |
| | |
| | | modelAndView.addObject("orderId", orderId); |
| | | modelAndView.addObject("flowId", flowId); |
| | | modelAndView.addObject("isopen", isopen); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题处理服务报告 |
| | | * @param request |
| | |
| | | String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); |
| | | if(StringUtil.notEmpty(CUSTOMER_ID)){ |
| | | SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); |
| | | if (customer_INFO !=null) |
| | | report.put("customer_code", customer_INFO.getCustomer_code()); |
| | | } |
| | | String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); |
| | |
| | | view.addObject("fileList", map.get("fileList")); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 退回信息 |
| | | */ |
| | |
| | | String nodeId = request.getParameter("nodeId"); |
| | | Map question = new SC_WORKFLOW_QUESTION(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; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单挂起 |
| | | */ |
| | |
| | | modelAndView.addObject("ways", ways); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单挂起 |
| | | */ |
| | | @RequestMapping(value="questiongq.html", method=RequestMethod.POST) |
| | | public ModelAndView questiongqsubmit(HttpServletRequest request,HttpServletResponse response) { |
| | | |
| | | |
| | | questionFacade.updateQuestiongq(request); |
| | | return WebUtil.sysInfoPage(request, "操作成功!", |
| | | "window.top.hideDialog('3');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询挂起历史 |
| | | */ |
| | | @RequestMapping("gqhistoryList.html") |
| | | public ModelAndView gqhistoryList(HttpServletRequest request) { |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/gqhistoryList"); |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询挂起历史数据 |
| | | */ |
| | |
| | | modelAndView.addObject("gqList", gqList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单开启 |
| | | */ |
| | |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionopen"); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 工单开启 |
| | | */ |
| | |
| | | "window.top.hideDialog('5');", |
| | | SysInfo.Success,"/business/pages/question/myQuestion.html",null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到我的工单池页面 |
| | | */ |
| | |
| | | String type = request.getParameter("type"); |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.querymyQuestionpoolCount(request); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | modelAndView.addObject("c", msgCount); |
| | | //查询工单类型 |
| | | Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; |
| | | List ways = new ArrayList(); |
| | | for (Map.Entry<String, String> entry : state.entrySet()) { |
| | | for (Map.Entry<String, String> entry : state.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String value = entry.getValue(); |
| | | Map map = new HashMap(); |
| | |
| | | ways.add(map); |
| | | } |
| | | modelAndView.addObject("types", ways); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | modelAndView.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | |
| | | modelAndView.addObject("data", map); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的工单池数据 |
| | | */ |
| | |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | | PageInfo orderList = questionFacade.myquestionpoolData(pageInfo,params); |
| | | |
| | | |
| | | modelAndView.addObject("orders", orderList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的工单池数据 |
| | | */ |
| | |
| | | int count = questionFacade.myquestionpoolCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 事件服务台首页(我的) |
| | | * @param model |
| | |
| | | model.addAttribute("data", map); |
| | | return "/business/pages/question/myQuestionIndex"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @RequestMapping(value="myQuestionIndexLoad.html") |
| | | public String myQuestionIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ |
| | | Map<String, String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getUserId(request)); |
| | | |
| | | |
| | | //工单池问题数量 |
| | | int poolCount = questionFacade.myquestionpoolCount(params); |
| | | int poolCount = questionFacade.myquestionpoolCount(params); |
| | | //待处理问题数量 |
| | | params.put("type","1"); |
| | | int pendingCount = questionFacade.querymyQuestionOrderNodeCount(params); |
| | | int pendingCount = questionFacade.querymyQuestionOrderNodeCount(params); |
| | | //进行中问题数量 |
| | | params.put("type","2"); |
| | | int inHandCount = questionFacade.querymyQuestionOrderNodeCount(params); |
| | | int inHandCount = questionFacade.querymyQuestionOrderNodeCount(params); |
| | | //已处理 |
| | | params.put("type","3"); |
| | | int processedCount = questionFacade.querymyQuestionOrderNodeCount (params); |
| | | |
| | | int processedCount = questionFacade.querymyQuestionOrderNodeCount (params); |
| | | |
| | | model.addAttribute("poolCount",poolCount); |
| | | model.addAttribute("pendingCount",pendingCount); |
| | | model.addAttribute("inHandCount",inHandCount); |
| | | model.addAttribute("processedCount",processedCount); |
| | | return "/business/pages/question/myQuestionIndexLoad"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询最近一月问题数量 |
| | | * @param request |
| | |
| | | Map<String, String> params = ParamsMapUtil.getParameterMap(request); |
| | | Map info = questionFacade.getLastMonthQuestionLv(params); |
| | | WebUtil.write(response, JsonUtil.map2Json(info)); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 查询最近一月问题优先级分析 |
| | | * @param request |
| | |
| | | Map<String, String> params = ParamsMapUtil.getParameterMap(request); |
| | | Map info = questionFacade.getLastMonthQuestionPri(params); |
| | | WebUtil.write(response, JsonUtil.map2Json(info)); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 查询最近一月问题影响度分析 |
| | | * @param request |
| | |
| | | Map info = questionFacade.getLastMonthQuestionEffect(params); |
| | | //System.out.println("json--------------------------"+JsonUtil.map2Json(info)); |
| | | WebUtil.write(response, JsonUtil.map2Json(info)); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 查询最近一月服务目录问题数量 |
| | | * @param request |
| | |
| | | Map info = questionFacade.getLastMonthQuestionServer(params); |
| | | WebUtil.write(response, JsonUtil.map2Json(info)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 问题待响应列表页面 |
| | | * @param request |
| | |
| | | params.put("type", type); |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.querymyQuestionNodeCount(params); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | view.addObject("c", msgCount); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | params.put("type","2"); |
| | | Map map = questionFacade.getOrderNum(params); |
| | | view.addObject("data", map); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("type", params.get("type")); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单总数量 |
| | | */ |
| | |
| | | int count = questionFacade.querymyQuestionOrderNodeCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题待响应列表页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/myquestionEndList"); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | view.addObject("type", type); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getLoginedUserId(request)); |
| | | params.put("type","2"); |
| | | Map map = questionFacade.getOrderNum(params); |
| | | view.addObject("data", map); |
| | | |
| | | |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("type", params.get("type")); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单总数量 |
| | | */ |
| | |
| | | int count = questionFacade.querymyQuestionEndCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题催办 |
| | | * @return |
| | |
| | | public String questionRemind(HttpServletRequest request,HttpServletResponse response){ |
| | | return "/business/pages/question/questionRemind"; |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value="questionRemind.html",method=RequestMethod.POST) |
| | | public ModelAndView doQuestionRemind(HttpServletRequest request,HttpServletResponse response){ |
| | | String reminder = WebUtil.getLoginUser(request).getLoginUser().get("ZSXM").toString(); |
| | |
| | | "window.top.hideDialog('0');", |
| | | SysInfo.Success,""); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 所有工单池 |
| | | */ |
| | |
| | | ModelAndView modelAndView = new ModelAndView("/business/pages/question/questionpool"); |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.queryQuestionpoolCount(request); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | modelAndView.addObject("c", msgCount); |
| | | //查询工单类型 |
| | | Map<String, String> state = Constants.mapWORKFLOW_BASE_BUSINESS_TYPE; |
| | | List ways = new ArrayList(); |
| | | for (Map.Entry<String, String> entry : state.entrySet()) { |
| | | for (Map.Entry<String, String> entry : state.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String value = entry.getValue(); |
| | | Map map = new HashMap(); |
| | |
| | | ways.add(map); |
| | | } |
| | | modelAndView.addObject("types", ways); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | modelAndView.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("type","1"); |
| | | Map map = questionFacade.getOrderNum(params); |
| | | modelAndView.addObject("data", map); |
| | | |
| | | |
| | | |
| | | |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的工单池数据 |
| | | */ |
| | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | PageInfo orderList = questionFacade.questionpoolData(pageInfo,params); |
| | | |
| | | |
| | | modelAndView.addObject("orders", orderList); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的工单池数据 |
| | | */ |
| | |
| | | int count = questionFacade.questionpoolCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题待响应列表页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/questionNodeList"); |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.queryQuestionNodeCount(request); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | view.addObject("c", msgCount); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | | //查询事件影响度数据字典 |
| | | List<Map> eventDg = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | view.addObject("eventDg", eventDg); |
| | | |
| | | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("type","1"); |
| | | Map map = questionFacade.getOrderNum(params); |
| | | view.addObject("data", map); |
| | | |
| | | |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单待响应列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("orderList", list); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单待响应总数量 |
| | | */ |
| | |
| | | int count = questionFacade.queryQuestionOrderNodeCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题进行中列表页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/questionJxzList"); |
| | | //查询工单数量,通过类型判断查询那种类型的数量 |
| | | Map msgCount = questionFacade.queryQuestionJxzNodeCount(request); |
| | | |
| | | |
| | | System.out.println(JsonUtil.map2Json(msgCount)); |
| | | |
| | | |
| | | view.addObject("c", msgCount); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("type","1"); |
| | |
| | | view.addObject("data", map); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单进行中列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("orderList", list); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单进行中总数量 |
| | | */ |
| | |
| | | int count = questionFacade.queryQuestionJxzCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 问题待响应列表页面 |
| | | * @param request |
| | |
| | | ModelAndView view = new ModelAndView("/business/pages/question/questionEndList"); |
| | | //查询问题类型数据字典 |
| | | List sources = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | |
| | | |
| | | view.addObject("sources", sources); |
| | | |
| | | |
| | | //查询该加盟商的事件优先级 |
| | | List<Map> eventPri = dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI); |
| | | view.addObject("eventPri", eventPri); |
| | |
| | | //客户列表 |
| | | List<Map> cusList = incidentFacade.getCustomerList(); |
| | | view.addObject("customers", cusList); |
| | | |
| | | |
| | | //定义参数Map |
| | | Map<String,String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("type","1"); |
| | |
| | | view.addObject("data", map); |
| | | return view; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单列表数据 |
| | | */ |
| | |
| | | modelAndView.addObject("type", params.get("type")); |
| | | return modelAndView; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单总数量 |
| | | */ |
| | |
| | | int count = questionFacade.queryQuestionEndCount(params); |
| | | WebUtil.write(response, String.valueOf(count)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 问题首页 |
| | | * @param model |
| | |
| | | model.addAttribute("data", map); |
| | | return "/business/pages/question/questionIndex"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @RequestMapping(value="questionIndexLoad.html") |
| | | public String questionIndexLoad(Model model,HttpServletRequest request,HttpServletResponse response){ |
| | | Map<String, String> params = ParamsMapUtil.getParameterMap(request); |
| | | params.put("userId", WebUtil.getUserId(request)); |
| | | |
| | | |
| | | //工单池问题数量 |
| | | int poolCount = questionFacade.questionpoolCount(params); |
| | | int poolCount = questionFacade.questionpoolCount(params); |
| | | //待处理问题数量 |
| | | int pendingCount = questionFacade.queryQuestionOrderNodeCount(params); |
| | | int pendingCount = questionFacade.queryQuestionOrderNodeCount(params); |
| | | //进行中问题数量 |
| | | int inHandCount = questionFacade.queryQuestionJxzCount(params); |
| | | int inHandCount = questionFacade.queryQuestionJxzCount(params); |
| | | //已挂起 |
| | | params.put("type", "6"); |
| | | int sleepCount = questionFacade.queryQuestionEndCount(params); |
| | | |
| | | int sleepCount = questionFacade.queryQuestionEndCount(params); |
| | | |
| | | model.addAttribute("poolCount",poolCount); |
| | | model.addAttribute("pendingCount",pendingCount); |
| | | model.addAttribute("inHandCount",inHandCount); |
| | |
| | | String user = questionFacade.queryQuestionDealer(request); |
| | | WebUtil.write(response, user); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询问题工单处理人 |
| | | */ |
| | |
| | | String user = questionFacade.queryQuestionGroupDealer(request); |
| | | WebUtil.write(response, user); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | 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.NumberUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.*; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.controller.wechat.util.WechatConstants; |
| | | import cn.ksource.web.entity.WorkFlowSupportEntity; |
| | | import cn.ksource.web.facade.dsl.DSLFacade; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.facade.message.MessageFacade; |
| | | import cn.ksource.web.service.WorkOrderCodeService; |
| | | import cn.ksource.web.service.device.DeviceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | |
| | | if (flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.BUSINESS_ID, B.BUSINESSTYPE, B.CREATERID, B.CREATERNAME, B.CREATETIME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_NODE_ID, B.CURRENT_NODE_NAME, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.DEAL_TYPE, B.ENDTIME, B.ID, B.MAINFLOWID, B.ORDER_CODE, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_ID, B.SUB_CUSTOMER_NAME, B.WF_TEMPLATE_ID, B.WFNAME, B.WFSTATE, B.WORKFLOWTYPE,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(")D"); |
| | | paramMap.put("jddcl", Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE); |
| | | } else if (flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(")D"); |
| | | paramMap.put("jdjxz", Constants.WORKFLOW_NODE_FLOWSTATE_DOING); |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(")D"); |
| | | paramMap.put("jdywc", Constants.WORKFLOW_NODE_FLOWSTATE_FINISH); |
| | | } |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(")D"); |
| | | } |
| | | builder.append(" WHERE 1=1 "); |
| | |
| | | |
| | | @Override |
| | | public List<Map> getCcbResult(String flowId) { |
| | | String sqla = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM "; |
| | | String sqla = "SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM "; |
| | | List<Map> fzList = baseDao.queryForList(sqla, new SqlParameter("flow_id", flowId)); |
| | | for (Map mapa : fzList) { |
| | | String sqlb = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE SAMEKEY=:sameKey ORDER BY IS_END ,IS_MAIN"; |
| | |
| | | public List<Map> getCcbTjResult(String flowId) { |
| | | Map param = new HashMap(); |
| | | param.put("flow_id", flowId); |
| | | String sqla="SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM"; |
| | | String sqla="SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM"; |
| | | List<Map> ccbList = baseDao.queryForList(sqla,param); |
| | | for(Map mapa:ccbList){ |
| | | param.put("sameKey", mapa.get("SAMEKEY")); |
| | |
| | | recordService.addRecord(record); |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getDslLinkCiCount(HttpServletRequest request) { |
| | | String dslId = request.getParameter("id"); |
| | |
| | | }else{ |
| | | sql = "SELECT COUNT(A.ID) FROM CMDB_DSL_LINK A WHERE A.DSL_ID = :dslId AND A.FLOW_ID = :flowId AND A.STATE <> 3 "; |
| | | } |
| | | |
| | | |
| | | Map param = new HashMap(); |
| | | param.put("dslId", dslId); |
| | | param.put("flowId", flowId); |
| | |
| | | }else{ |
| | | sql = "SELECT A.*,B.CINAME,B.SEARCHCODE SEACHCODE,B.STATE USINGSTATE,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE B.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE B.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE B.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_DSL_LINK A,CMDB_CI_BASE B WHERE A.CI_ID = B.ID AND A.DSL_ID = :dslId AND A.FLOW_ID = :flowId "; |
| | | } |
| | | |
| | | |
| | | Map param = new HashMap(); |
| | | param.put("dslId", dslId); |
| | | param.put("flowId", flowId); |
| | | PageInfo info = baseDao.queryforSplitPageInfo(request, sql, param); |
| | | return info; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryDslVersionCount(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | int count = baseDao.queryForInteger(builder.toString(), paramMap); |
| | |
| | | @Override |
| | | public PageInfo queryDslVersionData(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId ORDER BY A.CREATE_TIME DESC "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | return pageInfo; |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | | @Override |
| | |
| | | builder.append(" AND SECOND_CONFIG_CATE = :folderId "); |
| | | paramMap.put("folderId", id); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(), paramMap); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo queryDslConfigRecordData(HttpServletRequest request, |
| | | String versionId) { |
| | | |
| | | |
| | | String flowId = request.getParameter("flowId"); |
| | | String id = request.getParameter("id"); |
| | | StringBuilder builder = new StringBuilder("SELECT B.*,A.FILE_NAME,A.FILE_SIZE,A.USER_NAME,A.CREATE_TIME FROM DSL_CONFIG_FILE A,DSL_CONFIG_FILE_CHANGE_DETAIL B WHERE B.FILE_ID = A.ID AND B.DSL_VERSION_ID = :versionId AND B.FLOW_ID = :flowId "); |
| | |
| | | builder.append(" AND SECOND_CONFIG_CATE = :folderId "); |
| | | paramMap.put("folderId", id); |
| | | } |
| | | |
| | | |
| | | builder.append(" ORDER BY A.CREATE_TIME DESC "); |
| | | |
| | | |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | List<Map> files = pageInfo.getDatas(); |
| | | if(null!=files && files.size()>0) { |
| | | for(Map file : files) { |
| | |
| | | } |
| | | return pageInfo; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getDslciData(HttpServletRequest request) { |
| | | String flowId = request.getParameter("flowId"); |
| | | String dslId = request.getParameter("dslId"); |
| | | String projectId = request.getParameter("proId"); |
| | | |
| | | |
| | | /*if(!StringUtil.notEmpty(projectId)) { |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | projectId = base.getProject_id(); |
| | |
| | | param.put("project_id", projectId); |
| | | param.put("flow_id", flowId); |
| | | param.put("dsl_id", dslId); |
| | | |
| | | |
| | | StringBuffer sql1 = new StringBuffer("select * from (SELECT 1 AS UPDTYPE, A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND A.ID NOT IN (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE B.DSL_ID = :dsl_id )");//A.LEIX = 1 AND |
| | | |
| | | |
| | | StringBuffer sql2 = new StringBuffer("SELECT 2 AS UPDTYPE,A.*,(SELECT E.NAME FROM CMDB_CI_CATEGORY E WHERE A.LV1_ID = E.ID) AS FIRSTLEVELNAME,(SELECT C.NAME FROM CMDB_CI_CATEGORY C WHERE A.LV2_ID = C.ID) AS SECONDLEVELNAME,(SELECT D.NAME FROM CMDB_CI_CATEGORY D WHERE A.LV3_ID = D.ID) AS THIRDLEVELNAME FROM CMDB_CI_BASE A WHERE A.STATE = 1 AND A.ID IN (SELECT B.CI_ID FROM CMDB_DSL_LINK B WHERE B.FLOW_ID IS NULL AND B.DSL_ID = :dsl_id )"); |
| | | sql1.append(" UNION ALL "); |
| | | |
| | | |
| | | sql1.append(sql2); |
| | | sql1.append(" ) s where 1 = 1"); |
| | | String searchCode = request.getParameter("searchCode"); |
| | |
| | | sql1.append(" AND SEARCHCODE LIKE :searchCode "); |
| | | param.put("searchCode", "%"+searchCode+"%"); |
| | | } |
| | | |
| | | |
| | | String ciName = request.getParameter("cmdbName"); |
| | | if(StringUtil.notEmpty(ciName)) { |
| | | sql1.append(" AND CINAME LIKE :cmdbName "); |
| | | param.put("cmdbName", "%"+ciName+"%"); |
| | | } |
| | | |
| | | |
| | | String cate = request.getParameter("categoryId"); |
| | | if(StringUtil.notEmpty(cate)) { |
| | | sql1.append(" AND LV3_ID = :cate "); |
| | |
| | | long create_time = DateUtil.getCurrentDate14(); |
| | | List<SqlParameter> listParams = new ArrayList<SqlParameter>(); |
| | | List<SqlParameter> updParams = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | String[] linkIds = ids.split(","); |
| | | |
| | | |
| | | String userId = ""; |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | List<SqlParameter> listParamsRecord = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | for(String linkId : linkIds) { |
| | | SqlParameter sqlParameter = new SqlParameter(); |
| | | String citype[] = linkId.split("-"); |
| | |
| | | }else{ |
| | | updParams.add(sqlParameter); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | baseDao.executeBatch(insertSql,listParams); |
| | | baseDao.executeBatch(updSql,updParams); |
| | | |
| | | |
| | | return "1"; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List changeFileReport(HttpServletRequest request) { |
| | | String partnerId = ""; |
| | | String flowId = request.getParameter("flowId"); |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("flowId", flowId); |
| | | |
| | | |
| | | String selectSql = "SELECT A.*,B.FILE_NAME,B.FILE_SIZE,B.USER_NAME AS UPLOAD_USER FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_CONFIG_FILE B WHERE A.FILE_ID = B.ID AND A.FLOW_ID = :flowId "; |
| | | List<Map> records = baseDao.queryForList(selectSql,paramMap); |
| | | |
| | | |
| | | Map cacheRecord = new HashMap(); |
| | | if(null!=records && records.size()>0) { |
| | | |
| | | |
| | | for(Map record : records) { |
| | | String versionId = ConvertUtil.obj2StrBlank(record.get("DSL_VERSION_ID")); |
| | | String first_config_cate = ConvertUtil.obj2StrBlank(record.get("first_config_cate")); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder selectCateSql = new StringBuilder("SELECT B.ID AS VERSION_ID,A.FIRST_CONFIG_CATE,(SELECT A1.NAME FROM DSL_CONFIG A1 WHERE A.FIRST_CONFIG_CATE = A1.ID) AS FIRST_NAME,A.SECOND_CONFIG_CATE,(SELECT A2.NAME FROM DSL_CONFIG A2 WHERE A.SECOND_CONFIG_CATE = A2.ID) AS SECOND_NAME FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId GROUP BY B.ID,A.FIRST_CONFIG_CATE,A.SECOND_CONFIG_CATE"); |
| | | List<Map> cates = baseDao.queryForList(selectCateSql.toString(),paramMap); |
| | | if(cates.size()==0){ |
| | |
| | | selectCateSql = new StringBuilder("SELECT C.* FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId "); |
| | | cates = baseDao.queryForList(selectCateSql.toString(),paramMap); |
| | | } |
| | | |
| | | |
| | | Map cacheFirst = new HashMap(); |
| | | |
| | | |
| | | Map version = new HashMap(); |
| | | |
| | | |
| | | |
| | | |
| | | if(null!=cates && cates.size()>0) { |
| | | for(Map cate : cates) { |
| | | String versionId = ConvertUtil.obj2StrBlank(cate.get("VERSION_ID")); |
| | | String first_config_cate = ConvertUtil.obj2StrBlank(cate.get("FIRST_CONFIG_CATE")); |
| | | |
| | | |
| | | String unitKey = versionId+"-"+first_config_cate; |
| | | |
| | | |
| | | String first_name = ConvertUtil.obj2StrBlank(cate.get("FIRST_NAME")); |
| | | String second_config_cate = ConvertUtil.obj2StrBlank(cate.get("SECOND_CONFIG_CATE")); |
| | | String second_name = ConvertUtil.obj2StrBlank(cate.get("SECOND_NAME")); |
| | | |
| | | |
| | | List result = new ArrayList(); |
| | | if(version.containsKey(versionId)) { |
| | | result = (List)version.get(versionId); |
| | | } else { |
| | | version.put(versionId, result); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(cacheFirst.containsKey(unitKey)) { |
| | | List secondCates = (List)cacheFirst.get(unitKey); |
| | | Map secondMap = new HashMap(); |
| | | secondMap.put("second_config_cate", second_config_cate); |
| | | secondMap.put("second_name", second_name); |
| | | |
| | | |
| | | String key = unitKey+"-"+second_config_cate; |
| | | secondMap.put("files", cacheRecord.get(key)); |
| | | |
| | | |
| | | |
| | | |
| | | secondCates.add(secondMap); |
| | | } else { |
| | | Map firstMap = new HashMap(); |
| | | firstMap.put("key", unitKey); |
| | | firstMap.put("first_name", first_name); |
| | | |
| | | |
| | | List secondCates = new ArrayList(); |
| | | Map secondMap = new HashMap(); |
| | | secondMap.put("second_config_cate", second_config_cate); |
| | | secondMap.put("second_name", second_name); |
| | | |
| | | |
| | | String key = unitKey+"-"+second_config_cate; |
| | | secondMap.put("files", cacheRecord.get(key)); |
| | | |
| | | |
| | | |
| | | |
| | | secondCates.add(secondMap); |
| | | |
| | | |
| | | firstMap.put("seconds", secondCates); |
| | | |
| | | |
| | | cacheFirst.put(unitKey,secondCates); |
| | | result.add(firstMap); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_CONFIG_FILE_CHANGE_DETAIL A,DSL_VERSION B,PROJECT_DSL C WHERE A.DSL_VERSION_ID = B.ID AND B.DSL_ID = C.ID AND A.FLOW_ID = :flowId GROUP BY C.ID,B.ID"); |
| | | List<Map> versions = baseDao.queryForList(selectVersionSql,paramMap); |
| | | |
| | | |
| | | if(versions.size()==0){ |
| | | selectVersionSql = new String("SELECT C.DSL_SEARCHCODE,C.ID AS DSL_ID,C.DSL_NAME,B.ID AS VERSION_ID,B.EDITION,(SELECT B1.EDITION FROM DSL_VERSION B1 WHERE B.LAST_VERSION = B1.ID) AS LAST_VERSION FROM DSL_VERSION B,PROJECT_DSL C WHERE B.DSL_ID = C.ID AND B.CREATE_FLOW_ID = :flowId GROUP BY B.ID"); |
| | | versions = baseDao.queryForList(selectVersionSql.toString(),paramMap); |
| | |
| | | selectVersionSql = new String("SELECT C.*,C.ID AS DSL_ID FROM PROJECT_DSL C WHERE C.FLOW_ID = :flowId "); |
| | | versions = baseDao.queryForList(selectVersionSql.toString(),paramMap); |
| | | } |
| | | |
| | | |
| | | List<Map> resultList = new ArrayList<Map>(); |
| | | |
| | | Map cacheDsl = new HashMap(); |
| | | |
| | | |
| | | if(null!=versions && versions.size()>0) { |
| | | for(Map ver : versions) { |
| | | String dsl_searchcode = ConvertUtil.obj2StrBlank(ver.get("DSL_SEARCHCODE")); |
| | |
| | | Map v = new HashMap(); |
| | | v.put("version_id", version_id); |
| | | v.put("edition", edition); |
| | | |
| | | |
| | | List<Map> cs = (List<Map>)version.get(version_id); |
| | | System.out.println("vs------->"+JsonUtil.list2Json(cs)); |
| | | int totalNum = 0; |
| | |
| | | num = num+1; |
| | | ej.put("sjNum", 1); |
| | | } |
| | | |
| | | |
| | | } |
| | | } else { |
| | | num = num+1; |
| | |
| | | totalNum += num; |
| | | yj.put("num", num); |
| | | } |
| | | |
| | | |
| | | v.put("cates", cs); |
| | | if(cacheDsl.containsKey(dslId)) { |
| | | List vs = (List)cacheDsl.get(dslId); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | System.out.println(JsonUtil.list2Json(resultList)); |
| | | return resultList; |
| | | } |
| | |
| | | public void updatefinishnode(HttpServletRequest request) { |
| | | String userId = WebUtil.getLoginedUserId(request); |
| | | String userName = ConvertUtil.obj2StrBlank(WebUtil.getLoginUser(request).getLoginUser().get("ZSXM")); |
| | | |
| | | |
| | | String flowId = request.getParameter("flowId"); |
| | | String curnodeId = request.getParameter("curnodeId"); |
| | | String nodeId = request.getParameter("nodeId"); |
| | |
| | | .setIs_end(2).setIs_main(2).setCreate_id(userId).setCreate_name(userName). |
| | | setSamekey(sameKey).setNum(num).insert(); |
| | | } |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title(userName+"完成了节点"); |
| | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(node.getFlowid()).getInstanceById(); |
| | | //关闭当前节点 |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public void updateResolveType(HttpServletRequest request) { |
| | |
| | | //修改变更信息的解决方式 |
| | | SC_WORKFLOW_CHANGE question = new SC_WORKFLOW_CHANGE(orderId).getInstanceById(); |
| | | question.setId(orderId).setResolve_type_id(solveWay).setResolve_type_name(solveWayName).setState(ConvertUtil.obj2Integer(Constants.SC_WORKFLOW_CHANGE_STATE_YGB)).update(); |
| | | |
| | | |
| | | //添加处理记录 |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String createUserId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | |
| | | record.setDeal_user_name(createUserName); |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(curnodeid).setNode_name(nodeName); |
| | | |
| | | |
| | | recordService.addRecord(record); |
| | | fileService.uploadFile(request, id, flowId, null, null); |
| | | //fileService.newuploadFileAll(request,id,flowId,Constants.GG_FOLDERS_BGFOLDERS,Constants.FILE_STATE_SHTG,"",question.getCustomer_id(),question.getProject_id(),question.getProject_name(),question.getCustomer_name()); |
| | | |
| | | |
| | | //配置关系保存到记录表-关闭工单 |
| | | saveRelationWhenClose(flowId); |
| | | //删除变更中的配置关系-关闭工单 |
| | |
| | | dslFacade.saveConfigDslDealRecord(flowId); |
| | | //恢复关联DSL-关闭工单 |
| | | dslFacade.updateConfigDslWhenClose(flowId); |
| | | |
| | | |
| | | //恢复DSL资料 |
| | | delDslMsg(flowId); |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title(createUserName+"结束节点"); |
| | |
| | | } |
| | | //关闭工单 |
| | | workflowCoreService.closeWorkFlow(base); |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public void delDslMsg(String flowId) { |
| | |
| | | param.addValue("flowId", flowId); |
| | | //删除新增DSL版本的配置文件记录 |
| | | String sqlfilerecord = "DELETE FROM DSL_CONFIG_FILE_CHANGE_DETAIL WHERE FLOW_ID = :flowId "; |
| | | |
| | | |
| | | //删除新增DSL版本的配置文件 |
| | | String sql = "DELETE FROM DSL_CONFIG_FILE WHERE VERSION_ID IN ( SELECT ID FROM DSL_VERSION WHERE CREATE_FLOW_ID = :flowId AND STATE = 3 ) "; |
| | | |
| | | |
| | | //删除新增版本 |
| | | String sqlversion = "DELETE FROM DSL_VERSION WHERE CREATE_FLOW_ID = :flowId AND STATE = 3 "; |
| | | |
| | | |
| | | //删除新增DSL |
| | | String sqldsl = "DELETE FROM PROJECT_DSL WHERE FLOW_ID = :flowId AND STATE = 3 "; |
| | | |
| | | |
| | | baseDao.execute(sqlfilerecord, param); |
| | | baseDao.execute(sql, param); |
| | | baseDao.execute(sqlversion, param); |
| | |
| | | package cn.ksource.web.facade.ciremind; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_WORKFLOW_CI_REMIND; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.NodeAnswerEntity; |
| | | import cn.ksource.core.workflow.NodeFinishEntity; |
| | | import cn.ksource.core.workflow.WorkflowCoreService; |
| | |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | import cn.ksource.web.util.DateParepareUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.*; |
| | | |
| | | @Service("ciRemindFacade") |
| | | public class CiRemindFacadeImpl implements CiRemindFacade { |
| | |
| | | @Autowired |
| | | private WorkflowCoreService workflowCoreService; |
| | | @Autowired |
| | | private WorkFlowSupportService workFlowSupportService; |
| | | private WorkFlowSupportService workFlowSupportService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private RecordService recordService; |
| | | |
| | | |
| | | @Override |
| | | public PageInfo queryMyRemindData(PageInfo pageInfo,Map<String, String> param) { |
| | | String userId=param.get("userId"); |
| | |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | String orderCode = param.get("orderCode"); |
| | | |
| | | |
| | | |
| | | |
| | | param.put("userId", userId); |
| | | param.put("nodeState", nodeState); |
| | | param.put("flowState", flowState); |
| | |
| | | param.put("subCustomerId", subCustomerId); |
| | | param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); |
| | | param.put("orderCode", "%"+orderCode+"%"); |
| | | |
| | | |
| | | StringBuilder builder = getMyRemindSql(param); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), param); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryMyRemindCount(Map<String, String> param) { |
| | | String userId=param.get("userId"); |
| | |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | String orderCode = param.get("orderCode"); |
| | | |
| | | |
| | | |
| | | |
| | | param.put("userId", userId); |
| | | param.put("nodeState", nodeState); |
| | | param.put("flowState", flowState); |
| | |
| | | param.put("orderCode", "%"+orderCode+"%"); |
| | | param.put("customerId", customerId); |
| | | param.put("subCustomerId", subCustomerId); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder builder = getMyRemindSql(param); |
| | | String sql = "select count(*) from ( " + builder.toString() + " ) t"; |
| | | return baseDao.queryForInteger(sql,param); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取我的工单 |
| | | * @param request |
| | |
| | | String nodeState = param.get("nodeState"); |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" select n.*,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); |
| | | builder.append(" t.PLAN_EXECUTION_DATE, r.ORDER_CODE,r.ID ORDERID,r.SERVICE_CONTENT,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); |
| | |
| | | builder.append(" where CURRENT_DEALER_ID = :userId "); |
| | | //环节状态 |
| | | if(StringUtil.isNotBlank(nodeState)){ |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t "); |
| | | builder.append(" group by FLOWID "); |
| | | builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //工单类型 |
| | |
| | | //工单状态 |
| | | if(StringUtil.notEmpty(flowState)) { |
| | | builder.append(" AND b.WFSTATE =:flowState "); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //客户 |
| | | if(StringUtil.isNotBlank(customerId)) { |
| | | builder.append(" AND b.CUSTOMER_ID = :customerId "); |
| | |
| | | if(StringUtil.isNotBlank(subCustomerId)) { |
| | | builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | //工单编号 |
| | | String orderCode = param.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND r.ORDER_CODE LIKE :orderCode"); |
| | | |
| | | |
| | | } |
| | | builder.append(" order by n.NODESTATE ASC,n.NODETIME desc,b.CREATETIME desc "); |
| | | return builder; |
| | |
| | | */ |
| | | @Override |
| | | public Map queryRemindInfo(String orderId) { |
| | | String sql = " select b.WFSTATE,h.*,t.PLAN_EXECUTION_DATE from SC_WORKFLOW_CI_REMIND h ,CI_REMIND_TIMERTASK t, WORKFLOW_BASE b " + |
| | | String sql = " select b.WFSTATE,h.*,t.PLAN_EXECUTION_DATE from SC_WORKFLOW_CI_REMIND h ,CI_REMIND_TIMERTASK t, WORKFLOW_BASE b " + |
| | | " where h.FLOW_ID = t.FLOW_ID and b.ID=h.FLOW_ID and h.id = :orderId "; |
| | | return baseDao.queryForMap(sql,new SqlParameter("orderId",orderId)); |
| | | } |
| | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(remind.getFlow_id()).getInstanceById(); |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | | NodeAnswerEntity entity = new NodeAnswerEntity(); |
| | | |
| | | |
| | | entity.setUser_id(param.get("ID")); |
| | | entity.setUser_name(param.get("ZSXM")); |
| | | |
| | | boolean flag = workflowCoreService.answerNode(base, node, entity); |
| | | return flag; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 关闭流程 |
| | | */ |
| | | public void closeWorkFlowSubmit(Map<String, String> param){ |
| | | String orderId = param.get("orderId"); |
| | | |
| | | |
| | | String closeNote = param.get("closeNote"); |
| | | String nodeId = param.get("nodeId"); |
| | | |
| | | |
| | | String userName = param.get("userName"); |
| | | |
| | | |
| | | SC_WORKFLOW_CI_REMIND order = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById(); |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(order.getFlow_id()).getInstanceById(); |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | |
| | | String main_executorId = param.get("main_executorId"); |
| | | String flowNote = param.get("flowNote"); |
| | | String dealUserName = ""; |
| | | |
| | | |
| | | String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); |
| | | //更新业务表数据 |
| | | remind.setId(orderId).update(); |
| | |
| | | List<Map> userList = new ArrayList<Map>(); |
| | | String[] executorIdAry = executorIds.split(","); |
| | | String[] executorNameAry = executorNames.split(","); |
| | | |
| | | |
| | | Map cacheuser = new HashMap(); |
| | | |
| | | |
| | | for(int i=0;i<executorIdAry.length;i++){ |
| | | Map tempMap = new HashMap(); |
| | | tempMap.put("USER_ID", executorIdAry[i]); |
| | |
| | | if(executorIdAry[i].equals(main_executorId)){ |
| | | tempMap.put("IS_ADMIN", "1"); |
| | | dealUserName=executorNameAry[i]; |
| | | |
| | | |
| | | } |
| | | userList.add(tempMap); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String userId=param.get("ID"); |
| | | String userName=param.get("ZSXM"); |
| | | |
| | | |
| | | |
| | | |
| | | Map flowMsg = getFlowMsg(flowId,userId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | | String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content(nodeName+":"+userName+",将问题指派给了,"+dealUserName); |
| | |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(nodeId).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | //环节流转 |
| | | WorkFlowSupportEntity support = new WorkFlowSupportEntity(); |
| | | support.setFlowId(flowId); |
| | |
| | | addPatrolCi(orderId,ciIdAry); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 通过orderid获取流程信息 |
| | | */ |
| | |
| | | String selectSql = "SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowId AND CURRENT_DEALER_ID = :userId AND FLOWSTATE <> 3 "; |
| | | return baseDao.queryForMap(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void addPatrolCi(String orderId, String[] ciIdAry) { |
| | | baseDao.execute("delete from SC_WORKFLOW_CI_REMIND_DETAIL where order_id = :orderId", new SqlParameter("orderId",orderId)); |
| | |
| | | sql.append(" where r.ORDER_ID = :orderId "); |
| | | return baseDao.queryForList(sql.toString(),new SqlParameter("orderId",orderId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getRemindCiList(Map param) { |
| | | String sql = " select c.business_id cateId from ci_remind_timertask a , ci_remind_customer_item b, ci_remind_item c " |
| | | + " where a.customer_item_id=b.id and b.item_id = c.id and a.flow_id = :flowId "; |
| | | String cateId = baseDao.queryForString(sql,param); |
| | | param.put("cateId",cateId); |
| | | |
| | | |
| | | String ciIds = ConvertUtil.obj2Str(param.get("ciIds")); |
| | | sql = " select b.*,c.NAME CATENAME from cmdb_ci_base b " + |
| | | " inner join cmdb_ci_category c on b.LV3_ID = c.ID " + |
| | |
| | | sql = sql + " and b.STATE=1 group by b.id "; |
| | | return baseDao.queryForList(sql,param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getPatrolInfo(String patrolId) { |
| | | String sql = " select * from SC_WORKFLOW_CI_REMIND_DETAIL where id = :patrolId"; |
| | |
| | | param.addValue("patrolId", patrolId); |
| | | return baseDao.queryForMap(sql, param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doEngineerPatrol(Map<String, String> param) { |
| | | String orderId = ConvertUtil.obj2StrBlank(param.get("orderId")); |
| | | String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); |
| | | String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); |
| | | String summary = ConvertUtil.obj2StrBlank(param.get("summary")); |
| | | |
| | | |
| | | String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); |
| | | String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); |
| | | String summary = ConvertUtil.obj2StrBlank(param.get("summary")); |
| | | |
| | | |
| | | String userName = param.get("ZSXM"); |
| | | String userId = param.get("Id"); |
| | | |
| | | |
| | | new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().setOrder_note(summary).update(); |
| | | String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); |
| | | |
| | | |
| | | Map flowMsg = getFlowMsg(flowId,userId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | | String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content(nodeName+":"+userName+",已处理维护执行"); |
| | |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(nodeId).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | //环节流转 |
| | | WorkFlowSupportEntity support = new WorkFlowSupportEntity(); |
| | | support.setFlowId(flowId); |
| | |
| | | String nodeId = param.get("nodeId"); |
| | | String lastNodeTemplateId = param.get("lastNodeTemplateId"); |
| | | String note = param.get("backNote"); |
| | | |
| | | |
| | | String userName = ConvertUtil.obj2StrBlank(param.get("ZSXM")); |
| | | String userId = ConvertUtil.obj2StrBlank(param.get("ID")); |
| | | |
| | | |
| | | String flowId = param.get("flowId"); |
| | | |
| | | |
| | | WorkFlowSupportEntity support = new WorkFlowSupportEntity(); |
| | | support.setFlowId(flowId); |
| | | support.setNodeId(nodeId); |
| | |
| | | @Override |
| | | public SysInfoMsg doEndRemindFlow(Map<String, String> param) { |
| | | String orderId = ConvertUtil.obj2StrBlank(param.get("orderId")); |
| | | String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); |
| | | String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); |
| | | String nodeId = ConvertUtil.obj2StrBlank(param.get("nodeId")); |
| | | String note = ConvertUtil.obj2StrBlank(param.get("flowNote")); |
| | | String userName = param.get("ZSXM").toString(); |
| | | String userId = param.get("Id").toString(); |
| | | String flowId = new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().getFlow_id(); |
| | | |
| | | |
| | | Map flowMsg = getFlowMsg(flowId,userId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | | String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content(nodeName+":"+userName+",已审核"); |
| | |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(nodeId).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | |
| | | |
| | | //环节流转 |
| | | WorkFlowSupportEntity support = new WorkFlowSupportEntity(); |
| | | support.setFlowId(flowId); |
| | |
| | | new SC_WORKFLOW_CI_REMIND(orderId).getInstanceById().setFinish_time(endTime).update(); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getRemindeItem(Map<String, String> param) { |
| | | String flowId= param.get("flowId"); |
| | |
| | | map.put("remindMap", remindMap); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getRemindDetail(Map<String, String> param) { |
| | | String orderId=param.get("orderId"); |
| | |
| | | map.put("detailList", detailList); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | //例行维护管理 |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public int queryJxzRemindOrderCount(Map<String, String> param) { |
| | | StringBuilder buffer = new StringBuilder("SELECT COUNT(b.ID) FROM WORKFLOW_BASE b WHERE b.BUSINESSTYPE = :businessType AND b.WFSTATE = :wfstate "); |
| | | |
| | | |
| | | return baseDao.queryForInteger(buffer.toString(),new SqlParameter("businessType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND).addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DOING)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryNodeCount(Map<String, String> param) { |
| | | StringBuilder buffer = new StringBuilder("SELECT n.NODE_TEMPLATE_ID,COUNT(n.NODE_TEMPLATE_ID) AS num FROM WORKFLOW_NODE n, WORKFLOW_BASE b WHERE b.CURRENT_NODE_ID = n.ID and b.BUSINESSTYPE = :businessType AND b.WFSTATE = :wfstate "); |
| | | |
| | | |
| | | buffer.append(" GROUP BY n.NODE_TEMPLATE_ID "); |
| | | List<Map> list = baseDao.queryForList(buffer.toString(),new SqlParameter("businessType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND).addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DOING)); |
| | | Map resultMap = new HashMap(); |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo queryRemindOrderList(PageInfo pageInfo,Map<String, String> param) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | String flowState = param.get("flowState"); |
| | | String orderCode = param.get("orderCode"); |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | |
| | | |
| | | String nodeTempId = param.get("nodeTempId"); |
| | | |
| | | |
| | | param.put("customerId", customerId); |
| | | param.put("subCustomerId", subCustomerId); |
| | | param.put("flowState", flowState); |
| | | param.put("orderCode", "%"+orderCode+"%"); |
| | | param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); |
| | | param.put("nodeTempId", nodeTempId); |
| | | |
| | | |
| | | builder = getAllRemindSql(param); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), param); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public int queryRemindOrderCount(Map<String, String> param) { |
| | |
| | | String orderCode = param.get("orderCode"); |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | |
| | | |
| | | param.put("flowState", flowState); |
| | | param.put("customerId", customerId); |
| | | param.put("subCustomerId", subCustomerId); |
| | |
| | | param.put("businessType", String.valueOf(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND)); |
| | | String nodeTempId = param.get("nodeTempId"); |
| | | param.put("nodeTempId", nodeTempId); |
| | | |
| | | |
| | | builder = getAllRemindSql(param); |
| | | String sql = "select count(*) from ( " + builder.toString() + " ) t" ; |
| | | return baseDao.queryForInteger(sql.toString(),param); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 服务台工单列表 |
| | | * @param request |
| | |
| | | String customerId = param.get("customerId"); |
| | | String subCustomerId = param.get("subCustomerId"); |
| | | String nodeTempId = param.get("nodeTempId"); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" select b.ID FLOWID,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); |
| | | builder.append(" t.PLAN_EXECUTION_DATE,r.ORDER_CODE,r.ID ORDERID,r.SERVICE_CONTENT,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); |
| | | builder.append(" from SC_WORKFLOW_CI_REMIND r "); |
| | | builder.append(" inner join WORKFLOW_BASE b on r.FLOW_ID = b.ID "); |
| | | builder.append(" inner join CI_REMIND_TIMERTASK t on r.FLOW_ID = t.FLOW_ID "); |
| | | |
| | | |
| | | //工单类型 |
| | | builder.append(" where b.BUSINESSTYPE = :businessType"); |
| | | //工单状态 |
| | | if(StringUtil.notEmpty(flowState)) { |
| | | builder.append(" AND b.WFSTATE =:flowState "); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //客户 |
| | | if(StringUtil.isNotBlank(customerId)) { |
| | | builder.append(" AND b.CUSTOMER_ID = :customerId "); |
| | |
| | | //下属单位 |
| | | if(StringUtil.isNotBlank(subCustomerId)) { |
| | | builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | |
| | | |
| | | } |
| | | //工单编号 |
| | | String orderCode = param.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND r.ORDER_CODE LIKE :orderCode"); |
| | | } |
| | | |
| | | |
| | | if(StringUtil.notEmpty(nodeTempId)) { |
| | | builder.append(" AND EXISTS (SELECT n.ID FROM WORKFLOW_NODE n WHERE b.CURRENT_NODE_ID = n.ID AND n.NODE_TEMPLATE_ID = :nodeTempId ) "); |
| | | } |
| | | |
| | | builder.append(" order by b.CREATETIME desc,t.PLAN_EXECUTION_DATE desc "); |
| | | |
| | | builder.append(" order by b.CREATETIME desc,t.PLAN_EXECUTION_DATE desc "); |
| | | return builder; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getRemindItemSubTimerTaskData(String customerId, String month) { |
| | | //查询该客户下的所有下属单位 |
| | | String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; |
| | | List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); |
| | | |
| | | |
| | | Map currentCustomer = new HashMap(); |
| | | currentCustomer.put("ID", customerId); |
| | | currentCustomer.put("CUSTOMER_NAME", new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById().getCustomer_name()); |
| | | subList.add(0, currentCustomer); |
| | | |
| | | |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(month)) { |
| | | month = DateUtil.getCurrentDate6().toString(); |
| | | month = DateUtil.getCurrentDate6().toString(); |
| | | } |
| | | |
| | | |
| | | String monthBeginDay = month+"01"; |
| | | //查询当月的所有天数 |
| | | String monthLastDay = DateParepareUtil.lastDayMonth(month, "yyyyMM", "yyyyMMdd"); |
| | | |
| | | |
| | | |
| | | |
| | | List<String> days = DateUtil.getBetweenTwoDateCycleList(monthBeginDay, monthLastDay, 2,1, "yyyyMMdd","yyyyMMdd"); |
| | | if(subList!=null && subList.size()>0){ |
| | | for(Map subMap:subList){ |
| | |
| | | List<Map> isMarkList = new ArrayList<Map>(); |
| | | for(String day:days){ |
| | | Map markMap=new HashMap(); |
| | | |
| | | |
| | | markMap.put("day", day); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | int zjh = 0; |
| | | int yzx = 0; |
| | | if(taskList!=null && taskList.size()>0){ |
| | | List<Map> plans = new ArrayList<Map>(); |
| | | for(Map map:taskList){ |
| | | Map plan = new HashMap(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | Integer task=2; |
| | | Integer mark=0; |
| | | String orderId = new String(); |
| | |
| | | map.put("days", days); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> querySubCustomerRemindPlanForDay(Map<String, String> param) { |
| | | String customerId = param.get("customerId"); |
| | |
| | | param.put("customerId", customerId); |
| | | param.put("subCustomerId", subCustomerId); |
| | | param.put("day", day); |
| | | |
| | | |
| | | List<Map> plans = baseDao.queryForList(selectSql,param); |
| | | return plans; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo getRemindItemData(PageInfo pageInfo,Map<String, String> param) { |
| | | String customerId=param.get("customerId"); |
| | |
| | | if(StringUtil.notEmpty(itemName)){ |
| | | sql.append(" AND A.ITEM_NAME LIKE :itemName"); |
| | | } |
| | | |
| | | |
| | | if(StringUtil.notEmpty(subId)){ |
| | | sql.append(" AND C.SUB_CUSTOMER_ID=:subId"); |
| | | } |
| | | |
| | | } |
| | | |
| | | sql.append(" AND B.CUSTOMER_ID=:customerId "); |
| | | sql.append(" ORDER BY A.ITEM_TYPE,ORDER_NUM ASC"); |
| | | //SqlParameter paramMap = new SqlParameter(); |
| | |
| | | param.put("customerId", customerId); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Integer getRemindItemCount(Map<String, String> param) { |
| | | String customerId=param.get("customerId"); |
| | |
| | | param.put("subId", subId); |
| | | return baseDao.queryForInteger(sql.toString(), param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryRemind(String customerItemId) { |
| | | String selectSql = "SELECT A.ID,A.ITEM_NAME,A.CYCLE,A.PRIORITY_LEVEL_ID,A.PRIORITY_LEVEL_NAME," + |
| | |
| | | Map item = baseDao.queryForMap(selectSql,new SqlParameter("id",customerItemId)); |
| | | return item; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询执行计划 |
| | | * @param customerItemId |
| | |
| | | List result = new ArrayList(); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | SC_PARTNER_CUSTOMER_INFO customer = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); |
| | | |
| | | |
| | | long beginTime = customer.getValid_begin_date(); |
| | | long endTime = customer.getValid_end_date(); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //查询所有已经生成的计划 |
| | | String selectSql = "SELECT A.*,W.ID ORDER_ID " + |
| | |
| | | paramMap.put("customerId", customerId); |
| | | paramMap.put("customerItemId", customerItemId); |
| | | selectSql += " AND A.SUB_CUSTOMER_ID = :subId "; |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | paramMap.put("subId", subCustomerId); |
| | | } else { |
| | | paramMap.put("subId", customerId); |
| | | } |
| | | |
| | | |
| | | selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> plans = baseDao.queryForList(selectSql,paramMap); |
| | | |
| | | |
| | | Map<String,Map> cacheMap = new HashMap<String,Map>(); |
| | | if(null!=plans && plans.size()>0) { |
| | | for(Map plan : plans) { |
| | |
| | | cacheMap.put(day, plan); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //求出所有月份的集合 |
| | | List<String> months = DateUtil.getBetweenTwoDateCycleList(ConvertUtil.obj2StrBlank(beginTime), ConvertUtil.obj2StrBlank(endTime), 1,1, "yyyyMMdd","yyyyMM"); |
| | | if(null!=months && months.size()>0) { |
| | | for(int i=0; i<months.size();i++) { |
| | | String month = months.get(i); |
| | | |
| | | |
| | | String beginDay = month+"01"; |
| | | //得到当月的最后一天 |
| | | String lastDay = DateParepareUtil.lastDayMonth(month,"yyyyMM","yyyyMMdd"); |
| | | |
| | | |
| | | List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> newList = new ArrayList<Map>(); |
| | | for(String str : days) { |
| | | Map map = new HashMap(); |
| | | |
| | | |
| | | if(cacheMap.containsKey(str)) { |
| | | map = cacheMap.get(str); |
| | | map.put("day", str); |
| | |
| | | map.put("day",str); |
| | | map.put("check", 2); |
| | | } |
| | | |
| | | |
| | | //是否显示复选框 |
| | | long date = ConvertUtil.obj2Long(str); |
| | | if(date>=beginTime && date<=endTime) { |
| | |
| | | } else { |
| | | map.put("showbox", 2); |
| | | } |
| | | |
| | | |
| | | //今天之前的复选框不可用 |
| | | long today = DateUtil.getCurrentDate8(); |
| | | if(date>today) { |
| | |
| | | } else { |
| | | map.put("isUse", 2); |
| | | } |
| | | |
| | | |
| | | newList.add(map); |
| | | } |
| | | |
| | | |
| | | Map map = new HashMap(); |
| | | map.put("month", month); |
| | | map.put("days", newList); |
| | | result.add(map); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | System.out.println(JsonUtil.list2Json(result)); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo getRemindOrderList(PageInfo pageInfo,Map<String, String> param) { |
| | | String customerId=param.get("customerId"); |
| | |
| | | sql.append(" SELECT A.SUB_CUSTOMER_ID SUB_CUS_ID,A.FLOW_ID,B.*,D.ITEM_NAME,A.PLAN_EXECUTION_DATE,A.STATE AS TIMESTATE,A.CUSTOMER_ITEM_ID FROM CI_REMIND_TIMERTASK A LEFT JOIN SC_WORKFLOW_CI_REMIND B ON A.FLOW_ID=B.FLOW_ID "); |
| | | sql.append(" LEFT JOIN CI_REMIND_CUSTOMER_ITEM C ON A.CUSTOMER_ITEM_ID=C.ID LEFT JOIN CI_REMIND_ITEM D ON C.ITEM_ID=D.ID"); |
| | | sql.append(" WHERE A.STATE != 3 "); |
| | | |
| | | |
| | | //SqlParameter paramMap = new SqlParameter(); |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | sql.append("AND A.CUSTOMER_ID=:customerId "); |
| | | param.put("customerId", customerId); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(subId)) { |
| | | sql.append("AND A.SUB_CUSTOMER_ID=:subId "); |
| | | param.put("subId", subId); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(beginDate) && StringUtil.notEmpty(endDate)){ |
| | | sql.append(" AND A.PLAN_EXECUTION_DATE>=:beginDate AND A.PLAN_EXECUTION_DATE<=:endDate"); |
| | | param.put("beginDate", beginDate); |
| | |
| | | } |
| | | sql.append(" ORDER BY A.PLAN_EXECUTION_DATE DESC"); |
| | | param.put("customerId", customerId); |
| | | |
| | | |
| | | PageInfo list=baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), param); |
| | | |
| | | |
| | | if(list!=null && list.getDatas().size()>0){ |
| | | for(Map map :list.getDatas()){ |
| | | map.put("TIMESTATE_LABEL", Constants.getmapCI_REMIND_TIMERTASK_STATE_Label(Integer.parseInt(map.get("TIMESTATE").toString()))); |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Integer getRemindOrderCount(Map<String, String> param){ |
| | | String customerId=param.get("customerId"); |
| | |
| | | sql.append(" SELECT COUNT(A.ID) FROM CI_REMIND_TIMERTASK A LEFT JOIN SC_WORKFLOW_CI_REMIND B ON A.FLOW_ID=B.FLOW_ID "); |
| | | sql.append(" LEFT JOIN CI_REMIND_CUSTOMER_ITEM C ON A.CUSTOMER_ITEM_ID=C.ID LEFT JOIN CI_REMIND_ITEM D ON C.ITEM_ID=D.ID"); |
| | | sql.append(" WHERE A.STATE != 3 "); |
| | | |
| | | |
| | | //SqlParameter paramMap = new SqlParameter(); |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | sql.append("AND A.CUSTOMER_ID=:customerId "); |
| | | param.put("customerId", customerId); |
| | | } |
| | | |
| | | |
| | | if(StringUtil.notEmpty(subId)) { |
| | | sql.append("AND A.SUB_CUSTOMER_ID=:subId "); |
| | | param.put("subId", subId); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(beginDate) && StringUtil.notEmpty(endDate)){ |
| | | sql.append(" AND A.PLAN_EXECUTION_DATE>=:beginDate AND A.PLAN_EXECUTION_DATE<=:endDate"); |
| | | param.put("beginDate", beginDate); |
| | |
| | | param.put("endDate", endDate); |
| | | return baseDao.queryForInteger(sql.toString(),param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List getSubRemindCiList(Map<String, String> param) { |
| | | StringBuilder sql =new StringBuilder(); |
| | |
| | | } |
| | | return baseDao.queryForList(sql.toString(), param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryProItemCount(Map<String, String> param) { |
| | | String customerId = param.get("customerId"); |
| | |
| | | String sql = "SELECT A.*,B.ITEM_NAME,B.ITEM_NOTE,B.PRIORITY_LEVEL_NAME,B.BUSINESS_NAME " + |
| | | " FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B WHERE A.ITEM_ID = B.ID " + |
| | | " AND A.USING_STATE = 1 AND A.CUSTOMER_ID = :customerId ORDER BY B.ORDER_NUM "; |
| | | |
| | | |
| | | param.put("customerId", customerId); |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql, param); |
| | | return info; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public Map queryItemSubCustomerPlan(String customerId,String itemId,String mon) { |
| | | //查询该客户下的所有下属单位 |
| | | String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; |
| | | List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); |
| | | |
| | | |
| | | |
| | | |
| | | Map currentCustomer = new HashMap(); |
| | | currentCustomer.put("ID", customerId); |
| | | currentCustomer.put("CUSTOMER_NAME", new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById().getCustomer_name()); |
| | | subList.add(0, currentCustomer); |
| | | |
| | | |
| | | String year = DateUtil.format("yyyy", mon); |
| | | |
| | | |
| | | String mm = DateUtil.format("MM", mon); |
| | | String[] time = DateParepareUtil.queryFirstLastDate(year,mm); |
| | | |
| | | |
| | | String beginDay = time[0].replaceAll("-", ""); |
| | | //得到当月的最后一天 |
| | | String lastDay = time[1].replaceAll("-", ""); |
| | | |
| | | |
| | | List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); |
| | | |
| | | |
| | | Map resultMap = new HashMap(); |
| | | resultMap.put("month", mon); |
| | | resultMap.put("days", days); |
| | | |
| | | |
| | | List result = new ArrayList(); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | SC_PARTNER_CUSTOMER_INFO customer = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); |
| | | |
| | | |
| | | long beginTime = customer.getValid_begin_date(); |
| | | long endTime = customer.getValid_end_date(); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //查询该客户下所有已经生成的计划 |
| | | String selectSql = "SELECT A.*,W.ID ORDER_ID FROM CI_REMIND_TIMERTASK A,CI_REMIND_CUSTOMER_ITEM B ,SC_WORKFLOW_CI_REMIND W " + |
| | |
| | | " AND B.CUSTOMER_ID = :customerId AND B.USING_STATE = 1 "; |
| | | paramMap.put("projectItemId", itemId); |
| | | paramMap.put("customerId", customerId); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | selectSql += "AND A.PLAN_EXECUTION_DATE >= :beginTime AND A.PLAN_EXECUTION_DATE <= :endTime "; |
| | | paramMap.put("beginTime", beginDay); |
| | | paramMap.put("endTime", lastDay); |
| | | |
| | | |
| | | selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; |
| | | List<Map> plans = baseDao.queryForList(selectSql,paramMap); |
| | | |
| | | |
| | | Map<String,Map> cacheMap = new HashMap<String,Map>(); |
| | | if(null!=plans && plans.size()>0) { |
| | | for(Map plan : plans) { |
| | |
| | | cacheMap.put(subCustomerId+"-"+plan_execution_date, plan); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(null!=subList && subList.size()>0) { |
| | | for(Map cus : subList) { |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String cusId = ConvertUtil.obj2StrBlank(cus.get("ID")); |
| | | String cusName = ConvertUtil.obj2StrBlank(cus.get("CUSTOMER_NAME")); |
| | | |
| | | |
| | | List<Map> newList = new ArrayList<Map>(); |
| | | for(String str : days) { |
| | | Map map = new HashMap(); |
| | | |
| | | |
| | | String unitKey = cusId+"-"+str; |
| | | if(cacheMap.containsKey(unitKey)) { |
| | | map = cacheMap.get(unitKey); |
| | | } |
| | | newList.add(map); |
| | | } |
| | | |
| | | |
| | | Map map = new HashMap(); |
| | | map.put("cusName", cusName); |
| | | map.put("msgs", newList); |
| | | result.add(map); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | resultMap.put("rs", result); |
| | | |
| | | |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String queryZbName(String itemId) { |
| | | String selectSql = "SELECT B.ITEM_NAME FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B WHERE A.ITEM_ID = B.ID AND A.ID = :itemId "; |
| | | return baseDao.queryForString(selectSql,new SqlParameter("itemId",itemId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List queryCustomers(Map<String, String> param) { |
| | | String customerId = param.get("customerId"); |
| | | //查询该客户下的所有下属单位 |
| | | String sql="SELECT * FROM SC_PARTNER_CUSTOMER_SUB WHERE CUSTOMER_ID=:customerId AND DEL_FLAG=1"; |
| | | List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); |
| | | |
| | | |
| | | |
| | | |
| | | Map currentCustomer = new HashMap(); |
| | | currentCustomer.put("ID", customerId); |
| | | SC_PARTNER_CUSTOMER_INFO mainCus = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); |
| | | currentCustomer.put("CUSTOMER_NAME", mainCus.getCustomer_name()); |
| | | currentCustomer.put("CONTACT", mainCus.getContact()); |
| | | currentCustomer.put("PHONE", mainCus.getPhone()); |
| | | |
| | | |
| | | subList.add(0, currentCustomer); |
| | | return subList; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryCusItemPlanReport(String customerId,String subCustomerId, String mon) { |
| | | //查询该客户下的所有指标 |
| | |
| | | " FROM CI_REMIND_CUSTOMER_ITEM A,CI_REMIND_ITEM B " + |
| | | " WHERE A.ITEM_ID = B.ID AND A.USING_STATE = 1 AND A.CUSTOMER_ID = :customerId ORDER BY B.ORDER_NUM "; |
| | | List<Map> subList=baseDao.queryForList(sql, new SqlParameter().addValue("customerId",customerId)); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String year = DateUtil.format("yyyy", mon); |
| | | |
| | | |
| | | String mm = DateUtil.format("MM", mon); |
| | | String[] time = DateParepareUtil.queryFirstLastDate(year,mm); |
| | | |
| | | |
| | | String beginDay = time[0].replaceAll("-", ""); |
| | | //得到当月的最后一天 |
| | | String lastDay = time[1].replaceAll("-", ""); |
| | | |
| | | |
| | | List<String> days = DateUtil.getBetweenTwoDateCycleList(beginDay, lastDay, 2,1, "yyyyMMdd","yyyyMMdd"); |
| | | |
| | | |
| | | Map resultMap = new HashMap(); |
| | | resultMap.put("month", mon); |
| | | resultMap.put("days", days); |
| | | |
| | | |
| | | List result = new ArrayList(); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | SC_PARTNER_CUSTOMER_INFO project = new SC_PARTNER_CUSTOMER_INFO(customerId).getInstanceById(); |
| | | |
| | | |
| | | long beginTime = project.getValid_begin_date(); |
| | | long endTime = project.getValid_end_date(); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //查询该客户下所有已经生成的计划 |
| | | String selectSql = "SELECT A.*,W.ID ORDER_ID FROM CI_REMIND_TIMERTASK A,CI_REMIND_CUSTOMER_ITEM B,SC_WORKFLOW_CI_REMIND W " + |
| | | " WHERE A.CUSTOMER_ITEM_ID = B.ID AND A.FLOW_ID=W.FLOW_ID AND B.CUSTOMER_ID = :customerId " + |
| | | " AND A.SUB_CUSTOMER_ID = :subCustomerId AND B.USING_STATE = 1 "; |
| | | paramMap.put("customerId", customerId); |
| | | |
| | | |
| | | selectSql += "AND A.PLAN_EXECUTION_DATE >= :beginTime AND A.PLAN_EXECUTION_DATE <= :endTime "; |
| | | paramMap.put("beginTime", beginDay); |
| | | paramMap.put("endTime", lastDay); |
| | | paramMap.put("subCustomerId", subCustomerId); |
| | | |
| | | |
| | | selectSql += " ORDER BY A.PLAN_EXECUTION_DATE "; |
| | | List<Map> plans = baseDao.queryForList(selectSql,paramMap); |
| | | |
| | | |
| | | Map<String,Map> cacheMap = new HashMap<String,Map>(); |
| | | if(null!=plans && plans.size()>0) { |
| | | for(Map plan : plans) { |
| | |
| | | cacheMap.put(project_item_id+"-"+plan_execution_date, plan); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(null!=subList && subList.size()>0) { |
| | | for(Map zb : subList) { |
| | | String zbId = ConvertUtil.obj2StrBlank(zb.get("ID")); |
| | | String zbName = ConvertUtil.obj2StrBlank(zb.get("ITEM_NAME")); |
| | | |
| | | |
| | | List<Map> newList = new ArrayList<Map>(); |
| | | for(String str : days) { |
| | | Map map = new HashMap(); |
| | | |
| | | |
| | | String unitKey = zbId+"-"+str; |
| | | if(cacheMap.containsKey(unitKey)) { |
| | | map = cacheMap.get(unitKey); |
| | | } |
| | | newList.add(map); |
| | | } |
| | | |
| | | |
| | | Map map = new HashMap(); |
| | | map.put("zbName", zbName); |
| | | map.put("msgs", newList); |
| | | result.add(map); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | resultMap.put("rs", result); |
| | | |
| | | |
| | | return resultMap; |
| | | } |
| | | |
| | | @Override |
| | | public String queryNodeId(String flowId,String userId) { |
| | | public String queryNodeId(String flowId,String userId) { |
| | | String selectSql = "SELECT ID FROM WORKFLOW_NODE WHERE FLOWID=:flowId AND CURRENT_DEALER_ID=:userId AND (FLOWSTATE=1 OR FLOWSTATE =2) "; |
| | | return baseDao.queryForString(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo remindPlanData(PageInfo pageInfo,Map<String, String> param) { |
| | | String ciId=param.get("ciId"); |
| | | String selectSql = "SELECT C.* FROM CI_REMIND_CILIST A,CI_REMIND_CUSTOMER_ITEM B,CI_REMIND_TIMERTASK C WHERE A.PROJECT_ITEM_ID = B.ID AND B.ID = C.CUSTOMER_ITEM_ID AND A.CI_ID = :ciId AND A.STATE = 1 AND C.STATE = 2 ORDER BY C.PLAN_EXECUTION_DATE DESC "; |
| | | String selectSql = "SELECT C.* FROM CI_REMIND_CILIST A,CI_REMIND_CUSTOMER_ITEM B,CI_REMIND_TIMERTASK C WHERE A.PROJECT_ITEM_ID = B.ID AND B.ID = C.CUSTOMER_ITEM_ID AND A.CI_ID = :ciId AND A.STATE = 1 AND C.STATE = 2 ORDER BY C.PLAN_EXECUTION_DATE DESC "; |
| | | param.put("ciId", ciId); |
| | | PageInfo plans=baseDao.queryforSplitPageInfo(pageInfo, selectSql, param); |
| | | return plans; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int remindPlanCount(Map<String, String> param) { |
| | | String ciId=param.get("ciId"); |
| | |
| | | return count; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package cn.ksource.web.facade.dsl; |
| | | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.entity.FacedeResponse; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.cmdb.SequenceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import org.springframework.web.multipart.commons.CommonsMultipartResolver; |
| | | |
| | | import cn.ksource.beans.DSL_CATEGORY; |
| | | import cn.ksource.beans.DSL_CONFIG; |
| | | import cn.ksource.beans.DSL_CONFIG_FILE; |
| | | import cn.ksource.beans.DSL_VERSION; |
| | | import cn.ksource.beans.PROJECT_DSL; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.EqualUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.entity.FacedeResponse; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.cmdb.SequenceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | @Service("dslFacade") |
| | | public class DSLFacadeImpl implements DSLFacade{ |
| | | |
| | | @Resource |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Resource |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private SequenceService sequenceService; |
| | | |
| | | |
| | | /*@Autowired |
| | | private SequenceService sequenceService;*/ |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getOrderDslList(String flowId) { |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | " SELECT UPDATE_TIME,ID,EDITION FROM DSL_VERSION WHERE (STATE=1 OR STATE=3) " + |
| | | " ) V ON L.DSL_VERSION_ID = V.ID " + |
| | | " WHERE (D.STATE=1 OR D.STATE=3) AND L.FLOW_ID=:flowId " + |
| | | " ORDER BY V.UPDATE_TIME DESC " + |
| | | " ) T GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "; |
| | | " ORDER BY V.UPDATE_TIME DESC " + |
| | | " ) T GROUP BY DSL_ID,T.FLOW_ID, T.UPDATE_TIME, T.CATE_NAME,T.VER_ID,T.LINK_ID,T.DSL_SEARCHCODE,T.DSL_NAME,T.EDITION ORDER BY UPDATE_TIME DESC "; |
| | | return baseDao.queryForList(sql,param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void saveConfigDslDealRecord(String flowId) { |
| | | String sql = "SELECT ID,DSL_VERSION_ID,CI_ID,DSL_ID,NEW_VERSION_ID,FLOW_ID,STATE,DEALER_ID,DEALER_NAME,UPDATE_TIME " + |
| | |
| | | params.put("ID", id); |
| | | paramList.add(params); |
| | | } |
| | | |
| | | |
| | | baseDao.executeBatch(sqlinsert, paramList); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateConfigDslWhenFinish(String flowId) { |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | //更新dsl状态 |
| | | baseDao.execute(" UPDATE PROJECT_DSL SET STATE=1 WHERE FLOW_ID = :flowId ", param); |
| | | baseDao.execute(" UPDATE DSL_VERSION SET STATE=1 WHERE CREATE_FLOW_ID = :flowId ", param); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void updateConfigDslWhenClose(String flowId) { |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | //将要修改的数据恢复 |
| | | baseDao.execute(" UPDATE CMDB_DSL_LINK SET NEW_VERSION_ID=DSL_VERSION_ID,STATE=NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE STATE=2 AND FLOW_ID = :flowId ", param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void addDslByFlow(PROJECT_DSL proDsl,String flowId){ |
| | | String searchcode = sequenceService.getDslCategorySequence(proDsl.getDsl_third_category_id()); |
| | |
| | | baseDao.execute(sql, param); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo getProDslContainAddData(HttpServletRequest request) { |
| | | Map support = getProDslContainAddSupport(request); |
| | |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param); |
| | | return pageInfo; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getProDslContainAddCount(HttpServletRequest request) { |
| | | Map support = getProDslContainAddSupport(request); |
| | |
| | | int count = baseDao.queryForInteger(sql, param); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | private Map getProDslContainAddSupport(HttpServletRequest request) { |
| | | Map support = new HashMap(); |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | builder.append(" FROM PROJECT_DSL D LEFT JOIN (SELECT * FROM DSL_VERSION WHERE STATE=1) V ON D.ID = V.DSL_ID "); |
| | | builder.append(" WHERE D.STATE=1 "); |
| | | builder.append(" ) T1 "); |
| | | |
| | | |
| | | String flowId = request.getParameter("flowId"); |
| | | if(StringUtil.notEmpty(flowId)) { |
| | | builder.append(" UNION SELECT * FROM ( "); |
| | |
| | | builder.append(" ) T1 "); |
| | | param.put("flowId", flowId); |
| | | } |
| | | |
| | | |
| | | builder.append(" ORDER BY UPDATE_TIME DESC "); |
| | | builder.append(" ) T WHERE 1=1 "); |
| | | |
| | | |
| | | String proId = request.getParameter("proId"); |
| | | if(StringUtil.notEmpty(proId)) { |
| | | param.put("proId", proId); |
| | | } |
| | | |
| | | |
| | | String dslName = request.getParameter("dslName"); |
| | | if(StringUtil.notEmpty(dslName)) { |
| | | builder.append(" AND DSL_NAME LIKE :dslName "); |
| | |
| | | builder.append(" AND DSL_SEARCHCODE like :dslSearchCode "); |
| | | param.put("dslSearchCode", "%"+dslSearchCode+"%"); |
| | | } |
| | | |
| | | |
| | | String dslIds = request.getParameter("dslIds"); |
| | | if(StringUtil.notEmpty(dslIds)) { |
| | | dslIds = "'" + dslIds.replace(",", "','") + "'"; |
| | | builder.append(" AND DSL_ID NOT IN ("+dslIds+") "); |
| | | } |
| | | builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "); |
| | | |
| | | |
| | | support.put("sql", builder.toString()); |
| | | support.put("param", param); |
| | | return support; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryDslCount(HttpServletRequest request) { |
| | | |
| | | StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM PROJECT_DSL A WHERE A.PARTNER_ID = :partnerId AND A.STATE != 3 "); |
| | | |
| | | |
| | | //String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //paramMap.put("partnerId", partnerId); |
| | | String projectId = request.getParameter("projectId"); |
| | |
| | | builder.append(" AND A.PROJECT_ID = :projectId "); |
| | | paramMap.put("projectId", projectId); |
| | | } |
| | | |
| | | |
| | | String dslName = request.getParameter("dslName"); |
| | | if(StringUtil.notEmpty(dslName)) { |
| | | builder.append(" AND A.DSL_NAME LIKE :dslName "); |
| | | paramMap.put("dslName", "%"+dslName+"%"); |
| | | } |
| | | |
| | | |
| | | String dslCate = request.getParameter("dslCate"); |
| | | if(StringUtil.notEmpty(dslCate)) { |
| | | builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate "); |
| | | paramMap.put("dslCate", dslCate); |
| | | } |
| | | |
| | | |
| | | String dslSearchCode = request.getParameter("dslSearchCode"); |
| | | if(StringUtil.notEmpty(dslSearchCode)) { |
| | | builder.append(" AND A.DSL_SEARCHCODE = :dslSearchCode "); |
| | | paramMap.put("dslSearchCode", dslSearchCode); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(),paramMap); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo queryDslData(HttpServletRequest request) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder("SELECT A.*,C.EDITION FROM PROJECT_DSL A LEFT JOIN (SELECT E.DSL_ID,E.EDITION FROM DSL_VERSION E,(SELECT MAX(B.CREATE_TIME) AS TIME,B.DSL_ID FROM DSL_VERSION B WHERE B.STATE = 1 GROUP BY B.DSL_ID) F WHERE E.DSL_ID = F.DSL_ID AND E.CREATE_TIME = F.TIME) C ON A.ID = C.DSL_ID WHERE A.STATE != 3 "); |
| | | |
| | | |
| | | //String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //paramMap.put("partnerId", partnerId); |
| | | String projectId = request.getParameter("projectId"); |
| | |
| | | builder.append(" AND A.PROJECT_ID = :projectId "); |
| | | paramMap.put("projectId", projectId); |
| | | } |
| | | |
| | | |
| | | String dslName = request.getParameter("dslName"); |
| | | if(StringUtil.notEmpty(dslName)) { |
| | | builder.append(" AND A.DSL_NAME LIKE :dslName "); |
| | | paramMap.put("dslName", "%"+dslName+"%"); |
| | | } |
| | | |
| | | |
| | | String dslCate = request.getParameter("dslCate"); |
| | | if(StringUtil.notEmpty(dslCate)) { |
| | | builder.append(" AND A.DSL_THIRD_CATEGORY_ID = :dslCate "); |
| | | paramMap.put("dslCate", dslCate); |
| | | } |
| | | |
| | | |
| | | String dslSearchCode = request.getParameter("dslSearchCode"); |
| | | if(StringUtil.notEmpty(dslSearchCode)) { |
| | | builder.append(" AND A.DSL_SEARCHCODE like :dslSearchCode "); |
| | | paramMap.put("dslSearchCode", "%"+dslSearchCode+"%"); |
| | | } |
| | | |
| | | |
| | | builder.append(" ORDER BY A.STATE ASC, A.ORDER_NUM ASC,ADD_TIME DESC "); |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getDslCateTree(String pid, String partnerId) { |
| | | String sql = " SELECT ID as id,P_ID AS pid,CATEGORY_NAME AS name,LEVEL AS jb FROM DSL_CATEGORY WHERE STATE=1 AND PARTNER_ID=:partnerId"; |
| | |
| | | public Map queryDslLevelTree(String partnerId, String cates) { |
| | | String selectSql = "SELECT A.* FROM DSL_CATEGORY A WHERE A.STATE = 1 ORDER BY A.LEVEL,A.ORDER_NUM "; |
| | | List<Map> categoryList = baseDao.queryForList(selectSql,new SqlParameter("partnerId",partnerId)); |
| | | Map slMap = new HashMap(); |
| | | Map slMap = new HashMap(); |
| | | if(StringUtil.notEmpty(cates)) { |
| | | String[] catess = cates.split(","); |
| | | for(String s : catess) { |
| | | slMap.put(s, s); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : categoryList) { |
| | | String level = ConvertUtil.obj2StrBlank(map.get("LEVEL")); |
| | | String id = ConvertUtil.obj2StrBlank(map.get("ID")); |
| | | |
| | | |
| | | //一级树 |
| | | if (level.equalsIgnoreCase("1")) { |
| | | yjgnCache.put(id, map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(id, map); |
| | | continue; |
| | | } |
| | | //三级树 |
| | | if (level.equalsIgnoreCase("3")) { |
| | | if(null!=map.get("P_ID")){ |
| | | |
| | | |
| | | if(slMap.containsKey(id)) { |
| | | slMap.put(id, map.get("CATEGORY_NAME")); |
| | | map.put("check", 1); |
| | | } else { |
| | | map.put("check", 2); |
| | | } |
| | | |
| | | |
| | | Map ejgnMap = ejgnCache.get(map.get("P_ID").toString()); |
| | | List<Map> list = (List<Map>)ejgnMap.get("sjTree"); |
| | | list.add(map); |
| | |
| | | resultMap.put("slMap", slMap); |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void addOrderLinkDsl(String flowId, String dslIds, String verIds) { |
| | | List<SqlParameter> params = new ArrayList<SqlParameter>(); |
| | |
| | | }else{ |
| | | param.addValue("verId", verArr[i]); |
| | | } |
| | | params.add(param); |
| | | params.add(param); |
| | | } |
| | | String sql = "insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_VERSION_ID,DSL_ID) values (:id,:flowId,:verId,:dslId) "; |
| | | baseDao.executeBatch(sql, params); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryDslChangeVersionCount(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | String flowId = request.getParameter("flowId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | paramMap.put("flowId", flowId); |
| | |
| | | @Override |
| | | public PageInfo queryDslChangeVersionData(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId AND (A.STATE = 1 OR (A.STATE = 3 AND A.CREATE_FLOW_ID = :flowId ) ) ORDER BY A.CREATE_TIME DESC "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | String flowId = request.getParameter("flowId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | paramMap.put("flowId", flowId); |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List getDSLConfigListData(String configId) { |
| | | StringBuilder builder = new StringBuilder(); |
| | |
| | | sql.append(" AND PID=:pid "); |
| | | } |
| | | sql.append(" ORDER BY SORT_ID "); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter("pid",configId); |
| | | param.addValue("partnerId", partnerId); |
| | | param.addValue("thirdCateId", thirdCateId); |
| | | |
| | | List<Map> firstList = new LinkedList<Map>(); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(), param); |
| | | |
| | | |
| | | for (Map map : dataList) { |
| | | firstList.add(map); |
| | | if (ConvertUtil.obj2Int(map.get("STATE")) == 1) { |
| | |
| | | } else { |
| | | map.put("STATE_TEXT", "未启用"); |
| | | } |
| | | |
| | | |
| | | if (!EqualUtil.isStringEqual(map.get("LV"), "2")) { |
| | | map.put("state", "closed"); |
| | | map.put("children", new LinkedList<Map>()); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | if (StringUtils.isBlank(configId)) { |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | Map map = new HashMap(); |
| | |
| | | String note = request.getParameter("note"); |
| | | String name = request.getParameter("name"); |
| | | String thirdCateName = new DSL_CATEGORY(thirdCateId).getInstanceById().getCategory_name(); |
| | | |
| | | |
| | | if(StringUtil.notEmpty(configId)) { |
| | | DSL_CONFIG dsl = new DSL_CONFIG(configId).getInstanceById(); |
| | | pId = dsl.getPid(); |
| | |
| | | } else { |
| | | level = 1; |
| | | } |
| | | |
| | | |
| | | String insertSql = "INSERT INTO DSL_CONFIG(ID,THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME,LV,SORT_ID,STATE,PID,PARTNER_ID,NOTE,NAME) " + |
| | | "VALUES (:id,:third_category_id,:third_category_name,:lv,:sort_id,1,:pid,:partner_id,:note,:name)"; |
| | | Map paramMap = new HashMap(); |
| | |
| | | paramMap.put("name", name); |
| | | baseDao.execute(insertSql, paramMap); |
| | | } |
| | | |
| | | |
| | | return pId; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void saveProDslInfo(HttpServletRequest request) { |
| | | |
| | | |
| | | String flowId = request.getParameter("flowId"); |
| | | String projectId = request.getParameter("projectId"); |
| | | String configureId = request.getParameter("configureId"); |
| | | String versionNo = request.getParameter("versionNo"); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("flowId", flowId) |
| | | .addValue("projectId", projectId) |
| | | .addValue("versionNo", versionNo) |
| | | .addValue("configureId", configureId) |
| | | .addValue("id", StringUtil.getUUID()); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" delete from config_dsl_pro where RELEASE_FLOW_ID = :flowId and CONFIGURE_ID=:configureId and PROJECT_ID=:projectId "); |
| | | baseDao.execute(builder.toString(), param); |
| | | |
| | | |
| | | builder.setLength(0); |
| | | builder.append(" insert into config_dsl_pro (id,PROJECT_ID,CONFIGURE_ID,VERSION_NO,RELEASE_FLOW_ID,SOURCE_TYPE) "); |
| | | builder.append(" values (:id,:projectId,:configureId,:versionNo,:flowId,1) "); |
| | | baseDao.execute(builder.toString(), param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getSecondDslfileList(String orderId,String configureId,String secondDslId){ |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | "and BUSINESS_ID = :orderId and EXTEND1 =:configureId and EXTEND2 = :secondDslId "; |
| | | return baseDao.queryForList(sql,param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void saveDslFile(HttpServletRequest request){ |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | |
| | | //System.out.println("-----------"+request.getSession().getServletContext().getRealPath("/")); |
| | | String fullPath = request.getSession().getServletContext().getRealPath("/")+"/upload/infofiles/" + fileName; |
| | | long size = file.getSize(); |
| | | String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1); |
| | | String fileFormat = fileName.substring(fileName.lastIndexOf(".")+1); |
| | | File localFile = new File(fullPath); |
| | | // 写文件到本地 |
| | | try { |
| | |
| | | //String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID "; |
| | | String thirdCateId = request.getParameter("thirdCate"); |
| | | |
| | | |
| | | paramMap.put("thirdCateId", thirdCateId); |
| | | //paramMap.put("partnerId", partnerId); |
| | | |
| | | |
| | | List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : cates) { |
| | | String level = map.get("LV").toString(); |
| | | String id = map.get("ID").toString(); |
| | | |
| | | |
| | | //一级树 |
| | | if (level.equalsIgnoreCase("1")) { |
| | | yjgnCache.put(id, map); |
| | |
| | | String thirdCateId = request.getParameter("thirdCate"); |
| | | String pId = request.getParameter("pId"); |
| | | sql.append("SELECT COUNT(ID) FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId "); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //paramMap.put("partnerId", partnerId); |
| | | paramMap.put("thirdCateId", thirdCateId); |
| | |
| | | paramMap.put("pid", pId); |
| | | } else { |
| | | sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) "); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(), paramMap); |
| | | } |
| | | |
| | |
| | | String thirdCateId = request.getParameter("thirdCate"); |
| | | String pId = request.getParameter("pId"); |
| | | sql.append("SELECT SORT_ID,NAME,ID,PID,LV,STATE FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId "); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | //paramMap.put("partnerId", partnerId); |
| | | paramMap.put("thirdCateId", thirdCateId); |
| | |
| | | paramMap.put("pid", pId); |
| | | } else { |
| | | sql.append(" AND LV=1 AND (PID IS NULL OR PID ='' OR PID =0) "); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | sql.append(" ORDER BY SORT_ID "); |
| | | |
| | | |
| | | return baseDao.queryforSplitPageInfo(request, sql.toString(), paramMap); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | return baseDao.queryForInteger(selectSql,new SqlParameter("pid",configId)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public boolean saveProjectDsl(HttpServletRequest request) { |
| | |
| | | String id = StringUtil.getUUID(); |
| | | String projectId = request.getParameter("projectId"); |
| | | String order_num = request.getParameter("order_num"); |
| | | |
| | | |
| | | String[] cates = dslCateId.split("-"); |
| | | String dsl_first_category_id = cates[0]; |
| | | String dsl_second_category_id = cates[1]; |
| | | String dsl_third_category_id = cates[2]; |
| | | |
| | | |
| | | |
| | | |
| | | String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id); |
| | | sequenceService.nextCICategorySequence(dsl_third_category_id); |
| | | |
| | | |
| | | String[] cateNames = dslCateName.split("-"); |
| | | String dsl_first_category_name = cateNames[0]; |
| | | String dsl_second_category_name = cateNames[1]; |
| | | String dsl_third_category_name = cateNames[2]; |
| | | |
| | | |
| | | |
| | | |
| | | String insertSql = "INSERT INTO PROJECT_DSL(ID,DSL_NAME,DSL_FIRST_CATEGORY_ID,DSL_FIRST_CATEGORY_NAME,DSL_SECOND_CATEGORY_ID,DSL_SECOND_CATEGORY_NAME,DSL_THIRD_CATEGORY_ID,DSL_THIRD_CATEGORY_NAME,NOTE,DSL_SEARCHCODE,STATE,PROJECT_ID,PARTNER_ID,ADD_TIME,ORDER_NUM)" + |
| | | "VALUES (:id,:dsl_name,:dsl_first_category_id,:dsl_first_category_name,:dsl_second_category_id,:dsl_second_category_name,:dsl_third_category_id,:dsl_third_category_name,:note,:dsl_searchcode,1,:project_id,:partner_id,:add_time,:order_num)"; |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("id", id); |
| | | paramMap.put("dsl_name", dsl_name); |
| | |
| | | //paramMap.put("partner_id", WebUtil.getLoginedPartnerId(request)); |
| | | paramMap.put("add_time", DateUtil.getCurrentDate14()); |
| | | paramMap.put("order_num", order_num); |
| | | |
| | | |
| | | baseDao.execute(insertSql, paramMap); |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | |
| | | String note = request.getParameter("note"); |
| | | String id = request.getParameter("id"); |
| | | String order_num = request.getParameter("order_num"); |
| | | |
| | | |
| | | String[] cates = dslCateId.split("-"); |
| | | String dsl_first_category_id = cates[0]; |
| | | String dsl_second_category_id = cates[1]; |
| | | String dsl_third_category_id = cates[2]; |
| | | |
| | | |
| | | |
| | | |
| | | String searchcode = sequenceService.getDslCategorySequence(dsl_third_category_id); |
| | | |
| | | |
| | | |
| | | |
| | | String[] cateNames = dslCateName.split("-"); |
| | | String dsl_first_category_name = cateNames[0]; |
| | | String dsl_second_category_name = cateNames[1]; |
| | | String dsl_third_category_name = cateNames[2]; |
| | | |
| | | |
| | | String updateSql = "UPDATE PROJECT_DSL SET DSL_NAME = :dsl_name,DSL_FIRST_CATEGORY_ID = :dsl_first_category_id,DSL_FIRST_CATEGORY_NAME = :dsl_first_category_name," + |
| | | "DSL_SECOND_CATEGORY_ID = :dsl_second_category_id,DSL_SECOND_CATEGORY_NAME = :dsl_second_category_name,DSL_THIRD_CATEGORY_ID = :dsl_third_category_id,DSL_THIRD_CATEGORY_NAME = :dsl_third_category_name,NOTE = :note,ORDER_NUM = :order_num WHERE ID = :id "; |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("id", id); |
| | | paramMap.put("dsl_name", dsl_name); |
| | |
| | | paramMap.put("dsl_third_category_name", dsl_third_category_name); |
| | | paramMap.put("note", note); |
| | | paramMap.put("order_num", order_num); |
| | | |
| | | |
| | | baseDao.execute(updateSql, paramMap); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public String updateDslState(HttpServletRequest request) { |
| | | String id = request.getParameter("id"); |
| | |
| | | //paramMap.put("partnerId", partnerId); |
| | | List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : cates) { |
| | | String level = map.get("LEVEL").toString(); |
| | | String id = map.get("ID").toString(); |
| | | |
| | | |
| | | //一级树 |
| | | if (level.equalsIgnoreCase("1")) { |
| | | yjgnCache.put(id, map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(id, map); |
| | | } |
| | | continue; |
| | |
| | | } else { |
| | | builder.append(" AND C.LEVEL = 1 "); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(),paramMap); |
| | | return count; |
| | | } |
| | |
| | | } else { |
| | | builder.append(" AND C.LEVEL = 1 "); |
| | | } |
| | | |
| | | |
| | | builder.append(" ORDER BY STATE,ORDER_NUM "); |
| | | |
| | | |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | |
| | | String partner_id = ""; |
| | | String id = dsl_category.getId(); |
| | | String categoryid = request.getParameter("pId"); |
| | | |
| | | |
| | | String firstCate = ""; |
| | | String secondCate = ""; |
| | | if(!StringUtil.notEmpty(id)) { |
| | |
| | | int level = ConvertUtil.obj2Integer(pCate.getLevel()); |
| | | dsl_category.setP_id(categoryid); |
| | | dsl_category.setLevel(level+1); |
| | | |
| | | |
| | | if(level==2) { |
| | | firstCate = pCate.getP_id(); |
| | | secondCate = pCate.getId(); |
| | | } else { |
| | | firstCate = pCate.getId(); |
| | | } |
| | | |
| | | |
| | | } else { |
| | | dsl_category.setP_id(null); |
| | | dsl_category.setLevel(1); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | dsl_category.setState(Constants.COMMON_STATE_ENABLE);//所有节点添加时 |
| | | dsl_category.setPartner_id(partner_id); |
| | | } |
| | | |
| | | |
| | | dsl_category.insertOrUpdate(); |
| | | |
| | | |
| | | Map result = new HashMap(); |
| | | result.put("firstCate", firstCate); |
| | | result.put("secondCate", secondCate); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getConfigDslList(String configId) { |
| | | SqlParameter param = new SqlParameter(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("configId", configId); |
| | | String sql = " SELECT L.NEW_VERSION_ID,L.STATE FLAG,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,L.ID LINK_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION " + |
| | | " FROM CMDB_DSL_LINK L ,DSL_VERSION V , PROJECT_DSL D " + |
| | | " WHERE L.DSL_ID = D.ID AND L.NEW_VERSION_ID = V.ID AND L.CI_ID = :configId AND (L.STATE IS NULL OR L.STATE = 1 OR L.STATE = 2 )"; |
| | | return baseDao.queryForList(sql,param); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void addDslByConfig(PROJECT_DSL proDsl,String configId){ |
| | | proDsl.setState(3); |
| | |
| | | baseDao.execute(sql, param); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void addDslVersionByOrder(DSL_VERSION dslVersion){ |
| | | String id = StringUtil.getUUID(); |
| | |
| | | .addValue("update_time", dslVersion.getCreate_time()); |
| | | baseDao.execute("delete from DSL_ORDER_LINK where FLOW_ID=:flowId and DSL_ID = :dslId ", param); |
| | | sql = " insert into DSL_ORDER_LINK (ID,FLOW_ID,DSL_ID,DSL_VERSION_ID) values (:id,:flowId,:dslId,:versionId) "; |
| | | |
| | | |
| | | if(oldversion != null){ |
| | | if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")))){ |
| | | //复制最新版本的配置信息 |
| | | saveDslConfig(ConvertUtil.obj2StrBlank(oldversion.get("VER_ID")),id); |
| | | } |
| | | |
| | | |
| | | } |
| | | baseDao.execute(sql, param); |
| | | //dsl关联配置默认为最新版本 |
| | | baseDao.execute("UPDATE CMDB_DSL_LINK SET STATE = 2,NEW_VERSION_ID = :versionId , FLOW_ID = :flowId,DEALER_ID = :dealer_id,DEALER_NAME = :dealer_name,UPDATE_TIME = :update_time WHERE DSL_ID = :dslId ", param); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public int selectByCode(String code, String id,String partnerId,String pId) { |
| | | StringBuffer sql=new StringBuffer("select count(*) from DSL_CATEGORY where CATE_CODE= :code AND PARTNER_ID =:partner_id AND P_ID =:p_id "); |
| | |
| | | int count=baseDao.queryForInteger(sql.toString(),param); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public FacedeResponse execDisableDslCategory(String id, String partnerId) { |
| | | FacedeResponse res = new FacedeResponse(); |
| | | |
| | | |
| | | //获取该分类下的所有子类 |
| | | List<Map> list = this.getAllChildList(id); |
| | | Map map = new HashMap(); |
| | | map.put("ID", id); |
| | | list.add(map); |
| | | |
| | | |
| | | //先删除原来的分类 |
| | | String sql = "UPDATE DSL_CATEGORY SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id "; |
| | | List<SqlParameter> paramList = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | if (list != null && list.size() > 0) { |
| | | for (Map map2 : list) { |
| | | String categoryId = ConvertUtil.obj2Str(map2.get("ID")); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("id", categoryId); |
| | | param.addValue("partner_id", partnerId); |
| | | |
| | | |
| | | paramList.add(param); |
| | | } |
| | | |
| | | |
| | | baseDao.executeBatch(sql, paramList); |
| | | } |
| | | return res; |
| | |
| | | @Override |
| | | public FacedeResponse execEnableDslCategory(String id, String partnerId) { |
| | | FacedeResponse res = new FacedeResponse(); |
| | | |
| | | |
| | | //获取该分类的父类 |
| | | List<Map> pList = this.getAllParentList(id, new ArrayList<Map>()); |
| | | |
| | | |
| | | //获取该分类下的所有子类 |
| | | List<Map> list = this.getAllChildList(id); |
| | | Map map = new HashMap(); |
| | | map.put("ID", id); |
| | | list.add(map); |
| | | |
| | | |
| | | //合并父类和子类列表 |
| | | list.addAll(pList); |
| | | |
| | | |
| | | //修改DSL分类状态 |
| | | this.saveDslCategory(list, partnerId); |
| | | |
| | | |
| | | return res; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 保存加盟商DSL分类 |
| | | * @param categoryIdList |
| | | * @param partnerId |
| | | */ |
| | | private void saveDslCategory(List<Map> categoryIdList, String partnerId) { |
| | | |
| | | |
| | | List<SqlParameter> paramList = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | if (categoryIdList != null && categoryIdList.size() > 0) { |
| | | for (Map map : categoryIdList) { |
| | | String categoryId = ConvertUtil.obj2Str(map.get("ID")); |
| | |
| | | param.addValue("partner_id", partnerId); |
| | | paramList.add(param); |
| | | } |
| | | |
| | | |
| | | String sql = "UPDATE DSL_CATEGORY SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id "; |
| | | baseDao.executeBatch(sql, paramList); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 递归,获取分类下的所有子类,一直到三级分类 |
| | | * @param pid |
| | |
| | | */ |
| | | private List<Map> getAllChildList(String pid) { |
| | | String sql = "select ID,LEVEL from DSL_CATEGORY where STATE=1 and P_ID=:pid "; |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid)); |
| | | if (list != null && list.size() > 0) { |
| | | for (int i=0 ;i<list.size();i++) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 递归,获取当前子类的所有父级分类 |
| | | * @param id |
| | |
| | | private List<Map> getAllParentList(String id, List<Map> tList) { |
| | | String sql = "select c.ID,c.LEVEL from DSL_CATEGORY c where c.STATE=1 and c.ID=(select P_ID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) "; |
| | | Map map = baseDao.queryForMap(sql, new SqlParameter("id", id)); |
| | | |
| | | |
| | | if (map != null && map.size() > 0) { |
| | | tList.add(map); |
| | | String cid = ConvertUtil.obj2Str(map.get("ID")); |
| | |
| | | } |
| | | return tList; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int selectByconfigName(String name, String id,String partnerId,String pId,String thirdCate) { |
| | | StringBuffer sql=new StringBuffer("select count(*) from DSL_CONFIG where NAME= :name AND PARTNER_ID =:partner_id AND PID =:p_id AND THIRD_CATEGORY_ID = :thirdCate "); |
| | |
| | | @Override |
| | | public FacedeResponse execDisableDslconfigCate(String id, String partnerId) { |
| | | FacedeResponse res = new FacedeResponse(); |
| | | |
| | | |
| | | //获取该分类下的所有子类 |
| | | List<Map> list = this.getAllChildconfigList(id); |
| | | Map map = new HashMap(); |
| | | map.put("ID", id); |
| | | list.add(map); |
| | | |
| | | |
| | | //先删除原来的分类 |
| | | String sql = "UPDATE DSL_CONFIG SET STATE = 2 WHERE ID=:id AND PARTNER_ID=:partner_id "; |
| | | List<SqlParameter> paramList = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | if (list != null && list.size() > 0) { |
| | | for (Map map2 : list) { |
| | | String categoryId = ConvertUtil.obj2Str(map2.get("ID")); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("id", categoryId); |
| | | param.addValue("partner_id", partnerId); |
| | | |
| | | |
| | | paramList.add(param); |
| | | } |
| | | |
| | | |
| | | baseDao.executeBatch(sql, paramList); |
| | | } |
| | | return res; |
| | |
| | | @Override |
| | | public FacedeResponse execEnableDslconfigCate(String id, String partnerId) { |
| | | FacedeResponse res = new FacedeResponse(); |
| | | |
| | | |
| | | //获取该分类的父类 |
| | | List<Map> pList = this.getAllParentconfigList(id, new ArrayList<Map>()); |
| | | |
| | | |
| | | //获取该分类下的所有子类 |
| | | List<Map> list = this.getAllChildconfigList(id); |
| | | Map map = new HashMap(); |
| | | map.put("ID", id); |
| | | list.add(map); |
| | | |
| | | |
| | | //合并父类和子类列表 |
| | | list.addAll(pList); |
| | | |
| | | |
| | | //修改DSL分类状态 |
| | | this.saveDslconfigCate(list, partnerId); |
| | | |
| | | |
| | | return res; |
| | | } |
| | | /** |
| | |
| | | * @param partnerId |
| | | */ |
| | | private void saveDslconfigCate(List<Map> categoryIdList, String partnerId) { |
| | | |
| | | |
| | | List<SqlParameter> paramList = new ArrayList<SqlParameter>(); |
| | | |
| | | |
| | | if (categoryIdList != null && categoryIdList.size() > 0) { |
| | | for (Map map : categoryIdList) { |
| | | String categoryId = ConvertUtil.obj2Str(map.get("ID")); |
| | |
| | | param.addValue("partner_id", partnerId); |
| | | paramList.add(param); |
| | | } |
| | | |
| | | |
| | | String sql = "UPDATE DSL_CONFIG SET STATE = 1 WHERE ID = :id AND PARTNER_ID=:partner_id "; |
| | | baseDao.executeBatch(sql, paramList); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 递归,获取分类下的所有子类,一直到三级分类 |
| | | * @param pid |
| | |
| | | */ |
| | | private List<Map> getAllChildconfigList(String pid) { |
| | | String sql = "select ID,LV from DSL_CONFIG where STATE=1 and PID=:pid "; |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql, new SqlParameter("pid", pid)); |
| | | if (list != null && list.size() > 0) { |
| | | for (int i=0 ;i<list.size();i++) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 递归,获取当前子类的所有父级分类 |
| | | * @param id |
| | |
| | | private List<Map> getAllParentconfigList(String id, List<Map> tList) { |
| | | String sql = "select c.ID,c.LV from DSL_CONFIG c where c.STATE=1 and c.ID=(select PID from DSL_CATEGORY c2 where c2.STATE=1 and c2.ID=:id) "; |
| | | Map map = baseDao.queryForMap(sql, new SqlParameter("id", id)); |
| | | |
| | | |
| | | if (map != null && map.size() > 0) { |
| | | tList.add(map); |
| | | String cid = ConvertUtil.obj2Str(map.get("ID")); |
| | |
| | | Map paramMap = new HashMap(); |
| | | //String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | String selectSubSql = "SELECT * FROM DSL_CONFIG WHERE THIRD_CATEGORY_ID = :thirdCateId AND STATE = 1 ORDER BY LV,SORT_ID "; |
| | | |
| | | |
| | | //paramMap.put("partnerId", partnerId); |
| | | paramMap.put("thirdCateId", id); |
| | | |
| | | |
| | | List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : cates) { |
| | | String level = map.get("LV").toString(); |
| | | String configId = map.get("ID").toString(); |
| | | |
| | | |
| | | //一级树 |
| | | if (level.equalsIgnoreCase("1")) { |
| | | yjgnCache.put(configId, map); |
| | |
| | | @Override |
| | | public int queryDslVersionCount(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM DSL_VERSION A WHERE A.DSL_ID = :dslId AND A.STATE <> 3 "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | int count = baseDao.queryForInteger(builder.toString(), paramMap); |
| | |
| | | @Override |
| | | public PageInfo queryDslVersionData(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT A.*,B.WFNAME FROM DSL_VERSION A LEFT JOIN WORKFLOW_BASE B ON A.CREATE_FLOW_ID = B.ID WHERE A.DSL_ID = :dslId AND A.STATE <> 3 ORDER BY A.CREATE_TIME DESC "); |
| | | |
| | | |
| | | String dslId = request.getParameter("dslId"); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("dslId", dslId); |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | |
| | | long update_time = DateUtil.getCurrentDate14(); |
| | | long create_time = update_time; |
| | | String dealer_user_id = WebUtil.getLoginedUserId(request); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String dealer_user_name = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | |
| | | |
| | | String id = StringUtil.getUUID(); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("id", id); |
| | | paramMap.put("dsl_id", dsl_id); |
| | |
| | | paramMap.put("create_time", create_time); |
| | | paramMap.put("update_time", update_time); |
| | | paramMap.put("note", note); |
| | | |
| | | |
| | | String insertSql = "INSERT INTO DSL_VERSION(ID,DSL_ID,EDITION,STATE,UPDATE_TIME,DEALER_USER_ID,DEALER_USER_NAME,CREATE_TIME,NOTE,LAST_VERSION) VALUES (:id,:dsl_id,:edition,1,:update_time,:dealer_user_id,:dealer_user_name,:create_time,:note,:lastVersion)"; |
| | | |
| | | |
| | | |
| | | |
| | | //查询当前最新的版本信息 |
| | | Map newestVersion = queryDslNewestVersionById(dsl_id); |
| | | String oldVersion = new String(); |
| | | |
| | | |
| | | if(null!=newestVersion && newestVersion.size()>0) { |
| | | oldVersion = ConvertUtil.obj2StrBlank(newestVersion.get("VER_ID")); |
| | | } |
| | | |
| | | |
| | | paramMap.put("lastVersion", oldVersion); |
| | | |
| | | |
| | | baseDao.execute(insertSql, paramMap); |
| | | |
| | | |
| | | if(StringUtil.notEmpty(oldVersion)) { |
| | | //复制版本信息 |
| | | saveDslConfig(oldVersion, id); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | |
| | | return "1"; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public Map versionMore(String id) { |
| | | String selectSql = "SELECT A.*,B.DSL_NAME,B.DSL_FIRST_CATEGORY_NAME,B.DSL_SECOND_CATEGORY_NAME,B.DSL_THIRD_CATEGORY_NAME FROM DSL_VERSION A,PROJECT_DSL B WHERE A.DSL_ID = B.ID AND A.ID = :id "; |
| | |
| | | |
| | | @Override |
| | | public Map queryDslNewestVersionById(String dslId) { |
| | | String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId "; |
| | | String selectSql = "SELECT A.*,C.EDITION,C.VER_ID,C.UPDATE_TIME FROM PROJECT_DSL A LEFT JOIN (SELECT B.DSL_ID,B.EDITION,B.ID AS VER_ID,B.UPDATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.DSL_ID = :dslId ORDER BY B.CREATE_TIME DESC LIMIT 0,1 ) C ON A.ID = C.DSL_ID WHERE A.ID = :dslId "; |
| | | Map newestVersion = baseDao.queryForMap(selectSql,new SqlParameter("dslId",dslId)); |
| | | return newestVersion; |
| | | } |
| | |
| | | return "0"; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List queryDslConfigFolder(String partnerId,String cateId) { |
| | | Map paramMap = new HashMap(); |
| | |
| | | paramMap.put("cateId", cateId); |
| | | List<Map> cates = baseDao.queryForList(selectSubSql,paramMap); |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : cates) { |
| | | String level = map.get("LV").toString(); |
| | | String id = map.get("ID").toString(); |
| | | |
| | | |
| | | //一级树 |
| | | if (level.equalsIgnoreCase("1")) { |
| | | yjgnCache.put(id, map); |
| | |
| | | builder.append(" AND DSL_SECOND_CATE = :folderId "); |
| | | paramMap.put("folderId", folderId); |
| | | } |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(),paramMap); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | |
| | | builder.append(" AND DSL_SECOND_CATE = :folderId "); |
| | | paramMap.put("folderId", folderId); |
| | | } |
| | | |
| | | |
| | | builder.append(" ORDER BY CREATE_TIME DESC "); |
| | | |
| | | |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, builder.toString(), paramMap); |
| | | |
| | | |
| | | List<Map> files = pageInfo.getDatas(); |
| | | if(null!=files && files.size()>0) { |
| | | for(Map file : files) { |
| | | file.put("FILE_SIZE", StringUtil.getFileSize(ConvertUtil.obj2Double(file.get("FILE_SIZE")))); |
| | | } |
| | | } |
| | | |
| | | |
| | | return pageInfo; |
| | | } |
| | | |
| | |
| | | String updateSql = "UPDATE DSL_CONFIG_FILE SET DEL_FLAG = 2 WHERE ID = :fileId "; |
| | | baseDao.execute(updateSql, new SqlParameter("fileId",fileId)); |
| | | DSL_CONFIG_FILE file = new DSL_CONFIG_FILE(fileId).getInstanceById(); |
| | | |
| | | |
| | | //添加删除文件记录 |
| | | DSL_VERSION version = new DSL_VERSION(file.getVersion_id()).getInstanceById(); |
| | | String saverecordSql = "INSERT INTO DSL_CONFIG_FILE_CHANGE_DETAIL(ID,FIRST_CONFIG_CATE,SECOND_CONFIG_CATE,DSL_VERSION_ID,FILE_ID,DEAL_TYPE,FLOW_ID,CREATE_TIME,USER_ID,USER_NAME) VALUES(:id,:first_config_cate,:folderId,:versionId,:file_id,:deal_type,:flow_id,:createTime,:userId,:userName)"; |
| | |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void addConfigLinkDsl(String configId, String dslIds, String verIds, String delFlags, String flowId, String userId, String userName) { |
| | | List<SqlParameter> addParams = new ArrayList<SqlParameter>(); |
| | |
| | | sql = " UPDATE CMDB_DSL_LINK SET STATE = NULL,DEALER_ID=NULL,DEALER_NAME=NULL,UPDATE_TIME=NULL,FLOW_ID=NULL WHERE CI_ID=:configId AND DSL_ID =:dslId AND STATE=3 "; |
| | | baseDao.executeBatch(sql, updateParams); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | private Map getSelConfigDslSupport(HttpServletRequest request) { |
| | | Map support = new HashMap(); |
| | | SqlParameter param = new SqlParameter(); |
| | | StringBuilder builder = new StringBuilder(); |
| | | |
| | | |
| | | builder.append(" SELECT * FROM ( "); |
| | | builder.append(" SELECT 0 AS DEL_FLAG,D.STATE,D.DSL_THIRD_CATEGORY_ID,V.UPDATE_TIME,CONCAT(D.DSL_FIRST_CATEGORY_NAME,'-',D.DSL_SECOND_CATEGORY_NAME,'-',D.DSL_THIRD_CATEGORY_NAME) CATE_NAME,D.ID DSL_ID,V.ID VER_ID,D.DSL_SEARCHCODE,D.DSL_NAME,V.EDITION "); |
| | | builder.append(" FROM PROJECT_DSL D ,DSL_VERSION V "); |
| | |
| | | builder.append(" FROM CMDB_DSL_LINK L,PROJECT_DSL D,DSL_VERSION V "); |
| | | builder.append(" WHERE L.DSL_ID = D.ID AND L.DSL_VERSION_ID = V.ID AND L.STATE=3 AND L.CI_ID = :configId ORDER BY UPDATE_TIME DESC "); |
| | | builder.append(" ) T WHERE 1=1 "); |
| | | |
| | | |
| | | String proId = request.getParameter("proId"); |
| | | if(StringUtil.notEmpty(proId)) { |
| | | param.put("proId", proId); |
| | | } |
| | | |
| | | |
| | | String configId = request.getParameter("configId"); |
| | | if(StringUtil.notEmpty(configId)) { |
| | | param.put("configId", configId); |
| | | } |
| | | |
| | | |
| | | String flowId = request.getParameter("flowId"); |
| | | if(StringUtil.notEmpty(flowId)) { |
| | | param.put("flowId", flowId); |
| | | } |
| | | |
| | | |
| | | String dslName = request.getParameter("dslName"); |
| | | if(StringUtil.notEmpty(dslName)) { |
| | | builder.append(" AND DSL_NAME LIKE :dslName "); |
| | |
| | | builder.append(" AND DSL_SEARCHCODE like :dslSearchCode "); |
| | | param.put("dslSearchCode", "%"+dslSearchCode+"%"); |
| | | } |
| | | |
| | | |
| | | String dslIds = request.getParameter("dslIds"); |
| | | if(StringUtil.notEmpty(dslIds)) { |
| | | dslIds = "'" + dslIds.replace(",", "','") + "'"; |
| | | builder.append(" AND DSL_ID NOT IN ("+dslIds+") "); |
| | | } |
| | | builder.append(" GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "); |
| | | |
| | | |
| | | support.put("sql", builder.toString()); |
| | | support.put("param", param); |
| | | return support; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public Map getDslMsgById(String id,HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder("SELECT c.*,A.EDITION,A.CREATE_TIME,A.VERSIONID FROM PROJECT_DSL c LEFT JOIN (SELECT MAX(B.CREATE_TIME),B.ID AS VERSIONID,B.DSL_ID,B.EDITION,B.CREATE_TIME FROM DSL_VERSION B WHERE B.STATE = 1 AND B.ID = :id ) A ON c.ID = A.DSL_ID WHERE c.STATE <> 3 "); |
| | | // String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("id", id); |
| | | //paramMap.put("partnerId", partnerId); |
| | |
| | | PageInfo pageInfo = baseDao.queryforSplitPageInfo(request, sql, param); |
| | | return pageInfo; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public int getSelConfigDslListCount(HttpServletRequest request) { |
| | | Map support = getSelConfigDslSupport(request); |
| | |
| | | .addValue("curDate", curDate) |
| | | .addValue("flowId", flowId); |
| | | baseDao.execute(sql, param); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | |
| | | sqlParameter.put("VERSION_ID", newVersion); |
| | | paramList.add(sqlParameter); |
| | | } |
| | | |
| | | |
| | | String insertSql = "INSERT INTO DSL_CONFIG_FILE(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,VERSION_ID,ORDERNUM,FILE_NOTE,DSL_FIRST_CATE,DSL_SECOND_CATE,CREATE_TIME,USER_ID,USER_NAME,DEL_FLAG) VALUES (:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:VERSION_ID,:ORDERNUM,:FILE_NOTE,:DSL_FIRST_CATE,:DSL_SECOND_CATE,:CREATE_TIME,:USER_ID,:USER_NAME,:DEL_FLAG)"; |
| | | baseDao.executeBatch(insertSql,paramList); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | return info; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package cn.ksource.web.facade.fileManage; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service("docFacade") |
| | | @SuppressWarnings("unchecked") |
| | | public class DocFacadeImpl implements DocFacade { |
| | | @Autowired |
| | | @Autowired |
| | | BaseDao baseDao; |
| | | |
| | | |
| | | @Override |
| | | public List queryMyfileList(HttpServletRequest request) { |
| | | StringBuilder sql=new StringBuilder("SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,0 AS FILE_SIZE,0 AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE FROM GG_FOLDERS A" + |
| | |
| | | |
| | | @Override |
| | | public int queryfileCount(Map<String,String> params) { |
| | | StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID,FOLDER_NAME AS NAME FROM GG_FOLDERS A WHERE 1=1"); |
| | | StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | String pId=params.get("pId"); |
| | | if(StringUtil.isEmpty(pId)){ |
| | | sql.append(" AND A.P_ID IS NULL"); |
| | | }else{ |
| | | sql.append(" AND A.P_ID=:pId"); |
| | | } |
| | | sql.append(" UNION SELECT ID,FILE_NAME AS NAME FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); |
| | | |
| | | sql.append(" UNION SELECT ID FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); |
| | | |
| | | if(StringUtil.isEmpty(pId)){ |
| | | sql.append(" AND(B.FOLDER_ID IS NULL OR B.FOLDER_ID = '0' )"); |
| | | }else{ |
| | |
| | | |
| | | @Override |
| | | public PageInfo queryfileData(PageInfo pageInfo, Map<String,String> params) { |
| | | StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,0 AS FILE_SIZE,0 AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,0 AS ORDER_CODE,0 AS FLOWID,0 AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | |
| | | StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,'0' AS FILE_SIZE,'0' AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,'0' AS ORDER_CODE,'0' AS FLOWID,'0' AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | |
| | | String pId=params.get("pId"); |
| | | if(StringUtil.isEmpty(pId)){ |
| | | sql.append(" AND A.P_ID IS NULL"); |
| | |
| | | }else { |
| | | sql.append(" ORDER BY C.TYPE ASC,C.FILE_TYPE "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else if(!StringUtil.isEmpty(orderType)&&"2".equals(orderType)){ |
| | | if("1".equals(orderWay)){ |
| | |
| | | }else { |
| | | sql.append(" ORDER BY CAST(C.FILE_SIZE as SIGNED) "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else if(!StringUtil.isEmpty(orderType)&&"3".equals(orderType)){ |
| | | if("1".equals(orderWay)){ |
| | |
| | | }else { |
| | | sql.append(" ORDER BY C.CREATE_TIME "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else{ |
| | | sql.append(" ORDER BY C.TYPE ASC,C.FILE_TYPE,C.FILE_FORMAT,C.CREATE_TIME DESC"); |
| | | } |
| | | |
| | | |
| | | PageInfo info=baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> list= info.getDatas(); |
| | | for(Map map :list){ |
| | |
| | | sqlBuilder.append("UPDATE GG_FILES SET FILE_NAME =:newName WHERE ID=:id"); |
| | | } |
| | | baseDao.execute(sqlBuilder.toString(), params); |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | paramMap.put("pid", pid); |
| | | } |
| | | sql.append(" ORDER BY CREATE_TIME"); |
| | | |
| | | |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(), paramMap); |
| | | for (Map map : categoryList) { |
| | | TreeNode yjTree = new TreeNode(map.get("ID").toString(),map.get("FOLDER_NAME").toString()); |
| | |
| | | paramMap.put("businessId", businessId); |
| | | paramMap.put("createTime", DateUtil.getCurrentDate14()); |
| | | baseDao.execute(saveSql, paramMap); |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return list; |
| | | } |
| | | |
| | |
| | | }else { |
| | | sqlBuilder.append(" ORDER BY A.ORDERNUM "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else if(!StringUtil.isEmpty(orderType)&&"2".equals(orderType)){ |
| | | if("1".equals(orderWay)){ |
| | |
| | | }else { |
| | | sqlBuilder.append(" ORDER BY CAST(A.FILE_SIZE as SIGNED) "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else if(!StringUtil.isEmpty(orderType)&&"3".equals(orderType)){ |
| | | if("1".equals(orderWay)){ |
| | |
| | | }else { |
| | | sqlBuilder.append(" ORDER BY A.CREATE_TIME "); |
| | | } |
| | | |
| | | |
| | | } |
| | | else{ |
| | | sqlBuilder.append(" ORDER BY A.CREATE_TIME DESC"); |
| | |
| | | map.put("FOLDER_NAME", f_name); |
| | | } |
| | | } |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | |
| | | public void docheckFile(Map<String, String> params) { |
| | | String sql="UPDATE GG_FILES SET AUDIT_STATE=:flag WHERE ID=:id"; |
| | | baseDao.execute(sql, params); |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | package cn.ksource.web.facade.health; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_WORKFLOW_CI_HEALTH; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | 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.StringUtil; |
| | | import cn.ksource.core.util.TreeUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.ClientUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | import cn.ksource.web.util.DateParepareUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | @SuppressWarnings("unchecked") |
| | |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t group by FLOWID "); |
| | | builder.append(" ) t group by FLOWID,NODETIME,NODEID,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //工单类型 |
| | |
| | | } |
| | | @Override |
| | | public Map queryContactNameInfo(Map param) { |
| | | |
| | | |
| | | |
| | | String selectSql = "SELECT CONTACT_NAME,YWKS,SUB_CUSTOMER_ID,SUB_CUSTOMER_NAME,CONTACTS_TYPE FROM CUSTOMER_CONTACTS WHERE CONTACT_NAME = :contactName AND CUSTOMER_ID = :customer_id "; |
| | | Map map = baseDao.queryForMap(selectSql,param); |
| | |
| | | String flowstate = params.get("flowstate"); |
| | | if (StringUtil.notEmpty(flowstate)) { |
| | | if (flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | | } else if (flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jdywc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_FINISH)); |
| | | } |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | |
| | | public int queryincidentEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = :type "); |
| | | sqlpart = getEndSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentEndList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | // sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME ,"); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); |
| | | sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB, WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | |
| | | |
| | | sqlpart = getEndSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME , D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int queryincidentJxzCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | sqlpart = getJxzSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentJxzList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.* ,B.STATE ,B.NAME "); |
| | | sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | sqlpart = getJxzSql(sqlpart, params); |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | Map paramMap = new HashMap(); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID, A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if (!StringUtil.isEmpty(customer_Id)) { |
| | | selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | sql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | paramMap.put("customer_Id", customer_Id); |
| | | } |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID, A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); |
| | |
| | | public int queryincidentOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | sqlpart = getOrderNodeSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,"); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | sqlpart = getOrderNodeSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int queryincidentTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | |
| | | sqlpart = getincidentTimeOutSql(sqlpart, params); |
| | |
| | | public PageInfo queryincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.*,B.STATE ,B.NAME "); |
| | | sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | |
| | | sqlpart = getincidentTimeOutSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); |
| | | //查询该人员所属的项目 |
| | | sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.* FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | |
| | | sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | |
| | |
| | | public int querymyincidentEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | |
| | | sqlpart.append(" AND WB.WFSTATE = :state "); |
| | |
| | | public PageInfo querymyincidentEndList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | // sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME ,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME, "); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); |
| | | sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB , WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | |
| | | sqlpart.append(" AND WB.WFSTATE = :state "); |
| | | params.put("state", params.get("type")); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME , WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME, D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("flowstate", type); |
| | | paramMap.put("userId", params.get("userId")); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | |
| | | String customer_Id = params.get("customerId"); |
| | | if (!StringUtil.isEmpty(customer_Id)) { |
| | |
| | | } |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); |
| | |
| | | public int querymyincidentOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("flowstate", params.get("type")); |
| | | sqlpart = getmyodernodeSql(sqlpart, params); |
| | |
| | | public PageInfo querymyincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,C.FLOWSTATE, "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,C.FLOWSTATE, "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | |
| | | sqlpart = getmyodernodeSql(sqlpart, params); |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, C.FLOWSTATE, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int querymyincidentTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | |
| | |
| | | public PageInfo querymyincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, "); |
| | | // sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB WHERE WB.BUSINESS_ID = B.ID "); |
| | | sqlpart.append(" AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); |
| | |
| | | |
| | | } |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME,WB.CREATETIME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | params.put("endTime", endDay + "600000"); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT q "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT q,WORKFLOW_BASE b "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return map; |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | package cn.ksource.web.facade.knowledge; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.GG_USER; |
| | | import cn.ksource.beans.KM_LIBRARY; |
| | | import cn.ksource.beans.KM_LIBRARY_CATEGORY; |
| | | import cn.ksource.beans.KM_LIBRARY_HIT_RECORD; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP; |
| | | import cn.ksource.beans.KM_LIBRARY_TEMP; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | 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.ParamsMapUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.facade.knowledge.knowledgeDeal.KnowledgeDealFacade; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.knowledge.KmRecordService; |
| | | import cn.ksource.web.service.knowledge.KmService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | @Service("kmLibraryFacade") |
| | | public class KmLibraryFacadeImpl implements KmLibraryFacade { |
| | | @Autowired |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private KmService kmService; |
| | | |
| | | |
| | | @Autowired |
| | | private KnowledgeDealFacade knowledgeDealFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private KmRecordService kmRecordService; |
| | | /** |
| | |
| | | String selectSubSql = "SELECT * FROM KM_LIBRARY_CATEGORY WHERE STATE=1 ORDER BY LEVEL,SERIAL,TITLE"; |
| | | List<Map> subCus = baseDao.queryForList(selectSubSql,param); |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : subCus) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(map.get("ID").toString(), map); |
| | | } |
| | | continue; |
| | |
| | | param.put("id", id); |
| | | PageInfo pageInfos = baseDao.queryforSplitPageInfo(pageInfo, selectSql, param); |
| | | if(pageInfos.getDatas().size() > 0){ |
| | | for(Map map:pageInfos.getDatas()){ |
| | | for(Map map:pageInfos.getDatas()){ |
| | | map.put("CREATE_TIME", DateUtil.format("yyyy-MM-dd HH:mm:ss", map.get("CREATE_TIME"))); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return pageInfos; |
| | | } |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public int queryZsflCount(String pId) { |
| | | |
| | | |
| | | String selectSql = "SELECT COUNT(ID) FROM KM_LIBRARY_CATEGORY WHERE 1=1 "; |
| | | if(StringUtil.isEmpty(pId)){ |
| | | selectSql +=" AND (TAG is null or TAG = '') "; |
| | | }else{ |
| | | selectSql +=" AND TAG = :id "; |
| | | } |
| | | |
| | | |
| | | Map param = new HashMap(); |
| | | param.put("id", pId); |
| | | |
| | | int count = baseDao.queryForInteger(selectSql.toString(),param); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 验证分类名称 |
| | | */ |
| | |
| | | @Override |
| | | public void saveknowcategory(Map<String, String> param) { |
| | | KM_LIBRARY_CATEGORY km_library_category = new KM_LIBRARY_CATEGORY(); |
| | | |
| | | |
| | | String level = param.get("LEVEL");//新增使用 |
| | | String tag = param.get("TAG");//新增使用 |
| | | String title = param.get("title"); |
| | |
| | | //String userId = WebUtil.getLoginedUserId(request) ; |
| | | String userId = param.get("userId"); |
| | | String userName = ConvertUtil.obj2Str(param.get("userName")); |
| | | |
| | | |
| | | if (StringUtils.isBlank(id)) {//new |
| | | km_library_category.setCreate_user_id(userId); |
| | | km_library_category.setCreate_user_name(userName); |
| | |
| | | } |
| | | km_library_category.setCreate_time(DateUtil.getCurrentDate14()); |
| | | km_library_category.setState(1); |
| | | km_library_category.setLevel((Integer.parseInt(level)+1)); |
| | | km_library_category.setLevel((Integer.parseInt(level)+1)); |
| | | }else{ |
| | | km_library_category.setId(id); |
| | | } |
| | | km_library_category.setTitle(title); |
| | | km_library_category.setNote(note); |
| | | km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); |
| | | km_library_category.setSerial(ConvertUtil.obj2Integer(serial)); |
| | | km_library_category.insertOrUpdate(); |
| | | |
| | | |
| | | } |
| | | /** |
| | | * 修改顺序号 |
| | |
| | | Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 验证知识分类可否禁用 |
| | | * @param id |
| | |
| | | Integer count = baseDao.queryForInteger(sql, new SqlParameter("id",id)); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * |
| | | * @param p_id |
| | | * @return |
| | | */ |
| | |
| | | paramList.add(map4); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | String sql = "update KM_LIBRARY_CATEGORY set STATE=:state where ID=:id"; |
| | | baseDao.executeBatch(sql, paramList); |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public int getMyCreateKnowCount(Map<String, String> params) { |
| | |
| | | sql.append(" ) K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); |
| | | queryMyCreateKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.AUDIT_STATE ASC,K.CREATE_TIME DESC"); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyCreateKnowIf(Map<String, String> params, |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | public int getMyEditKnowCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(K.ID) FROM ( "); |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | queryMyEditKnowIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | |
| | | @Override |
| | | public PageInfo getMyEditKnowData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM ( "); |
| | | |
| | | |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | |
| | | |
| | | queryMyEditKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.UPDATE_DATE DESC"); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyEditKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND k.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND k.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | private void queryMyFavKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND k.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND k.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | } |
| | | @Override |
| | | public PageInfo getMyKnowData(Map<String, String> params, PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | queryMyKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryMyDshKnowCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY_TEMP K WHERE K.STATE=1 AND K.CREATE_USER_ID=:loginUserId "); |
| | | queryMyDshKnowIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo queryMyDshKnowData(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | |
| | | sql.append(" ORDER BY K.AUDIT_STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | private void queryMyDshKnowIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | } |
| | | @Override |
| | | public int updatestate(String id,String state) { |
| | | |
| | | |
| | | KM_LIBRARY library = new KM_LIBRARY(id); |
| | | if("1".equals(state)){ |
| | | library.setState(2); |
| | |
| | | } |
| | | } |
| | | Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); |
| | | |
| | | |
| | | km_library.setFirst_knowcategory_id(first_knowcategory_id).setFirst_knowcategory_name(first_knowcategory_name) |
| | | .setSecond_knowcategory_id(second_knowcategory_id).setSecond_knowcategory_name(second_knowcategory_name) |
| | | .setCategory_id(categoryid).setCategory_name(category_name) |
| | |
| | | .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) |
| | | .setThird_category_id(third_category_id).setThird_category_name(third_category_name) |
| | | .setAccess_type(access_type); |
| | | |
| | | |
| | | km_library.insertOrUpdate(); |
| | | //添加用户权限信息 |
| | | String cusId = request.getParameter("cusId"); |
| | |
| | | access.setKnowledge_id(km_library.getId()).setCustomer_id(cusIdArray[i]).setCustomer_name(cusListArray[i]).insert(); |
| | | } |
| | | } |
| | | |
| | | |
| | | //添加关联知识 |
| | | //删除已存在的关联知识 |
| | | baseDao.execute("DELETE FROM KM_LIBRARY_KNOWLEDGE WHERE LIBRARY_ID = :business_id ", new SqlParameter("business_id",km_library.getId())); |
| | |
| | | } |
| | | fileService.uploadFile(request,km_library.getFile_id(),Constants.GG_FOLDERS_KNOWFOLDERS,Constants.FILE_STATE_SHTG,null); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getMyKnowCxCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT K.ID) FROM KM_LIBRARY K WHERE 1=1 "); |
| | | queryMyKnowCxIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageInfo getMyKnowCxData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | queryMyKnowCxIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | private void queryMyKnowCxIf(Map<String, String> params, StringBuilder sql) { |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | |
| | | @Override |
| | | public void deleteMyLibraryFavorite(String userId, String libraryId) { |
| | | String sql = "delete from KM_LIBRARY_FAVORITE where LIBRARY_ID=:library_id and CREATE_USER_ID=:user_id "; |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter("library_id", libraryId); |
| | | param.addValue("user_id", userId); |
| | | |
| | | |
| | | baseDao.execute(sql, param); |
| | | } |
| | | @Override |
| | |
| | | KM_LIBRARY_HIT_RECORD record = new KM_LIBRARY_HIT_RECORD(); |
| | | record.setLibrary_id(libraryId).setCreate_user_id(userId).setCreate_time(DateUtil.getCurrentDate14()).insert(); |
| | | String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; |
| | | |
| | | |
| | | baseDao.execute(sqlupd, param); |
| | | }/*如果同一账号点击过,不再增加点击数 |
| | | else{ |
| | | String sqlupd = "update KM_LIBRARY set HITS=HITS+1 where ID=:libraryId "; |
| | | |
| | | |
| | | baseDao.execute(sqlupd, param); |
| | | }*/ |
| | | return baseDao.queryForInteger("select HITS FROM KM_LIBRARY WHERE ID=:id",new SqlParameter("id",libraryId)); |
| | |
| | | params.put("type", ConvertUtil.obj2StrBlank(Constants.KM_SCORE_RULE_TYPE_ZJ)); |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | return 1; |
| | | } |
| | | @Override |
| | |
| | | @Override |
| | | public PageInfo getMyKnowTypeData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | |
| | | |
| | | StringBuilder sql = getknowtypesql(params); |
| | | sql.append(" ORDER BY A.UPDATE_DATE DESC "); |
| | | |
| | | |
| | | PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | List<Map> datas = info.getDatas(); |
| | | if(datas.size()>0){ |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | } |
| | | } |
| | | info.setDatas(datas); |
| | | |
| | | |
| | | return info; |
| | | } |
| | | |
| | | |
| | | public StringBuilder getknowtypesql(Map<String, String> params){ |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | StringBuilder sql = new StringBuilder("SELECT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | String sl = params.get("sl"); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String know = params.get("know"); |
| | | if(StringUtil.notEmpty(know)) { |
| | | String[] knows = know.split(","); |
| | |
| | | sql.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String ci = params.get("ci"); |
| | | if(StringUtil.notEmpty(ci)) { |
| | | String[] cis = ci.split(","); |
| | |
| | | sql.append(" AND K.TITLE like :title "); |
| | | params.put("title", "%" + title + "%"); |
| | | } |
| | | |
| | | |
| | | if (!StringUtil.isEmpty(keyword)) { |
| | | sql.append(" AND K.TAG like :keyword "); |
| | | params.put("keyword", "%" + keyword + "%"); |
| | | } |
| | | |
| | | |
| | | if(!StringUtil.isEmpty(type)){ |
| | | if(ConvertUtil.obj2Integer(type)==Constants.KM_SCORE_RULE_TYPE_ZJ ){ |
| | | sql.append(" AND A.IS_TOP = 1 "); |
| | |
| | | sql.append(" AND B.TYPE = :type "); |
| | | } |
| | | } |
| | | |
| | | |
| | | return sql; |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public int getMyKnowJfCount(Map<String, String> params) { |
| | |
| | | cacheMap.put(map.get("TYPE"),score); |
| | | } |
| | | if(cacheMap.size() != 0){ |
| | | |
| | | |
| | | if(user.getKm_score() < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ |
| | | msg.put("DQDJ", ""); |
| | | msg.put("XYDJ", Constants.getmapKM_EXPERT_LEVEL_RULE_TYPE_Label(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)); |
| | |
| | | params.put("name", "%"+name+"%"); |
| | | } |
| | | if(!StringUtil.isEmpty(type)){ |
| | | |
| | | |
| | | if(ConvertUtil.obj2Integer(type) == Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ){ |
| | | sql.append(" AND KM_SCORE >=:score1 AND KM_SCORE< :score2 "); |
| | | params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ)) ); |
| | |
| | | params.put("score1",ConvertUtil.obj2StrBlank(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_ZSZJ)) ); |
| | | } |
| | | } |
| | | |
| | | |
| | | sql.append(" ORDER BY KM_SCORE DESC "); |
| | | List<Map> userList = baseDao.queryForList(sql.toString(),params); |
| | | |
| | | |
| | | |
| | | |
| | | for(Map map:userList){ |
| | | if(StringUtil.isEmpty(ConvertUtil.obj2StrBlank(map.get("KM_SCORE")))){ |
| | | map.put("KM_SCORE", 0); |
| | | } |
| | | int score = ConvertUtil.obj2Int(map.get("KM_SCORE")); |
| | | if(cacheMap.size()!=0){ |
| | | |
| | | |
| | | |
| | | |
| | | if(score < ConvertUtil.obj2Int(cacheMap.get(Constants.KM_EXPERT_LEVEL_RULE_TYPE_CJZJ))){ |
| | | map.put("DQDJ", ""); |
| | | map.put("djtype", ""); |
| | |
| | | public PageInfo knowZjhyData(PageInfo pageInfo, Map<String, String> params) { |
| | | String userId = params.get("userId"); |
| | | String type = params.get("type"); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.*,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.ID,A.TITLE,A.TAG,A.CATEGORY_ID,A.CATEGORY_NAME,A.CREATE_USER_ID,A.CREATE_USER_NAME,A.CREATE_TIME,A.STATE,A.VERSION,A.HITS,A.IS_EDITOR,A.THIRDLEVEL_NAME,A.THIRDLEVEL_ID,A.FIRST_CATEGORY_ID,A.FIRST_CATEGORY_NAME,A.SECOND_CATEGORY_ID,A.SECOND_CATEGORY_NAME,A.THIRD_CATEGORY_ID,A.THIRD_CATEGORY_NAME,A.UPDATE_DATE,A.UPDATER_ID,A.UPDATE_NAME,A.SECOND_KNOWCATEGORY_ID,A.SECOND_KNOWCATEGORY_NAME,A.FIRST_KNOWCATEGORY_ID,A.FIRST_KNOWCATEGORY_NAME,A.SECONDLEVEL_NAME,A.SECONDLEVEL_ID,A.FIRSTLEVEL_NAME,A.FIRSTLEVEL_ID,A.ACCESS_TYPE,A.FILE_ID,A.IS_ESSENCE,A.IS_TOP,A.AUDIT_USERID,A.AUDIT_USERNAME,A.AUDIT_USERNAME,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | if(!StringUtil.isEmpty(userId)){ |
| | | sql.append(" AND B.USER_ID = :userId "); |
| | | } |
| | |
| | | } |
| | | List<Map> filesList = baseDao.queryForList("SELECT * FROM GG_FILES"); |
| | | Map cachefile = new HashMap(); |
| | | |
| | | |
| | | for(Map file:filesList){ |
| | | if(!cachefile.containsKey(file.get("BUSINESS_ID"))){ |
| | | cachefile.put(file.get("BUSINESS_ID"), file); |
| | |
| | | if(count == 0){ |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public void savezanLibrary(Map<String, String> params) { |
| | |
| | | if(count == 0){ |
| | | kmRecordService.addrecord(params); |
| | | } |
| | | |
| | | |
| | | } |
| | | @Override |
| | | public Map getTempKnowledgeById(String id) { |
| | | |
| | | |
| | | Map knowMap = new KM_LIBRARY_TEMP(id).getBeanMapById(); |
| | | List<Map> knowList = baseDao.queryForList("SELECT B.* FROM KM_LIBRARY_KNOWLEDGE_TEMP A,KM_LIBRARY B WHERE A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID = :business_id ", new SqlParameter("business_id",id)); |
| | | knowMap.put("knowList", knowList); |
| | |
| | | //文件 |
| | | List<Map> fileList = fileService.getFileList(ConvertUtil.obj2StrBlank(knowMap.get("ID"))); |
| | | knowMap.put("fileList", fileList); |
| | | return knowMap; |
| | | return knowMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map saveAgainUpdate(HttpServletRequest request, |
| | | KM_LIBRARY_TEMP km_library_temp) { |
| | |
| | | resultMap.put("result", 2); |
| | | String id = request.getParameter("id"); |
| | | KM_LIBRARY_TEMP temp = new KM_LIBRARY_TEMP(id).getInstanceById(); |
| | | |
| | | |
| | | String serivceListId = request.getParameter("serivceListId"); |
| | | String serivceList = request.getParameter("serivceList"); |
| | | String category_id = request.getParameter("category_id"); |
| | |
| | | } |
| | | } |
| | | Integer access_type = ConvertUtil.obj2Integer(request.getParameter("isKj")); |
| | | |
| | | |
| | | temp.setFirst_knowcategory_id(first_knowcategory_id).setFirst_knowcategory_name(first_knowcategory_name) |
| | | .setSecond_knowcategory_id(second_knowcategory_id).setSecond_knowcategory_name(second_knowcategory_name) |
| | | .setCategory_id(categoryid).setCategory_name(category_name) |
| | |
| | | .setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) |
| | | .setThird_category_id(third_category_id).setThird_category_name(third_category_name) |
| | | .setAccess_type(access_type); |
| | | |
| | | |
| | | //待审核 |
| | | Integer auditState = Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH; |
| | | Map shuser = knowledgeDealFacade.getSpMap(categoryid); |
| | |
| | | //更新共同的部分 |
| | | temp.setTitle(km_library_temp.getTitle()).setTag(km_library_temp.getTag()).setSummary(km_library_temp.getSummary()) |
| | | .setContent(km_library_temp.getContent()).setAudit_userid(shId).setAudit_username(shName).setUpdate_date(DateUtil.getCurrentDate14()).setAudit_state(Constants.KM_LIBRARY_TEMP_AUDIT_STATE_DSH).update(); |
| | | |
| | | |
| | | //添加用户权限信息 |
| | | String cusId = request.getParameter("cusId"); |
| | | String cusList = request.getParameter("cusList"); |
| | |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | @Service("questionFacade") |
| | | public class QuestionFacadeImpl implements QuestionFacade { |
| | | |
| | | |
| | | @Autowired |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private RecordService recordService; |
| | | |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkOrderCodeService workOrderCodeService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkflowBusinessService workflowBusinessService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkflowCoreService workflowCoreService; |
| | | |
| | | |
| | | @Autowired |
| | | private MessageFacade messageFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private DataDictionaryService dataDictionaryService; |
| | | |
| | | |
| | | @Override |
| | | public Map getQuestionMsgByOrderId(HttpServletRequest request) { |
| | | String orderId = request.getParameter("changeId"); |
| | |
| | | @Override |
| | | public Map saveQuestion(HttpServletRequest request, |
| | | SC_WORKFLOW_QUESTION sc_workflow_question) { |
| | | |
| | | |
| | | String changeId = request.getParameter("changeId"); |
| | | String bustype = request.getParameter("bustype"); |
| | | Map resultMap = new HashMap(); |
| | |
| | | String bz = request.getParameter("bz"); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | String serivceListId = request.getParameter("serivceListId"); |
| | | String serivceList = request.getParameter("serivceList"); |
| | | String first_category_id = new String(); |
| | |
| | | String second_category_name = new String(); |
| | | String third_category_id = new String(); |
| | | String third_category_name = new String(); |
| | | |
| | | |
| | | if(StringUtil.notEmpty(serivceListId) && StringUtil.notEmpty(serivceList)) { |
| | | String[] serivceListIds = serivceListId.split("-"); |
| | | String[] serivceLists = serivceList.split("->"); |
| | |
| | | nextnodeid = userMsg[1]; |
| | | dealUserId = userMsg[2]; |
| | | dealUserName = userMsg[3]; |
| | | |
| | | |
| | | if(nextnodeid.equals(Constants.WTSL)) { |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_SL; |
| | | } else if(nextnodeid.equals(Constants.WTSH)) { |
| | |
| | | }else{ |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; |
| | | } |
| | | |
| | | |
| | | String sla_id = request.getParameter("sla_id"); |
| | | String sla_name = request.getParameter("sla_name"); |
| | | String order_code = workOrderCodeService.getQuestionOrderCode(); |
| | |
| | | sc_workflow_question.setCreate_user_id(userId).setCreate_user_name(userName).setCreate_time(createTime); |
| | | sc_workflow_question.setOrder_code(order_code); |
| | | } |
| | | |
| | | |
| | | sc_workflow_question.setState(ConvertUtil.obj2Integer(state)).setFlow_name(sc_workflow_question.getName()).insertOrUpdate(); |
| | | |
| | | |
| | | //获取当前所处的节点 |
| | | Map flowMsg = getFlowMsg(flowId,userId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | | String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); |
| | | if("1".equals(sh)){ |
| | | |
| | | |
| | | //增加问题处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("修改问题:"+userName+"修改了问题信息"); |
| | |
| | | record.setNode_id(nodeid).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if(!"1".equals(sh)){ |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(); |
| | | if(!"2".equals(sh)){ |
| | |
| | | recordService.addRecord(record); |
| | | flowId = base.getId(); |
| | | }else{ |
| | | |
| | | |
| | | base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title(userName+"完成了节点"); |
| | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | | //关闭当前节点 |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | List<Map> userMap = new ArrayList(); |
| | | if("2".equals(sh)){ |
| | |
| | | dealer_type = getDealUser(entity,flowId,dealer_type,userMap,dealUserId,dealUserName); |
| | | } |
| | | workflowCoreService.toNode(base,nextnodeid , entity); |
| | | |
| | | |
| | | String hasMsg = request.getParameter("hasMsg"); |
| | | /*if(StringUtil.notEmptyNum(hasMsg) && hasMsg.equals("2")) { |
| | | //保存联系人的信息 |
| | |
| | | .setType(Constants.GG_MESSAGE_TYPE_WTGL); |
| | | messageFacade.doSendMessage(message, userMap); |
| | | resultMap.put("result", 1); |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | String usertype = "1"; |
| | | if("1".equals(dealer_type)){ |
| | |
| | | } else if(nextnodeid.equals(Constants.WTSH)) { |
| | | baseDao.execute("UPDATE WORKFLOW_PARAMETER SET PVALUE=:PVALUE WHERE WORKFLOWID = :WORKFLOWID AND PNAME = :PNAME ", paramuser); |
| | | } |
| | | |
| | | |
| | | Map paramrecord = new HashMap(); |
| | | paramrecord.put("flowId", flowId); |
| | | //提交工单时添加关联工单 |
| | |
| | | baseDao.execute("DELETE FROM ORDER_REF_ORDER WHERE BUSINESS_ID = :flowId ", paramrecord); |
| | | String[] orderId = request.getParameterValues("orderId"); |
| | | orderService.saveLinkOrders(flowId,orderId,request); |
| | | |
| | | |
| | | //提交工单时上传文档附件 |
| | | fileService.uploadFile(request,flowId,flowId,null,null,Constants.GG_FOLDERS_WTFOLDERS,Constants.FILE_STATE_SHTG,null); |
| | | |
| | | |
| | | |
| | | |
| | | //提交工单时添加关联设备 |
| | | //先删除已存在的设备 |
| | | baseDao.execute("DELETE FROM CMDB_CI_REF_ORDER WHERE FLOW_ID = :flowId ", paramrecord); |
| | |
| | | zcyw.setQuestionid(sc_workflow_question.getId()).update(); |
| | | } |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | resultMap.put("nouser", "1"); |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | public String getDealUser(NodeDealEntity entity,String flowId,String dealer_type,List<Map> userMap,String dealUserId,String dealUserName) { |
| | | Map param = new HashMap(); |
| | | param.put("ID", StringUtil.getUUID()); |
| | | param.put("WORKFLOWID", flowId); |
| | | param.put("PNAME", "处理人"); |
| | | |
| | | |
| | | entity.setDealer_type(3); |
| | | if(dealer_type.equals("1")||dealer_type.equals("3")) { |
| | | entity.setBefore_Dealer_type(2); |
| | |
| | | map.put("USER_ID", userList2[i]); |
| | | map.put("USER_NAME", cacheuser.get(userList2[i])); |
| | | } |
| | | |
| | | |
| | | userMap.add(map); |
| | | } |
| | | dealer_type = "2"; |
| | |
| | | dealer_type = "1"; |
| | | } |
| | | entity.setDealerList(userMap); |
| | | |
| | | |
| | | baseDao.execute("INSERT INTO WORKFLOW_PARAMETER(ID,WORKFLOWID,PNAME,PVALUE) VALUES(:ID,:WORKFLOWID,:PNAME,:PVALUE)", param); |
| | | return dealer_type; |
| | | } |
| | |
| | | @Override |
| | | public Map queryQuestionCount(HttpServletRequest request) { |
| | | //初始化变量 |
| | | |
| | | |
| | | //问题受理响应中 |
| | | int wtsldxy = 0; |
| | | //问题受理处理中 |
| | | int wtslclz = 0; |
| | | |
| | | |
| | | //问题审核待响应 |
| | | int wtshdxy = 0; |
| | | //问题审核处理中 |
| | | int wtshclz = 0; |
| | | |
| | | |
| | | //问题诊断待响应 |
| | | int wtzddxy = 0; |
| | | //问题诊断处理中 |
| | | int wtzdclz = 0; |
| | | |
| | | |
| | | |
| | | |
| | | //方案审批待响应 |
| | | int faspdxy = 0; |
| | | //方案审批处理中 |
| | | int faspclz = 0; |
| | | |
| | | |
| | | //方案实施待响应 |
| | | int fassdxy = 0; |
| | | //方案实施处理中 |
| | | int fassclz = 0; |
| | | |
| | | |
| | | //问题回顾待响应 |
| | | int wthgdxy = 0; |
| | | //问题回顾处理中 |
| | | int wthgclz = 0; |
| | | |
| | | |
| | | //已完成 |
| | | int ywc = 0; |
| | | //进行中 |
| | | int jxz = 0; |
| | | |
| | | |
| | | StringBuffer selectSql = new StringBuffer(); |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,A.STATE,C.FLOWSTATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B LEFT JOIN WORKFLOW_NODE C ON B.ID = C.FLOWID AND B.CURRENT_NODE_ID = C.ID WHERE A.ID = B.BUSINESS_ID AND C.FLOWSTATE is not null "); |
| | | sql.append("SELECT COUNT(ID) FROM SC_WORKFLOW_QUESTION WHERE STATE != :yjj AND STATE !=:gb AND STATE != :ypj "); |
| | |
| | | sql.append(" AND CUSTOMER_ID = :customerId "); |
| | | paramMap.put("customerId", customerId); |
| | | } |
| | | |
| | | |
| | | paramMap.put("flowstate", 3); |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.STATE,C.FLOWSTATE "); |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); |
| | | if(null!=list && list.size()>0) { |
| | |
| | | } |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ |
| | | faspdxy += num; |
| | |
| | | } |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ |
| | | fassdxy += num; |
| | |
| | | } |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | if(flowstate == Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE){ |
| | | wthgdxy += num; |
| | |
| | | } |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_YWC)) { |
| | | ywc += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_YPJ)) { |
| | | ywc += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | Map map = new HashMap(); |
| | | map.put("wtsldxy", wtsldxy); |
| | | map.put("wtslclz", wtslclz); |
| | | |
| | | |
| | | map.put("wtshdxy", wtshdxy); |
| | | map.put("wtshclz", wtshclz); |
| | | |
| | | |
| | | map.put("wtzddxy", wtzddxy); |
| | | map.put("wtzdclz", wtzdclz); |
| | | |
| | | |
| | | map.put("faspdxy", faspdxy); |
| | | map.put("faspclz", faspclz); |
| | | |
| | | |
| | | map.put("fassdxy", fassdxy); |
| | | map.put("fassclz", fassclz); |
| | | |
| | | |
| | | map.put("wthgdxy", wthgdxy); |
| | | map.put("wthgclz", wthgclz); |
| | | |
| | | |
| | | //查询该加盟商未完成的事件 |
| | | |
| | | |
| | | paramMap.put("yjj", Constants.SC_WORKFLOW_QUESTION_STATE_YWC); |
| | | paramMap.put("gb", Constants.SC_WORKFLOW_QUESTION_STATE_YGB); |
| | | paramMap.put("ypj", Constants.SC_WORKFLOW_QUESTION_STATE_YPJ); |
| | | |
| | | |
| | | |
| | | |
| | | jxz = baseDao.queryForInteger(sql.toString(),paramMap); |
| | | |
| | | |
| | | map.put("ywc", ywc); |
| | | map.put("jxz", jxz); |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | |
| | | public int queryQuestionOrderCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | |
| | | |
| | | sql.append("SELECT COUNT(WB.ID) FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB LEFT JOIN WORKFLOW_NODE C ON C.FLOWID = WB.ID AND WB.CURRENT_NODE_ID = C.ID AND C.FLOWSTATE <> 3 "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType "); |
| | | sqlpart = getOrderSql(sqlpart,params); |
| | | sql.append(sqlpart); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo queryQuestionOrderList(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE,C.FLOWSTATE , "); |
| | |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | sqlpart = getOrderSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getOrderSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | String customerid = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerid)) { |
| | | sqlpart.append(" AND B.CUSTOMER_ID = :customerId "); |
| | | } |
| | | |
| | | |
| | | String subCustomerId = params.get("subCustomerId"); |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | params.put("subCustomerId", subCustomerId); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sqlpart.append( " AND C.FLOWSTATE = :flowstate "); |
| | | params.put("flowstate", state[1]); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | return sqlpart; |
| | | } |
| | |
| | | public int queryMyQuestionCount(Map<String, String> params) { |
| | | StringBuilder builder = new StringBuilder(); |
| | | params.put("ysc",ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | |
| | | |
| | | /** |
| | | * 查询逻辑 |
| | | * 1.如果节点状态选择为全部,则查询节点表中处理人是我的,或者处理角色是我的并且没有分配处理人的, |
| | |
| | | * 3.如果节点状态选择为进行中,则查询节点表中处理人是我的 (不需要过滤,因为一个工单进行中节点,只会有一个) |
| | | * 4.如果节点状态查询未已处理,则查询节点表中处理人是我的,需要过滤(因为一个节点一个人可以处理多次,通过节点表作为主表查询出来的工单会有重复) |
| | | */ |
| | | |
| | | |
| | | String flowstate = params.get("flowstate"); |
| | | if(StringUtil.notEmpty(flowstate)) { |
| | | if(flowstate.equals("1")) { |
| | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | | |
| | | |
| | | builder = getMyquestionSql(builder,params); |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | StringBuilder newBuild = new StringBuilder(); |
| | | newBuild.append("SELECT COUNT(*) FROM ( "); |
| | | newBuild.append(builder.toString()); |
| | | newBuild.append(") E"); |
| | | |
| | | |
| | | return baseDao.queryForInteger(newBuild.toString(),params); |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo queryMyQuestionData(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询逻辑 |
| | | * 1.如果节点状态选择为全部,则查询节点表中处理人是我的,或者处理角色是我的并且没有分配处理人的, |
| | |
| | | * 3.如果节点状态选择为进行中,则查询节点表中处理人是我的 (不需要过滤,因为一个工单进行中节点,只会有一个) |
| | | * 4.如果节点状态查询未已处理,则查询节点表中处理人是我的,需要过滤(因为一个节点一个人可以处理多次,通过节点表作为主表查询出来的工单会有重复) |
| | | */ |
| | | |
| | | |
| | | String flowstate = params.get("flowstate"); |
| | | if(StringUtil.notEmpty(flowstate)) { |
| | | if(flowstate.equals("1")) { |
| | | builder.append(" SELECT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,A.FLOWSTATE,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID,C.STATE FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_QUESTION C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | |
| | | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.FLOWSTATE = :jddcl "); |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | | builder = getMyquestionSql(builder,params); |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | String pageSize = pageInfo.getPageSize(); |
| | | String currPage = pageInfo.getCurrPage(); |
| | | if(!StringUtil.notEmptyNum(pageSize)){ |
| | |
| | | } |
| | | int begin = Integer.valueOf(currPage); |
| | | int size = Integer.valueOf(pageSize); |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(flowstate)) { |
| | | builder.append( " ORDER BY D.FLOWSTATE,D.CREATETIME DESC" ); |
| | | List<Map> result = baseDao.queryForList(builder.toString(),params); |
| | |
| | | list.add(flowId); |
| | | } |
| | | } |
| | | |
| | | |
| | | if(cacheMap.size()>0) { |
| | | for(String str : list) { |
| | | resultList.add(cacheMap.get(str)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | int infoCount = resultList.size(); |
| | | int bin = (begin-1)* size ; |
| | | int end = (begin-1)* size + size; |
| | |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | |
| | | public StringBuilder getMyquestionSql(StringBuilder builder,Map<String, String> params){ |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | |
| | | builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | params.put("subCustomerId", subCustomerId); |
| | | } |
| | | |
| | | |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | builder.append(" AND D.WFSTATE = :status "); |
| | | params.put("status", status); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | builder.append(" AND D.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String hjName = params.get("hjName"); |
| | | if(StringUtil.notEmpty(hjName)) { |
| | | builder.append(" AND D.CURRENT_NODE_NAME LIKE :hjName "); |
| | | params.put("hjName", "%"+hjName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND D.ORDER_CODE LIKE :orderCode"); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | builder.append(" AND D.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | } |
| | | return builder; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryLevel(String priority_id, String influence_id,String customerId) { |
| | | |
| | | |
| | | String selectSql = "SELECT LEVEL_ID,LEVEL_NAME FROM SC_SLA_LEVEL_CONFIG WHERE INFLUENCE_ID = :influence_id AND PRIORITY_ID = :priority_id AND CUSTOMER_ID = :customerId"; |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("influence_id", influence_id); |
| | |
| | | Map levelMap = baseDao.queryForMap(selectSql,paramMap); |
| | | return levelMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getFlueNode(HttpServletRequest request) { |
| | | String flowId = request.getParameter("flowId"); |
| | |
| | | } else { |
| | | currentNode = Constants.WTFQ; |
| | | } |
| | | |
| | | |
| | | //查询当前节点能发送的节点 |
| | | String selectSql = "SELECT * FROM QUESTION_FLOWRULE WHERE CUSTOMER_ID = :customer_id"; |
| | | List<Map> list = baseDao.queryForList(selectSql,new SqlParameter("customer_id",customer_id)); |
| | | Map prom = new HashMap(); |
| | | if(null!=list && list.size()>0) { |
| | | prom = list.get(0); |
| | | |
| | | |
| | | String json = ConvertUtil.obj2StrBlank(prom.get(Constants.questionNodeColunm.get(currentNode))); |
| | | List<Map> nodes = JsonUtil.json2List(json); |
| | | return nodes; |
| | | |
| | | |
| | | }else{ |
| | | String gsSql = "SELECT * FROM QUESTION_FLOWRULE WHERE (CUSTOMER_ID IS NULL OR CUSTOMER_ID = '')"; |
| | | List<Map> gslist = baseDao.queryForList(gsSql); |
| | | if(null!=gslist && gslist.size()>0){ |
| | | prom = gslist.get(0); |
| | | |
| | | |
| | | String json = ConvertUtil.obj2StrBlank(prom.get(Constants.questionNodeColunm.get(currentNode))); |
| | | List<Map> nodes = JsonUtil.json2List(json); |
| | | return nodes; |
| | |
| | | } |
| | | return new ArrayList<Map>(); |
| | | } |
| | | |
| | | |
| | | public Map getCurrentNode(String flowId) { |
| | | String selectSql = "SELECT B.NODE_TEMPLATE_ID FROM WORKFLOW_BASE A,WORKFLOW_NODE B WHERE A.CURRENT_NODE_ID = B.ID AND A.ID = :id"; |
| | | return baseDao.queryForMap(selectSql,new SqlParameter("id",flowId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getZdyGroupList(HttpServletRequest request) { |
| | | String customer_id = request.getParameter("customer_id"); |
| | |
| | | map.put("userlist", userName.deleteCharAt(userName.lastIndexOf(","))); |
| | | map.put("useridlist", userId.deleteCharAt(userId.lastIndexOf(","))); |
| | | } |
| | | |
| | | |
| | | } |
| | | return groupList; |
| | | } |
| | |
| | | public List<Map> groupuser(String groupId) { |
| | | String usersql = "SELECT * FROM CUSTOM_GROUP WHERE GROUP_ID = :group_id"; |
| | | List<Map> groupuser = baseDao.queryForList(usersql, new SqlParameter("group_id",groupId)); |
| | | |
| | | |
| | | return groupuser; |
| | | } |
| | | |
| | | @Override |
| | | public Map usersbyGroup(HttpServletRequest request) { |
| | | Map main = new HashMap(); |
| | | Map main = new HashMap(); |
| | | String groupId = request.getParameter("groupId"); |
| | | String customer_id = request.getParameter("customer_id"); |
| | | String usersql = "SELECT * FROM CUSTOM_GROUP WHERE ID = :group_id"; |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | List<Map> cateList = new ArrayList<Map>(); |
| | | List<Map> userList = new ArrayList<Map>(); |
| | | |
| | | |
| | | sql.setLength(0); |
| | | sql.append(" select G.ID ,G.ROLENAME from AC_USER_REF_ROLE U,AC_ROLE G WHERE G.ID = U.JSBH AND G.STATE=1 GROUP BY G.ID ORDER BY G.ID"); |
| | | cateList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | sql.setLength(0); |
| | | sql.append(" select U.JSBH,G.ROLENAME,D.ID,D.ZSXM from AC_USER_REF_ROLE U,AC_ROLE G,GG_USER D WHERE G.ID = U.JSBH AND U.YHBH = D.ID AND D.ZT = 1 AND G.STATE=1 ORDER BY D.ID"); |
| | | userList = baseDao.queryForList(sql.toString(),param); |
| | |
| | | } |
| | | tempList.add(userMap); |
| | | } |
| | | |
| | | |
| | | } |
| | | tempMap.put("dataList", tempList); |
| | | resList.add(tempMap); |
| | |
| | | String groupId = request.getParameter("groupId"); |
| | | String customer_id = request.getParameter("customer_id"); |
| | | String groupname = request.getParameter("name"); |
| | | //人员 |
| | | String[] user = request.getParameterValues("users"); |
| | | //人员 |
| | | String[] user = request.getParameterValues("users"); |
| | | //主要负责人 |
| | | String userMain = request.getParameter("userid"); |
| | | |
| | | |
| | | String sqluser = "SELECT * FROM GG_USER "; |
| | | List<Map> userList = baseDao.queryForList(sqluser); |
| | | Map cacheuser = new HashMap(); |
| | |
| | | cacheuser.put(users.get("ID"), users.get("ZSXM")); |
| | | } |
| | | List<Map> list = new ArrayList<Map>(); |
| | | |
| | | |
| | | Map cacheMap = new HashMap(); |
| | | |
| | | |
| | | for(int i=0;i<user.length;i++){ |
| | | String userId = user[i]; |
| | | if(!cacheMap.containsKey(userId)) { |
| | |
| | | .setCreate_time(DateUtil.getCurrentDate14()); |
| | | } |
| | | group.insertOrUpdate(); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 通过orderid获取流程信息 |
| | | */ |
| | |
| | | String selectSql = "SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowId AND CURRENT_DEALER_ID = :userId AND FLOWSTATE <> 3 "; |
| | | return baseDao.queryForMap(selectSql,new SqlParameter("flowId",flowId).addValue("userId", userId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryQuestionBaseMsg(String orderId) { |
| | | String selectSql = "SELECT A.*,B.WFSTATE,N.ANSWER_TIME,B.BUSINESSTYPE,B.CURRENT_DEALER_ID clr FROM SC_WORKFLOW_QUESTION A LEFT JOIN WORKFLOW_BASE B ON A.ID = B.BUSINESS_ID LEFT JOIN WORKFLOW_NODE N ON B.CURRENT_NODE_ID = N.ID WHERE A.ID = :orderId "; |
| | |
| | | |
| | | return baseMap; |
| | | } |
| | | |
| | | @Override |
| | | |
| | | @Override |
| | | public String anwerSubmit(HttpServletRequest request){ |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(request.getParameter("flowId")).getInstanceById(); |
| | | |
| | | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(request.getParameter("nodeId")).getInstanceById(); |
| | | NodeAnswerEntity entity = new NodeAnswerEntity(); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | entity.setUser_id(user.get("ID").toString()); |
| | | entity.setUser_name(user.get("ZSXM").toString()); |
| | |
| | | Map map = baseDao.queryForMap(selectSql,new SqlParameter("questionid",base.getBusiness_id())); |
| | | String shouli_time = ConvertUtil.obj2StrBlank(map.get("SHOULI_TIME")); |
| | | long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | |
| | | |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(shouli_time)) { |
| | | StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_QUESTION SET "); |
| | | long answer_time = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | builder.append(" SHOULI_USERID = :shouli_userid,SHOULI_USERNAME = :shouli_username,SHOULI_TIME = :answerTime,SHOULI_USE_TIME = :answer_user_time "); |
| | | paramMap.put("answerTime",answer_time); |
| | | paramMap.put("shouli_userid",user.get("ID")); |
| | | paramMap.put("shouli_username",user.get("ZSXM")); |
| | | |
| | | |
| | | //计算第一次响应时间和创建问题的时间差 将时间差转化为分钟 |
| | | long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); |
| | | //将秒转化为分钟 |
| | | double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); |
| | | |
| | | |
| | | paramMap.put("answer_user_time", sjxysj); |
| | | |
| | | |
| | | builder.append(" WHERE ID = :questionid"); |
| | | paramMap.put("questionid", base.getBusiness_id()); |
| | | baseDao.execute(builder.toString(), paramMap); |
| | | } |
| | | return "1"; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateQuestion(HttpServletRequest request, |
| | | SC_WORKFLOW_QUESTION sc_workflow_question) { |
| | |
| | | sc_workflow_question.setPri_level_id(sla_id).setPri_level(sla_name); |
| | | sc_workflow_question.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id) |
| | | .setSecond_category_name(second_category_name).setThird_category_id(third_category_id).setThird_category_name(third_category_name); |
| | | |
| | | |
| | | |
| | | |
| | | sc_workflow_question.update(); |
| | | //添加处理记录 |
| | | Map userlogin = WebUtil.getLoginUser(request).getLoginUser(); |
| | |
| | | Map flowMsg = getFlowMsg(flowId,createUserId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | | String nodeName = ConvertUtil.obj2StrBlank(flowMsg.get("NODENAME")); |
| | | |
| | | |
| | | //增加问题处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("修改问题:"+createUserName+"修改了问题信息"); |
| | |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(nodeid).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getZdMsgList(String flowId) { |
| | | String sql = "SELECT * FROM QUESTION_ZD_HISTORY WHERE FLOWID = :flowid ORDER BY CREATE_TIME DESC"; |
| | | |
| | | |
| | | return baseDao.queryForList(sql, new SqlParameter("flowid",flowId)); |
| | | } |
| | | |
| | |
| | | String type = request.getParameter("type"); |
| | | String flowId = request.getParameter("flowId"); |
| | | Map zdMsg = new HashMap(); |
| | | |
| | | |
| | | if(!StringUtil.isEmpty(type)){ |
| | | |
| | | |
| | | if("1".equals(type)){ |
| | | SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(id).getInstanceById(); |
| | | zdMsg.put("ID", question.getId()); |
| | |
| | | }else{ |
| | | zdMsg = new QUESTION_ZD_HISTORY(id).getBeanMapById(); |
| | | } |
| | | |
| | | |
| | | } |
| | | return zdMsg; |
| | | } |
| | |
| | | String flowId = request.getParameter("flowId"); |
| | | String id = request.getParameter("id"); |
| | | String type = request.getParameter("type"); |
| | | |
| | | |
| | | |
| | | |
| | | String resolve = request.getParameter("resolve"); |
| | | String suggest = request.getParameter("suggest"); |
| | | String reason = request.getParameter("reason"); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | long resolveTime = DateUtil.getCurrentDate14(); |
| | | QUESTION_ZD_HISTORY zd = new QUESTION_ZD_HISTORY(); |
| | | if("1".equals(type)){ |
| | |
| | | String zdid = baseDao.queryForString(selsql, param); |
| | | zd.setId(zdid); |
| | | String sql = "UPDATE QUESTION_ZD_HISTORY SET REASON = :reason ,RESOLVE = :resolve,SUGGEST = :suggest WHERE FLOWID = :flowid AND ISTHEEND = :istheend "; |
| | | |
| | | |
| | | baseDao.execute(sql, param); |
| | | |
| | | |
| | | }else{ |
| | | |
| | | |
| | | if(!StringUtil.isEmpty(id)){ |
| | | zd.setId(id); |
| | | }else{ |
| | |
| | | zd.setReason(reason).setResolve(resolve).setSuggest(suggest).insertOrUpdate(); |
| | | } |
| | | fileService.uploadFile(request, zd.getId(), flowId, null, null); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String issave(HttpServletRequest request) { |
| | | String nodeId = request.getParameter("nodeId"); |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map gettempMsg(String id,String userId) { |
| | | //获取当前所处的节点 |
| | |
| | | Map msg = baseDao.queryForMap(sql, new SqlParameter("node_id",nodeid)); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map updateAssign(HttpServletRequest request) { |
| | | Map resultMap = new HashMap(); |
| | |
| | | String resolve = request.getParameter("resolve"); |
| | | String suggest = request.getParameter("suggest"); |
| | | String bz = request.getParameter("bz"); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(id).getInstanceById(); |
| | | SC_WORKFLOW_QUESTION myQuestion = new SC_WORKFLOW_QUESTION(base.getBusiness_id()).getInstanceById(); |
| | | |
| | | |
| | | //获取当前所处的节点 |
| | | Map flowMsg = getFlowMsg(id,userId); |
| | | String nodeid = ConvertUtil.obj2StrBlank(flowMsg.get("ID")); |
| | |
| | | ORDER_ASSIGN_TEMP temp = new ORDER_ASSIGN_TEMP(); |
| | | temp.setDealer(JsonUtil.map2Json(dealuser)).setNode_id(nodeid) |
| | | .setExtend1(usertype).setExtend2(true_reason).setExtend3(resolve).setExtend4(suggest).setExtend5(bz).insert(); |
| | | |
| | | |
| | | }else{ |
| | | |
| | | |
| | | String dealUserId = new String(); |
| | | String dealUserName = new String(); |
| | | String state = new String(); |
| | | String type = new String(); |
| | | |
| | | |
| | | String node_template_id = Constants.WTFQ; |
| | | if(StringUtil.notEmpty(selectUser)) { |
| | | if(usertype.equals("3")){ |
| | |
| | | }else{ |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; |
| | | } |
| | | } |
| | | } |
| | | if(StringUtil.notEmpty(selectUser)) { |
| | | //执行分派任务 |
| | | |
| | | |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | entity.setDealer_type(3); |
| | | List<Map> dealerList = new ArrayList<Map>(); |
| | |
| | | map.put("USER_NAME", cacheuser.get(userList2[i])); |
| | | dealUserName += cacheuser.get(userList2[i])+","; |
| | | } |
| | | |
| | | |
| | | dealerList.add(map); |
| | | } |
| | | dealUserName = dealUserName.substring(0, dealUserName.length()-1); |
| | | |
| | | |
| | | } else { |
| | | entity.setBefore_Dealer_type(1); |
| | | entity.setRoleID(selectUser.split("&")[0]); |
| | | entity.setRoleName(selectUser.split("&")[1]); |
| | | |
| | | |
| | | //查询改组下面的所有人员信息 |
| | | String sqlUser = "SELECT B.ID AS USER_ID ,B.ZSXM AS USER_NAME FROM AC_USER_REF_ROLE A,GG_USER B WHERE A.YHBH = B.ID AND A.JSBH = :groupId "; |
| | | dealerList = baseDao.queryForList(sqlUser,new SqlParameter("groupId",selectUser.split("&")[0])); |
| | | dealUserName = entity.getRoleName(); |
| | | } |
| | | entity.setDealerList(dealerList); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title("节点转至 :" + dealUserName); |
| | | finishEntity.setDeal_note(bz); |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | boolean canFinish = workflowCoreService.finishNode(base, node, finishEntity); |
| | | if (canFinish) { |
| | | workflowBusinessService.toNode(base, node_template_id, entity); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //更新问题状态 |
| | | Map param = new HashMap(); |
| | | param.put("state", state); |
| | | param.put("questionId", base.getBusiness_id()); |
| | | String updateIncidentSql = "UPDATE SC_WORKFLOW_QUESTION SET STATE = :state "; |
| | | if(curnodeId .equals(Constants.WTZD)){ |
| | | |
| | | |
| | | updateIncidentSql += " ,RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,TRUE_REASON = :true_reason ,RESOLVE = :resolve ,SUGGEST = :suggest "; |
| | | param.put("true_reason",true_reason ); |
| | | param.put("resolve", resolve); |
| | |
| | | } |
| | | |
| | | fileService.uploadFile(request,businessid, id, null, null); |
| | | |
| | | |
| | | } |
| | | updateIncidentSql += " WHERE ID = :questionId "; |
| | | baseDao.execute(updateIncidentSql, param); |
| | | |
| | | |
| | | baseDao.execute("DELETE FROM ORDER_ASSIGN_TEMP WHERE NODE_ID = :node_id ", new SqlParameter("node_id",nodeid)); |
| | | |
| | | |
| | | //增加问题处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("指派任务:"+userName+"将问题指派给了"+dealUserName); |
| | |
| | | messageFacade.doSendMessage(message, dealerList); |
| | | resultMap.put("result", 1); |
| | | type = ConvertUtil.obj2StrBlank(entity.getBefore_Dealer_type()); |
| | | |
| | | |
| | | } |
| | | SysInfoMsg msg = new SysInfoMsg(type,dealUserName,Constants.questionNode.get(node_template_id)); |
| | | |
| | | |
| | | resultMap.put("msg", msg); |
| | | } |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updatefinishnode(HttpServletRequest request) { |
| | | String nodeId = request.getParameter("nodeId"); |
| | |
| | | //关闭当前节点 |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getBeforeNodeMsg(String nodeId) { |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | |
| | | Map nodeMap = baseDao.queryForMap(sql, param); |
| | | return nodeMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public Map gobackNodeSubmit(HttpServletRequest request) { |
| | | String flowId = request.getParameter("flowId"); |
| | | String nodeId = request.getParameter("nodeId"); |
| | | String orderId = request.getParameter("orderId"); |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(3); |
| | | finishEntity.setDeal_note_title(userName+"回退了节点"); |
| | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | | WORKFLOW_NODE beforenode = new WORKFLOW_NODE(node.getSource_node_instance_id()).getInstanceById(); |
| | | String node_template_id = beforenode.getNode_template_id(); |
| | | |
| | | |
| | | Map nodeMap = getBeforeNodeMsg(nodeId); |
| | | List<Map> nodesList = baseDao.queryForList("SELECT * FROM WORKFLOW_NODE WHERE FLOWID = :flowid AND SAME_NODE_KEY = :same_node_key ",new SqlParameter("flowid",flowId).addValue("same_node_key", node.getSame_node_key())); |
| | | //回退时,关闭所有节点 |
| | |
| | | nodeid.setDealtime(ConvertUtil.obj2Long(nodes.get("DEALTIME"))).setAnswer_time(ConvertUtil.obj2Long(nodes.get("ANSWER_TIME"))); |
| | | workflowCoreService.finishNode(base,nodeid , finishEntity); |
| | | } |
| | | |
| | | |
| | | String state = ""; |
| | | if(node_template_id.equals(Constants.WTSL)) { |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_SL; |
| | |
| | | }else{ |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_YDJ; |
| | | } |
| | | |
| | | |
| | | //更新问题状态 |
| | | String updateSql = "UPDATE SC_WORKFLOW_QUESTION SET STATE = :state WHERE ID = :questionId "; |
| | | baseDao.execute(updateSql, new SqlParameter("state",state).addValue("questionId", orderId)); |
| | | |
| | | |
| | | List<Map> list = new ArrayList<Map>(); |
| | | Map map = new HashMap(); |
| | | map.put("USER_ID", nodeMap.get("CURRENT_DEALER_ID")); |
| | | map.put("USER_NAME", nodeMap.get("CURRENT_DEALER_NAME")); |
| | | map.put("IS_ADMIN", "1"); |
| | | list.add(map); |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | entity.setBefore_Dealer_type(2); |
| | | entity.setDealer_type(2); |
| | |
| | | resultMap.put("msg", msg); |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map updateApplyEnd(HttpServletRequest request) { |
| | | Map resultMap = new HashMap(); |
| | |
| | | |
| | | resultMap.put("msg", msg); |
| | | return resultMap; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getEndMsgById(String orderId) { |
| | | String sql ="SELECT RESOLVE_TYPE_ID,TRUE_REASON,RESOLVE,SUGGEST FROM SC_WORKFLOW_QUESTION WHERE ID = :id "; |
| | | Map faMap = baseDao.queryForMap(sql, new SqlParameter("id",orderId)); |
| | | return faMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateEndQuestion(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | String solveWay = request.getParameter("solveWay"); |
| | | String solveWayName = request.getParameter("solveWayName"); |
| | | String solve = request.getParameter("solve"); |
| | | |
| | | |
| | | |
| | | |
| | | String reason = request.getParameter("reason"); |
| | | |
| | | |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | long resolveTime = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | String state = ""; |
| | | if("1".equals(solve)){ |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_YWC; |
| | |
| | | state = Constants.SC_WORKFLOW_QUESTION_STATE_YGB; |
| | | } |
| | | SC_WORKFLOW_QUESTION question = new SC_WORKFLOW_QUESTION(orderId).getInstanceById(); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuffer updateSql = new StringBuffer("UPDATE SC_WORKFLOW_QUESTION SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName "); |
| | | Map paramMap = new HashMap(); |
| | | if(StringUtil.isEmpty(question.getResolve_user_id())){ |
| | |
| | | paramMap.put("resolve", map.get("RESOLVE")); |
| | | paramMap.put("suggest", map.get("SUGGEST")); |
| | | } |
| | | |
| | | |
| | | } |
| | | paramMap.put("state", state); |
| | | |
| | | |
| | | paramMap.put("resolveTime", resolveTime); |
| | | paramMap.put("solveWay", solveWay); |
| | | paramMap.put("solveWayName", solveWayName); |
| | |
| | | record.setBusiness_id(flowId); |
| | | record.setNode_id(nodeid).setNode_name(nodeName); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | //结束工单 |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | List<Map> list = new ArrayList<Map>(); |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title(userName+"处理完成"); |
| | | finishEntity.setDeal_note(reason); |
| | | |
| | | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | | |
| | | |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | if("1".equals(solve)){ |
| | | workflowCoreService.finishWorkFlow(base); |
| | |
| | | workflowCoreService.closeWorkFlow(base); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List queryLinkwtOrder(HttpServletRequest request) { |
| | | String orderCode = request.getParameter("orderCode"); |
| | |
| | | param.addValue("orderid", orderid); |
| | | param.addValue("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); |
| | | param.addValue("businesstype", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | |
| | | |
| | | if (StringUtils.isNotBlank(reordercode)) { |
| | | sql.append("AND A.ORDER_CODE != :reordercode "); |
| | | param.addValue("reordercode", reordercode); |
| | | } |
| | | |
| | | |
| | | if (StringUtils.isNotBlank(orderName)) { |
| | | sql.append("AND B.NAME like :wfname "); |
| | | param.addValue("wfname", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | if (StringUtils.isNotBlank(orderCode)) { |
| | | sql.append("AND A.ORDER_CODE like :orderCode "); |
| | | param.addValue("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | sql.append("ORDER BY A.WFSTATE ASC,A.CREATETIME DESC"); |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | for (Map map2 : list) { |
| | | map2.put("BUSINESSTYPE_TEXT", Constants.mapWORKFLOW_BUSINESS_TYPE_Label(ConvertUtil.obj2Str(map2.get("BUSINESSTYPE")))); |
| | | map2.put("WFSTATE_TEXT", Constants.getWORKFLOW_BASE_WFSTATE_Label(ConvertUtil.obj2Str(map2.get("WFSTATE")))); |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String getIsOpenQuestion(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | Map param = new HashMap(); |
| | | param.put("bus_id", orderId); |
| | | param.put("userId", userId); |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(sql, param); |
| | | if(count > 0){ |
| | | return "1"; |
| | |
| | | return "0"; |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map questionInfo(HttpServletRequest request) { |
| | | String questionId=request.getParameter("orderId"); |
| | |
| | | map.put("fileList", fileList); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateResolveType(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | record.setNode_id(nodeid).setNode_name(nodeName); |
| | | record = recordService.addRecord(record); |
| | | fileService.uploadFile(request, record.getId(), flowId, null, null); |
| | | |
| | | |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title(createUserName+"结束节点"); |
| | |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | //关闭工单 |
| | | workflowCoreService.closeWorkFlow(base); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateQuestiongq(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String createUserId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String createUserName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | String sql = "INSERT INTO HANG_UP_INFO(ID,BUS_ID,BUS_STATE,STATE,HANG_UP_USERID,HANG_UP_USERNAME,HANG_UP_TIME,HANG_UP_REASONID,HANG_UP_REASON,HANG_UP_NOTE) VALUES(:id,:bus_id,:bus_state,:state,:hang_up_userid,:hang_up_username,:hang_up_time,:hang_up_reasonid,:hang_up_reason,:hang_up_note)"; |
| | | Map param = new HashMap(); |
| | | param.put("id", StringUtil.getUUID()); |
| | |
| | | record.setNode_id(nodeid).setNode_name(nodeName); |
| | | record = recordService.addRecord(record); |
| | | fileService.uploadFile(request, record.getId(), flowId, null, null); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List queryGqhistoryData(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | } |
| | | return gqList; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void updateQuestionOpen(HttpServletRequest request) { |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | |
| | | HANG_UP_INFO qg = new HANG_UP_INFO(ConvertUtil.obj2StrBlank(qgMap.get("ID"))); |
| | | qg.setState(2).setHang_down_reason(note).update(); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map querymyQuestionpoolCount(HttpServletRequest request) { |
| | | String userId = WebUtil.getLoginedUserId(request); |
| | |
| | | int ywc = 0; |
| | | //问题受理 |
| | | int wtsl = 0; |
| | | |
| | | |
| | | //问题审核 |
| | | int wtsh = 0; |
| | | |
| | | |
| | | //问题诊断 |
| | | int wtzd = 0; |
| | | |
| | | |
| | | //方案审批 |
| | | int fasp = 0; |
| | | |
| | | |
| | | //方案实施 |
| | | int fass = 0; |
| | | |
| | | |
| | | //问题回顾 |
| | | int wthg = 0; |
| | | StringBuilder sql = new StringBuilder(); |
| | |
| | | paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); |
| | | sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_QUESTION E, WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE D.CURRENT_DEAL_ROLEIDA = C.JSBH AND E.ID = D.BUSINESS_ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) AND D.BUSINESSTYPE = :businessType "); |
| | | sqlall.append("SELECT COUNT(G.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_QUESTION E, WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE D.CURRENT_DEAL_ROLEIDA = C.JSBH AND E.ID = D.BUSINESS_ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) AND D.BUSINESSTYPE = :businessType "); |
| | | |
| | | |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | sql.append(" AND E.CUSTOMER_ID = :customer_Id "); |
| | |
| | | wtzd += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | fasp += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | fass += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | wthg += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | int all = baseDao.queryForInteger(sqlall.toString(), paramMap); |
| | | Map map = new HashMap(); |
| | | map.put("wtsl", wtsl); |
| | | |
| | | |
| | | map.put("wtsh", wtsh); |
| | | |
| | | |
| | | map.put("wtzd", wtzd); |
| | | |
| | | |
| | | map.put("fasp", fasp); |
| | | |
| | | |
| | | map.put("fass", fass); |
| | | |
| | | |
| | | map.put("wthg", wthg); |
| | | |
| | | |
| | | map.put("all", all); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | public int myquestionpoolCount(Map<String, String> params) { |
| | | |
| | | |
| | | String sql = new String(); |
| | | params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | sql = "SELECT COUNT(D.ID) FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.JSBH AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) "; |
| | | |
| | | |
| | | |
| | | |
| | | if(StringUtil.notEmpty(sql)) { |
| | | StringBuilder builder = new StringBuilder(sql); |
| | | |
| | | |
| | | builder = getMypoolsql(builder,params); |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(),params); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | |
| | | @Override |
| | | public PageInfo myquestionpoolData(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | | |
| | | |
| | | String sql = new String(); |
| | | params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | sql = "SELECT D.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT DISTINCT B.JSBH FROM GG_USER A,AC_USER_REF_ROLE B WHERE A.ID = B.YHBH AND A.ID = :userId) C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.JSBH AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' ) "; |
| | | |
| | | |
| | | if(StringUtil.notEmpty(sql)) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(sql); |
| | | builder = getMypoolsql(builder,params); |
| | | |
| | | |
| | | builder.append(" ORDER BY D.CREATETIME DESC "); |
| | | PageInfo result = baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); |
| | | |
| | | |
| | | return result; |
| | | } |
| | | return new PageInfo(); |
| | |
| | | Map chartMap = new HashMap(); |
| | | Long endDay = DateUtil.getCurrentDate8(); |
| | | Long startDay = DateUtil.getDateAdd(endDay,-30,8); |
| | | |
| | | |
| | | String userId = params.get("userId"); |
| | | params.put("startTime", startDay+"000000"); |
| | | params.put("endTime", endDay + "600000"); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if(StringUtil.isBlank(userId)){ |
| | | builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); |
| | | }else{ |
| | | builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_QUESTION q "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); |
| | | } |
| | | |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(),params); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | |
| | | |
| | | List<String> categories = DateUtil.getDates(startDay ,endDay); |
| | | categories.add(String.valueOf(DateUtil.getCurrentDate8())); |
| | | List<String> categories_format = new ArrayList<String>(); |
| | | |
| | | |
| | | |
| | | |
| | | Map dataMap = new HashMap(); |
| | | Map tempMap = new HashMap(); |
| | | List<Map> series = new ArrayList<Map>(); |
| | |
| | | } |
| | | return chartMap; |
| | | } |
| | | |
| | | |
| | | public StringBuilder getMypoolsql(StringBuilder builder,Map<String, String> params){ |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | builder.append(" AND E.STATE = :status "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | builder.append(" AND D.WFNAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND D.ORDER_CODE LIKE :orderCode"); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | builder.append(" AND D.CUSTOMER_ID = :customerId "); |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | return builder; |
| | |
| | | public Map getLastMonthQuestionLv(Map<String, String> params) { |
| | | //dataDictionaryService.getDataDictionaryByCategoryKey(Constants.EVENT_PRI,WebUtil.getLoginedPartnerId(request)); |
| | | Map chartMap = new HashMap(); |
| | | |
| | | |
| | | Long endDay = DateUtil.getCurrentDate8(); |
| | | Long startDay = DateUtil.getDateAdd(endDay,-30,8); |
| | | String userId = params.get("userId"); |
| | | params.put("startTime", startDay+"000000"); |
| | | params.put("endTime", endDay + "600000"); |
| | | |
| | | |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if(StringUtil.isBlank(userId)){ |
| | | builder.append(" SELECT count(ID) NUM,PRI_LEVEL_ID FROM SC_WORKFLOW_QUESTION WHERE "); |
| | |
| | | Map dataMap = new HashMap(); |
| | | Map tempMap = new HashMap(); |
| | | List serieslist = new ArrayList(); |
| | | |
| | | |
| | | for(Map data : dataList){ |
| | | dataMap.put(data.get("PRI_LEVEL_ID").toString(), data); |
| | | } |
| | | |
| | | |
| | | builder.setLength(0); |
| | | builder.append(" select ID LEVEL_ID,LEVEL_NAME from SC_SLA where state =1 order by SERIAL "); |
| | | List<Map> catelist = baseDao.queryForList(builder.toString()); |
| | |
| | | Map chartMap = new HashMap(); |
| | | Long endDay = DateUtil.getCurrentDate8(); |
| | | Long startDay = DateUtil.getDateAdd(endDay,-30,8); |
| | | |
| | | |
| | | String userId = params.get("userId"); |
| | | params.put("startTime", startDay+"000000"); |
| | | params.put("endTime", endDay + "600000"); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if(StringUtil.isBlank(userId)){ |
| | | builder.append(" SELECT count(ID) NUM,PRIORITY_ID FROM SC_WORKFLOW_QUESTION WHERE "); |
| | |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.PRIORITY_ID "); |
| | | } |
| | | |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(),params); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataMap = new HashMap(); |
| | |
| | | Map chartMap = new HashMap(); |
| | | Long endDay = DateUtil.getCurrentDate8(); |
| | | Long startDay = DateUtil.getDateAdd(endDay,-30,8); |
| | | |
| | | |
| | | String userId = params.get("userId"); |
| | | params.put("startTime", startDay+"000000"); |
| | | params.put("endTime", endDay + "600000"); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if(StringUtil.isBlank(userId)){ |
| | | builder.append(" SELECT count(ID) NUM,INFLUENCE_ID FROM SC_WORKFLOW_QUESTION WHERE "); |
| | |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.INFLUENCE_ID "); |
| | | } |
| | | |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(),params); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataMap = new HashMap(); |
| | |
| | | Map chartMap = new HashMap(); |
| | | Long endDay = DateUtil.getCurrentDate8(); |
| | | Long startDay = DateUtil.getDateAdd(endDay,-30,8); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | String userId = params.get("userId"); |
| | | params.put("startTime", startDay+"000000"); |
| | | params.put("endTime", endDay + "600000"); |
| | | if(StringUtil.isBlank(userId)){ |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); |
| | | }else{ |
| | | builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_QUESTION q,WORKFLOW_BASE b "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(),params); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | builder.setLength(0); |
| | |
| | | int jxzcount = 0; |
| | | if("1".equals(type)){ |
| | | poolcount = questionpoolCount(params); |
| | | |
| | | |
| | | dxycount = queryQuestionOrderNodeCount(params); |
| | | |
| | | |
| | | jxzcount = queryQuestionJxzCount(params); |
| | | }else{ |
| | | poolcount = myquestionpoolCount(params); |
| | |
| | | params.put("type", "2"); |
| | | jxzcount = querymyQuestionOrderNodeCount(params); |
| | | } |
| | | |
| | | |
| | | Map map = new HashMap(); |
| | | map.put("poolcount", poolcount); |
| | | map.put("dxycount", dxycount); |
| | |
| | | int ywc = 0; |
| | | //问题受理 |
| | | int wtsl = 0; |
| | | |
| | | |
| | | //问题审核 |
| | | int wtsh = 0; |
| | | |
| | | |
| | | //问题诊断 |
| | | int wtzd = 0; |
| | | |
| | | |
| | | //方案审批 |
| | | int fasp = 0; |
| | | |
| | | |
| | | //方案实施 |
| | | int fass = 0; |
| | | |
| | | |
| | | //问题回顾 |
| | | int wthg = 0; |
| | | |
| | | |
| | | StringBuffer selectSql = new StringBuffer(); |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("flowstate", type); |
| | | paramMap.put("userId", params.get("userId")); |
| | | selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,A.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | if(!StringUtil.isEmpty(customerId)){ |
| | | selectSql.append(" AND A.CUSTOMER_ID = :customerId "); |
| | | sql.append(" AND A.CUSTOMER_ID = :customerId "); |
| | | paramMap.put("customerId", customerId); |
| | | } |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); |
| | | if(null!=list && list.size()>0) { |
| | | for(Map map : list) { |
| | |
| | | wtzd += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | fasp += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | fass += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | wthg += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | int all = baseDao.queryForInteger(sql.toString(), paramMap); |
| | | Map map = new HashMap(); |
| | | map.put("wtsl", wtsl); |
| | | |
| | | |
| | | map.put("wtsh", wtsh); |
| | | |
| | | |
| | | map.put("wtzd", wtzd); |
| | | |
| | | |
| | | map.put("fasp", fasp); |
| | | |
| | | |
| | | map.put("fass", fass); |
| | | |
| | | |
| | | map.put("wthg", wthg); |
| | | |
| | | |
| | | map.put("all", all); |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | |
| | | public int querymyQuestionEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | |
| | | |
| | | sqlpart.append( " AND WB.WFSTATE = :state "); |
| | | params.put("state", params.get("type")); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY B.ID ) D"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME, "); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON "); |
| | | sql.append("FROM (SELECT F.* FROM WORKFLOW_BASE F WHERE F.BUSINESSTYPE = :businessType ) WB , WORKFLOW_NODE C ,SC_WORKFLOW_QUESTION B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | sqlpart = getMyEndSql(sqlpart,params); |
| | | |
| | | |
| | | sqlpart.append( " AND WB.WFSTATE = :state "); |
| | | params.put("state", params.get("type")); |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | sql.append( " GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME, D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getMyEndSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | |
| | | |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | | sqlpart.append(" AND B.CUSTOMER_ID = :customerId "); |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | public int querymyQuestionOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("flowstate", params.get("type")); |
| | | sqlpart = getMyNodeSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY B.ID ) D"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,C.FLOWSTATE, "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,C.FLOWSTATE, "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | sqlpart = getMyNodeSql(sqlpart,params); |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | sql.append( " GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, C.FLOWSTATE, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getMyNodeSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | sqlpart.append( " AND B.STATE = :state "); |
| | | params.put("state", status); |
| | | } |
| | | |
| | | |
| | | return sqlpart; |
| | | } |
| | | |
| | |
| | | int ywc = 0; |
| | | //问题受理 |
| | | int wtsl = 0; |
| | | |
| | | |
| | | //问题审核 |
| | | int wtsh = 0; |
| | | |
| | | |
| | | //问题诊断 |
| | | int wtzd = 0; |
| | | |
| | | |
| | | //方案审批 |
| | | int fasp = 0; |
| | | |
| | | |
| | | //方案实施 |
| | | int fass = 0; |
| | | |
| | | |
| | | //问题回顾 |
| | | int wthg = 0; |
| | | StringBuffer sql = new StringBuffer(); |
| | |
| | | paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); |
| | | //查询该人员所属的项目 |
| | | sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); |
| | | |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); |
| | | |
| | | sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | sqlall.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | |
| | | |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | sql.append(" AND E.CUSTOMER_ID = :customer_Id "); |
| | | sqlall.append(" AND E.CUSTOMER_ID = :customer_Id "); |
| | | paramMap.put("customer_Id", customer_Id); |
| | | } |
| | | |
| | | |
| | | sql.append(" GROUP BY E.STATE "); |
| | | sqlall.append(" GROUP BY E.ID) F "); |
| | | List<Map> list = baseDao.queryForList(sql.toString(),paramMap); |
| | |
| | | wtzd += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | fasp += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | fass += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | wthg += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | int all = baseDao.queryForInteger(sqlall.toString(), paramMap); |
| | | Map map = new HashMap(); |
| | | map.put("wtsl", wtsl); |
| | | |
| | | |
| | | map.put("wtsh", wtsh); |
| | | |
| | | |
| | | map.put("wtzd", wtzd); |
| | | |
| | | |
| | | map.put("fasp", fasp); |
| | | |
| | | |
| | | map.put("fass", fass); |
| | | |
| | | |
| | | map.put("wthg", wthg); |
| | | |
| | | |
| | | map.put("all", all); |
| | | return map; |
| | | } |
| | |
| | | * 如果是客户服务台,查询我的工单池 则查询工单表中分组是 (查询该客户下所有的项目的服务台分组) |
| | | * 如果是总服务台,则查询所有客户下(加盟商下所有项目的服务台分组) |
| | | */ |
| | | |
| | | |
| | | StringBuffer sql = new StringBuffer(); |
| | | params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | |
| | | |
| | | sql.append("SELECT COUNT(D.ID) FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); |
| | | |
| | | |
| | | String customer_Id = params.get("customer_Id"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | sql.append(" AND B.CUSTOMER_ID = :customer_Id "); |
| | | } |
| | | |
| | | |
| | | sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | StringBuilder builder = new StringBuilder(sql); |
| | | builder = getPoolSql(builder,params); |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType",ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | int count = baseDao.queryForInteger(builder.toString(),params); |
| | | |
| | | |
| | | return count; |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | /** |
| | | * 查询我的工单池规则 |
| | | * 如果是项目服务台,则直接查询工单表 |
| | | * 如果是项目服务台,则直接查询工单表 |
| | | * 如果是客户服务台,查询我的工单池 则查询工单表中分组是 (查询该客户下所有的项目的分组) |
| | | * 如果是总服务台,则查询所有客户下(加盟商下所有项目的分组) |
| | | */ |
| | | |
| | | |
| | | StringBuffer sql = new StringBuffer(); |
| | | params.put("wfstate", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | //查询该人员所属的项目 |
| | | sql.append("SELECT D.* FROM SC_WORKFLOW_QUESTION E,WORKFLOW_BASE D,(SELECT B.ID,B.ROLENAME FROM AC_ROLE B WHERE B.STATE = 1 "); |
| | | |
| | | |
| | | String customer_Id = params.get("customer_Id"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | sql.append(" AND B.CUSTOMER_ID = :customer_Id "); |
| | |
| | | sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | StringBuilder builder = new StringBuilder(sql); |
| | | builder = getPoolSql(builder,params); |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | builder.append(" ORDER BY D.CREATETIME DESC "); |
| | | PageInfo result = baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); |
| | | |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | public StringBuilder getPoolSql(StringBuilder builder,Map<String, String> params){ |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | builder.append(" AND D.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | builder.append(" AND D.WFNAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND D.ORDER_CODE LIKE :orderCode"); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | String customerName = params.get("customerName"); |
| | | if(StringUtil.notEmpty(customerName)) { |
| | | builder.append(" AND D.CUSTOMER_NAME LIKE :customerName "); |
| | |
| | | } |
| | | return builder; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryQuestionNodeCount(HttpServletRequest request) { |
| | | //初始化变量 |
| | | int ywc = 0; |
| | | //问题受理 |
| | | int wtsl = 0; |
| | | |
| | | |
| | | //问题审核 |
| | | int wtsh = 0; |
| | | |
| | | |
| | | //问题诊断 |
| | | int wtzd = 0; |
| | | |
| | | |
| | | //方案审批 |
| | | int fasp = 0; |
| | | |
| | | |
| | | //方案实施 |
| | | int fass = 0; |
| | | |
| | | |
| | | //问题回顾 |
| | | int wthg = 0; |
| | | |
| | | |
| | | |
| | | |
| | | //只有服务台和管理人员才可以看到所有的工单,(所以查询当前的用户属于那种服务台) |
| | | StringBuffer selectSql = new StringBuffer(); |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append( "SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,a.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append( "SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | sql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | paramMap.put("customer_Id", customer_Id); |
| | | } |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID,a.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); |
| | | if(null!=list && list.size()>0) { |
| | | for(Map map : list) { |
| | |
| | | wtzd += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | fasp += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | fass += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | wthg += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | int all = baseDao.queryForInteger(sql.toString(), paramMap); |
| | | Map map = new HashMap(); |
| | | map.put("wtsl", wtsl); |
| | | |
| | | |
| | | map.put("wtsh", wtsh); |
| | | |
| | | |
| | | map.put("wtzd", wtzd); |
| | | |
| | | |
| | | map.put("fasp", fasp); |
| | | |
| | | |
| | | map.put("fass", fass); |
| | | |
| | | |
| | | map.put("wthg", wthg); |
| | | |
| | | |
| | | map.put("all", all); |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | |
| | | public int queryQuestionOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | sqlpart = getNodeSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY B.ID ) D"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | sqlpart = getNodeSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | sql.append( " GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getNodeSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | if(StringUtil.notEmpty(status)) { |
| | | sqlpart.append( " AND B.STATE = :state "); |
| | | params.put("state", status); |
| | | |
| | | |
| | | } |
| | | return sqlpart; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryQuestionJxzCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND (\n" + |
| | | "\tB.STATE != '9'\n" + |
| | | "\tAND B.STATE != '10'\n" + |
| | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY B.ID ) D"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.* ,B.STATE ,B.NAME "); |
| | | sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID, B.STATE , B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB LEFT JOIN WORKFLOW_NODE C ON C.FLOWID = WB.ID\n" + |
| | | "AND WB.CURRENT_NODE_ID = C.ID "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND (\n" + |
| | |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | sqlpart = getJxzSql(sqlpart,params); |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | sql.append( " GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getJxzSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | int ywc = 0; |
| | | //问题受理 |
| | | int wtsl = 0; |
| | | |
| | | |
| | | //问题审核 |
| | | int wtsh = 0; |
| | | |
| | | |
| | | //问题诊断 |
| | | int wtzd = 0; |
| | | |
| | | |
| | | //方案审批 |
| | | int fasp = 0; |
| | | |
| | | |
| | | //方案实施 |
| | | int fass = 0; |
| | | |
| | | |
| | | //问题回顾 |
| | | int wthg = 0; |
| | | |
| | | |
| | | |
| | | |
| | | //只有服务台和管理人员才可以看到所有的工单,(所以查询当前的用户属于那种服务台) |
| | | StringBuffer selectSql = new StringBuffer(); |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | selectSql.append( "SELECT COUNT(*) AS NUM,A.STATE FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B LEFT JOIN WORKFLOW_NODE C ON B.ID = C.FLOWID\n" + |
| | | "AND B.CURRENT_NODE_ID = C.ID\n" + |
| | | "AND C.FLOWSTATE <> 3 WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE = 1 AND C.FLOWSTATE is not null"); |
| | | sql.append( "SELECT COUNT(A.ID) FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID"); |
| | | |
| | | |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if(!StringUtil.isEmpty(customer_Id)){ |
| | | selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | |
| | | paramMap.put("customer_Id", customer_Id); |
| | | } |
| | | selectSql.append(" GROUP BY A.STATE "); |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); |
| | | if(null!=list && list.size()>0) { |
| | | for(Map map : list) { |
| | |
| | | wtzd += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASP)) { |
| | | fasp += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_FASS)) { |
| | | fass += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | if(state.equals(Constants.SC_WORKFLOW_QUESTION_STATE_HG)) { |
| | | wthg += num; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | sql.append(" AND A.STATE != '9' AND A.STATE !='7' AND A.STATE != '10'"); |
| | | int all = baseDao.queryForInteger(sql.toString(), paramMap); |
| | | Map map = new HashMap(); |
| | | map.put("wtsl", wtsl); |
| | | |
| | | |
| | | map.put("wtsh", wtsh); |
| | | |
| | | |
| | | map.put("wtzd", wtzd); |
| | | |
| | | |
| | | map.put("fasp", fasp); |
| | | |
| | | |
| | | map.put("fass", fass); |
| | | |
| | | |
| | | map.put("wthg", wthg); |
| | | |
| | | |
| | | map.put("all", all); |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryQuestionEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_QUESTION B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = :type "); |
| | | params.put("type", params.get("type")); |
| | | |
| | | |
| | | sqlpart = getEndSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY B.ID ) D"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(),params); |
| | | } |
| | | |
| | |
| | | Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, WB.ENDTIME , "); |
| | | // sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME ,"); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); |
| | | sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB, WORKFLOW_NODE C ,SC_WORKFLOW_QUESTION B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND WB.WFSTATE = :type "); |
| | | params.put("type", params.get("type")); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION)); |
| | | |
| | | |
| | | sqlpart = getEndSql(sqlpart,params); |
| | | |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append( " GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | sql.append( " GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME , D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | | |
| | | |
| | | public StringBuilder getEndSql(StringBuilder sqlpart,Map<String, String> params){ |
| | | String customerId = params.get("customerId"); |
| | | if(StringUtil.notEmpty(customerId)) { |
| | |
| | | if(StringUtil.notEmpty(subCustomerId)) { |
| | | sqlpart.append(" AND B.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | sqlpart.append(" AND B.NAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | sqlpart.append(" AND B.ORDER_CODE LIKE :orderCode "); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | sqlpart.append(" AND B.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String source = params.get("source"); |
| | | if(StringUtil.notEmpty(source)) { |
| | | String[] sources = source.split(","); |
| | |
| | | sqlpart.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | } |
| | | return sqlpart; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String queryQuestionGroupDealer(HttpServletRequest request) { |
| | | String group_Id = request.getParameter("group_id"); |
| | |
| | | } |
| | | return userName.toString(); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String queryQuestionDealer(HttpServletRequest request) { |
| | | StringBuffer userName = new StringBuffer(); |
| | |
| | | return userName.toString(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package cn.ksource.web.facade.releaseManage; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_WORKFLOW_RELEASE; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.TreeUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | |
| | | import cn.ksource.web.service.WorkOrderCodeService; |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | @Repository |
| | | public class ReleaseFacadeImpl implements ReleaseFacade{ |
| | |
| | | private DSLFacade dslFacade; |
| | | @Autowired |
| | | private ChangeFacade changeFacade; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkOrderCodeService workOrderCodeService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkFlowSupportService workFlowSupportService; |
| | | @Autowired |
| | | private RecordService recordService; |
| | | @Autowired |
| | | private WorkflowCoreService workflowCoreService; |
| | | |
| | | |
| | | /** |
| | | * 获取我的发布管理数据 |
| | | * @param request |
| | |
| | | .addValue("startDate", startDate+"000000") |
| | | .addValue("endDate", endDate+"666666"); |
| | | |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" select r.NAME,b.CURRENT_DEALER_NAME,r.PROJECT_NAME,r.RELEASE_REASON,n.*,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); |
| | | builder.append(" r.ORDER_CODE,r.ID ORDERID,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); |
| | |
| | | builder.append(" where CURRENT_DEALER_ID = :userId "); |
| | | //环节状态 |
| | | if(StringUtil.isNotBlank(nodeState)){ |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t "); |
| | | builder.append(" group by FLOWID "); |
| | | builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //builder.append(" where b.PARTNER_ID =:partnerId "); |
| | |
| | | //工单状态 |
| | | if(StringUtil.notEmpty(flowState)) { |
| | | builder.append(" AND b.WFSTATE =:flowState "); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //客户 |
| | | if(StringUtil.isNotBlank(customerId)) { |
| | | builder.append(" AND b.CUSTOMER_ID = :customerId "); |
| | |
| | | if(StringUtil.isNotBlank(projectId)) { |
| | | builder.append(" AND b.PROJECT_ID = :projectId "); |
| | | } |
| | | |
| | | |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND r.ORDER_CODE LIKE :orderCode"); |
| | | } |
| | |
| | | |
| | | |
| | | builder.append(" order by n.NODESTATE ASC,n.NODETIME desc,b.CREATETIME desc "); |
| | | |
| | | |
| | | Map supportMap = new HashMap(); |
| | | supportMap.put("sql", builder.toString()); |
| | | supportMap.put("param", param); |
| | | return supportMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryMyRealseCount(HttpServletRequest request) { |
| | | Map supportMap = getMyRealseSupportMap(request); |
| | |
| | | SqlParameter param = (SqlParameter)supportMap.get("param"); |
| | | return baseDao.queryforSplitPage(request, sql, param); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List queryLinkDeviceList(String flowId) { |
| | | String sql = " select c.id,c.ciname,c.position,c.SEARCHCODE seachcode from cmdb_ci_base c " + |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getChangeInfoById(String changeId) { |
| | | String sql = "select oa_id,id change_id,name,customer_id,customer_name,project_id,project_name from sc_workflow_change where id = :changeId "; |
| | | return baseDao.queryForMap(sql, new SqlParameter("changeId", changeId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String saveRelease(HttpServletRequest request, SC_WORKFLOW_RELEASE release) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | |
| | | String[] linkOrderIds = request.getParameterValues("linkOrderId"); |
| | | String[] linkDeviceIds = request.getParameterValues("linkDeviceId"); |
| | | |
| | | |
| | | if(StringUtil.isBlank(flowId)||flowId.equals(orderId)){ |
| | | String sql = " update sc_workflow_release set flow_id = :orderId where id=:orderId "; |
| | | baseDao.execute(sql, new SqlParameter("orderId",orderId)); |
| | |
| | | //saveSysInfo(orderId,sysInfoJson); |
| | | return orderId; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doOrganizationDSL(HttpServletRequest request){ |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | sql = " update DSL_ORDER_LINK set FLOW_ID = :flowId where FLOW_ID = :orderId "; |
| | | baseDao.execute(sql, param); |
| | | } |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("创建发布:"+userName+"创建了发布流程"); |
| | |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(flowId); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getDSLInfo(String configureId, String thirdCateId, String flowId, String partnerId) { |
| | | SqlParameter param = new SqlParameter(); |
| | |
| | | .addValue("thirdCateId", thirdCateId) |
| | | .addValue("flowId", flowId) |
| | | .addValue("partnerId", partnerId); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | //查询dsl基本信息 |
| | | builder.append(" select id,pid,'name',note,lv from CONFIG_DSL where state=1 and THIRD_CATEGORY_ID=:thirdCateId and PARTNER_ID=:partnerId order by lv,sort_id asc "); |
| | |
| | | root.put("versionNo",versionNo); |
| | | return root; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getNextNode(Map<String, String> params) { |
| | | String nodeId = params.get("nodeId"); |
| | |
| | | nextNode.put("curTemplateId", templateId); |
| | | return nextNode; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doApproveAssign(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | return doReleaseNotice(request); |
| | | /*}*/ |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doReleaseNotice(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userName = user.get("ZSXM").toString(); |
| | | String userId = user.get("Id").toString(); |
| | | |
| | | |
| | | SC_WORKFLOW_RELEASE release = new SC_WORKFLOW_RELEASE(orderId).getInstanceById(); |
| | | |
| | | |
| | | List<Map> userList = new ArrayList<Map>(); |
| | | Map executorMap = new HashMap(); |
| | | executorMap.put("USER_ID", release.getExecute_id()); |
| | | executorMap.put("USER_NAME", release.getExecute_name()); |
| | | executorMap.put("IS_ADMIN", "1"); |
| | | userList.add(executorMap); |
| | | |
| | | |
| | | WorkFlowSupportEntity support = new WorkFlowSupportEntity(); |
| | | support.setFlowId(flowId); |
| | | support.setNodeId(nodeId); |
| | |
| | | support.setNextNodeTemplateId(Constants.RELEASE_EXECUTE); |
| | | support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); |
| | | SysInfoMsg msg = workFlowSupportService.doOrderFlow(support); |
| | | |
| | | |
| | | //增加处理记录 |
| | | String dealUserName=""; |
| | | for(Map map:userList){ |
| | |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(flowId); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doReleaseExec(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | support.setUserName(userName); |
| | | support.setUserId(userId); |
| | | support.setNote(flowNote); |
| | | |
| | | |
| | | support.setEverDealflag(true); |
| | | support.setEverNodeTemplateId(Constants.RELEASE_APPROVE); |
| | | support.setNextNodeTemplateId(Constants.RELEASE_APPROVAL); |
| | | support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); |
| | | SysInfoMsg msg = workFlowSupportService.doOrderFlow(support); |
| | | |
| | | |
| | | //查询发布审批主负责人() |
| | | Map<String, String> lastNode = changeFacade.queryUserByTemplateId(flowId, Constants.RELEASE_APPROVE); |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("工单流转:"+userName+"将工单发送给了"+lastNode.get("CURRENT_DEALER_NAME")); |
| | |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(flowId); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | return msg; |
| | | } |
| | | |
| | |
| | | String nodeId = request.getParameter("nodeId"); |
| | | String flowId = request.getParameter("flowId"); |
| | | String flowNote = request.getParameter("flowNote"); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userName = user.get("ZSXM").toString(); |
| | | String userId = user.get("Id").toString(); |
| | |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void doOrderFinish(HttpServletRequest request){ |
| | | String orderId = request.getParameter("orderId"); |
| | | String nodeId = request.getParameter("nodeId"); |
| | | String flowNote = request.getParameter("flowNote"); |
| | | String nodeId = request.getParameter("nodeId"); |
| | | String flowNote = request.getParameter("flowNote"); |
| | | String sucessFlag = request.getParameter("sucessFlag"); |
| | | if (StringUtil.isBlank(sucessFlag)) { |
| | | sucessFlag = "1"; |
| | |
| | | support.setFlowEndflag(true); |
| | | support.setWorkFlowType(Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); |
| | | workFlowSupportService.doOrderFlow(support); |
| | | |
| | | |
| | | //保存dsl操作记录 |
| | | dslFacade.saveConfigDslDealRecord(flowId); |
| | | //更新dsl关系 |
| | |
| | | record.setBusiness_id(flowId); |
| | | recordService.addRecord(record); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List querySysInfoList(String orderId) { |
| | | String sql = " select * from SC_WORKFLOW_RELEASE_BUSINESS_SYS where BUSINESS_ID = :orderId" ; |
| | | return baseDao.queryForList(sql,new SqlParameter().addValue("orderId", orderId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public boolean doAnswer(HttpServletRequest request) { |
| | | String flowId = request.getParameter("flowId"); |
| | |
| | | boolean flag = workflowCoreService.answerNode(base, node, entity); |
| | | return flag; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public SysInfoMsg doSendBack(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | SysInfoMsg msg = workFlowSupportService.doOrderSendback(support); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void doCloseFlow(HttpServletRequest request) { |
| | | String orderId = request.getParameter("orderId"); |
| | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(nodeId).getInstanceById(); |
| | | workflowCoreService.finishNode(base, node, finishEntity); |
| | | workflowCoreService.closeWorkFlow(base); |
| | | |
| | | |
| | | String flowId = base.getId(); |
| | | //保存dsl操作记录 |
| | | dslFacade.saveConfigDslDealRecord(flowId); |
| | |
| | | changeFacade.saveRelationWhenClose(flowId); |
| | | //删除变更中的配置关系 |
| | | changeFacade.delRelationWhenClose(flowId); |
| | | |
| | | |
| | | //增加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("工单关闭:"+userName+"关闭了工单"); |
| | |
| | | record.setBusiness_id(node.getFlowid()); |
| | | recordService.addRecord(record); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getSurveyNum(HttpServletRequest request) { |
| | | Map result = new HashMap(); |
| | | //String partnerId = WebUtil.getLoginedPartnerId(request); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("businessType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_RELEASE); |
| | | |
| | | |
| | | List<Map> projects = new ArrayList<Map>(); |
| | | //projects = WebUtil.getProjects(request); |
| | | StringBuilder builder = new StringBuilder(); |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> queryRealseData(HttpServletRequest request) { |
| | | StringBuilder builder = new StringBuilder(); |
| | |
| | | String sql = "select count(*) from ( " + builder.toString() + " ) t" ; |
| | | return baseDao.queryForInteger(sql.toString(),paramMap); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 服务台工单列表 |
| | | * @param request |
| | |
| | | String nodeTemplateId = request.getParameter("nodeTemplateId"); |
| | | String nodeTempId = request.getParameter("nodeTempId"); |
| | | |
| | | |
| | | |
| | | /*List<Map> projects = new ArrayList<Map>(); |
| | | if(StringUtil.notEmpty(customerId) && StringUtil.notEmpty(projectId)) { |
| | | |
| | | |
| | | } else if (StringUtil.notEmpty(customerId) && !StringUtil.notEmpty(projectId)) { |
| | | //通过当前客户查询出所有的项目信息 |
| | | projects = slaProjectFacade.queryProjects(request, customerId); |
| | | } else { |
| | | projects = WebUtil.getProjects(request); |
| | | }*/ |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" select n.FLOWSTATE NODESTATE,b.CURRENT_DEALER_NAME,b.PROJECT_NAME,r.RELEASE_REASON,b.ID FLOWID,b.WFNAME,b.CREATERNAME,b.CREATETIME,b.CURRENT_NODE_NAME,b.BUSINESSTYPE, "); |
| | | builder.append(" r.ORDER_CODE,r.ID ORDERID,b.CUSTOMER_NAME,b.SUB_CUSTOMER_NAME,B.WFSTATE "); |
| | |
| | | if(StringUtil.isNotBlank(nodeTemplateId)){ |
| | | builder.append(" and n.NODE_TEMPLATE_ID IS NOT NULL and n.NODE_TEMPLATE_ID =:nodeTemplateId and b.WFSTATE = 1 "); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /*if(StringUtil.notEmpty(customerId) && StringUtil.notEmpty(projectId)) { |
| | | builder.append(" AND b.CUSTOMER_ID = :customerId AND b.PROJECT_ID = :projectId "); |
| | | } else { |
| | | builder = getProjectSql(builder,projects); |
| | | }*/ |
| | | |
| | | |
| | | |
| | | |
| | | //客户 |
| | | if(StringUtil.isNotBlank(customerId)) { |
| | | builder.append(" AND b.CUSTOMER_ID = :customerId "); |
| | |
| | | //下属单位 |
| | | if(StringUtil.isNotBlank(subCustomerId)) { |
| | | builder.append(" AND b.SUB_CUSTOMER_ID = :subCustomerId "); |
| | | |
| | | |
| | | } |
| | | //工单编号 |
| | | String orderCode = request.getParameter("orderCode"); |
| | |
| | | if(StringUtil.notEmpty(nodeTempId)) { |
| | | builder.append(" AND EXISTS (SELECT n.ID FROM WORKFLOW_NODE n WHERE b.CURRENT_NODE_ID = n.ID AND n.NODE_TEMPLATE_ID = :nodeTempId ) "); |
| | | } |
| | | |
| | | builder.append(" order by b.CREATETIME desc "); |
| | | |
| | | builder.append(" order by b.CREATETIME desc "); |
| | | return builder; |
| | | } |
| | | |
| | |
| | | package cn.ksource.web.facade.servicelist; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.CONFIG_DATA_DICTIONARY; |
| | | import cn.ksource.beans.CUSTOMER_CONTACTS; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | |
| | | import cn.ksource.web.SysConstants; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.service.UserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | |
| | |
| | | @Override |
| | | public PageInfo queryProjectContacts(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT * FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT ID , CUSTOMER_ID , CONTACT_NAME , YWKS , ZW , TELEPHONE , MOBILE , LEVEL_ID , LEVEL_NAME , IS_SATIS , STATE , LOGIN_NAME , PASSWORD , EMAIL , QQ_OPEN_ID , ISEMAIL , ISPHONE , ALLOW_LOGIN , WECHAT_OPEN_ID , SUB_CUSTOMER_ID , SUB_CUSTOMER_NAME , CONTACTS_TYPE , IME FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); |
| | | queryProjectContactsIf(params, sql); |
| | | sql.append(" ORDER BY ALLOW_LOGIN ASC,IS_SATIS DESC,STATE ASC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | @Autowired |
| | | private DataDictionaryService dicService; |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getWeekByYear(String year) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.YEAR, Integer.valueOf(year)); |
| | | List<Map> list = new ArrayList<Map>(); |
| | | List<Map> list = new ArrayList<Map>(); |
| | | int count = DateUtil.getWeekNumByYear(Integer.valueOf(year)); |
| | | SimpleDateFormat sf=new SimpleDateFormat("yyyy/MM/dd"); |
| | | if(count>0){ |
| | |
| | | |
| | | @Override |
| | | public List<Map> getWeekByMonth(String date){ |
| | | List<Map> list = new ArrayList<Map>(); |
| | | List<Map> list = new ArrayList<Map>(); |
| | | int count = DateUtil.getWeekNumByMonth(date); |
| | | SimpleDateFormat sf=new SimpleDateFormat("yyyy/MM/dd"); |
| | | if(count>0){ |
| | |
| | | String beginDay = DateUtil.format("yyyy/MM/dd", DateUtil.getMonthWeekFirstDay(date,i)); |
| | | String endDay = DateUtil.format("yyyy/MM/dd", DateUtil.getMonthWeekEndDay(date,i)); |
| | | int weekNum = DateUtil.getYearWeekNum(date,i); |
| | | |
| | | |
| | | map.put("val", date.substring(0,4)+weekNum); |
| | | map.put("beginDay", beginDay); |
| | | map.put("endDay", endDay); |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getMonthByYear(String year) { |
| | | List<Map> list = new ArrayList<Map>(); |
| | | List<Map> list = new ArrayList<Map>(); |
| | | for(int i=1;i<=12;i++){ |
| | | Map map = new HashMap(); |
| | | map.put("name", year+"年"+i+"月"); |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | |
| | | |
| | | sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" and customer_id=:cusId group by wfstate,businesstype order by businesstype,wfstate"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | Map<String,Map> dataSetMap = new HashMap(); |
| | |
| | | System.out.println("chartMap"+JsonUtil.map2Json(chartMap)); |
| | | return chartMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getOrderSurveyTable(String selDate,String statisType, String cusId) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | |
| | | |
| | | sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" and customer_id=:cusId group by businesstype,wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | sql.setLength(0); |
| | | sql.append(" SELECT businesstype cate_id,count(id) num FROM workflow_base WHERE customer_id = :cusId "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" group by businesstype "); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | Map dataSetMap = new HashMap(); |
| | | Map extendSetMap = new HashMap(); |
| | | for(Map map:dataList){ |
| | |
| | | } |
| | | //获取工单类型List |
| | | List<Map> cateList = getOrderCateList(); |
| | | |
| | | |
| | | List<String> labelList = new ArrayList<String>(); |
| | | List<List<String>> tableDataList = new ArrayList<List<String>>(); |
| | | //组织表头 |
| | |
| | | String key = cate.get("key").toString(); |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add(cate.get("val").toString()); |
| | | |
| | | |
| | | if(extendSetMap.get(key)!=null){ |
| | | tempList.add(((Map)extendSetMap.get(key)).get("num").toString()); |
| | | totalNum = totalNum + Integer.valueOf(((Map)extendSetMap.get(key)).get("num").toString()); |
| | | }else{ |
| | | tempList.add("0"); |
| | | } |
| | | |
| | | |
| | | key = "1" + "_" + cate.get("key").toString() ; |
| | | if(dataSetMap.get(key)!=null){ |
| | | tempList.add(((Map)dataSetMap.get(key)).get("num").toString()); |
| | |
| | | tableMap.put("dataList", tableDataList); |
| | | return tableMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取工单类型列表 |
| | | * @author chenlong |
| | |
| | | } |
| | | return cateList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 组装类型查询条件 |
| | | * @author chenlong |
| | |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and month =:selDate "); |
| | | }else if(statisType.equals("year")){ |
| | | sql.append(" and left(month,4) =:selDate "); |
| | | sql.append(" and left(month,4) =:selDate "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and concat(left(month,4),quarter(concat(month,'01'))) =:selDate "); |
| | | sql.append(" and concat(left(month,4),quarter(concat(month,'01'))) =:selDate "); |
| | | } |
| | | sql.append(" order by update_time desc "); |
| | | Double y = baseDao.queryForDouble(sql.toString(), param); |
| | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cus_id", cusId); |
| | | param.put("selDate", selDate); |
| | | |
| | | |
| | | sql.append("SELECT AVG(A.ALL_SCORE) AS ALL_SCORE ,B.CUSTOMER_NAME,B.YWJL_NAME,B.ID FROM TOTLE_SATIS_INFO A,SC_PARTNER_CUSTOMER_INFO B WHERE A.CUSTOMER_ID = B.ID AND A.CUSTOMER_ID = :cus_id "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" AND A.MONTH =:selDate "); |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" AND CONCAT(left(month,4),quarter(CONCAT(month,'01'))) =:selDate "); |
| | | } |
| | | sql.append(" GROUP BY A.CUSTOMER_ID"); |
| | | sql.append(" GROUP BY A.CUSTOMER_ID,B.CUSTOMER_NAME, B.YWJL_NAME, B.ID"); |
| | | Map map = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | | |
| | | StringBuffer detailsql = new StringBuffer("SELECT A.CUSTOMER_ID,B.SATIS_TYPE,SUM(B.ALL_COUNT) AS ALL_COUNT,SUM(SATIS_COUNT) AS SATIS_COUNT,AVG(FG_RATE) AS FG_RATE,AVG(REQUEST_FG_RATE) AS REQUEST_FG_RATE,AVG(SATIS_SCORE) AS SATIS_SCORE,AVG(REQUEST_SATIS_SCORE) AS REQUEST_SATIS_SCORE,AVG(SATIS_QZ) AS SATIS_QZ FROM TOTLE_SATIS_INFO A,TOTLE_SATIS_DETAIL B WHERE A.ID = B.BUS_ID AND A.CUSTOMER_ID = :cus_id "); |
| | | if(statisType.equals("month")){ |
| | | detailsql.append(" AND A.MONTH =:selDate "); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | sql.append(" group by type_id "); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by type_id,type_name "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("type_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("satis_type").toString(), data); |
| | | } |
| | | |
| | | |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | | categories.add("分数"); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | |
| | | df = new SimpleDateFormat("yyyyw"); |
| | | } |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | try { |
| | | cal.setTime(df.parse(selDate)); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | |
| | | if(statisType.equals("month")){ |
| | | cal.add(Calendar.MONTH, -1); |
| | | }else if(statisType.equals("week")){ |
| | |
| | | if(statisType.equals("quarter")){ |
| | | lastDate = getLastQuarter(selDate); |
| | | } |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | param.put("selDate",selDate); |
| | | param.put("lastDate",lastDate); |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | |
| | | |
| | | |
| | | String groupByStr = ""; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); |
| | | groupByStr="date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')"; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5))"; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS')))"; |
| | | } |
| | | sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5) ) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5) ) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5) ) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5) ) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | |
| | | sql.append(" and customer_id=:cusId group by " + groupByStr +",wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | Map<String,Map> dataSet = new HashMap(); |
| | |
| | | } |
| | | sql.append(" group by cate_id "); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | Map dataSetMap = new HashMap(); |
| | | Map extendSetMap = new HashMap(); |
| | | for(Map map:dataList){ |
| | |
| | | for(Map map:extendList){ |
| | | extendSetMap.put(map.get("cate_id"), map); |
| | | } |
| | | |
| | | |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | | if(statisType.equals("month")){ |
| | |
| | | categories.add("上季度"); |
| | | categories.add("本季度"); |
| | | } |
| | | |
| | | |
| | | for(int i=0;i<4;i++){ |
| | | Map tempMap = new HashMap(); |
| | | List tempList = new ArrayList(); |
| | |
| | | if(j==1){ |
| | | key = selDate; |
| | | } |
| | | |
| | | |
| | | if(i==0){ |
| | | if(extendSetMap.get(key)!=null){ |
| | | tempList.add(((Map)extendSetMap.get(key)).get("num")); |
| | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | |
| | | |
| | | } |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("source_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident where customer_id = :cusId and resolve_type_id is not null "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("resolve_type_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.CLOSE_REASON); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); |
| | | sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); |
| | | sql.append(" select count(id) total_num from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, ( "); |
| | | sql.append(" select count(id) outtime_num from sc_workflow_incident where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish "); |
| | | Double y = baseDao.queryForDouble(sql.toString(), param); |
| | | Map chartMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,sla_id from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by sla_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("sla_id"), data); |
| | | } |
| | | |
| | | |
| | | sql.setLength(0); |
| | | sql.append(" select id,level_name from sc_sla where state=1 order by serial asc"); |
| | | List<Map> dicList = baseDao.queryForList(sql.toString(), param); |
| | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | param.put("nodeTemplateId", Constants.YXCL); |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select THIRD_CATEGORY_NAME,count(id) total_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtotal "); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME) mtotal "); |
| | | sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mpri "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mques "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mdeal "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | //组织表头 |
| | | lebalList.add("服务目录"); |
| | | lebalList.add("事件数"); |
| | |
| | | lebalList.add("平均处理时长"); |
| | | lebalList.add("一线解决率"); |
| | | lebalList.add("服务级别达成率"); |
| | | |
| | | |
| | | //组织数据 |
| | | if(baseList!=null&&baseList.size()>0){ |
| | | sql.setLength(0); |
| | | sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select count(id) total_num from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, "); |
| | | sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) manswer, "); |
| | | sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mactivi, "); |
| | | sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish, "); |
| | | sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtimeout, "); |
| | | sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mpri, "); |
| | | sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mques, "); |
| | | sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mdeal, "); |
| | | sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfirst "); |
| | | Map extendMap = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | | |
| | | for(Map base:baseList){ |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); |
| | |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ontime_rate"))+"%"); |
| | | dataList.add(tempList); |
| | | } |
| | | |
| | | |
| | | Map res = new HashMap(); |
| | | res.put("lebalList",lebalList); |
| | | res.put("dataList",dataList); |
| | |
| | | param.put("selDate", selDate); |
| | | param.put("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | sql.append(" select count(id) num,wfstate from workflow_base where businesstype =:busType and customer_id = :cusId "); |
| | | setWhereSql(sql, "createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATETIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by wfstate order by wfstate"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | Map<String,Map> dataxx = new HashMap(); |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("wfstate").toString(), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = new ArrayList<Map>(); |
| | | for(int i=1;i<=3;i++){ |
| | | Map map = new HashMap(); |
| | |
| | | map.put("DATAKEY", i); |
| | | dicList.add(map); |
| | | } |
| | | |
| | | |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | | List tempList = new ArrayList(); |
| | |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | df = new SimpleDateFormat("yyyyw"); |
| | | } |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | try { |
| | | cal.setTime(df.parse(selDate)); |
| | | } catch (ParseException e) { |
| | |
| | | if(statisType.equals("quarter")){ |
| | | lastDate = getLastQuarter(selDate); |
| | | } |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | param.put("selDate",selDate); |
| | | param.put("lastDate",lastDate); |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | |
| | | |
| | | |
| | | |
| | | String groupByStr = ""; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); |
| | | groupByStr = "date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); |
| | | groupByStr = " concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) "; |
| | | } |
| | | sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("to_date(createtime,'YYYYMMDDHH24MISS')")){ |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5)) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | |
| | | sql.append(" and customer_id=:cusId group by "+ groupByStr +",wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | String newcreatetime = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | String groupCateId=""; |
| | | sql.setLength(0); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(" + newcreatetime+",'%Y%m') cate_id,"); |
| | | groupCateId = " date_format(" + newcreatetime+",'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year("+newcreatetime+"),week("+newcreatetime+",5)) cate_id,"); |
| | | groupCateId = " concat(year("+newcreatetime+"),week("+newcreatetime+",5)) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year("+newcreatetime+"),quarter("+newcreatetime+")) cate_id,"); |
| | | groupCateId=" concat(year("+newcreatetime+"),quarter("+newcreatetime+")) "; |
| | | } |
| | | sql.append(" count(id) num FROM workflow_base WHERE customer_id = :cusId and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format("+newcreatetime+",'%Y%m') = :selDate or date_format("+newcreatetime+",'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (week("+newcreatetime+",5) = substring(:selDate,5) or week("+newcreatetime+",5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (quarter("+newcreatetime+") = substring(:selDate,5) or quarter("+newcreatetime+")=substring(:lastDate,5)) "); |
| | | } |
| | | sql.append(" group by cate_id "); |
| | | sql.append(" group by "+groupCateId); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | Map dataSetMap = new HashMap(); |
| | | Map extendSetMap = new HashMap(); |
| | | for(Map map:dataList){ |
| | |
| | | for(Map map:extendList){ |
| | | extendSetMap.put(map.get("cate_id"), map); |
| | | } |
| | | |
| | | |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | | if(statisType.equals("month")){ |
| | |
| | | categories.add("上季度"); |
| | | categories.add("本季度"); |
| | | } |
| | | |
| | | |
| | | for(int i=0;i<4;i++){ |
| | | Map tempMap = new HashMap(); |
| | | List tempList = new ArrayList(); |
| | |
| | | if(j==1){ |
| | | key = selDate; |
| | | } |
| | | |
| | | |
| | | if(i==0){ |
| | | if(extendSetMap.get(key)!=null){ |
| | | tempList.add(((Map)extendSetMap.get(key)).get("num")); |
| | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_question where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("source_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.QUESTION_SOURCE); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_question where customer_id = :cusId and state=7 "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("resolve_type_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.QUESTIONCLOSE_RESOLVE_TYPE); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | chartMap.put("series", series); |
| | | chartMap.put("categories", categories); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,influence_id from sc_workflow_question where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by influence_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("influence_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.EVENT_EFFECT_DG); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | //定义报表变量 |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | //查询数据 |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(sleep_num,0) sleep_num, "); |
| | | sql.append(" IFNULL(finish_num,0) finish_num, IFNULL(close_num,0) close_num from ( "); |
| | | sql.append(" select count(b.id) total_num,i.THIRD_CATEGORY_NAME,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | sql.append(" GROUP BY I.THIRD_CATEGORY_ID "); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" GROUP BY I.THIRD_CATEGORY_ID,i.THIRD_CATEGORY_NAME "); |
| | | sql.append(" ) mtotal left join ( "); |
| | | sql.append(" select count(b.id) answer_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i,( "); |
| | | sql.append(" select FLOWID from workflow_node where FLOWSTATE = 1 group by FLOWID "); |
| | | sql.append(" ) n where b.ID = i.FLOW_ID and b.id = n.FLOWID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE = 1 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) manswer on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) activi_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE=1 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mactivi on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) sleep_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE=6 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) msleep on mtotal.THIRD_CATEGORY_ID = msleep.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) finish_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and (b.WFSTATE=2 or b.WFSTATE=4) GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mfinish on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) close_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and i.state=7 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mclose on mtotal.THIRD_CATEGORY_ID = mclose.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | |
| | | sql.append(" and i.state=7 "); |
| | | sql.append(" ) mclose "); |
| | | Map extendMap = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | | |
| | | for(Map base:baseList){ |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); |
| | |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("finish_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("close_num"))); |
| | | dataList.add(tempList); |
| | | |
| | | |
| | | } |
| | | Map res = new HashMap(); |
| | | res.put("lebalList",lebalList); |
| | |
| | | df = new SimpleDateFormat("yyyyw"); |
| | | } |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | cal.setFirstDayOfWeek(Calendar.MONDAY); //设置每周的第一天为星期一 |
| | | cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//每周从周一开始 |
| | | cal.setMinimalDaysInFirstWeek(7); |
| | | try { |
| | | cal.setTime(df.parse(selDate)); |
| | | } catch (ParseException e) { |
| | |
| | | if(statisType.equals("quarter")){ |
| | | lastDate = getLastQuarter(selDate); |
| | | } |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | param.put("selDate",selDate); |
| | | param.put("lastDate",lastDate); |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); |
| | | |
| | | |
| | | |
| | | |
| | | String gruopByStr = ""; |
| | | String newCreateTime = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(" + newCreateTime +",'%Y%m') cate_id,"); |
| | | gruopByStr = "date_format("+ newCreateTime +",'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(" + newCreateTime + "),week("+newCreateTime + ",5)) cate_id,"); |
| | | gruopByStr = " concat(year(" + newCreateTime + "),week("+newCreateTime + ",5))"; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) cate_id,"); |
| | | gruopByStr = " concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) "; |
| | | } |
| | | sql.append(" ( CASE WHEN WFSTATE = 1 THEN '1' WHEN WFSTATE = 2 THEN '2' WHEN WFSTATE = 3 THEN '3' WHEN WFSTATE = 4 THEN '2' WHEN WFSTATE = 6 THEN '6' END ) data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format("+newCreateTime+",'%Y%m') = :selDate or date_format("+newCreateTime+",'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (week("+newCreateTime+",5) = substring(:selDate,5) or week("+newCreateTime+",5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (quarter("+newCreateTime+") = substring(:selDate,5) or quarter("+newCreateTime+")=substring(:lastDate,5)) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | |
| | | sql.append(" and customer_id=:cusId group by "+gruopByStr +",WFSTATE "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | sql.setLength(0); |
| | | if(statisType.equals("month")){ |
| | |
| | | } |
| | | sql.append(" group by cate_id "); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | Map dataSetMap = new HashMap(); |
| | | Map extendSetMap = new HashMap(); |
| | | for(Map map:dataList){ |
| | |
| | | for(Map map:extendList){ |
| | | extendSetMap.put(map.get("cate_id"), map); |
| | | } |
| | | |
| | | |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | | if(statisType.equals("month")){ |
| | |
| | | categories.add("上季度"); |
| | | categories.add("本季度"); |
| | | } |
| | | |
| | | |
| | | for(int i=0;i<4;i++){ |
| | | Map tempMap = new HashMap(); |
| | | List tempList = new ArrayList(); |
| | |
| | | if(j==1){ |
| | | key = selDate; |
| | | } |
| | | |
| | | |
| | | if(i==0){ |
| | | if(extendSetMap.get(key)!=null){ |
| | | tempList.add(((Map)extendSetMap.get(key)).get("num")); |
| | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("source_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_SOURCE); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | sql.append(" group by type_id "); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by type_id ,type_name"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("type_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.INCIDENT_TYPE); |
| | | List seriesData = new ArrayList(); |
| | | for(Map dic:dicList){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident_local where customer_id = :cusId and resolve_type_id is not null "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("resolve_type_id"), data); |
| | | } |
| | | |
| | | |
| | | List<Map> dicList = dicService.getDataDictionaryByCategoryKey(Constants.CLOSE_REASON); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | chartMap.put("series", series); |
| | | chartMap.put("categories", categories); |
| | | }else{ |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); |
| | | sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); |
| | | sql.append(" select count(id) total_num from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, ( "); |
| | | sql.append(" select count(id) outtime_num from sc_workflow_incident_local where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish "); |
| | | Double y = baseDao.queryForDouble(sql.toString(), param); |
| | | Map chartMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,sla_id from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by sla_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | for(Map data:dataList){ |
| | | dataSetMap.put(data.get("sla_id"), data); |
| | | } |
| | | |
| | | |
| | | sql.setLength(0); |
| | | sql.append(" select id,level_name from sc_sla where state=1 order by serial asc"); |
| | | List<Map> dicList = baseDao.queryForList(sql.toString(), param); |
| | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | param.put("nodeTemplateId", Constants.YXCL); |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | |
| | | List<String> lebalList = new ArrayList<String>(); |
| | | List<List<String>> dataList = new ArrayList<List<String>>(); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select a.THIRD_CATEGORY_NAME,count(a.id) total_num,a.THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); |
| | | setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); |
| | | sql.append(" group by a.THIRD_CATEGORY_ID) mtotal "); |
| | | setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by a.THIRD_CATEGORY_ID,a.THIRD_CATEGORY_NAME) mtotal "); |
| | | sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and b.WFSTATE<>3 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mpri "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mques "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mdeal "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | |
| | | //组织表头 |
| | | lebalList.add("服务目录"); |
| | | lebalList.add("事件数"); |
| | |
| | | lebalList.add("平均处理时长"); |
| | | lebalList.add("驻场解决率"); |
| | | lebalList.add("服务级别达成率"); |
| | | |
| | | |
| | | //组织数据 |
| | | if(baseList!=null&&baseList.size()>0){ |
| | | sql.setLength(0); |
| | | sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select count(a.id) total_num from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); |
| | | setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, "); |
| | | sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) manswer, "); |
| | | sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mactivi, "); |
| | | sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish, "); |
| | | sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtimeout, "); |
| | | sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mpri, "); |
| | | sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mques, "); |
| | | sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mdeal, "); |
| | | sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfirst "); |
| | | Map extendMap = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | | |
| | | for(Map base:baseList){ |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("THIRD_CATEGORY_NAME"))); |
| | |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("timeout_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("pri_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("ques_num"))); |
| | | |
| | | tempList.add(DateUtil.secToTime(Math.round((Double)base.get("avg_time")))); |
| | | Object avg_time = base.get("avg_time"); |
| | | String avgTimeSTr = null; |
| | | if (avg_time == null){ |
| | | avgTimeSTr = "0"; |
| | | } else { |
| | | avgTimeSTr = String.valueOf(avg_time); |
| | | } |
| | | tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("first_rate"))+"%"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("ontime_rate"))+"%"); |
| | | dataList.add(tempList); |
| | |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add("合计"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("total_num"))); |
| | | |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("answer_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("activi_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("finish_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("timeout_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("pri_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ques_num"))); |
| | | tempList.add(DateUtil.secToTime(Math.round((Double)extendMap.get("avg_time")))); |
| | | Object avg_time = extendMap.get("avg_time"); |
| | | String avgTimeSTr = null; |
| | | if (avg_time == null){ |
| | | avgTimeSTr = "0"; |
| | | } else { |
| | | avgTimeSTr = String.valueOf(avg_time); |
| | | } |
| | | tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("first_rate"))+"%"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ontime_rate"))+"%"); |
| | | dataList.add(tempList); |
| | |
| | | if(statisType.equals("quarter")){ |
| | | lastDate = getLastQuarter(selDate); |
| | | } |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | param.put("selDate",selDate); |
| | | param.put("lastDate",lastDate); |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | |
| | | String cateIdStr = ""; |
| | | //查询数据 |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select i.month cate_id, "); |
| | | cateIdStr = " i.month "; |
| | | }else if(statisType.equals("year")){ |
| | | sql.append(" select left(i.month,4) cate_id, "); |
| | | cateIdStr = " left(i.month,4) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(left(i.month,4),quarter(concat(i.month,'01'))) cate_id, "); |
| | | cateIdStr = " concat(left(i.month,4),quarter(concat(i.month,'01'))) "; |
| | | } |
| | | sql.append(" d.satis_type data_name,truncate(avg(d.satis_score),0) num from totle_satis_info i,totle_satis_detail d where i.id = d.bus_id "); |
| | | if(statisType.equals("month")){ |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); |
| | | } |
| | | sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and i.customer_id=:cusId group by "+cateIdStr+",d.satis_type "); |
| | | sql.append(" union "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select i.month cate_id, "); |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); |
| | | } |
| | | sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and i.customer_id=:cusId group by "+cateIdStr+" "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | for(Map map:dataList){ |
| | | dataSetMap.put(map.get("data_name")+"_"+map.get("cate_id"), map); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> series = new ArrayList<Map>(); |
| | | List<String> categories = new ArrayList<String>(); |
| | | if(statisType.equals("month")){ |
| | |
| | | categories.add("上季度"); |
| | | categories.add("本季度"); |
| | | } |
| | | |
| | | |
| | | for(int i=0;i<=3;i++){ |
| | | if(i!=2){ |
| | | Map tempMap = new HashMap(); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | |
| | | sql.append(" and concat(left(i.month,4),quarter(concat(i.month,'01')))=:selDate "); |
| | | } |
| | | sql.append(" and i.customer_id=:cusId group by d.satis_type "); |
| | | |
| | | |
| | | List<Map> dataList= baseDao.queryForList(sql.toString(), param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | } |
| | | } |
| | | List<Map> series = new ArrayList<Map>(); |
| | | |
| | | |
| | | for(int i=1;i<=2;i++){ |
| | | Map tempMap = new HashMap(); |
| | | if(i==1){ |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | } |
| | | cal.add(Calendar.YEAR, -1); |
| | | String lastDate = df.format(cal.getTime()); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT) |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | List<String> categories = new ArrayList<String>(); |
| | | categories.add("数量"); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | |
| | | |
| | | for(int i=1;i<=2;i++){ |
| | | Map tempMap = new HashMap(); |
| | | tempMap.put("name", "去年"); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | } |
| | | cal.add(Calendar.YEAR, -1); |
| | | String lastDate = df.format(cal.getTime()); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION) |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | List<String> categories = new ArrayList<String>(); |
| | | categories.add("数量"); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | |
| | | |
| | | for(int i=1;i<=2;i++){ |
| | | Map tempMap = new HashMap(); |
| | | tempMap.put("name", "去年"); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | } |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | |
| | | } |
| | | cal.add(Calendar.YEAR, -1); |
| | | String lastDate = df.format(cal.getTime()); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("cusId", cusId) |
| | | .addValue("selDate", selDate) |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL) |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | List<String> categories = new ArrayList<String>(); |
| | | categories.add("数量"); |
| | | List<Map> series = new ArrayList<Map>(); |
| | | |
| | | |
| | | for(int i=1;i<=2;i++){ |
| | | Map tempMap = new HashMap(); |
| | | tempMap.put("name", "去年"); |
| | |
| | | tempMap.put("data", tempList); |
| | | series.add(tempMap); |
| | | } |
| | | |
| | | |
| | | chartMap.put("categories", categories); |
| | | chartMap.put("series", series); |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | | |
| | | |
| | | return chartMap; |
| | | } |
| | | |
| | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId",cusId); |
| | | param.put("selDate",selDate); |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" SELECT I.ALL_SCORE,D.SATIS_SCORE,D.SATIS_TYPE,I.MONTH FROM TOTLE_SATIS_DETAIL D ,TOTLE_SATIS_INFO I "); |
| | | builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH ORDER BY SATIS_TYPE,MONTH"); |
| | | builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH,I.ALL_SCORE, D.SATIS_SCORE ORDER BY SATIS_TYPE,MONTH"); |
| | | List<Map> queryList = baseDao.queryForList(builder.toString(), param); |
| | | builder.setLength(0); |
| | | builder.setLength(0); |
| | | Map<String,Object> queryMap = new HashMap<String,Object>(); |
| | | |
| | | |
| | | if(queryList!=null&&queryList.size()>0){ |
| | | for(Map map:queryList){ |
| | | String key = map.get("SATIS_TYPE").toString()+"_"+map.get("MONTH").toString(); |
| | |
| | | for(int i=1;i<=12;i++){ |
| | | categories.add(i+"月"); |
| | | } |
| | | |
| | | |
| | | List<String> typeList = new ArrayList(); |
| | | typeList.add("1"); |
| | | typeList.add("3"); |
| | | |
| | | |
| | | Map tempWholeMap = new HashMap(); |
| | | List tempWholeList = new ArrayList(); |
| | | tempWholeMap.put("name", "整体得分"); |
| | |
| | | }else{ |
| | | key = key + i; |
| | | } |
| | | |
| | | |
| | | if(queryMap.get(key)!=null){ |
| | | tempList.add(((Map)queryMap.get(key)).get("SATIS_SCORE")); |
| | | //整体得分 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | tempMap.put("data", tempList); |
| | | tempMap.put("type", "column"); |
| | | series.add(tempMap); |
| | |
| | | chartMap.put("series", series); |
| | | chartMap.put("categories", categories); |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | chartMap.put("nodata", true); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public boolean updateWorkSummary(HttpServletRequest request) { |
| | | |
| | | |
| | | String id = request.getParameter("id"); |
| | | String note = request.getParameter("note"); |
| | | String summaryType = request.getParameter("summaryType"); |
| | |
| | | String userName = user.get("ZSXM").toString(); |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | |
| | | |
| | | param.addValue("note", note) |
| | | .addValue("cusId", cusId) |
| | | .addValue("userId", userId) |
| | |
| | | .addValue("updateTime", DateUtil.getCurrentDate14()) |
| | | .addValue("summaryType", summaryType) |
| | | .addValue("summaryDate", summaryDate); |
| | | |
| | | |
| | | if(StringUtil.isBlank(id)){ |
| | | sql.append(" insert into work_summary (id,create_time,create_user_id,create_user_name,note,update_time,summary_type,summary_date,cus_id,state) "); |
| | | sql.append(" values (:id,:createTime,:userId,:userName,:note,:updateTime,:summaryType,:summaryDate,:cusId,1) "); |
| | |
| | | public List<String> getCusYearToCur(String cusId) { |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("cusId", cusId); |
| | | String sql = "select year(CREATE_TIME) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; |
| | | String sql = "select substr(CREATE_TIME||'',1,4) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; |
| | | Integer startYear = baseDao.queryForInteger(sql,param); |
| | | Calendar cal = Calendar.getInstance(); |
| | | Integer endYear = cal.get(Calendar.YEAR); |
| | |
| | | } |
| | | return years; |
| | | } |
| | | |
| | | |
| | | private String getLastQuarter(String selDate){ |
| | | Integer year = Integer.valueOf(selDate.substring(0, 4)); |
| | | Integer quarter = Integer.valueOf(selDate.substring(4)); |
| | |
| | | @Override |
| | | public String getNRecordDate(Map<String, String> params) { |
| | | String col = ""; |
| | | String createTimeStr = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(params.get("type").equals("week")){ |
| | | col = "week(createtime,5)"; |
| | | col = "week("+ createTimeStr +",5)"; |
| | | }else if(params.get("type").equals("month")){ |
| | | col = "date_format(createtime,'%Y%m')"; |
| | | col = "date_format("+ createTimeStr +",'%Y%m')"; |
| | | }else if(params.get("type").equals("quarter")){ |
| | | col = "quarter(createtime)"; |
| | | col = "quarter("+ createTimeStr +")"; |
| | | }else if(params.get("type").equals("year")){ |
| | | col = "year(createtime)"; |
| | | col = "year("+ createTimeStr +")"; |
| | | } |
| | | |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select GROUP_CONCAT(d) from ( "); |
| | | sql.append(" select wm_CONCAT(d) from ( "); |
| | | sql.append(" select $col d from workflow_base where businesstype in (8,9,10) and customer_id=:cusId "); |
| | | if(!params.get("type").equals("year")){ |
| | | sql.append(" and year(createtime)=:year "); |
| | | sql.append(" and substr(createtime||'',1,4)=:year "); |
| | | } |
| | | sql.append(" group by $col "); |
| | | sql.append(" ) t "); |
| | | String rsql = sql.toString().replace("$col", col); |
| | | String rsql = sql.toString().replace("$col", col); |
| | | return ConvertUtil.obj2StrBlank(baseDao.queryForString(rsql,params)); |
| | | } |
| | | } |
| | |
| | | package cn.ksource.web.facade.zc; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.CUSTOMER_CONTACTS; |
| | | import cn.ksource.beans.GG_MESSAGE; |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | 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.NumberUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.NodeAnswerEntity; |
| | | import cn.ksource.core.workflow.NodeDealEntity; |
| | | import cn.ksource.core.workflow.NodeFinishEntity; |
| | | import cn.ksource.core.workflow.WorkflowBusinessService; |
| | | import cn.ksource.core.workflow.WorkflowCoreService; |
| | | import cn.ksource.core.workflow.*; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.controller.wechat.util.WechatConstants; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.order.OrderService; |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service("zcywFacade") |
| | | public class ZcywFacadeImpl implements ZcywFacade { |
| | | |
| | | |
| | | @Autowired |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkOrderCodeService workOrderCodeService; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkflowBusinessService workflowBusinessService; |
| | | |
| | | |
| | | @Autowired |
| | | private WorkflowCoreService workflowCoreService; |
| | | |
| | | |
| | | @Autowired |
| | | private MessageFacade messageFacade; |
| | | |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | private RecordService recordService; |
| | | |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | |
| | | @Autowired |
| | | private IncidentFacade incidentFacade; |
| | | @Autowired |
| | |
| | | |
| | | @Override |
| | | public int queryMyZcywCount(Map<String, String> params) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | |
| | | |
| | | /** |
| | | * 查询逻辑 |
| | | * 1.如果节点状态选择为全部,则查询节点表中处理人是我的,或者处理角色是我的并且没有分配处理人的, |
| | |
| | | * 3.如果节点状态选择为进行中,则查询节点表中处理人是我的 (不需要过滤,因为一个工单进行中节点,只会有一个) |
| | | * 4.如果节点状态查询未已处理,则查询节点表中处理人是我的,需要过滤(因为一个节点一个人可以处理多次,通过节点表作为主表查询出来的工单会有重复) |
| | | */ |
| | | |
| | | |
| | | String flowstate = params.get("flowstate"); |
| | | if(StringUtil.notEmpty(flowstate)) { |
| | | if(flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | | } else if(flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); |
| | | }else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | | |
| | | |
| | | builder = getMyZcSql(builder,params); |
| | | |
| | | |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); |
| | | |
| | | |
| | | StringBuilder newBuild = new StringBuilder(); |
| | | newBuild.append("SELECT COUNT(*) FROM ( "); |
| | | newBuild.append(builder.toString()); |
| | | newBuild.append(") E"); |
| | | |
| | | |
| | | return baseDao.queryForInteger(newBuild.toString(),params); |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo queryMyZcywData(PageInfo pageInfo, |
| | | Map<String, String> params) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | params.put("ysc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_WFSTATE_DELETE)); |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询逻辑 |
| | | * 1.如果节点状态选择为全部,则查询节点表中处理人是我的,或者处理角色是我的并且没有分配处理人的, |
| | |
| | | * 3.如果节点状态选择为进行中,则查询节点表中处理人是我的 (不需要过滤,因为一个工单进行中节点,只会有一个) |
| | | * 4.如果节点状态查询未已处理,则查询节点表中处理人是我的,需要过滤(因为一个节点一个人可以处理多次,通过节点表作为主表查询出来的工单会有重复) |
| | | */ |
| | | |
| | | |
| | | String flowstate = params.get("flowstate"); |
| | | if(StringUtil.notEmpty(flowstate)) { |
| | | if(flowstate.equals("1")) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.FLOWSTATE = :jddcl "); |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | | builder = getMyZcSql(builder,params); |
| | | |
| | | |
| | | builder.append(" AND D.BUSINESSTYPE = :businessType"); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); |
| | | |
| | | |
| | | String pageSize = pageInfo.getPageSize(); |
| | | String currPage = pageInfo.getCurrPage(); |
| | | if(!StringUtil.notEmptyNum(pageSize)){ |
| | |
| | | } |
| | | int begin = Integer.valueOf(currPage); |
| | | int size = Integer.valueOf(pageSize); |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(flowstate)) { |
| | | builder.append( " ORDER BY D.CREATETIME DESC" ); |
| | | List<Map> result = baseDao.queryForList(builder.toString(),params); |
| | |
| | | list.add(flowId); |
| | | } |
| | | } |
| | | |
| | | |
| | | if(cacheMap.size()>0) { |
| | | for(String str : list) { |
| | | resultList.add(cacheMap.get(str)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | int infoCount = resultList.size(); |
| | | int bin = (begin-1)* size ; |
| | | int end = (begin-1)* size + size; |
| | |
| | | return info; |
| | | } |
| | | } |
| | | |
| | | |
| | | public StringBuilder getMyZcSql(StringBuilder builder,Map<String, String> params){ |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | |
| | | builder.append(" AND D.WFSTATE = :status "); |
| | | } |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | builder.append(" AND D.WFNAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String hjName = params.get("hjName"); |
| | | if(StringUtil.notEmpty(hjName)) { |
| | | builder.append(" AND D.CURRENT_NODE_NAME LIKE :hjName "); |
| | | params.put("hjName", "%"+hjName+"%"); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND D.ORDER_CODE LIKE :orderCode"); |
| | | params.put("orderCode", "%"+orderCode+"%"); |
| | | } |
| | | |
| | | |
| | | String contract = params.get("contract"); |
| | | if(StringUtil.notEmpty(contract)) { |
| | | builder.append(" AND D.CONTACT_NAME LIKE :contract "); |
| | | params.put("contract", "%"+contract+"%"); |
| | | } |
| | | |
| | | |
| | | String pri = params.get("pri"); |
| | | if(StringUtil.notEmpty(pri)) { |
| | | String[] pris = pri.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String dg = params.get("dg"); |
| | | if(StringUtil.notEmpty(dg)) { |
| | | String[] dgs = dg.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String type = params.get("type"); |
| | | if(StringUtil.notEmpty(type)) { |
| | | String[] types = type.split(","); |
| | |
| | | builder.append(")"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String sl = params.get("sl"); |
| | | if(StringUtil.notEmpty(sl)) { |
| | | String[] sls = sl.split(","); |
| | |
| | | |
| | | @Override |
| | | public int zcywCountForFwt(Map<String, String> params) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append("SELECT COUNT(WB.ID) "); |
| | | builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); |
| | | builder.append(" AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); |
| | | |
| | | |
| | | builder = getZcSql(builder,params); |
| | | return baseDao.queryForInteger(builder.toString(), params); |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo zcywDataForFwt(PageInfo pageInfo, Map<String, String> params) { |
| | | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE, "); |
| | | builder.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.ANSWER_TIMEOUT,B.DEAL_TIMEOUT "); |
| | | builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); |
| | | builder.append(" AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank( Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); |
| | | |
| | | |
| | | builder = getZcSql(builder,params); |
| | | |
| | | |
| | | builder.append( " ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | |
| | | |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); |
| | | } |
| | | public StringBuilder getZcSql(StringBuilder builder,Map<String, String> params){ |
| | |
| | | if(StringUtil.notEmpty(customer_id)) { |
| | | builder.append(" AND B.CUSTOMER_ID = :customer_id "); |
| | | } |
| | | |
| | | |
| | | String orderName = params.get("orderName"); |
| | | if(StringUtil.notEmpty(orderName)) { |
| | | builder.append(" AND WB.WFNAME LIKE :orderName "); |
| | | params.put("orderName", "%"+orderName+"%"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String orderStatus = params.get("orderStatus"); |
| | | if(StringUtil.notEmpty(orderStatus)) { |
| | | builder.append(" AND WB.WFSTATE = :orderStatus "); |
| | | params.put("orderStatus", orderStatus); |
| | | } |
| | | |
| | | |
| | | String orderCode = params.get("orderCode"); |
| | | if(StringUtil.notEmpty(orderCode)) { |
| | | builder.append(" AND WB.ORDER_CODE LIKE :orderCode "); |
| | |
| | | } |
| | | return builder; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryZcMsg(HttpServletRequest request) { |
| | | Map result = new HashMap(); |
| | |
| | | String customerName = new String(); |
| | | String subCustomerId = new String(); |
| | | String subCustomerName = new String(); |
| | | |
| | | |
| | | String userId = WebUtil.getLoginedUserId(request); |
| | | String selectSql1 = "SELECT A.CUSTOMER_ID FROM SC_CUSTOMER_ZC_UESR A WHERE A.USER_ID = :userId "; |
| | | |
| | | |
| | | Map zcz = baseDao.queryForMap(selectSql1,new SqlParameter("userId",userId)); |
| | | if(null!=zcz && zcz.size()>0) { |
| | | String cId = ConvertUtil.obj2StrBlank(zcz.get("CUSTOMER_ID")); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | result.put("customerId", customerId); |
| | | result.put("customerName", customerName); |
| | | result.put("subCustomerId", subCustomerId); |
| | |
| | | public List queryAllZcry(HttpServletRequest request) { |
| | | String subCustomerId = request.getParameter("subCustomerId"); |
| | | String sql = "SELECT * FROM SC_CUSTOMER_ZC_UESR WHERE CUSTOMER_ID = :subCustomerId "; |
| | | |
| | | |
| | | return baseDao.queryForList(sql,new SqlParameter("subCustomerId",subCustomerId)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map saveZcyw(HttpServletRequest request,SC_WORKFLOW_INCIDENT_LOCAL sc_workflow_incident_local) { |
| | | Map resultMap = new HashMap(); |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | |
| | | |
| | | |
| | | |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | |
| | | |
| | | String serivceListId = request.getParameter("serivceListId"); |
| | | String serivceList = request.getParameter("serivceList"); |
| | | String first_category_id = new String(); |
| | |
| | | third_category_id = serivceListIds[2]; |
| | | third_category_name = serivceLists[2]; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String dealUserId = userId; |
| | | String dealUserName = userName; |
| | | |
| | | |
| | | String type = request.getParameter("type"); |
| | | String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_FPDZCGCS; |
| | | String node_template_id = Constants.ZCYW_FWSL; |
| | |
| | | dealUserId = userMsg[0]; |
| | | dealUserName = userMsg[1]; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String order_code = workOrderCodeService.getIncidentOrderCode(); |
| | | |
| | | |
| | | long createTime = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | |
| | | |
| | | //响应时间为分钟 |
| | | Long requestAnswerTime = sc_workflow_incident_local.getRequest_answer_time(); |
| | | Long dealTime = sc_workflow_incident_local.getRequest_deal_time(); |
| | | if(null == requestAnswerTime) { |
| | | requestAnswerTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | if(null == dealTime) { |
| | | dealTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | //处理时间为小时 |
| | | |
| | | |
| | | long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); |
| | | long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | sc_workflow_incident_local.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id) |
| | | .setSecond_category_name(second_category_name).setThird_category_id(third_category_id).setThird_category_name(third_category_name).setCreate_user_id(userId).setCreate_user_name(userName) |
| | | .setCreate_time(createTime); |
| | | String id = StringUtil.getUUID(); |
| | | sc_workflow_incident_local.setId(id).setState(ConvertUtil.obj2Integer(state)).setOrder_code(order_code).setFlow_name(sc_workflow_incident_local.getName()).setAnswer_timeout(2).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout(2).setDeal_timeout_time(dealTimeoutTime); |
| | | sc_workflow_incident_local.insert(); |
| | | |
| | | |
| | | String bz = request.getParameter("bz"); |
| | | //启动流程 |
| | | WORKFLOW_BASE base = workflowBusinessService.startIncident_LocalWorkflow(id,bz); |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | entity.setDealer_type(3); |
| | | entity.setBefore_Dealer_type(2); |
| | |
| | | map.put("USER_ID", dealUserId); |
| | | map.put("USER_NAME", dealUserName); |
| | | map.put("IS_ADMIN", "1"); |
| | | |
| | | |
| | | dealerList.add(map); |
| | | |
| | | |
| | | entity.setDealerList(dealerList); |
| | | |
| | | |
| | | workflowBusinessService.toNode(base, node_template_id, entity); |
| | | |
| | | |
| | | String hasMsg = request.getParameter("hasMsg"); |
| | | /*if(StringUtil.notEmptyNum(hasMsg) && hasMsg.equals("2")) { |
| | | //保存联系人的信息 |
| | |
| | | .setIs_satis(0).setState(1).setIsemail(1).setIsphone(1).setAllow_login(2).setSub_customer_id(sc_workflow_incident_local.getSub_customer_id()).setSub_customer_name(sc_workflow_incident_local.getSub_customer_name()); |
| | | project_contacts.insert(); |
| | | }*/ |
| | | |
| | | |
| | | |
| | | |
| | | String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; |
| | | //发送消息 |
| | | GG_MESSAGE message = new GG_MESSAGE(); |
| | |
| | | .setOrder_code(order_code) |
| | | .setType(Constants.GG_MESSAGE_TYPE_XCYW); |
| | | messageFacade.doSendMessage(message, dealerList); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //所有的业务主键都是flowId(即流程主表的id) |
| | | String flowId = base.getId(); |
| | | |
| | | |
| | | |
| | | |
| | | //提交工单时添加关联工单 |
| | | String[] orderId = request.getParameterValues("orderId"); |
| | | orderService.saveLinkOrders(flowId,orderId,request); |
| | | |
| | | |
| | | //提交工单时上传文档附件 |
| | | // /fileService.uploadFile(request, flowId, flowId, null, null); |
| | | |
| | | |
| | | |
| | | |
| | | //提交工单时上传文档附件 |
| | | fileService.uploadFile(request,flowId,flowId,null,null,Constants.GG_FOLDERS_ZCYWSJFOLDERS,Constants.FILE_STATE_SHTG,null); |
| | | |
| | | |
| | | //提交工单时添加关联设备 |
| | | String[] deviceId = request.getParameterValues("deviceId"); |
| | | deviceService.saveLinkDevices(flowId,deviceId); |
| | | |
| | | |
| | | |
| | | |
| | | //添加处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("创建事件:"+userName+"创建了驻场运维事件"); |
| | |
| | | resultMap.put("incidentId", id); |
| | | return resultMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void doEndTask(HttpServletRequest request) { |
| | | String incidentId = request.getParameter("incidentId"); |
| | | String solveWay = request.getParameter("solveWay"); |
| | | String solveWayName = request.getParameter("solveWayName"); |
| | | |
| | | |
| | | |
| | | |
| | | String resolve = request.getParameter("resolve"); |
| | | String suggest = request.getParameter("suggest"); |
| | | String bz = request.getParameter("bz"); |
| | | Map user=new HashMap(); |
| | | |
| | | |
| | | if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ |
| | | user = WebUtil.getEngineerMsg(request); |
| | | }else{ |
| | |
| | | } |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | long resolveTime = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YJJ; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | Map result = getHs(incidentId,baseDao,resolveTime); |
| | | //获取解决耗时 |
| | | double sjjjsj = ConvertUtil.obj2Double(result.get("sjjjsj")); |
| | | |
| | | |
| | | String deal_timeout = ConvertUtil.obj2StrBlank(result.get("deal_timeout")); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String updateSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,DEAL_USE_TIME = :deal_use_time,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName,RESOLVE = :resolve,SUGGEST = :suggest,DEAL_TIMEOUT = :deal_timeout WHERE ID = :incidentId "; |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("state", state); |
| | | paramMap.put("userId", userId); |
| | |
| | | paramMap.put("incidentId", incidentId); |
| | | paramMap.put("deal_use_time", sjjjsj); |
| | | paramMap.put("deal_timeout", deal_timeout); |
| | | |
| | | |
| | | |
| | | |
| | | baseDao.execute(updateSql, paramMap); |
| | | |
| | | |
| | | //=====================执行结束流程(事件已解决) |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(incidentId).getInstanceById().getFlow_id()).getInstanceById(); |
| | | |
| | | |
| | | WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); |
| | | |
| | | |
| | | //事件响应 |
| | | NodeAnswerEntity entity = new NodeAnswerEntity(); |
| | | entity.setUser_id(userId); |
| | | entity.setUser_name(userName); |
| | | workflowCoreService.answerNode(base, workflow_node, entity); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //判断是否是第一次响应,如果是第一次响应的话,则更新事件表中实际响应时间(第一次响应时间) |
| | | String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; |
| | | Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); |
| | | String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); |
| | | long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(answerTime)) { |
| | | StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET "); |
| | | long answer_time = DateUtil.getCurrentDate14(); |
| | | //判断是否响应超时 |
| | | long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); |
| | | |
| | | |
| | | String answer_timeout = "2"; |
| | | if(answer_time>answer_timeout_time) { |
| | | answer_timeout = "1"; |
| | | } |
| | | |
| | | |
| | | builder.append(" ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); |
| | | paramMap.put("answerTime",answer_time); |
| | | paramMap.put("answer_timeout", answer_timeout); |
| | | |
| | | |
| | | //计算第一次响应时间和创建事件的事件差 将时间差转化为分钟 |
| | | long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); |
| | | //将秒转化为分钟 |
| | | double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); |
| | | |
| | | |
| | | paramMap.put("answer_user_time", sjxysj); |
| | | builder.append(" WHERE ID = :incidentId"); |
| | | paramMap.put("incidentId", incidentId); |
| | | baseDao.execute(builder.toString(), paramMap); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title("流程结束"); |
| | | finishEntity.setDeal_note(bz); |
| | | |
| | | |
| | | |
| | | |
| | | //判断是否能够结束节点 |
| | | boolean canFinish = workflowCoreService.finishNode(base, workflow_node, finishEntity); |
| | | if (canFinish) { |
| | | //关闭流程 |
| | | workflowCoreService.finishWorkFlow(base); |
| | | } |
| | | } |
| | | //=====================执行结束流程完毕(事件已解决) |
| | | |
| | | |
| | | |
| | | |
| | | String flowId = base.getId(); |
| | | |
| | | |
| | | //增加事件处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("解决事件:"+userName+"解决了事件"); |
| | |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(flowId); |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | private Map getHs(String incidentId,BaseDao baseDao,long resolveTime) { |
| | | String selectCreateTime = "SELECT CREATE_TIME,DEAL_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :id "; |
| | | Map map = baseDao.queryForMap(selectCreateTime,new SqlParameter("id",incidentId)); |
| | | long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); |
| | | long deal_timeout_time = ConvertUtil.obj2Long(map.get("DEAL_TIMEOUT_TIME")); |
| | | |
| | | |
| | | //计算第解决时间和创建事件的事件差 将时间差转化为小时 |
| | | long jjSeconds = DateUtil.getSecondsFormDate2Date(create_time, resolveTime); |
| | | |
| | | |
| | | //将秒转化为小时 |
| | | double sjjjsj = NumberUtil.div(ConvertUtil.obj2Double(jjSeconds), ConvertUtil.obj2Double(3600), 2); |
| | | |
| | | |
| | | Map result = new HashMap(); |
| | | result.put("sjjjsj", sjjjsj); |
| | | |
| | | |
| | | if(resolveTime>deal_timeout_time) { |
| | | result.put("deal_timeout", 1); |
| | | |
| | | |
| | | } else { |
| | | result.put("deal_timeout", 2); |
| | | } |
| | | |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 执行关闭事件操作 |
| | | */ |
| | |
| | | String incidentId = request.getParameter("incidentId"); |
| | | String solveWay = request.getParameter("solveWay"); |
| | | String solveWayName = request.getParameter("solveWayName"); |
| | | |
| | | |
| | | |
| | | |
| | | String resolve = request.getParameter("resolve"); |
| | | String bz = request.getParameter("bz"); |
| | | |
| | | |
| | | String merged_business_id = new String(); |
| | | |
| | | |
| | | if(solveWay.equals(Constants.SJCF)) { |
| | | merged_business_id = request.getParameter("merged_business_id"); |
| | | } |
| | | |
| | | |
| | | Map user=new HashMap(); |
| | | if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ |
| | | user = WebUtil.getEngineerMsg(request); |
| | |
| | | } |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | long resolveTime = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YGB; |
| | | |
| | | |
| | | |
| | | |
| | | Map result = getHs(incidentId,baseDao,resolveTime); |
| | | //获取解决耗时 |
| | | double sjjjsj = ConvertUtil.obj2Double(result.get("sjjjsj")); |
| | | |
| | | |
| | | String deal_timeout = ConvertUtil.obj2StrBlank(result.get("deal_timeout")); |
| | | |
| | | |
| | | String updateSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state , RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,DEAL_USE_TIME = :deal_use_time,RESOLVE_TYPE_ID = :solveWay,RESOLVE_TYPE_NAME = :solveWayName,RESOLVE = :resolve,MERGED_BUSINESS_ID = :merged_business_id,DEAL_TIMEOUT = :deal_timeout WHERE ID = :incidentId"; |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("state", state); |
| | | paramMap.put("userId", userId); |
| | |
| | | paramMap.put("incidentId", incidentId); |
| | | paramMap.put("deal_use_time", sjjjsj); |
| | | paramMap.put("deal_timeout", deal_timeout); |
| | | |
| | | |
| | | baseDao.execute(updateSql, paramMap); |
| | | |
| | | |
| | | //=====================执行结束流程(事件已关闭) |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(incidentId).getInstanceById().getFlow_id()).getInstanceById(); |
| | | |
| | | |
| | | WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); |
| | | |
| | | |
| | | //事件响应 |
| | | NodeAnswerEntity entity = new NodeAnswerEntity(); |
| | | entity.setUser_id(userId); |
| | | entity.setUser_name(userName); |
| | | workflowCoreService.answerNode(base, workflow_node, entity); |
| | | |
| | | |
| | | //判断是否是第一次响应,如果是第一次响应的话,则更新事件表中实际响应时间(第一次响应时间) |
| | | String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; |
| | | Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); |
| | | String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); |
| | | long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); |
| | | |
| | | |
| | | if(!StringUtil.notEmpty(answerTime)) { |
| | | StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET "); |
| | | long answer_time = DateUtil.getCurrentDate14(); |
| | | //判断是否响应超时 |
| | | long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); |
| | | |
| | | |
| | | String answer_timeout = "2"; |
| | | if(answer_time>answer_timeout_time) { |
| | | answer_timeout = "1"; |
| | | } |
| | | |
| | | |
| | | builder.append(" ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); |
| | | paramMap.put("answerTime",answer_time); |
| | | paramMap.put("answer_timeout", answer_timeout); |
| | | |
| | | |
| | | //计算第一次响应时间和创建事件的事件差 将时间差转化为分钟 |
| | | long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); |
| | | //将秒转化为分钟 |
| | | double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); |
| | | |
| | | |
| | | paramMap.put("answer_user_time", sjxysj); |
| | | builder.append(" WHERE ID = :incidentId"); |
| | | paramMap.put("incidentId", incidentId); |
| | | baseDao.execute(builder.toString(), paramMap); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title("流程关闭"); |
| | | finishEntity.setDeal_note(bz); |
| | | |
| | | |
| | | |
| | | |
| | | //判断是否能够结束节点 |
| | | boolean canFinish = workflowCoreService.finishNode(base, workflow_node, finishEntity); |
| | | if (canFinish) { |
| | | //关闭流程 |
| | | workflowCoreService.closeWorkFlow(base); |
| | | } |
| | | } |
| | | //=====================执行结束流程完毕(事件已解决) |
| | | |
| | | |
| | | String flowId = base.getId(); |
| | | //增加事件处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | |
| | | public List<Map> incidentLocalLzRecord(String flowId) { |
| | | String selectSql = "SELECT N.* FROM WORKFLOW_NODE N,WORKFLOW_TEMPLATE_NODE B WHERE N.NODE_TEMPLATE_ID = B.ID AND N.FLOWID = :flowId ORDER BY N.CREATETIME DESC,B.ORDERNUMBER DESC "; |
| | | List<Map> lzs = baseDao.queryForList(selectSql,new SqlParameter("flowId",flowId)); |
| | | |
| | | |
| | | //格式化响应时间为分钟,格式化处理时间为小时 |
| | | if(null!=lzs && lzs.size()>0) { |
| | | for(Map lz : lzs) { |
| | |
| | | String answerTime = DateUtil.getFormatSeconds(ConvertUtil.obj2Int(answer_usertime)); |
| | | lz.put("ANSWER_USERTIME", answerTime); |
| | | } |
| | | |
| | | |
| | | String deal_usetime = ConvertUtil.obj2StrBlank(lz.get("DEAL_USETIME")); |
| | | if(StringUtil.notEmpty(deal_usetime) && !deal_usetime.equals("0")) { |
| | | String dealTime = DateUtil.getFormatSeconds(ConvertUtil.obj2Int(deal_usetime)); |
| | | lz.put("DEAL_USETIME", dealTime); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | return lzs; |
| | | } |
| | | |
| | |
| | | return baseMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List queryDealRecord(String orderId) { |
| | | List<Map> list = recordService.queryRecord(orderId); |
| | |
| | | List cacheList = new ArrayList(); |
| | | if(cacheFile.containsKey(extend)) { |
| | | cacheList = (List)cacheFile.get(extend); |
| | | } |
| | | } |
| | | cacheList.add(file); |
| | | cacheFile.put(extend, cacheList); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return list; |
| | | } |
| | | |
| | |
| | | if(null!=incident && incident.size()>0) { |
| | | customerId = ConvertUtil.obj2StrBlank(incident.get("CUSTOMER_ID")); |
| | | } |
| | | |
| | | |
| | | String name = AjaxUtil.decode(request.getParameter("name")); |
| | | StringBuilder builder = new StringBuilder("SELECT * FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE CUSTOMER_ID = :customerId AND ID <> :incidentId "); |
| | | Map paramMap = new HashMap(); |
| | |
| | | builder.append(" ORDER BY CREATE_TIME DESC "); |
| | | return baseDao.queryForList(builder.toString(),paramMap); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 执行工单确认操作 |
| | | */ |
| | |
| | | public String doOrderConfirm(HttpServletRequest request) { |
| | | String incidentId = request.getParameter("incidentId"); |
| | | String flowId = request.getParameter("flowId"); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | NodeAnswerEntity answerEntity = new NodeAnswerEntity(); |
| | | answerEntity.setUser_id(userId); |
| | | answerEntity.setUser_name(userName); |
| | | |
| | | |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(flowId).getInstanceById(); |
| | | |
| | | |
| | | //工单响应 |
| | | workflowCoreService.answerNode(base, new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(), answerEntity); |
| | | |
| | | |
| | | |
| | | |
| | | //判断是否是第一次响应,如果是第一次响应的话,则更新事件表中实际响应时间(第一次响应时间) |
| | | String selectSql = "SELECT ANSWER_TIME,CREATE_TIME,ANSWER_TIMEOUT_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; |
| | | Map map = baseDao.queryForMap(selectSql,new SqlParameter("incidentId",incidentId)); |
| | | String answerTime = ConvertUtil.obj2StrBlank(map.get("ANSWER_TIME")); |
| | | long create_time = ConvertUtil.obj2Long(map.get("CREATE_TIME")); |
| | | |
| | | |
| | | |
| | | |
| | | Map paramMap = new HashMap(); |
| | | StringBuilder builder = new StringBuilder("UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = STATE + 1"); |
| | | if(!StringUtil.notEmpty(answerTime)) { |
| | | |
| | | |
| | | |
| | | |
| | | long answer_time = DateUtil.getCurrentDate14(); |
| | | //判断是否响应超时 |
| | | long answer_timeout_time = ConvertUtil.obj2Long(map.get("ANSWER_TIMEOUT_TIME")); |
| | | |
| | | |
| | | String answer_timeout = "2"; |
| | | if(answer_time>answer_timeout_time) { |
| | | answer_timeout = "1"; |
| | | } |
| | | |
| | | |
| | | builder.append(",ANSWER_TIME = :answerTime,ANSWER_USE_TIME = :answer_user_time,ANSWER_TIMEOUT = :answer_timeout "); |
| | | paramMap.put("answerTime",answer_time); |
| | | paramMap.put("answer_timeout", answer_timeout); |
| | | |
| | | |
| | | |
| | | |
| | | //计算第一次响应时间和创建事件的事件差 将时间差转化为分钟 |
| | | long seconds = DateUtil.getSecondsFormDate2Date(create_time, answer_time); |
| | | //将秒转化为分钟 |
| | | double sjxysj = NumberUtil.div(ConvertUtil.obj2Double(seconds), ConvertUtil.obj2Double(60), 1); |
| | | |
| | | |
| | | paramMap.put("answer_user_time", sjxysj); |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | builder.append(" WHERE ID = :incidentId"); |
| | | paramMap.put("incidentId", incidentId); |
| | | baseDao.execute(builder.toString(), paramMap); |
| | | |
| | | |
| | | return "1"; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String updateZcywMsg(HttpServletRequest request,SC_WORKFLOW_INCIDENT_LOCAL incident) { |
| | | |
| | |
| | | third_category_id = serivceListIds[2]; |
| | | third_category_name = serivceLists[2]; |
| | | } |
| | | |
| | | |
| | | //响应时间为分钟 |
| | | Long requestAnswerTime = incident.getRequest_answer_time(); |
| | | //处理时间为小时 |
| | |
| | | if(null == requestAnswerTime) { |
| | | requestAnswerTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | if(null == dealTime) { |
| | | dealTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | String selectCreateTimeSql = "SELECT CREATE_TIME,ANSWER_TIME,RESOLVE_TIME FROM SC_WORKFLOW_INCIDENT_LOCAL WHERE ID = :incidentId"; |
| | | Map m = baseDao.queryForMap(selectCreateTimeSql,new SqlParameter("incidentId",incident.getId())); |
| | | long createTime = ConvertUtil.obj2Long(m.get("CREATE_TIME")); |
| | | long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); |
| | | long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); |
| | | |
| | | |
| | | long currentTime = DateUtil.getCurrentDate14(); |
| | | //判断当前是否已经响应超时 |
| | | String answer_time = ConvertUtil.obj2StrBlank(m.get("ANSWER_TIME")); |
| | |
| | | incident.setAnswer_timeout(1); |
| | | } |
| | | } |
| | | |
| | | |
| | | //判断当前是否已经处理超时 |
| | | String resolve_time = ConvertUtil.obj2StrBlank(m.get("RESOLVE_TIME")); |
| | | if(StringUtil.notEmpty(resolve_time)) { |
| | |
| | | incident.setDeal_timeout(1); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | incident.setFirst_category_id(first_category_id).setFirst_category_name(first_category_name).setSecond_category_id(second_category_id).setSecond_category_name(second_category_name) |
| | | .setThird_category_id(third_category_id).setThird_category_name(third_category_name).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout_time(dealTimeoutTime); |
| | | |
| | | |
| | | incident.update(); |
| | | String id = incident.getId(); |
| | | fileService.uploadFile(request, id,id,null,null); |
| | | return "1"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 执行升级为事件操作 |
| | | */ |
| | |
| | | incident = copyProperties(incident,local); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | |
| | | //查询当前项目的服务台组的编号 |
| | | String selectSql = "SELECT A.* FROM AC_ROLE A WHERE A.ID = :roleid "; |
| | | Map map = baseDao.queryForMap(selectSql,new SqlParameter("roleid",Constants.AC_ROLE_FWT)); |
| | | String groupId = ConvertUtil.obj2StrBlank(map.get("ID")); |
| | | String groupName = ConvertUtil.obj2StrBlank(map.get("ROLENAME")); |
| | | |
| | | |
| | | String state = Constants.SC_WORKFLOW_INCIDENT_STATE_FPDFWT; |
| | | String node_template_id = Constants.KFRY; |
| | | |
| | | |
| | | |
| | | |
| | | String order_code = workOrderCodeService.getIncidentOrderCode(); |
| | | |
| | | |
| | | //响应时间为分钟 |
| | | Long requestAnswerTime = incident.getRequest_answer_time(); |
| | | Long dealTime = incident.getRequest_deal_time(); |
| | | if(null == requestAnswerTime) { |
| | | requestAnswerTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | if(null == dealTime) { |
| | | dealTime = Long.valueOf(0); |
| | | } |
| | | |
| | | |
| | | //处理时间为小时 |
| | | long createTime = DateUtil.getCurrentDate14(); |
| | | |
| | | |
| | | long answerTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(requestAnswerTime),2); |
| | | long dealTimeoutTime = DateUtil.getTimeAdd(createTime, ConvertUtil.obj2Int(dealTime),1); |
| | | |
| | | |
| | | Map user = WebUtil.getLoginUser(request).getLoginUser(); |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | String incidentId = StringUtil.getUUID(); |
| | | incident.setCreate_user_id(userId).setCreate_user_name(userName).setCreate_time(createTime).setId(incidentId).setState(ConvertUtil.obj2Integer(state)).setOrder_code(order_code).setFlow_name(incident.getName()).setAnswer_timeout(2).setAnswer_timeout_time(answerTimeoutTime).setDeal_timeout(2).setDeal_timeout_time(dealTimeoutTime).setCreate_type(3).setDeal_use_time(null).setAnswer_use_time(null); |
| | | incident.insert(); |
| | | |
| | | |
| | | |
| | | |
| | | //启动流程 |
| | | WORKFLOW_BASE base = workflowBusinessService.startIncidentWorkflow(incidentId,""); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //启动流程 |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | entity.setDealer_type(3); |
| | | List<Map> dealerList = new ArrayList<Map>(); |
| | | entity.setBefore_Dealer_type(1); |
| | | entity.setRoleID(groupId); |
| | | entity.setRoleName(groupName); |
| | | |
| | | |
| | | //查询改组下面的所有人员信息 |
| | | String selectUser = "SELECT B.ID AS USER_ID,B.ZSXM AS USER_NAME FROM AC_USER_REF_ROLE A,GG_USER B WHERE A.JSBH = :groupId AND A.YHBH = B.ID AND B.ZT = 1 "; |
| | | dealerList = baseDao.queryForList(selectUser,new SqlParameter("groupId",groupId)); |
| | | |
| | | |
| | | |
| | | |
| | | workflowBusinessService.toNode(base, node_template_id, entity); |
| | | String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; |
| | | //发送消息 |
| | |
| | | .setOrder_code(order_code) |
| | | .setType(Constants.GG_MESSAGE_TYPE_SJGL); |
| | | messageFacade.doSendMessage(message, dealerList); |
| | | |
| | | |
| | | //添加关联工单 |
| | | List<Map> orders = orderService.queryLinkOrders(flowId); |
| | | StringBuilder builder = new StringBuilder(); |
| | |
| | | String[] orderId = builder.toString().split(","); |
| | | orderService.saveLinkOrders(base.getId(),orderId,request); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //添加关联设备 |
| | | String selectDeviceSql = "SELECT * FROM CMDB_CI_REF_ORDER WHERE FLOW_ID = :flowId"; |
| | | List<Map> devices = baseDao.queryForList(selectDeviceSql,new SqlParameter("flowId",flowId)); |
| | |
| | | } |
| | | baseDao.executeBatch(insertSql,list); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //查询文档附件 |
| | | List<Map> files = fileService.getFileList(id,1); |
| | | if(null!=files && files.size()>0) { |
| | |
| | | sqlParameter.put("FILE_PATH", file.get("FILE_PATH")); |
| | | sqlParameter.put("FILE_SIZE", file.get("FILE_SIZE")); |
| | | sqlParameter.put("FILE_FORMAT", file.get("FILE_SIZE")); |
| | | |
| | | |
| | | sqlParameter.put("BUSINESS_ID", incidentId); |
| | | sqlParameter.put("ORDERNUM", file.get("ORDERNUM")); |
| | | sqlParameter.put("FILE_NOTE", file.get("FILE_NOTE")); |
| | |
| | | } |
| | | baseDao.executeBatch(sql,parameters); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | String resolve = request.getParameter("resolve"); |
| | | String bz = request.getParameter("bz"); |
| | | //设置驻场运维工单为已挂起 |
| | | String updateZcyw = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state,RESOLVE_USER_ID = :userId,RESOLVE_USER_NAME = :userName,RESOLVE_TIME = :resolveTime,RESOLVE = :solveWay,INCIDENT_ID = :incidentId WHERE ID = :id"; |
| | | baseDao.execute(updateZcyw, new SqlParameter("state",Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_YGQ).addValue("id", id).addValue("resolveTime", createTime).addValue("incidentId", incidentId).addValue("userId", userId).addValue("userName", userName).addValue("solveWay", resolve)); |
| | | |
| | | |
| | | |
| | | |
| | | //执行挂起操作 |
| | | |
| | | |
| | | WORKFLOW_BASE base1 = new WORKFLOW_BASE(new SC_WORKFLOW_INCIDENT_LOCAL(id).getInstanceById().getFlow_id()).getInstanceById(); |
| | | |
| | | |
| | | WORKFLOW_NODE workflow_node = new WORKFLOW_NODE(base1.getCurrent_node_id()).getInstanceById(); |
| | | |
| | | |
| | | /*NodeAnswerEntity entity1 = new NodeAnswerEntity(); |
| | | entity1.setUser_id(userId); |
| | | entity1.setUser_name(userName); |
| | | workflowCoreService.answerNode(base1, workflow_node, entity1);*/ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title("流程挂起"); |
| | | finishEntity.setDeal_note(bz); |
| | | |
| | | |
| | | |
| | | |
| | | boolean canFinish = workflowCoreService.finishNode(base, new WORKFLOW_NODE(base1.getCurrent_node_id()).getInstanceById(), finishEntity); |
| | | if (canFinish) { |
| | | workflowCoreService.upWorkFlow(base1); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //增加事件处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | | record.setDeal_content("升级事件:"+userName+"升级了事件"); |
| | |
| | | record.setDeal_user_id("1"); |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(flowId); |
| | | |
| | | |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | |
| | | |
| | | return incidentId; |
| | | |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param incident |
| | | * @param local |
| | |
| | | .setSub_customer_id(local.getSub_customer_id()).setSub_customer_name(local.getSub_customer_name()).setCreate_type(3); |
| | | return incident; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map queryWcReport(String orderId) { |
| | | Map incident = new SC_WORKFLOW_INCIDENT_LOCAL(orderId).getBeanMapById(); |
| | | String flowId = ConvertUtil.obj2StrBlank(incident.get("FLOW_ID")); |
| | | |
| | | |
| | | //查询关联工单 |
| | | if(null!=incident && incident.size()>0) { |
| | | List<Map> orders = queryOrders(flowId); |
| | | List<Map> devices = incidentFacade.queryDevices(flowId); |
| | | List<Map> files = queryFiles(flowId); |
| | | |
| | | |
| | | incident.put("orders", orders); |
| | | incident.put("devices", devices); |
| | | incident.put("files", files); |
| | |
| | | } |
| | | return incident; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map saveDispatchTask(HttpServletRequest request) { |
| | | |
| | | |
| | | Map resultMap = new HashMap(); |
| | | resultMap.put("result", 2); |
| | | |
| | | |
| | | String id = request.getParameter("id"); |
| | | String selectUser = request.getParameter("userMsg"); |
| | | String dealUserId = new String(); |
| | | String dealUserName = new String(); |
| | | |
| | | |
| | | String state = Constants.SC_WORKFLOW_INCIDENT_LOCAL_STATE_FPDZCGCS; |
| | | String node_template_id = Constants.ZCYW_FWSL; |
| | | |
| | | |
| | | if(StringUtil.notEmpty(selectUser)) { |
| | | String[] userMsg = selectUser.split("-"); |
| | | if(userMsg.length==2) { |
| | | dealUserId = userMsg[0]; |
| | | dealUserName = userMsg[1]; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | if(StringUtil.notEmpty(dealUserId) && StringUtil.notEmpty(dealUserName)) { |
| | | //执行分派任务 |
| | | |
| | | |
| | | WORKFLOW_BASE base = new WORKFLOW_BASE(id).getInstanceById(); |
| | | |
| | | |
| | | NodeDealEntity entity = new NodeDealEntity(); |
| | | entity.setDealer_type(3); |
| | | entity.setBefore_Dealer_type(2); |
| | |
| | | map.put("USER_ID", dealUserId); |
| | | map.put("USER_NAME", dealUserName); |
| | | map.put("IS_ADMIN", "1"); |
| | | |
| | | |
| | | dealerList.add(map); |
| | | |
| | | |
| | | entity.setDealerList(dealerList); |
| | | String bz = request.getParameter("bz"); |
| | | |
| | | |
| | | NodeFinishEntity finishEntity = new NodeFinishEntity(); |
| | | finishEntity.setDeal_result(1); |
| | | finishEntity.setDeal_note_title("节点转至 :" + dealUserName); |
| | | finishEntity.setDeal_note(bz); |
| | | |
| | | |
| | | |
| | | |
| | | NodeAnswerEntity answerEntity = new NodeAnswerEntity(); |
| | | answerEntity.setUser_id(dealUserId); |
| | | answerEntity.setUser_name(dealUserName); |
| | | |
| | | |
| | | WORKFLOW_NODE node = new WORKFLOW_NODE(base.getCurrent_node_id()).getInstanceById(); |
| | | boolean canFinish = workflowCoreService.finishNode(base, node, finishEntity); |
| | | if (canFinish) { |
| | | workflowBusinessService.toNode(base, node_template_id, entity); |
| | | } |
| | | |
| | | } |
| | | |
| | | //更新事件状态 |
| | | String updateIncidentSql = "UPDATE SC_WORKFLOW_INCIDENT_LOCAL SET STATE = :state WHERE ID = :incidentId "; |
| | | baseDao.execute(updateIncidentSql, new SqlParameter("state",state).addValue("incidentId", base.getBusiness_id())); |
| | | |
| | | |
| | | Map user=new HashMap(); |
| | | if(request.getParameter("isWechat")!=null && request.getParameter("isWechat").equals("1")){ |
| | | user = WebUtil.getEngineerMsg(request); |
| | |
| | | } |
| | | String userId = ConvertUtil.obj2StrBlank(user.get("ID")); |
| | | String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM")); |
| | | |
| | | |
| | | String flowId = base.getId(); |
| | | //增加事件处理记录 |
| | | GG_RECORD record = new GG_RECORD(); |
| | |
| | | record.setDeal_user_id("1"); |
| | | record.setDeal_user_name(userName); |
| | | record.setBusiness_id(base.getId()); |
| | | |
| | | |
| | | recordService.addRecord(record); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | String wxUrl = WechatConstants.ORDER_INCIDENT_DETAIL_ADDRESS+"?orderId="+base.getBusiness_id()+"&orderType="+Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL; |
| | | //发送消息 |
| | | GG_MESSAGE message = new GG_MESSAGE(); |
| | |
| | | .setWx_url(wxUrl) |
| | | .setType(Constants.GG_MESSAGE_TYPE_XCYW); |
| | | messageFacade.doSendMessage(message, dealerList); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | resultMap.put("result", 1); |
| | | } |
| | | SysInfoMsg msg = new SysInfoMsg("2",dealUserName,"服务受理"); |
| | |
| | | public int queryZcywTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND N.CURRENT_DEALER_ID = :current_dealer_id "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | sql.append(sqlpart); |
| | |
| | | params.put("endTime", endDay + "600000"); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT_LOCAL q "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | } |
| | | return chartMap; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getLastMonthZcywPri(Map<String, String> params) { |
| | | Map chartMap = new HashMap(); |
| | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL q,WORKFLOW_BASE b "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | public int getOrederZcywNumDxy(Map params){ |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | | if(StringUtil.notEmpty(customerId)){ |
| | |
| | | public int getOrederZcywNumJxz(Map params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | | if(StringUtil.notEmpty(customerId)){ |
| | |
| | | public int getOrederZcywTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | |
| | | public PageInfo zcywNodeData(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder builder = new StringBuilder(); |
| | | String state=params.get("state"); |
| | | |
| | | |
| | | builder.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE, "); |
| | | builder.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.ANSWER_TIMEOUT,B.DEAL_TIMEOUT "); |
| | | builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B "); |
| | |
| | | builder.append(" group by B.ID "); |
| | | } |
| | | builder.append( " ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | |
| | | |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), params); |
| | | } |
| | | |
| | |
| | | builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_NODE N WHERE WB.BUSINESS_ID = B.ID AND N.FLOWID=WB.ID AND WB.WFSTATE=1 AND N.FLOWSTATE=1 "); |
| | | builder.append(" AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); |
| | | |
| | | |
| | | builder = getZcSql(builder,params); |
| | | builder.append(" group by B.ID) d "); |
| | | }else{ |
| | | |
| | | |
| | | builder.append("SELECT COUNT(WB.ID) "); |
| | | builder.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B WHERE WB.BUSINESS_ID = B.ID "); |
| | | builder.append(" AND WB.BUSINESSTYPE = :businessType "); |
| | |
| | | builder.append(" and WB.WFSTATE=2 "); |
| | | }else if(state.equals("4")){ |
| | | builder.append(" and WB.WFSTATE=4 "); |
| | | } |
| | | } |
| | | builder = getZcSql(builder,params); |
| | | } |
| | | |
| | | |
| | | return baseDao.queryForInteger(builder.toString(), params); |
| | | } |
| | | } |
| | |
| | | package cn.ksource.web.service.knowledge; |
| | | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.KM_LIBRARY; |
| | | import cn.ksource.beans.KM_LIBRARY_FAVORITE; |
| | | import cn.ksource.beans.KM_LIBRARY_TEMP; |
| | | import cn.ksource.core.dao.BaseDao; |
| | |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class KmServiceImpl implements KmService { |
| | | |
| | | |
| | | @Autowired |
| | | private BaseDao baseDao; |
| | | |
| | | |
| | | @Autowired |
| | | private FileService fileService; |
| | | |
| | |
| | | StringBuffer sql=new StringBuffer(" SELECT A.*,COUNT(B.ID) AS NUM FROM KM_LIBRARY_CATEGORY A LEFT JOIN KM_LIBRARY B ON A.ID = B.CATEGORY_ID and B.STATE = 1 WHERE A.STATE=1 "); |
| | | sql.append(" GROUP BY A.ID ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString()); |
| | | |
| | | |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | for (Map map : categoryList) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(map.get("ID").toString(), map); |
| | | continue; |
| | | } |
| | |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.CATEGORY_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" WHERE A.STATE=1 GROUP BY A.ID ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); |
| | | |
| | | sql.append(" WHERE A.STATE=1 GROUP BY A.ID,A.TITLE, A.TAG , A.LEVEL,A.SERIAL ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); |
| | | |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | String firstCate = ""; |
| | | String secondCate = ""; |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : categoryList) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(map.get("ID").toString(), map); |
| | | continue; |
| | | } |
| | |
| | | List<Map> list = (List<Map>)ejgnMap.get("sjTree"); |
| | | list.add(map); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | return resultList; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getmyFavourite(String userId) { |
| | | StringBuilder sql = new StringBuilder(); |
| | |
| | | sql.append("where k.CREATE_USER_ID=:create_user_id "); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("create_user_id", userId); |
| | | |
| | | |
| | | return baseDao.queryForList(sql.toString(), param); |
| | | } |
| | | |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("select t.ID,t.TITLE,t.TAG,t.CATEGORY_ID,t.SUMMARY,t.CREATE_TIME,t.CREATE_USER_NAME,t.IS_EDITOR,t.STATE from ( "); |
| | | sql.append("select DISTINCT k.ID,k.TITLE,k.TAG,k.SUMMARY,k.CREATE_TIME,k.CREATE_USER_NAME,k.CATEGORY_ID,k.IS_EDITOR,p.STATE "); |
| | | |
| | | |
| | | if(StringUtil.isEmpty(cusId)){ |
| | | sql.append("from km_library k "); |
| | | }else{ |
| | | sql.append("from (SELECT A.* FROM KM_LIBRARY A,KM_LIBRARY_KNOWLEDGE_ACCESS B WHERE A.ID = B.KNOWLEDGE_ID AND B.CUSTOMER_ID = :cusId ) k "); |
| | | } |
| | | |
| | | |
| | | sql.append(" LEFT JOIN KM_LIBRARY_TEMP p on p.ORIGINAL_ID = k.ID where k.STATE=1 "); |
| | | sql.append("order by k.CREATE_TIME desc) t "); |
| | | sql.append("limit :limit1,:limit2 "); |
| | |
| | | param.addValue("cusId", cusId); |
| | | param.addValue("limit1", (begin-1)*size); |
| | | param.addValue("limit2", size); |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql.toString(), param); |
| | | List<Map> mylist = getmyFavourite(userId); |
| | | for (Map map : list) { |
| | |
| | | } |
| | | sql.append("where k.STATE=1 "); |
| | | sql.append("order by k.CREATE_TIME desc) t "); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString()); |
| | | } |
| | | |
| | |
| | | sql.append("and k.THIRD_CATEGORY_ID=:category_id "); |
| | | } |
| | | sql.append("order by k.CREATE_TIME desc) t "); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("category_id", categoryId); |
| | | param.addValue("userId", userId); |
| | | param.addValue("cusId", cusId); |
| | | |
| | | |
| | | return baseDao.queryForInteger(sql.toString(), param); |
| | | } |
| | | |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append("select t.ID,t.TITLE,t.TAG,t.SUMMARY,t.CREATE_TIME,t.CREATE_USER_NAME,t.IS_EDITOR,t.STATE from ( "); |
| | | sql.append("select DISTINCT k.ID,k.TITLE,k.TAG,k.SUMMARY,k.CREATE_TIME,k.CREATE_USER_NAME,k.IS_EDITOR,p.STATE "); |
| | | |
| | | |
| | | if(StringUtil.isEmpty(cusId)){ |
| | | sql.append("from km_library k "); |
| | | }else{ |
| | |
| | | param.addValue("category_id", categoryId); |
| | | param.addValue("userId", userId); |
| | | param.addValue("cusId", cusId); |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql.toString(), param); |
| | | List<Map> mylist = getmyFavourite(userId); |
| | | for (Map map : list) { |
| | |
| | | sql.append(" WHERE k.ID = :id "); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("id", libraryId); |
| | | |
| | | |
| | | Map map = baseDao.queryForMap(sql.toString(), param); |
| | | List<Map> mylist = getmyFavourite(userId); |
| | | List<Map> myrecord = getmyknowRecord(userId); |
| | |
| | | } |
| | | } |
| | | map.put("tag_list", tagList); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //附件 |
| | | map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("FILE_ID")))); |
| | | |
| | | |
| | | |
| | | |
| | | //知识关联 |
| | | String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; |
| | | List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", libraryId)); |
| | | map.put("link_list", linkList); |
| | | |
| | | |
| | | //历史版本列表 |
| | | String historySql = "select ID,VERSION,CREATE_USER_NAME,CREATE_TIME from KM_LIBRARY_HISTORY " |
| | | +"where ORIGINAL_ID=:original_id and STATE=1 order by VERSION "; |
| | |
| | | //点击排名 |
| | | Map rankMap = this.getLibraryRankForHits(); |
| | | map.put("RANK", rankMap.get(libraryId)); |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Map getLibraryZjbById(String libraryId, HttpServletRequest request) { |
| | | String userId = WebUtil.getLoginedUserId(request); |
| | |
| | | sql.append(" WHERE k.ID = :id "); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("id", libraryId); |
| | | |
| | | |
| | | Map map = baseDao.queryForMap(sql.toString(), param); |
| | | List<Map> mylist = getmyFavourite(userId); |
| | | for(Map mymap :mylist){ |
| | |
| | | } |
| | | } |
| | | map.put("tag_list", tagList); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //附件 |
| | | map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("ID")))); |
| | | |
| | | |
| | | |
| | | |
| | | //知识关联 |
| | | String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; |
| | | List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", new KM_LIBRARY_TEMP(libraryId).getInstanceById().getOriginal_id())); |
| | |
| | | linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", libraryId)); |
| | | } |
| | | map.put("link_list", linkList); |
| | | |
| | | |
| | | /*//历史版本列表 |
| | | String historySql = "select ID,VERSION from KM_LIBRARY_HISTORY " |
| | | +"where ORIGINAL_ID=:original_id and STATE=1 order by VERSION "; |
| | |
| | | //点击排名 |
| | | Map rankMap = this.getLibraryRankForHits(); |
| | | map.put("RANK", rankMap.get(libraryId));*/ |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取文库点击排名 |
| | | * @param partnerId |
| | |
| | | */ |
| | | private Map getLibraryRankForHits() { |
| | | Map resultMap = new HashMap(); |
| | | |
| | | |
| | | String sql = "select ID,HITS from km_library where STATE=1 order by HITS desc "; |
| | | |
| | | |
| | | List<Map> list = baseDao.queryForList(sql); |
| | | if (list != null && list.size() > 0) { |
| | | for (int i=0; i<list.size(); i++) { |
| | | resultMap.put(list.get(i).get("ID"), i+1); |
| | | } |
| | | } |
| | | |
| | | |
| | | return resultMap; |
| | | } |
| | | |
| | |
| | | public boolean addMyLibraryFavourite(String libraryId, String userId) { |
| | | KM_LIBRARY_FAVORITE fav = new KM_LIBRARY_FAVORITE().setLibrary_id(libraryId) |
| | | .setCreate_user_id(userId).queryForBean(); |
| | | |
| | | |
| | | if (fav != null && fav.getCreate_time() > 0) { |
| | | return false;//不重复收藏 |
| | | } else { |
| | |
| | | //基本信息 |
| | | StringBuilder sql = new StringBuilder("select ID,TITLE,TAG,SUMMARY,CONTENT,CATEGORY_ID,CATEGORY_NAME,CREATE_USER_ID,CREATE_USER_NAME,CREATE_TIME,VERSION,HITS,STATE,FILE_ID "); |
| | | sql.append("from km_library_history where ID=:id "); |
| | | |
| | | |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("id", historyId); |
| | | |
| | | |
| | | Map map = baseDao.queryForMap(sql.toString(), param); |
| | | |
| | | |
| | | //标签 |
| | | String tag = ConvertUtil.obj2Str(map.get("TAG")); |
| | | if (tag != null) { |
| | |
| | | } |
| | | map.put("tag_list", tagList); |
| | | } |
| | | |
| | | |
| | | //附件 |
| | | map.put("file_list", fileService.getFileList(ConvertUtil.obj2StrBlank(map.get("FILE_ID")))); |
| | | |
| | | |
| | | |
| | | |
| | | //知识关联 |
| | | String linksql = "select B.ID,B.TITLE from KM_LIBRARY_KNOWLEDGE_TEMP A,KM_LIBRARY B where A.KNOWLEDGE_ID = B.ID AND A.LIBRARY_ID=:library_id "; |
| | | List<Map> linkList = baseDao.queryForList(linksql, new SqlParameter("library_id", historyId)); |
| | | map.put("link_list", linkList); |
| | | |
| | | |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | |
| | | public Map thirdlevelListTree(HttpServletRequest request) { |
| | | String category_id = request.getParameter("category_id"); |
| | | String cusId = request.getParameter("cusId"); |
| | | StringBuilder sql=new StringBuilder("SELECT A.* ,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); |
| | | |
| | | StringBuilder sql=new StringBuilder("SELECT A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); |
| | | |
| | | if(StringUtil.isEmpty(cusId)){ |
| | | sql.append(" KM_LIBRARY B ON A.ID = B.THIRDLEVEL_ID AND B.STATE = 1 "); |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.THIRDLEVEL_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID ORDER BY A.LV,A.SERIAL,A.NAME"); |
| | | sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE ORDER BY A.LV,A.SERIAL,A.NAME"); |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | | |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : categoryList) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LV").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(map.get("ID").toString(), map); |
| | | continue; |
| | | } |
| | |
| | | map.put("select", 1); |
| | | } |
| | | if(null!=map.get("PID")){ |
| | | |
| | | |
| | | Map ejgnMap = ejgnCache.get(map.get("PID").toString()); |
| | | List<Map> list = (List<Map>)ejgnMap.get("sjTree"); |
| | | list.add(map); |
| | |
| | | String category_id = request.getParameter("category_id"); |
| | | String cusId = request.getParameter("cusId"); |
| | | String type = request.getParameter("type"); |
| | | StringBuffer sql = new StringBuffer("SELECT D.*,COUNT(B.ID) AS NUM FROM ("); |
| | | StringBuffer sql = new StringBuffer("SELECT D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH,COUNT(B.ID) AS NUM FROM ("); |
| | | String sqlpart="SELECT * FROM SC_SERVCE_CATEGORY WHERE STATE = 1 AND TYPE = 2 ORDER BY LEVEL,SERIAL "; |
| | | sql.append(sqlpart); |
| | | sql.append(" ) D LEFT JOIN "); |
| | | |
| | | |
| | | if(StringUtil.isEmpty(cusId)){ |
| | | sql.append(" KM_LIBRARY B ON D.ID = B.THIRD_CATEGORY_ID and B.STATE = 1 "); |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON D.ID = B.THIRD_CATEGORY_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" GROUP BY D.ID ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); |
| | | sql.append(" GROUP BY D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | | |
| | | Map result = new HashMap(); |
| | | |
| | | |
| | | List<Map> resultList = new LinkedList<Map>(); |
| | | |
| | | |
| | | Map<String, Map> yjgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> ejgnCache = new HashMap<String, Map>(); |
| | | Map<String, Map> sjgnCache = new HashMap<String, Map>(); |
| | | |
| | | |
| | | for (Map map : categoryList) { |
| | | |
| | | |
| | | //一级树 |
| | | if (map.get("LEVEL").toString().equalsIgnoreCase("1")) { |
| | | yjgnCache.put(map.get("ID").toString(), map); |
| | |
| | | List<Map> list = (List<Map>)yjgnMap.get("ejTree"); |
| | | map.put("sjTree", new LinkedList<Map>()); |
| | | list.add(map); |
| | | |
| | | |
| | | ejgnCache.put(map.get("ID").toString(), map); |
| | | continue; |
| | | } |
| | |
| | | map.put("select", 1); |
| | | } |
| | | if(null!=map.get("P_ID")){ |
| | | |
| | | |
| | | Map ejgnMap = ejgnCache.get(map.get("P_ID").toString()); |
| | | List<Map> list = (List<Map>)ejgnMap.get("sjTree"); |
| | | list.add(map); |