| | |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |