| | |
| | | package cn.ksource.core.util; |
| | | |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | import org.apache.commons.lang.StringUtils; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.Method; |
| | | import java.lang.reflect.Modifier; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | import org.apache.commons.lang.StringUtils; |
| | | |
| | | |
| | | public class ConvertUtil { |
| | |
| | | } |
| | | |
| | | public static int obj2Int(Object obj){ |
| | | if(null==obj) { |
| | | System.out.println("1121313"); |
| | | } |
| | | return obj == null || obj.toString().trim().equals("") ? null : Double.valueOf(obj.toString()).intValue(); |
| | | return obj == null || obj.toString().trim().equals("") ? 0 : Double.valueOf(obj.toString()).intValue(); |
| | | } |
| | | |
| | | public static Long obj2Long(Object obj){ |
| | |
| | | package cn.ksource.web.controller.business.pages.incident; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.SysInfo; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.facade.customermanage.CustomerManageFacade; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.facade.order.OrderFacade; |
| | | import cn.ksource.web.service.DataDictionaryService; |
| | | import cn.ksource.web.service.message.MessageService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.NumberUtil; |
| | | import cn.ksource.core.util.ParamsMapUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.SysInfo; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.facade.customermanage.CustomerManageFacade; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.facade.order.OrderFacade; |
| | | import cn.ksource.web.service.DataDictionaryService; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | /** |
| | | * 日常运维--事件管理控制器 |
| | | * @note: |
| | |
| | | String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); |
| | | if(StringUtil.notEmpty(CUSTOMER_ID)){ |
| | | SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); |
| | | if (customer_INFO != null){ |
| | | report.put("customer_code", customer_INFO.getCustomer_code()); |
| | | } |
| | | } |
| | | String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); |
| | | if(StringUtil.notEmpty(FIRST_CATEGORY_ID)){ |
| | | SC_SERVCE_CATEGORY sc_SERVCE_CATEGORY =new SC_SERVCE_CATEGORY(FIRST_CATEGORY_ID).getInstanceById(); |
| | |
| | | String CUSTOMER_ID =ConvertUtil.obj2Str(report.get("CUSTOMER_ID")); |
| | | if(StringUtil.notEmpty(CUSTOMER_ID)){ |
| | | SC_PARTNER_CUSTOMER_INFO customer_INFO=new SC_PARTNER_CUSTOMER_INFO(CUSTOMER_ID).getInstanceById(); |
| | | if (customer_INFO !=null) |
| | | report.put("customer_code", customer_INFO.getCustomer_code()); |
| | | } |
| | | String FIRST_CATEGORY_ID=ConvertUtil.obj2Str(report.get("FIRST_CATEGORY_ID")); |
| | |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.NumberUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.*; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.controller.wechat.util.WechatConstants; |
| | | import cn.ksource.web.entity.WorkFlowSupportEntity; |
| | | import cn.ksource.web.facade.dsl.DSLFacade; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.facade.message.MessageFacade; |
| | | import cn.ksource.web.service.WorkOrderCodeService; |
| | | import cn.ksource.web.service.device.DeviceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | |
| | | if (flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.BUSINESS_ID, B.BUSINESSTYPE, B.CREATERID, B.CREATERNAME, B.CREATETIME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_NODE_ID, B.CURRENT_NODE_NAME, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.DEAL_TYPE, B.ENDTIME, B.ID, B.MAINFLOWID, B.ORDER_CODE, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_ID, B.SUB_CUSTOMER_NAME, B.WF_TEMPLATE_ID, B.WFNAME, B.WFSTATE, B.WORKFLOWTYPE,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(")D"); |
| | | paramMap.put("jddcl", Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE); |
| | | } else if (flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(")D"); |
| | | paramMap.put("jdjxz", Constants.WORKFLOW_NODE_FLOWSTATE_DOING); |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(")D"); |
| | | paramMap.put("jdywc", Constants.WORKFLOW_NODE_FLOWSTATE_FINISH); |
| | | } |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.RISK_LEVEL_ID,C.THIRD_CATEGORY_ID,C.SOURCE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_CHANGE C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(")D"); |
| | | } |
| | | builder.append(" WHERE 1=1 "); |
| | |
| | | |
| | | @Override |
| | | public List<Map> getCcbResult(String flowId) { |
| | | String sqla = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM "; |
| | | String sqla = "SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM "; |
| | | List<Map> fzList = baseDao.queryForList(sqla, new SqlParameter("flow_id", flowId)); |
| | | for (Map mapa : fzList) { |
| | | String sqlb = "SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE SAMEKEY=:sameKey ORDER BY IS_END ,IS_MAIN"; |
| | |
| | | public List<Map> getCcbTjResult(String flowId) { |
| | | Map param = new HashMap(); |
| | | param.put("flow_id", flowId); |
| | | String sqla="SELECT * FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY ORDER BY NUM"; |
| | | String sqla="SELECT SAMEKEY,NUM FROM SC_WORKFLOW_CHANGE_CCBRESULT WHERE FLOW_ID = :flow_id GROUP BY SAMEKEY,NUM ORDER BY NUM"; |
| | | List<Map> ccbList = baseDao.queryForList(sqla,param); |
| | | for(Map mapa:ccbList){ |
| | | param.put("sameKey", mapa.get("SAMEKEY")); |
| | |
| | | package cn.ksource.web.facade.ciremind; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_WORKFLOW_CI_REMIND; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.NodeAnswerEntity; |
| | | import cn.ksource.core.workflow.NodeFinishEntity; |
| | | import cn.ksource.core.workflow.WorkflowCoreService; |
| | |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | import cn.ksource.web.util.DateParepareUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.*; |
| | | |
| | | @Service("ciRemindFacade") |
| | | public class CiRemindFacadeImpl implements CiRemindFacade { |
| | |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t "); |
| | | builder.append(" group by FLOWID "); |
| | | builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //工单类型 |
| | |
| | | package cn.ksource.web.facade.dsl; |
| | | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.entity.FacedeResponse; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.cmdb.SequenceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import org.springframework.web.multipart.commons.CommonsMultipartResolver; |
| | | |
| | | import cn.ksource.beans.DSL_CATEGORY; |
| | | import cn.ksource.beans.DSL_CONFIG; |
| | | import cn.ksource.beans.DSL_CONFIG_FILE; |
| | | import cn.ksource.beans.DSL_VERSION; |
| | | import cn.ksource.beans.PROJECT_DSL; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.EqualUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.entity.FacedeResponse; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.cmdb.SequenceService; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | @Service("dslFacade") |
| | | public class DSLFacadeImpl implements DSLFacade{ |
| | |
| | | " ) V ON L.DSL_VERSION_ID = V.ID " + |
| | | " WHERE (D.STATE=1 OR D.STATE=3) AND L.FLOW_ID=:flowId " + |
| | | " ORDER BY V.UPDATE_TIME DESC " + |
| | | " ) T GROUP BY DSL_ID ORDER BY UPDATE_TIME DESC "; |
| | | " ) T GROUP BY DSL_ID,T.FLOW_ID, T.UPDATE_TIME, T.CATE_NAME,T.VER_ID,T.LINK_ID,T.DSL_SEARCHCODE,T.DSL_NAME,T.EDITION ORDER BY UPDATE_TIME DESC "; |
| | | return baseDao.queryForList(sql,param); |
| | | } |
| | | |
| | |
| | | package cn.ksource.web.facade.fileManage; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.TreeNode; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service("docFacade") |
| | | @SuppressWarnings("unchecked") |
| | |
| | | |
| | | @Override |
| | | public int queryfileCount(Map<String,String> params) { |
| | | StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID,FOLDER_NAME AS NAME FROM GG_FOLDERS A WHERE 1=1"); |
| | | StringBuilder sql=new StringBuilder("SELECT COUNT(C.ID) FROM(SELECT ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | String pId=params.get("pId"); |
| | | if(StringUtil.isEmpty(pId)){ |
| | | sql.append(" AND A.P_ID IS NULL"); |
| | | }else{ |
| | | sql.append(" AND A.P_ID=:pId"); |
| | | } |
| | | sql.append(" UNION SELECT ID,FILE_NAME AS NAME FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); |
| | | sql.append(" UNION SELECT ID FROM GG_FILES B WHERE B.DEL_FLAG=1 AND B.AUDIT_STATE="+Constants.FILE_STATE_SHTG); |
| | | |
| | | if(StringUtil.isEmpty(pId)){ |
| | | sql.append(" AND(B.FOLDER_ID IS NULL OR B.FOLDER_ID = '0' )"); |
| | |
| | | |
| | | @Override |
| | | public PageInfo queryfileData(PageInfo pageInfo, Map<String,String> params) { |
| | | StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,0 AS FILE_SIZE,0 AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,0 AS ORDER_CODE,0 AS FLOWID,0 AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | StringBuilder sql=new StringBuilder("SELECT * FROM (SELECT ID,FOLDER_NAME AS NAME,FOLDER_PATH AS PATH,'0' AS FILE_SIZE,'0' AS FILE_FORMAT,ORDERNUM,P_ID,CREATE_TIME,1 AS FILE_TYPE,TYPE,0 AS BUSINESSTYPE,'0' AS ORDER_CODE,'0' AS FLOWID,'0' AS BUSINESS_ID FROM GG_FOLDERS A WHERE 1=1"); |
| | | |
| | | String pId=params.get("pId"); |
| | | if(StringUtil.isEmpty(pId)){ |
| | |
| | | package cn.ksource.web.facade.health; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.SC_PARTNER_CUSTOMER_INFO; |
| | | import cn.ksource.beans.SC_WORKFLOW_CI_HEALTH; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.TreeUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.ClientUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | import cn.ksource.web.util.DateParepareUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | @SuppressWarnings("unchecked") |
| | |
| | | builder.append("and FLOWSTATE =:nodeState "); |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t group by FLOWID "); |
| | | builder.append(" ) t group by FLOWID,NODETIME,NODEID,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //工单类型 |
| | |
| | | String flowstate = params.get("flowstate"); |
| | | if (StringUtil.notEmpty(flowstate)) { |
| | | if (flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | | } else if (flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE 1=1 "); |
| | | params.put("jdywc", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_FINISH)); |
| | | } |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT DISTINCT ID, WFNAME, BUSINESSTYPE, WFSTATE, WORKFLOWTYPE, CREATERNAME, CREATERID, CREATETIME, ENDTIME, MAINFLOWID, CURRENT_NODE_NAME, CURRENT_NODE_ID, DEAL_TYPE, CURRENT_DEALER_ID, CURRENT_DEALER_NAME, CURRENT_DEAL_ROLEIDA, CURRENT_DEAL_ROLENAME, WF_TEMPLATE_ID, BUSINESS_ID, ORDER_CODE, CUSTOMER_ID, CUSTOMER_NAME, PROJECT_ID, PROJECT_NAME, SUB_CUSTOMER_NAME, SUB_CUSTOMER_ID, NAME, CONTACT_NAME, PRIORITY_ID, INFLUENCE_ID, SLA_ID, THIRD_CATEGORY_ID, TYPE_ID FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID, B.WFNAME, B.BUSINESSTYPE, B.WFSTATE, B.WORKFLOWTYPE, B.CREATERNAME, B.CREATERID, B.CREATETIME, B.ENDTIME, B.MAINFLOWID, B.CURRENT_NODE_NAME, B.CURRENT_NODE_ID, B.DEAL_TYPE, B.CURRENT_DEALER_ID, B.CURRENT_DEALER_NAME, B.CURRENT_DEAL_ROLEIDA, B.CURRENT_DEAL_ROLENAME, B.WF_TEMPLATE_ID, B.BUSINESS_ID, B.ORDER_CODE, B.NOTE, B.CUSTOMER_ID, B.CUSTOMER_NAME, B.PROJECT_ID, B.PROJECT_NAME, B.SUB_CUSTOMER_NAME, B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(")D"); |
| | | builder.append(" WHERE D.WFSTATE != :ysc "); |
| | | } |
| | |
| | | public int queryincidentEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = :type "); |
| | | sqlpart = getEndSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentEndList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | // sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME ,"); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); |
| | | sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB, WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | |
| | | |
| | | sqlpart = getEndSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME , D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int queryincidentJxzCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | sqlpart = getJxzSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentJxzList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.* ,B.STATE ,B.NAME "); |
| | | sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | sqlpart = getJxzSql(sqlpart, params); |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID ,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | StringBuffer sql = new StringBuffer(); |
| | | |
| | | Map paramMap = new HashMap(); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID, A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND A.ID = B.BUSINESS_ID "); |
| | | String customer_Id = request.getParameter("customerId"); |
| | | if (!StringUtil.isEmpty(customer_Id)) { |
| | | selectSql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | sql.append(" AND A.CUSTOMER_ID = :customer_Id "); |
| | | paramMap.put("customer_Id", customer_Id); |
| | | } |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID, A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); |
| | |
| | | public int queryincidentOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | sqlpart = getOrderNodeSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | |
| | | public PageInfo queryincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,"); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | sqlpart = getOrderNodeSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int queryincidentTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | |
| | | sqlpart = getincidentTimeOutSql(sqlpart, params); |
| | |
| | | public PageInfo queryincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.*,B.STATE ,B.NAME "); |
| | | sql.append("SELECT WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT)); |
| | | |
| | | sqlpart = getincidentTimeOutSql(sqlpart, params); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID,WB.WFNAME,WB.BUSINESSTYPE,WB.WFSTATE,WB.WORKFLOWTYPE,WB.CREATERNAME,WB.CREATERID,WB.CREATETIME,WB.ENDTIME,WB.MAINFLOWID,WB.CURRENT_NODE_NAME,WB.CURRENT_NODE_ID,WB.DEAL_TYPE,WB.CURRENT_DEALER_ID,WB.CURRENT_DEALER_NAME,WB.CURRENT_DEAL_ROLEIDA,WB.CURRENT_DEAL_ROLENAME,WB.WF_TEMPLATE_ID,WB.BUSINESS_ID,WB.ORDER_CODE,WB.CUSTOMER_ID,WB.CUSTOMER_NAME,WB.PROJECT_ID,WB.PROJECT_NAME,WB.SUB_CUSTOMER_NAME,WB.SUB_CUSTOMER_ID,B.STATE ,B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE); |
| | | //查询该人员所属的项目 |
| | | sql.append("SELECT COUNT(*) AS NUM,E.STATE FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.* FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | sqlall.append("SELECT COUNT(F.ID) FROM (SELECT E.ID FROM SC_WORKFLOW_INCIDENT E,WORKFLOW_BASE D,((SELECT B.ID FROM AC_ROLE B WHERE B.STATE = 1) UNION ALL (SELECT DISTINCT A.ID FROM AC_ROLE_GROUP A WHERE A.STATE = 1) "); |
| | | |
| | | sql.append(") C WHERE E.ID = D.BUSINESS_ID AND D.CURRENT_DEAL_ROLEIDA = C.ID AND D.WFSTATE != :wfstate AND (D.CURRENT_DEALER_ID IS NULL OR D.CURRENT_DEALER_ID = '' )"); |
| | | |
| | |
| | | public int querymyincidentEndCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | |
| | | sqlpart.append(" AND WB.WFSTATE = :state "); |
| | |
| | | public PageInfo querymyincidentEndList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,WB.ENDTIME , "); |
| | | // sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.ENDTIME , "); |
| | | sql.append("SELECT B.RESOLVE_TYPE_NAME,B.CREATE_TIME,B.CREATE_USER_NAME,WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME ,WB.ENDTIME , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME, "); |
| | | sql.append(" D.HANG_UP_USERNAME,D.HANG_UP_TIME,D.HANG_UP_REASON ,WB.SCORE "); |
| | | sql.append("FROM (SELECT F.*,E.SCORE FROM WORKFLOW_BASE F LEFT JOIN ORDER_SATIS_INFO E ON F.ID = E.BUSINESS_ID WHERE F.BUSINESSTYPE = :businessType ) WB , WORKFLOW_NODE C ,SC_WORKFLOW_INCIDENT B LEFT JOIN HANG_UP_INFO D ON B.ID = D.BUS_ID "); |
| | |
| | | sqlpart.append(" AND WB.WFSTATE = :state "); |
| | | params.put("state", params.get("type")); |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, B.RESOLVE_TYPE_NAME, B.CREATE_TIME, B.CREATE_USER_NAME, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME , WB.ENDTIME , WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME, D.HANG_UP_USERNAME, D.HANG_UP_TIME, D.HANG_UP_REASON , WB.SCORE ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | Map paramMap = new HashMap(); |
| | | paramMap.put("flowstate", type); |
| | | paramMap.put("userId", params.get("userId")); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.* FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | selectSql.append("SELECT COUNT(*) AS NUM,D.STATE FROM (SELECT A.ID,A.STATE FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT A.ID FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B , WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND A.ID = B.BUSINESS_ID "); |
| | | |
| | | String customer_Id = params.get("customerId"); |
| | | if (!StringUtil.isEmpty(customer_Id)) { |
| | |
| | | } |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(), paramMap); |
| | |
| | | public int querymyincidentOrderNodeCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | | params.put("flowstate", params.get("type")); |
| | | sqlpart = getmyodernodeSql(sqlpart, params); |
| | |
| | | public PageInfo querymyincidentOrderNodeList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE ,C.FLOWSTATE, "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,C.FLOWSTATE, "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.PROJECT_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = :flowstate AND C.CURRENT_DEALER_ID = :userId AND WB.BUSINESSTYPE = :businessType "); |
| | |
| | | sqlpart = getmyodernodeSql(sqlpart, params); |
| | | |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CREATETIME, C.FLOWSTATE, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.PROJECT_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | public int querymyincidentTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | |
| | |
| | | public PageInfo querymyincidentTimeoutList(PageInfo pageInfo, Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME, "); |
| | | // sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE , "); |
| | | sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.SUB_CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.STATE ,B.NAME "); |
| | | sql.append("FROM SC_WORKFLOW_INCIDENT B,WORKFLOW_BASE WB WHERE WB.BUSINESS_ID = B.ID "); |
| | | sqlpart.append(" AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND WB.CURRENT_DEALER_ID = :current_dealer_id "); |
| | |
| | | |
| | | } |
| | | sql.append(sqlpart); |
| | | sql.append(" GROUP BY WB.ID ORDER BY WB.CREATETIME DESC "); |
| | | sql.append(" GROUP BY WB.ID, WB.ORDER_CODE, WB.WFNAME, WB.BUSINESSTYPE, WB.CREATERNAME, WB.CURRENT_NODE_ID, WB.CURRENT_NODE_NAME, WB.CUSTOMER_NAME, WB.SUB_CUSTOMER_NAME, WB.CURRENT_DEALER_NAME, WB.BUSINESS_ID, WB.WFSTATE, B.STATE , B.NAME,WB.CREATETIME ORDER BY WB.CREATETIME DESC "); |
| | | |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | | } |
| | |
| | | params.put("endTime", endDay + "600000"); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT q "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT q,WORKFLOW_BASE b "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | package cn.ksource.web.facade.knowledge; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.GG_USER; |
| | | import cn.ksource.beans.KM_LIBRARY; |
| | | import cn.ksource.beans.KM_LIBRARY_CATEGORY; |
| | | import cn.ksource.beans.KM_LIBRARY_HIT_RECORD; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS; |
| | | import cn.ksource.beans.KM_LIBRARY_KNOWLEDGE_ACCESS_TEMP; |
| | | import cn.ksource.beans.KM_LIBRARY_TEMP; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.AjaxUtil; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.ParamsMapUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.facade.knowledge.knowledgeDeal.KnowledgeDealFacade; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.knowledge.KmRecordService; |
| | | import cn.ksource.web.service.knowledge.KmService; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | @Service("kmLibraryFacade") |
| | | public class KmLibraryFacadeImpl implements KmLibraryFacade { |
| | | @Autowired |
| | |
| | | public int getMyEditKnowCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder("SELECT COUNT(K.ID) FROM ( "); |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | queryMyEditKnowIf(params,sql); |
| | | return baseDao.queryForInteger(sql.toString(), params); |
| | |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM ( "); |
| | | |
| | | sql.append("( SELECT ID, TITLE, TAG, SUMMARY, CONTENT, CATEGORY_ID, CATEGORY_NAME, CREATE_USER_ID, CREATE_USER_NAME, CREATE_TIME, STATE, VERSION, HITS, IS_EDITOR, THIRDLEVEL_NAME, THIRDLEVEL_ID, FIRST_CATEGORY_ID, FIRST_CATEGORY_NAME, SECOND_CATEGORY_ID, SECOND_CATEGORY_NAME, THIRD_CATEGORY_ID, THIRD_CATEGORY_NAME, UPDATE_DATE, UPDATER_ID, UPDATE_NAME, SECOND_KNOWCATEGORY_ID, SECOND_KNOWCATEGORY_NAME, FIRST_KNOWCATEGORY_ID, FIRST_KNOWCATEGORY_NAME, SECONDLEVEL_NAME, SECONDLEVEL_ID, FIRSTLEVEL_NAME, FIRSTLEVEL_ID, ACCESS_TYPE, AUDIT_STATE FROM km_library_temp WHERE km_library_temp.CONTENT_STATE = 2 AND km_library_temp.UPDATER_ID = :loginUserId ) "); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.*,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" UNION ALL( SELECT B.ID, B.TITLE, B.TAG, B.SUMMARY, B.CONTENT, B.CATEGORY_ID, B.CATEGORY_NAME, B.CREATE_USER_ID, B.CREATE_USER_NAME, B.CREATE_TIME, B.STATE, B.VERSION, B.HITS, B.IS_EDITOR, B.THIRDLEVEL_NAME, B.THIRDLEVEL_ID, B.FIRST_CATEGORY_ID, B.FIRST_CATEGORY_NAME, B.SECOND_CATEGORY_ID, B.SECOND_CATEGORY_NAME, B.THIRD_CATEGORY_ID, B.THIRD_CATEGORY_NAME, F.TIME AS UPDATE_DATE, B.UPDATER_ID, B.UPDATE_NAME, B.SECOND_KNOWCATEGORY_ID, B.SECOND_KNOWCATEGORY_NAME, B.FIRST_KNOWCATEGORY_ID, B.FIRST_KNOWCATEGORY_NAME, B.SECONDLEVEL_NAME, B.SECONDLEVEL_ID, B.FIRSTLEVEL_NAME, B.FIRSTLEVEL_ID, B.ACCESS_TYPE, 2 AS AUDIT_STATE FROM (SELECT E.LIBRARY_ID,E.type,E.USER_ID,MAX(E.EDITOR_DATE) AS TIME FROM KM_LIBRARY_UPDATER E WHERE E.USER_ID =:loginUserId GROUP BY E.LIBRARY_ID,E.type,E.USER_ID) F,KM_LIBRARY B WHERE F.LIBRARY_ID=B.ID AND B.STATE=1 AND F.USER_ID=:loginUserId AND F.TYPE = 2 AND B.ID NOT IN (SELECT G.ORIGINAL_ID FROM KM_LIBRARY_TEMP G WHERE G.AUDIT_STATE = 1 AND G.CONTENT_STATE =2))"); |
| | | sql.append(" ) K WHERE K.STATE=1 "); |
| | | |
| | | queryMyEditKnowIf(params, sql); |
| | |
| | | } |
| | | @Override |
| | | public PageInfo getMyKnowData(Map<String, String> params, PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.*,K.STATE K_STATE,F.AUDIT_STATE STATE FROM KM_LIBRARY K LEFT JOIN KM_LIBRARY_TEMP F ON K.ID = F.ORIGINAL_ID WHERE 1=1 "); |
| | | queryMyKnowIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | @Override |
| | | public PageInfo getMyKnowCxData(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT K.* FROM KM_LIBRARY K WHERE 1=1 "); |
| | | queryMyKnowCxIf(params, sql); |
| | | sql.append(" ORDER BY K.STATE,K.CREATE_TIME DESC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | } |
| | | |
| | | public StringBuilder getknowtypesql(Map<String, String> params){ |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | StringBuilder sql = new StringBuilder("SELECT A.* FROM KM_LIBRARY A,KM_RECORD B WHERE A.CREATE_USER_ID = :userId AND A.STATE = 1 AND A.ID = B.LIBRARY_ID AND B.TYPE = :type "); |
| | | String title = params.get("title"); |
| | | String keyword = params.get("keyword"); |
| | | String sl = params.get("sl"); |
| | |
| | | public PageInfo knowZjhyData(PageInfo pageInfo, Map<String, String> params) { |
| | | String userId = params.get("userId"); |
| | | String type = params.get("type"); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.*,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT A.ID,A.TITLE,A.TAG,A.CATEGORY_ID,A.CATEGORY_NAME,A.CREATE_USER_ID,A.CREATE_USER_NAME,A.CREATE_TIME,A.STATE,A.VERSION,A.HITS,A.IS_EDITOR,A.THIRDLEVEL_NAME,A.THIRDLEVEL_ID,A.FIRST_CATEGORY_ID,A.FIRST_CATEGORY_NAME,A.SECOND_CATEGORY_ID,A.SECOND_CATEGORY_NAME,A.THIRD_CATEGORY_ID,A.THIRD_CATEGORY_NAME,A.UPDATE_DATE,A.UPDATER_ID,A.UPDATE_NAME,A.SECOND_KNOWCATEGORY_ID,A.SECOND_KNOWCATEGORY_NAME,A.FIRST_KNOWCATEGORY_ID,A.FIRST_KNOWCATEGORY_NAME,A.SECONDLEVEL_NAME,A.SECONDLEVEL_ID,A.FIRSTLEVEL_NAME,A.FIRSTLEVEL_ID,A.ACCESS_TYPE,A.FILE_ID,A.IS_ESSENCE,A.IS_TOP,A.AUDIT_USERID,A.AUDIT_USERNAME,A.AUDIT_USERNAME,P.STATE FROM KM_RECORD B ,KM_LIBRARY A LEFT JOIN KM_LIBRARY_TEMP P on P.ORIGINAL_ID = A.ID WHERE A.ID = B.LIBRARY_ID AND A.STATE=1 "); |
| | | if(!StringUtil.isEmpty(userId)){ |
| | | sql.append(" AND B.USER_ID = :userId "); |
| | | } |
| | |
| | | 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); |
| | |
| | | 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(" 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 "); |
| | | } |
| | | |
| | | |
| | |
| | | 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 "); |
| | |
| | | } |
| | | |
| | | |
| | | selectSql.append(" GROUP BY A.ID) D GROUP BY D.STATE "); |
| | | selectSql.append(" GROUP BY A.ID,A.STATE) D GROUP BY D.STATE "); |
| | | sql.append(" GROUP BY A.ID) D "); |
| | | |
| | | List<Map> list = baseDao.queryForList(selectSql.toString(),paramMap); |
| | |
| | | public int 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 "); |
| | |
| | | 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( " 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 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); |
| | |
| | | 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); |
| | | } |
| | |
| | | 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 = '' )"); |
| | |
| | | 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); |
| | |
| | | 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); |
| | | |
| | |
| | | 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 "); |
| | |
| | | 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 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" + |
| | |
| | | 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 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")); |
| | | |
| | |
| | | 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 = 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); |
| | | } |
| | |
| | | package cn.ksource.web.facade.releaseManage; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_WORKFLOW_RELEASE; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.JsonUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.TreeUtil; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | |
| | | import cn.ksource.web.service.WorkOrderCodeService; |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import cn.ksource.web.service.workFlowSupport.WorkFlowSupportService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | @Repository |
| | |
| | | } |
| | | builder.append(" order by FLOWSTATE asc "); |
| | | builder.append(" ) t "); |
| | | builder.append(" group by FLOWID "); |
| | | builder.append(" group by FLOWID,NODEID,NODETIME,NODESTATE "); |
| | | builder.append(" ) n "); |
| | | builder.append(" on b.ID = n.FLOWID "); |
| | | //builder.append(" where b.PARTNER_ID =:partnerId "); |
| | |
| | | package cn.ksource.web.facade.servicelist; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.CONFIG_DATA_DICTIONARY; |
| | | import cn.ksource.beans.CUSTOMER_CONTACTS; |
| | | import cn.ksource.beans.SC_SERVCE_CATEGORY; |
| | |
| | | import cn.ksource.web.SysConstants; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | | import cn.ksource.web.service.UserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | |
| | |
| | | @Override |
| | | public PageInfo queryProjectContacts(Map<String, String> params, |
| | | PageInfo pageInfo) { |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT * FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); |
| | | StringBuilder sql = new StringBuilder("SELECT DISTINCT ID , CUSTOMER_ID , CONTACT_NAME , YWKS , ZW , TELEPHONE , MOBILE , LEVEL_ID , LEVEL_NAME , IS_SATIS , STATE , LOGIN_NAME , PASSWORD , EMAIL , QQ_OPEN_ID , ISEMAIL , ISPHONE , ALLOW_LOGIN , WECHAT_OPEN_ID , SUB_CUSTOMER_ID , SUB_CUSTOMER_NAME , CONTACTS_TYPE , IME FROM CUSTOMER_CONTACTS WHERE CUSTOMER_ID = :customerId"); |
| | | queryProjectContactsIf(params, sql); |
| | | sql.append(" ORDER BY ALLOW_LOGIN ASC,IS_SATIS DESC,STATE ASC"); |
| | | return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); |
| | |
| | | param.put("cusId",cusId); |
| | | |
| | | sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" and customer_id=:cusId group by wfstate,businesstype order by businesstype,wfstate"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | Map<String,Map> dataSetMap = new HashMap(); |
| | |
| | | param.put("cusId",cusId); |
| | | |
| | | sql.append(" select wfstate data_name,businesstype cate_id,count(id) num from workflow_base where wfstate in (1,2,3,4) "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" and customer_id=:cusId group by businesstype,wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | sql.setLength(0); |
| | | sql.append(" SELECT businesstype cate_id,count(id) num FROM workflow_base WHERE customer_id = :cusId "); |
| | | setWhereSql(sql,"createtime",selDate,statisType,param); |
| | | setWhereSql(sql,"to_date(createtime,'YYYYMMDDHH24MISS')",selDate,statisType,param); |
| | | sql.append(" group by businesstype "); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" AND CONCAT(left(month,4),quarter(CONCAT(month,'01'))) =:selDate "); |
| | | } |
| | | sql.append(" GROUP BY A.CUSTOMER_ID"); |
| | | sql.append(" GROUP BY A.CUSTOMER_ID,B.CUSTOMER_NAME, B.YWJL_NAME, B.ID"); |
| | | Map map = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | | StringBuffer detailsql = new StringBuffer("SELECT A.CUSTOMER_ID,B.SATIS_TYPE,SUM(B.ALL_COUNT) AS ALL_COUNT,SUM(SATIS_COUNT) AS SATIS_COUNT,AVG(FG_RATE) AS FG_RATE,AVG(REQUEST_FG_RATE) AS REQUEST_FG_RATE,AVG(SATIS_SCORE) AS SATIS_SCORE,AVG(REQUEST_SATIS_SCORE) AS REQUEST_SATIS_SCORE,AVG(SATIS_QZ) AS SATIS_QZ FROM TOTLE_SATIS_INFO A,TOTLE_SATIS_DETAIL B WHERE A.ID = B.BUS_ID AND A.CUSTOMER_ID = :cus_id "); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | sql.append(" group by type_id "); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by type_id,type_name "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | |
| | | String groupByStr = ""; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); |
| | | groupByStr="date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')"; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5))"; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS')))"; |
| | | } |
| | | sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5) ) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5) ) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5) ) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5) ) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and customer_id=:cusId group by " + groupByStr +",wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | Map<String,Map> dataSet = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident where customer_id = :cusId and resolve_type_id is not null "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); |
| | | sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); |
| | | sql.append(" select count(id) total_num from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, ( "); |
| | | sql.append(" select count(id) outtime_num from sc_workflow_incident where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish "); |
| | | Double y = baseDao.queryForDouble(sql.toString(), param); |
| | | Map chartMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,sla_id from sc_workflow_incident where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by sla_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | |
| | | sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select THIRD_CATEGORY_NAME,count(id) total_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtotal "); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID,THIRD_CATEGORY_NAME) mtotal "); |
| | | sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mpri "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mques "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mdeal "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | |
| | | sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(first_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select count(id) total_num from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, "); |
| | | sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) manswer, "); |
| | | sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mactivi, "); |
| | | sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish, "); |
| | | sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtimeout, "); |
| | | sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mpri, "); |
| | | sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mques, "); |
| | | sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mdeal, "); |
| | | sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfirst "); |
| | | Map extendMap = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | |
| | | param.put("selDate", selDate); |
| | | param.put("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | sql.append(" select count(id) num,wfstate from workflow_base where businesstype =:busType and customer_id = :cusId "); |
| | | setWhereSql(sql, "createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATETIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by wfstate order by wfstate"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | Map<String,Map> dataxx = new HashMap(); |
| | |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | |
| | | |
| | | String groupByStr = ""; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') cate_id,"); |
| | | groupByStr = "date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) cate_id,"); |
| | | groupByStr = "concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),week(to_date(createtime,'YYYYMMDDHH24MISS'),5)) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) cate_id,"); |
| | | groupByStr = " concat(year(to_date(createtime,'YYYYMMDDHH24MISS')),quarter(to_date(createtime,'YYYYMMDDHH24MISS'))) "; |
| | | } |
| | | sql.append(" wfstate data_name,count(id) num from workflow_base where wfstate in (1,2,3) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (week(to_date(createtime,'YYYYMMDDHH24MISS'),5) = substring(:selDate,5) or week(to_date(createtime,'YYYYMMDDHH24MISS'),5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("to_date(createtime,'YYYYMMDDHH24MISS')")){ |
| | | sql.append(" and year(to_date(createtime,'YYYYMMDDHH24MISS'))=left(:selDate,4) and (quarter(to_date(createtime,'YYYYMMDDHH24MISS')) = substring(:selDate,5) or quarter(to_date(createtime,'YYYYMMDDHH24MISS'))=substring(:lastDate,5)) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and customer_id=:cusId group by "+ groupByStr +",wfstate "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | String newcreatetime = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | String groupCateId=""; |
| | | sql.setLength(0); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(" + newcreatetime+",'%Y%m') cate_id,"); |
| | | groupCateId = " date_format(" + newcreatetime+",'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year("+newcreatetime+"),week("+newcreatetime+",5)) cate_id,"); |
| | | groupCateId = " concat(year("+newcreatetime+"),week("+newcreatetime+",5)) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year("+newcreatetime+"),quarter("+newcreatetime+")) cate_id,"); |
| | | groupCateId=" concat(year("+newcreatetime+"),quarter("+newcreatetime+")) "; |
| | | } |
| | | sql.append(" count(id) num FROM workflow_base WHERE customer_id = :cusId and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format("+newcreatetime+",'%Y%m') = :selDate or date_format("+newcreatetime+",'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (week("+newcreatetime+",5) = substring(:selDate,5) or week("+newcreatetime+",5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newcreatetime+")=left(:selDate,4) and (quarter("+newcreatetime+") = substring(:selDate,5) or quarter("+newcreatetime+")=substring(:lastDate,5)) "); |
| | | } |
| | | sql.append(" group by cate_id "); |
| | | sql.append(" group by "+groupCateId); |
| | | List<Map> extendList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_question where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_question where customer_id = :cusId and state=7 "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,influence_id from sc_workflow_question where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(create_time,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by influence_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | |
| | | sql.append(" IFNULL(finish_num,0) finish_num, IFNULL(close_num,0) close_num from ( "); |
| | | sql.append(" select count(b.id) total_num,i.THIRD_CATEGORY_NAME,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | sql.append(" GROUP BY I.THIRD_CATEGORY_ID "); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" GROUP BY I.THIRD_CATEGORY_ID,i.THIRD_CATEGORY_NAME "); |
| | | sql.append(" ) mtotal left join ( "); |
| | | sql.append(" select count(b.id) answer_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i,( "); |
| | | sql.append(" select FLOWID from workflow_node where FLOWSTATE = 1 group by FLOWID "); |
| | | sql.append(" ) n where b.ID = i.FLOW_ID and b.id = n.FLOWID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE = 1 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) manswer on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) activi_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE=1 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mactivi on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) sleep_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and b.WFSTATE=6 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) msleep on mtotal.THIRD_CATEGORY_ID = msleep.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) finish_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and (b.WFSTATE=2 or b.WFSTATE=4) GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mfinish on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID left join ( "); |
| | | sql.append(" select count(b.id) close_num,i.THIRD_CATEGORY_ID from workflow_base b ,SC_WORKFLOW_QUESTION i "); |
| | | sql.append(" where b.ID = i.FLOW_ID and b.BUSINESSTYPE = 9 and b.customer_id = :cusId "); |
| | | setWhereSql(sql, "b.createtime", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(b.createtime,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" and i.state=7 GROUP BY I.THIRD_CATEGORY_ID "); |
| | | sql.append(" ) mclose on mtotal.THIRD_CATEGORY_ID = mclose.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); |
| | | |
| | | |
| | | String gruopByStr = ""; |
| | | String newCreateTime = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select date_format(createtime,'%Y%m') cate_id,"); |
| | | sql.append(" select date_format(" + newCreateTime +",'%Y%m') cate_id,"); |
| | | gruopByStr = "date_format("+ newCreateTime +",'%Y%m') "; |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" select concat(year(createtime),week(createtime,5)) cate_id,"); |
| | | sql.append(" select concat(year(" + newCreateTime + "),week("+newCreateTime + ",5)) cate_id,"); |
| | | gruopByStr = " concat(year(" + newCreateTime + "),week("+newCreateTime + ",5))"; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(year(createtime),quarter(createtime)) cate_id,"); |
| | | sql.append(" select concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) cate_id,"); |
| | | gruopByStr = " concat(year(" + newCreateTime +"),quarter(" + newCreateTime + ")) "; |
| | | } |
| | | sql.append(" ( CASE WHEN WFSTATE = 1 THEN '1' WHEN WFSTATE = 2 THEN '2' WHEN WFSTATE = 3 THEN '3' WHEN WFSTATE = 4 THEN '2' WHEN WFSTATE = 6 THEN '6' END ) data_name,count(id) num from workflow_base where wfstate in (1,2,3,4) and businesstype=:busType "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" and (date_format(createtime,'%Y%m') = :selDate or date_format(createtime,'%Y%m')=:lastDate) "); |
| | | sql.append(" and (date_format("+newCreateTime+",'%Y%m') = :selDate or date_format("+newCreateTime+",'%Y%m')=:lastDate) "); |
| | | }else if(statisType.equals("week")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (week(createtime,5) = substring(:selDate,5) or week(createtime,5)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (week("+newCreateTime+",5) = substring(:selDate,5) or week("+newCreateTime+",5)=substring(:lastDate,5)) "); |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and year(createtime)=left(:selDate,4) and (quarter(createtime) = substring(:selDate,5) or quarter(createtime)=substring(:lastDate,5)) "); |
| | | sql.append(" and year("+newCreateTime+")=left(:selDate,4) and (quarter("+newCreateTime+") = substring(:selDate,5) or quarter("+newCreateTime+")=substring(:lastDate,5)) "); |
| | | } |
| | | |
| | | sql.append(" and customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and customer_id=:cusId group by "+gruopByStr +",WFSTATE "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,source_id from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by source_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,type_id,type_name from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | sql.append(" group by type_id "); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by type_id ,type_name"); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,resolve_type_id from sc_workflow_incident_local where customer_id = :cusId and resolve_type_id is not null "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by resolve_type_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | StringBuilder sql = new StringBuilder(); |
| | | SqlParameter param = new SqlParameter(); |
| | | param.put("cusId", cusId); |
| | | sql.append(" select TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) ontime_rate from ( "); |
| | | sql.append(" select case when total_num=0 then 0 else TRUNCATE((total_num-IFNULL(outtime_num,0))*100/total_num,2) end ontime_rate from ( "); |
| | | sql.append(" select count(id) total_num from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, ( "); |
| | | sql.append(" select count(id) outtime_num from sc_workflow_incident_local where customer_id = :cusId and (answer_timeout=1 or deal_timeout=1) "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish "); |
| | | Double y = baseDao.queryForDouble(sql.toString(), param); |
| | | Map chartMap = new HashMap(); |
| | |
| | | param.put("cusId", cusId); |
| | | param.put("selDate", selDate); |
| | | sql.append(" select count(id) num,sla_id from sc_workflow_incident_local where customer_id = :cusId "); |
| | | setWhereSql(sql, "create_time", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by sla_id "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | |
| | | sql.append(" select mtotal.THIRD_CATEGORY_NAME,total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select a.THIRD_CATEGORY_NAME,count(a.id) total_num,a.THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); |
| | | setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); |
| | | sql.append(" group by a.THIRD_CATEGORY_ID) mtotal "); |
| | | setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by a.THIRD_CATEGORY_ID,a.THIRD_CATEGORY_NAME) mtotal "); |
| | | sql.append(" left join (select count(i.id) answer_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) manswer "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = manswer.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) activi_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and b.WFSTATE<>3 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mactivi "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mactivi.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) finish_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfinish "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfinish.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) timeout_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mtimeout "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mtimeout.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) pri_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mpri "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mpri.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(id) ques_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mques "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mques.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by THIRD_CATEGORY_ID) mdeal "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mdeal.THIRD_CATEGORY_ID "); |
| | | sql.append(" left join (select count(i.id) first_num,THIRD_CATEGORY_ID from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" group by i.THIRD_CATEGORY_ID) mfirst "); |
| | | sql.append(" on mtotal.THIRD_CATEGORY_ID = mfirst.THIRD_CATEGORY_ID "); |
| | | List<Map> baseList = baseDao.queryForList(sql.toString(),param); |
| | |
| | | sql.append(" select total_num,IFNULL(answer_num,0) answer_num,IFNULL(activi_num,0) activi_num,IFNULL(finish_num,0) finish_num,IFNULL(timeout_num,0) timeout_num, "); |
| | | sql.append(" IFNULL(pri_num,0) pri_num,IFNULL(ques_num,0) ques_num,IFNULL(avg_time,0) avg_time,truncate(IFNULL(finish_num, 0)*100/total_num,2) first_rate,truncate((total_num-IFNULL(timeout_num, 0))*100/total_num,2) ontime_rate from "); |
| | | sql.append(" (select count(a.id) total_num from SC_WORKFLOW_INCIDENT_LOCAL a,workflow_base b where a.customer_id=:cusId and a.id=b.BUSINESS_ID and b.WFSTATE<>3 "); |
| | | setWhereSql(sql, "a.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(a.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtotal, "); |
| | | sql.append(" (select count(i.id) answer_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.WFSTATE<>3 and b.CURRENT_NODE_ID=n.ID and n.FLOWSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) manswer, "); |
| | | sql.append(" (select count(i.id) activi_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE=1 and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mactivi, "); |
| | | sql.append(" (select count(i.id) finish_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b where i.FLOW_ID=b.ID and b.WFSTATE in (2,4) and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfinish, "); |
| | | sql.append(" (select count(id) timeout_num from SC_WORKFLOW_INCIDENT_LOCAL where (ANSWER_TIMEOUT=1 or DEAL_TIMEOUT=1) and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mtimeout, "); |
| | | sql.append(" (select count(id) pri_num from SC_WORKFLOW_INCIDENT_LOCAL where SLA_NAME='LEVEL1' and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mpri, "); |
| | | sql.append(" (select count(id) ques_num from SC_WORKFLOW_INCIDENT_LOCAL where QUESTIONID is not null and customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mques, "); |
| | | sql.append(" (select truncate(avg(DEAL_USE_TIME)*3600*1000,0) avg_time from SC_WORKFLOW_INCIDENT_LOCAL where customer_id=:cusId "); |
| | | setWhereSql(sql, "CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mdeal, "); |
| | | sql.append(" (select count(i.id) first_num from SC_WORKFLOW_INCIDENT_LOCAL i,workflow_base b,workflow_node n where i.FLOW_ID=b.ID and b.CURRENT_NODE_ID=n.ID and (b.WFSTATE=2 or b.WFSTATE=4) and n.NODE_TEMPLATE_ID = :nodeTemplateId and i.customer_id=:cusId "); |
| | | setWhereSql(sql, "i.CREATE_TIME", selDate, statisType, param); |
| | | setWhereSql(sql, "to_date(i.CREATE_TIME,'YYYYMMDDHH24MISS')", selDate, statisType, param); |
| | | sql.append(" ) mfirst "); |
| | | Map extendMap = baseDao.queryForMap(sql.toString(),param); |
| | | |
| | |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("timeout_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("pri_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("ques_num"))); |
| | | |
| | | tempList.add(DateUtil.secToTime(Math.round((Double)base.get("avg_time")))); |
| | | Object avg_time = base.get("avg_time"); |
| | | String avgTimeSTr = null; |
| | | if (avg_time == null){ |
| | | avgTimeSTr = "0"; |
| | | } else { |
| | | avgTimeSTr = String.valueOf(avg_time); |
| | | } |
| | | tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("first_rate"))+"%"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(base.get("ontime_rate"))+"%"); |
| | | dataList.add(tempList); |
| | |
| | | List<String> tempList = new ArrayList<String>(); |
| | | tempList.add("合计"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("total_num"))); |
| | | |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("answer_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("activi_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("finish_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("timeout_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("pri_num"))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ques_num"))); |
| | | tempList.add(DateUtil.secToTime(Math.round((Double)extendMap.get("avg_time")))); |
| | | Object avg_time = extendMap.get("avg_time"); |
| | | String avgTimeSTr = null; |
| | | if (avg_time == null){ |
| | | avgTimeSTr = "0"; |
| | | } else { |
| | | avgTimeSTr = String.valueOf(avg_time); |
| | | } |
| | | tempList.add(DateUtil.secToTime(Math.round(Double.valueOf(avgTimeSTr)))); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("first_rate"))+"%"); |
| | | tempList.add(ConvertUtil.obj2StrBlank(extendMap.get("ontime_rate"))+"%"); |
| | | dataList.add(tempList); |
| | |
| | | param.put("lastDate",lastDate); |
| | | param.put("busType",Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | String cateIdStr = ""; |
| | | //查询数据 |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select i.month cate_id, "); |
| | | cateIdStr = " i.month "; |
| | | }else if(statisType.equals("year")){ |
| | | sql.append(" select left(i.month,4) cate_id, "); |
| | | cateIdStr = " left(i.month,4) "; |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" select concat(left(i.month,4),quarter(concat(i.month,'01'))) cate_id, "); |
| | | cateIdStr = " concat(left(i.month,4),quarter(concat(i.month,'01'))) "; |
| | | } |
| | | sql.append(" d.satis_type data_name,truncate(avg(d.satis_score),0) num from totle_satis_info i,totle_satis_detail d where i.id = d.bus_id "); |
| | | if(statisType.equals("month")){ |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); |
| | | } |
| | | sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and i.customer_id=:cusId group by "+cateIdStr+",d.satis_type "); |
| | | sql.append(" union "); |
| | | if(statisType.equals("month")){ |
| | | sql.append(" select i.month cate_id, "); |
| | |
| | | }else if(statisType.equals("quarter")){ |
| | | sql.append(" and (concat(left(i.month,4),quarter(concat(i.month,'01'))) = :selDate or concat(left(i.month,4),quarter(concat(i.month,'01')))=:lastDate) "); |
| | | } |
| | | sql.append(" and i.customer_id=:cusId group by cate_id,data_name "); |
| | | sql.append(" and i.customer_id=:cusId group by "+cateIdStr+" "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("busType", Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(createtime,'%Y') = :selDate group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y%c') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | .addValue("lastDate", lastDate); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select count(id) num,date_format(createtime,'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(createtime,'%Y') = :selDate or date_format(createtime,'%Y') = :lastDate) group by cate_id "); |
| | | sql.append(" select count(id) num,date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') cate_id from workflow_base where businesstype = :busType and customer_id =:cusId "); |
| | | sql.append(" and (date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :selDate or date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') = :lastDate) group by date_format(to_date(createtime,'YYYYMMDDHH24MISS'),'%Y') "); |
| | | List<Map> dataList = baseDao.queryForList(sql.toString(),param); |
| | | if(dataList!=null&&dataList.size()>0){ |
| | | Map dataSetMap = new HashMap(); |
| | |
| | | |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(" SELECT I.ALL_SCORE,D.SATIS_SCORE,D.SATIS_TYPE,I.MONTH FROM TOTLE_SATIS_DETAIL D ,TOTLE_SATIS_INFO I "); |
| | | builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH ORDER BY SATIS_TYPE,MONTH"); |
| | | builder.append(" WHERE LEFT(I.MONTH,4)=:selDate AND D.BUS_ID = I.ID AND I.CUSTOMER_ID = :cusId GROUP BY D.SATIS_TYPE,I.MONTH,I.ALL_SCORE, D.SATIS_SCORE ORDER BY SATIS_TYPE,MONTH"); |
| | | List<Map> queryList = baseDao.queryForList(builder.toString(), param); |
| | | builder.setLength(0); |
| | | Map<String,Object> queryMap = new HashMap<String,Object>(); |
| | |
| | | public List<String> getCusYearToCur(String cusId) { |
| | | SqlParameter param = new SqlParameter(); |
| | | param.addValue("cusId", cusId); |
| | | String sql = "select year(CREATE_TIME) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; |
| | | String sql = "select substr(CREATE_TIME||'',1,4) from SC_PARTNER_CUSTOMER_INFO where id = :cusId"; |
| | | Integer startYear = baseDao.queryForInteger(sql,param); |
| | | Calendar cal = Calendar.getInstance(); |
| | | Integer endYear = cal.get(Calendar.YEAR); |
| | |
| | | @Override |
| | | public String getNRecordDate(Map<String, String> params) { |
| | | String col = ""; |
| | | String createTimeStr = "to_date(createtime,'YYYYMMDDHH24MISS')"; |
| | | if(params.get("type").equals("week")){ |
| | | col = "week(createtime,5)"; |
| | | col = "week("+ createTimeStr +",5)"; |
| | | }else if(params.get("type").equals("month")){ |
| | | col = "date_format(createtime,'%Y%m')"; |
| | | col = "date_format("+ createTimeStr +",'%Y%m')"; |
| | | }else if(params.get("type").equals("quarter")){ |
| | | col = "quarter(createtime)"; |
| | | col = "quarter("+ createTimeStr +")"; |
| | | }else if(params.get("type").equals("year")){ |
| | | col = "year(createtime)"; |
| | | col = "year("+ createTimeStr +")"; |
| | | } |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select GROUP_CONCAT(d) from ( "); |
| | | sql.append(" select wm_CONCAT(d) from ( "); |
| | | sql.append(" select $col d from workflow_base where businesstype in (8,9,10) and customer_id=:cusId "); |
| | | if(!params.get("type").equals("year")){ |
| | | sql.append(" and year(createtime)=:year "); |
| | | sql.append(" and substr(createtime||'',1,4)=:year "); |
| | | } |
| | | sql.append(" group by $col "); |
| | | sql.append(" ) t "); |
| | |
| | | package cn.ksource.web.facade.zc; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.CUSTOMER_CONTACTS; |
| | | import cn.ksource.beans.GG_MESSAGE; |
| | | import cn.ksource.beans.GG_RECORD; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT; |
| | | import cn.ksource.beans.SC_WORKFLOW_INCIDENT_LOCAL; |
| | | import cn.ksource.beans.WORKFLOW_BASE; |
| | | import cn.ksource.beans.WORKFLOW_NODE; |
| | | import cn.ksource.beans.*; |
| | | import cn.ksource.core.dao.BaseDao; |
| | | import cn.ksource.core.dao.SqlParameter; |
| | | import cn.ksource.core.page.PageInfo; |
| | | import cn.ksource.core.util.AjaxUtil; |
| | | import cn.ksource.core.util.ConvertUtil; |
| | | import cn.ksource.core.util.DateUtil; |
| | | import cn.ksource.core.util.NumberUtil; |
| | | import cn.ksource.core.util.StringUtil; |
| | | import cn.ksource.core.util.*; |
| | | import cn.ksource.core.web.SysInfoMsg; |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.core.workflow.NodeAnswerEntity; |
| | | import cn.ksource.core.workflow.NodeDealEntity; |
| | | import cn.ksource.core.workflow.NodeFinishEntity; |
| | | import cn.ksource.core.workflow.WorkflowBusinessService; |
| | | import cn.ksource.core.workflow.WorkflowCoreService; |
| | | import cn.ksource.core.workflow.*; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.controller.wechat.util.WechatConstants; |
| | | import cn.ksource.web.facade.incident.IncidentFacade; |
| | |
| | | import cn.ksource.web.service.file.FileService; |
| | | import cn.ksource.web.service.order.OrderService; |
| | | import cn.ksource.web.service.record.RecordService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service("zcywFacade") |
| | | public class ZcywFacadeImpl implements ZcywFacade { |
| | |
| | | if(flowstate.equals("1")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jddcl "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | params.put("jddcl", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_UNDISPOSE)); |
| | | } else if(flowstate.equals("2")) { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdjxz"); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | params.put("jdjxz", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_NODE_FLOWSTATE_DOING)); |
| | | }else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId AND A.FLOWSTATE = :jdywc "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | } else { |
| | | builder.append(" SELECT DISTINCT D.* FROM ( "); |
| | | //查询处理人是我的 |
| | | builder.append(" SELECT B.*,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" SELECT B.ID,B.WFNAME,B.BUSINESSTYPE,B.WFSTATE,B.WORKFLOWTYPE,B.CREATERNAME,B.CREATERID,B.CREATETIME,B.ENDTIME,B.MAINFLOWID,B.CURRENT_NODE_NAME,B.CURRENT_NODE_ID,B.DEAL_TYPE,B.CURRENT_DEALER_ID,B.CURRENT_DEALER_NAME,B.CURRENT_DEAL_ROLEIDA,B.CURRENT_DEAL_ROLENAME,B.WF_TEMPLATE_ID,B.BUSINESS_ID,B.ORDER_CODE,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.PROJECT_ID,B.PROJECT_NAME,B.SUB_CUSTOMER_NAME,B.SUB_CUSTOMER_ID,C.NAME,C.CONTACT_NAME,C.PRIORITY_ID,C.INFLUENCE_ID,C.SLA_ID,C.THIRD_CATEGORY_ID,C.TYPE_ID FROM WORKFLOW_NODE A,WORKFLOW_BASE B,SC_WORKFLOW_INCIDENT_LOCAL C WHERE A.FLOWID = B.ID AND B.BUSINESS_ID = C.ID AND A.CURRENT_DEALER_ID = :userId "); |
| | | String status = params.get("status"); |
| | | if(StringUtil.notEmpty(status)) { |
| | | if(status.equals("0")){ |
| | |
| | | public int queryZcywTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB,WORKFLOW_NODE N "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) AND N.CURRENT_DEALER_ID = :current_dealer_id "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | sql.append(sqlpart); |
| | |
| | | params.put("endTime", endDay + "600000"); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,DATE_FORMAT(CREATE_TIME,'%Y%m%d') CREATEDAY from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by DATE_FORMAT(CREATE_TIME,'%Y%m%d') "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') CREATEDAY from workflow_base b ,SC_WORKFLOW_INCIDENT_LOCAL q "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by CREATEDAY "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by DATE_FORMAT(q.CREATE_TIME,'%Y%m%d') "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | StringBuilder builder = new StringBuilder(); |
| | | if (StringUtil.isBlank(userId)) { |
| | | builder.append(" select count(ID) NUM,THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL where CUSTOMER_ID = :cusId "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" and CREATE_TIME>=:startTime and CREATE_TIME<=:endTime group by THIRD_CATEGORY_ID "); |
| | | } else { |
| | | builder.append(" select count(q.ID) NUM,q.THIRD_CATEGORY_ID SERVER_ID from SC_WORKFLOW_INCIDENT_LOCAL q,WORKFLOW_BASE b "); |
| | | builder.append(" where b.ID = q.FLOW_ID and EXISTS ( "); |
| | | builder.append(" select FLOWID from workflow_node n where b.ID = n.FLOWID and n.CURRENT_DEALER_ID = :userId "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by SERVER_ID "); |
| | | builder.append(" ) and q.CUSTOMER_ID = :cusId and q.CREATE_TIME>=:startTime and q.CREATE_TIME<=:endTime group by q.THIRD_CATEGORY_ID "); |
| | | } |
| | | |
| | | List<Map> dataList = baseDao.queryForList(builder.toString(), params); |
| | |
| | | public int getOrederZcywNumDxy(Map params){ |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB , WORKFLOW_NODE C "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL AND WB.BUSINESSTYPE = :businessType "); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | | if(StringUtil.notEmpty(customerId)){ |
| | |
| | | public int getOrederZcywNumJxz(Map params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 "); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | | if(StringUtil.notEmpty(customerId)){ |
| | |
| | | public int getOrederZcywTimeoutCount(Map<String, String> params) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | StringBuilder sqlpart = new StringBuilder(); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.* FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sql.append("SELECT COUNT(D.ID) FROM (SELECT B.ID FROM SC_WORKFLOW_INCIDENT_LOCAL B,WORKFLOW_BASE WB "); |
| | | sqlpart.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND WB.WFSTATE = 1 AND (B.ANSWER_TIMEOUT = 1 OR B.DEAL_TIMEOUT = 1 ) "); |
| | | params.put("current_dealer_id", params.get("userId")); |
| | | String customerId=ConvertUtil.obj2StrBlank(params.get("customerId")); |
| | |
| | | package cn.ksource.web.service.knowledge; |
| | | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.ksource.beans.KM_LIBRARY; |
| | | import cn.ksource.beans.KM_LIBRARY_FAVORITE; |
| | | import cn.ksource.beans.KM_LIBRARY_TEMP; |
| | | import cn.ksource.core.dao.BaseDao; |
| | |
| | | import cn.ksource.core.web.WebUtil; |
| | | import cn.ksource.web.Constants; |
| | | import cn.ksource.web.service.file.FileService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class KmServiceImpl implements KmService { |
| | |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.CATEGORY_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" WHERE A.STATE=1 GROUP BY A.ID ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); |
| | | sql.append(" WHERE A.STATE=1 GROUP BY A.ID,A.TITLE, A.TAG , A.LEVEL,A.SERIAL ORDER BY A.LEVEL,A.SERIAL,A.TITLE"); |
| | | |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | |
| | | public Map thirdlevelListTree(HttpServletRequest request) { |
| | | String category_id = request.getParameter("category_id"); |
| | | String cusId = request.getParameter("cusId"); |
| | | StringBuilder sql=new StringBuilder("SELECT A.* ,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); |
| | | StringBuilder sql=new StringBuilder("SELECT A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE,COUNT(B.ID) AS NUM FROM CMDB_CI_CATEGORY A LEFT JOIN "); |
| | | |
| | | if(StringUtil.isEmpty(cusId)){ |
| | | sql.append(" KM_LIBRARY B ON A.ID = B.THIRDLEVEL_ID AND B.STATE = 1 "); |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON A.ID = B.THIRDLEVEL_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID ORDER BY A.LV,A.SERIAL,A.NAME"); |
| | | sql.append(" WHERE A.STATE = 1 and a.cate_type=1 GROUP BY A.ID,A.PID,A.TYPE,A.NAME,A.CODE,A.LV,A.SERIAL,A.STATE,A.LV1_ID,A.LV1_NAME,A.LV2_ID,A.LV2_NAME,A.LV3_ID,A.LV3_NAME,A.FULL_ID,A.FULL_NAME,A.CATE_TYPE ORDER BY A.LV,A.SERIAL,A.NAME"); |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | | Map result = new HashMap(); |
| | |
| | | String category_id = request.getParameter("category_id"); |
| | | String cusId = request.getParameter("cusId"); |
| | | String type = request.getParameter("type"); |
| | | StringBuffer sql = new StringBuffer("SELECT D.*,COUNT(B.ID) AS NUM FROM ("); |
| | | StringBuffer sql = new StringBuffer("SELECT D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH,COUNT(B.ID) AS NUM FROM ("); |
| | | String sqlpart="SELECT * FROM SC_SERVCE_CATEGORY WHERE STATE = 1 AND TYPE = 2 ORDER BY LEVEL,SERIAL "; |
| | | sql.append(sqlpart); |
| | | sql.append(" ) D LEFT JOIN "); |
| | |
| | | }else{ |
| | | sql.append(" (SELECT C.* FROM KM_LIBRARY C,KM_LIBRARY_KNOWLEDGE_ACCESS D WHERE C.ID = D.KNOWLEDGE_ID AND D.CUSTOMER_ID = :cusId) B ON D.ID = B.THIRD_CATEGORY_ID and B.STATE = 1"); |
| | | } |
| | | sql.append(" GROUP BY D.ID ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); |
| | | sql.append(" GROUP BY D.ID,D.CATEGORY_CODE,D.CATEGORY_NAME,D.LEVEL,D.P_ID,D.STATE,D.SERIAL,D.TYPE, D.PHOTOPATH ORDER BY D.LEVEL,D.SERIAL,D.CATEGORY_NAME"); |
| | | List<Map> categoryList = baseDao.queryForList(sql.toString(),new SqlParameter("cusId",cusId)); |
| | | |
| | | Map result = new HashMap(); |