package cn.ksource.web.service.timetask;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.fulltext.FullTextBean;
|
import cn.ksource.core.fulltext.FullTextConstants;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.web.Constants;
|
|
@Service("timeTaskService")
|
public class TimeTaskServiceImpl implements TimeTaskService {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Override
|
public List<Map> getKnowledgeList(String businessId,String beginTime,String endTime) {
|
long today = DateUtil.getCurrentDate8();
|
long day = DateUtil.getDateAdd(today, -1, 8);
|
|
if(!StringUtil.notEmptyNum(beginTime)) {
|
beginTime = ConvertUtil.obj2StrBlank(day);
|
}
|
|
beginTime = beginTime + "000000";
|
|
if(!StringUtil.notEmptyNum(endTime)) {
|
endTime = ConvertUtil.obj2StrBlank(day);
|
}
|
endTime = endTime + "240000";
|
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
String sql = "SELECT * FROM KM_LIBRARY WHERE STATE = 1 AND UPDATE_DATE >= :beginTime AND UPDATE_DATE <= :endTime";
|
if(StringUtil.notEmpty(businessId)) {
|
sql += " AND ID = :businessId";
|
paramMap.put("businessId", businessId);
|
} else {
|
|
}
|
List<Map> dataSource = baseDao.queryForList(sql,paramMap);
|
|
List<Map> resultList = getDataSource(dataSource,FullTextConstants.knowledge,null);
|
|
|
return resultList;
|
}
|
|
|
public List<Map> getDataSource(List<Map> dataSource,Integer bigCategory,Integer smallCategory) {
|
List<Map> resultList =new ArrayList<Map>();
|
|
for (Map map : dataSource) {
|
FullTextBean bean = new FullTextBean();
|
bean.setBig_category(bigCategory);
|
String id = ConvertUtil.obj2StrBlank(map.get("ID"));
|
bean.setBusiness_id(id);
|
bean.setContent(ConvertUtil.obj2Str(map.get("CONTENT")));
|
|
bean.setExtend_paramter_0(ConvertUtil.obj2StrBlank(map.get("CUSTOMER_ID")));
|
bean.setExtend_paramter_1(ConvertUtil.obj2StrBlank(map.get("SUB_CUSTOMER_ID")));
|
bean.setExtend_paramter_2(id);
|
|
/*
|
if(map.containsKey("ACCESS_TYPE")) {
|
bean.setExtend_paramter_3(ConvertUtil.obj2StrBlank(map.get("ACCESS_TYPE")));
|
}*/
|
|
|
bean.setKeywords(ConvertUtil.obj2Str(map.get("TAG")));
|
bean.setSmall_category(smallCategory);
|
bean.setTitle(ConvertUtil.obj2Str(map.get("TITLE")));
|
bean.setUpdate_time(ConvertUtil.obj2Long(map.get("UPDATE_DATE")));
|
|
String flowId = ConvertUtil.obj2StrBlank(map.get("FLOW_ID"));
|
if(StringUtil.notEmpty(flowId)) {
|
bean.setFlow_id(flowId);
|
} else {
|
bean.setFlow_id(null);
|
}
|
|
resultList.add(bean.getMapInfo());
|
}
|
return resultList;
|
}
|
|
|
|
|
/**
|
* 获取需要更新的数据信息的数据源
|
*/
|
@Override
|
public List<Map> getIncidentList(String beginTime,String endTime) {
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
|
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,A.NAME AS TITLE,A.ORDER_CODE,A.DESCRIP AS CONTENT,A.CUSTOMER_ID,A.SUB_CUSTOMER_ID,A.CREATE_TIME AS UPDATE_DATE,'' AS TAG,A.CUSTOMER_NAME,A.TYPE_NAME,A.SOURCE_NAME,A.RESOLVE,A.SUGGEST,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_INCIDENT A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
|
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
List<Map> incidents = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=incidents && incidents.size()>0) {
|
for(Map incident : incidents) {
|
String flowId = ConvertUtil.obj2StrBlank(incident.get("FLOW_ID"));
|
|
String customerName = ConvertUtil.obj2StrBlank(incident.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(incident.get("SUB_CUSTOMER_NAME"));
|
String typeName = ConvertUtil.obj2StrBlank(incident.get("TYPE_NAME"));
|
String sourceName = ConvertUtil.obj2StrBlank(incident.get("SOURCE_NAME"));
|
String resolve = ConvertUtil.obj2StrBlank(incident.get("RESOLVE"));
|
String suggest = ConvertUtil.obj2StrBlank(incident.get("SUGGEST"));
|
String orderCode = ConvertUtil.obj2StrBlank(incident.get("ORDER_CODE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
|
if(StringUtil.notEmpty(orderCode)) {
|
contentBuilder.append(";工单编号:").append(orderCode);
|
}
|
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(typeName)) {
|
contentBuilder.append(";事件类型:").append(typeName);
|
}
|
|
if(StringUtil.notEmpty(sourceName)) {
|
contentBuilder.append(";事件来源").append(sourceName);
|
}
|
|
if(StringUtil.notEmpty(resolve)) {
|
contentBuilder.append(";解决方式:").append(resolve);
|
}
|
|
if(StringUtil.notEmpty(suggest)) {
|
contentBuilder.append(";优化建议:").append(suggest);
|
}
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(incident.get("CONTENT"));
|
|
incident.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, incident);
|
}
|
|
|
queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT,cacheMap);
|
}
|
|
List<Map> resultList = getDataSource(incidents,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT);
|
|
return resultList;
|
}
|
|
|
private void queryRecord(int businessType,Map cacheMap) {
|
Map paramMap = new HashMap();
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
paramMap.put("businessType", businessType);
|
//查询事件工单的处理记录
|
String recordSql = "SELECT C.* FROM GG_RECORD C WHERE EXISTS (SELECT B.ID FROM WORKFLOW_BASE B WHERE B.WFSTATE != :wfstate AND B.ID = C.BUSINESS_ID AND B.BUSINESSTYPE = :businessType) ORDER BY C.DEAL_TIME DESC";
|
|
List<Map> records = baseDao.queryForList(recordSql, paramMap);
|
if(null!=records && records.size()>0) {
|
for(Map record : records) {
|
String linkId = ConvertUtil.obj2StrBlank(record.get("BUSINESS_ID"));
|
String dealContent = ConvertUtil.obj2StrBlank(record.get("DEAL_CONTENT"));
|
|
if(cacheMap.containsKey(linkId)) {
|
Map map = (Map)cacheMap.get(linkId);
|
String content = ConvertUtil.obj2StrBlank(map.get("CONTENT"));
|
map.put("CONTENT", content+";"+dealContent);
|
}
|
}
|
}
|
}
|
|
|
@Override
|
public List<Map> getZcywList(String beginTime,String endTime) {
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,A.NAME AS TITLE,A.ORDER_CODE,A.DESCRIP AS CONTENT,A.CUSTOMER_ID,A.SUB_CUSTOMER_ID,A.CREATE_TIME AS UPDATE_DATE,'' AS TAG,A.CUSTOMER_NAME,A.TYPE_NAME,A.SOURCE_NAME,A.RESOLVE,A.SUGGEST,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_INCIDENT_LOCAL A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
|
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
List<Map> zcyws = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=zcyws && zcyws.size()>0) {
|
for(Map zcyw : zcyws) {
|
String flowId = ConvertUtil.obj2StrBlank(zcyw.get("FLOW_ID"));
|
|
String customerName = ConvertUtil.obj2StrBlank(zcyw.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(zcyw.get("SUB_CUSTOMER_NAME"));
|
String typeName = ConvertUtil.obj2StrBlank(zcyw.get("TYPE_NAME"));
|
String sourceName = ConvertUtil.obj2StrBlank(zcyw.get("SOURCE_NAME"));
|
String resolve = ConvertUtil.obj2StrBlank(zcyw.get("RESOLVE"));
|
String suggest = ConvertUtil.obj2StrBlank(zcyw.get("SUGGEST"));
|
|
String orderCode = ConvertUtil.obj2StrBlank(zcyw.get("ORDER_CODE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
|
if(StringUtil.notEmpty(orderCode)) {
|
contentBuilder.append(";工单编号:").append(orderCode);
|
}
|
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(typeName)) {
|
contentBuilder.append(";事件类型:").append(typeName);
|
}
|
|
if(StringUtil.notEmpty(sourceName)) {
|
contentBuilder.append(";事件来源").append(sourceName);
|
}
|
|
if(StringUtil.notEmpty(resolve)) {
|
contentBuilder.append(";解决方式:").append(resolve);
|
}
|
|
if(StringUtil.notEmpty(suggest)) {
|
contentBuilder.append(";优化建议:").append(suggest);
|
}
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(zcyw.get("CONTENT"));
|
|
zcyw.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, zcyw);
|
}
|
|
queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL, cacheMap);
|
}
|
|
|
List<Map> resultList = getDataSource(zcyws,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL);
|
|
return resultList;
|
}
|
|
|
@Override
|
public List<Map> getQuestionList(String beginTime,String endTime) {
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,A.NAME AS TITLE,A.ORDER_CODE,A.DESCRIP AS CONTENT,A.CUSTOMER_ID,A.SUB_CUSTOMER_ID,A.CREATE_TIME AS UPDATE_DATE,'' AS TAG,A.CUSTOMER_NAME,A.RESOLVE,A.SUGGEST,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_QUESTION A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
List<Map> questions = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=questions && questions.size()>0) {
|
for(Map question : questions) {
|
String flowId = ConvertUtil.obj2StrBlank(question.get("FLOW_ID"));
|
|
String customerName = ConvertUtil.obj2StrBlank(question.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(question.get("SUB_CUSTOMER_NAME"));
|
String resolve = ConvertUtil.obj2StrBlank(question.get("RESOLVE"));
|
String suggest = ConvertUtil.obj2StrBlank(question.get("SUGGEST"));
|
|
String orderCode = ConvertUtil.obj2StrBlank(question.get("ORDER_CODE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
|
if(StringUtil.notEmpty(orderCode)) {
|
contentBuilder.append(";工单编号:").append(orderCode);
|
}
|
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(resolve)) {
|
contentBuilder.append(";解决方案:").append(resolve);
|
}
|
|
if(StringUtil.notEmpty(suggest)) {
|
contentBuilder.append(";优化建议:").append(suggest);
|
}
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(question.get("CONTENT"));
|
|
question.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, question);
|
}
|
|
queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION, cacheMap);
|
}
|
|
|
List<Map> resultList = getDataSource(questions,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_QUESTION);
|
|
return resultList;
|
}
|
|
|
@Override
|
public List<Map> getAddList(String beginTime,String endTime) {
|
/*long today = DateUtil.getCurrentDate8();
|
long day = DateUtil.getDateAdd(today, -1, 8);
|
String beginTime = day + "000000";
|
String endTime = day + "240000";*/
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,B.WFNAME AS TITLE,B.WFNOTE AS CONTENT,A.CUSTOMER_ID,A.PROJECT_ID,A.SUB_CUSTOMER_ID,A.APPLY_TIME AS UPDATE_DATE,'' AS TAG,A.PROJECT_NAME,A.CUSTOMER_NAME,A.APPLY_REASON,A.COLLECTION_TYPE_NAME,A.CLOSE_NOTE,A.NOTE,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_CI_ADD A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
List<Map> adds = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=adds && adds.size()>0) {
|
for(Map add : adds) {
|
String flowId = ConvertUtil.obj2StrBlank(add.get("FLOW_ID"));
|
|
String projectName = ConvertUtil.obj2StrBlank(add.get("PROJECT_NAME"));
|
String customerName = ConvertUtil.obj2StrBlank(add.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(add.get("SUB_CUSTOMER_NAME"));
|
String applyReason = ConvertUtil.obj2StrBlank(add.get("APPLY_REASON"));
|
String collectionTypeName = ConvertUtil.obj2StrBlank(add.get("COLLECTION_TYPE_NAME"));
|
String closeNote = ConvertUtil.obj2StrBlank(add.get("CLOSE_NOTE"));
|
String note = ConvertUtil.obj2StrBlank(add.get("NOTE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
if(StringUtil.notEmpty(projectName)) {
|
contentBuilder.append(";项目名称:").append(projectName);
|
}
|
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(applyReason)) {
|
contentBuilder.append(";申请原因:").append(applyReason);
|
}
|
|
if(StringUtil.notEmpty(collectionTypeName)) {
|
contentBuilder.append(";采集类型:").append(collectionTypeName);
|
}
|
if(StringUtil.notEmpty(closeNote)) {
|
contentBuilder.append(";关闭原因:").append(closeNote);
|
}
|
|
if(StringUtil.notEmpty(note)) {
|
contentBuilder.append(";备注:").append(note);
|
}
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(add.get("CONTENT"));
|
|
add.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, add);
|
}
|
|
//queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_ADD, cacheMap);
|
}
|
|
|
//List<Map> resultList = getDataSource(adds,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_ADD);
|
|
//return resultList;
|
return null;
|
}
|
|
|
@Override
|
public List<Map> getRemind(String beginTime,String endTime) {
|
/*long today = DateUtil.getCurrentDate8();
|
long day = DateUtil.getDateAdd(today, -1, 8);
|
String beginTime = day + "000000";
|
String endTime = day + "240000";*/
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,B.WFNAME AS TITLE,A.ORDER_CODE,B.WFNOTE AS CONTENT,A.CUSTOMER_ID,A.SUB_CUSTOMER_ID,A.CREATE_TIME AS UPDATE_DATE,'' AS TAG,A.CUSTOMER_NAME,A.SERVICE_CONTENT,A.ORDER_NOTE,A.CLOSE_NOTE,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_CI_REMIND A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
|
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
List<Map> reminds = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=reminds && reminds.size()>0) {
|
for(Map remind : reminds) {
|
String flowId = ConvertUtil.obj2StrBlank(remind.get("FLOW_ID"));
|
|
String customerName = ConvertUtil.obj2StrBlank(remind.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(remind.get("SUB_CUSTOMER_NAME"));
|
String serviceContent = ConvertUtil.obj2StrBlank(remind.get("SERVICE_CONTENT"));
|
String orderNote = ConvertUtil.obj2StrBlank(remind.get("ORDER_NOTE"));
|
String closeNote = ConvertUtil.obj2StrBlank(remind.get("CLOSE_NOTE"));
|
|
String orderCode = ConvertUtil.obj2StrBlank(remind.get("ORDER_CODE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
|
if(StringUtil.notEmpty(orderCode)) {
|
contentBuilder.append(";工单编号:").append(orderCode);
|
}
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(serviceContent)) {
|
contentBuilder.append(";服务内容说明:").append(serviceContent);
|
}
|
|
if(StringUtil.notEmpty(orderNote)) {
|
contentBuilder.append(";实施过程总结:").append(orderNote);
|
}
|
if(StringUtil.notEmpty(closeNote)) {
|
contentBuilder.append(";关闭原因:").append(closeNote);
|
}
|
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(remind.get("CONTENT"));
|
|
remind.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, remind);
|
}
|
|
queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND, cacheMap);
|
}
|
|
|
List<Map> resultList = getDataSource(reminds,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_REMIND);
|
|
return resultList;
|
}
|
|
|
/**
|
* 查询月度巡检工单信息
|
*/
|
@Override
|
public List<Map> getMonthCheck(String beginTime,String endTime) {
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
paramMap.put("wfstate", Constants.WORKFLOW_BASE_WFSTATE_DELETE);
|
String builder = new String("SELECT A.FLOW_ID, A.ID,B.WFNAME AS TITLE,A.ORDER_CODE,B.WFNOTE AS CONTENT,A.CUSTOMER_ID,A.SUB_CUSTOMER_ID,B.CREATETIME AS UPDATE_DATE,'' AS TAG,A.CUSTOMER_NAME,A.CI_ERROR_NOTE,A.CI_RUN_NOTE,A.CLOSE_NOTE,A.SUB_CUSTOMER_NAME FROM SC_WORKFLOW_CI_HEALTH A,WORKFLOW_BASE B WHERE A.ID = B.BUSINESS_ID AND B.WFSTATE != :wfstate ");
|
builder += " AND EXISTS (SELECT C.ID FROM WORKFLOW_NODE C WHERE B.ID = C.FLOWID AND C.CREATETIME >= :beginTime AND C.CREATETIME <= :endTime )" ;
|
|
|
List<Map> checks = baseDao.queryForList(builder.toString(),paramMap);
|
Map cacheMap = new HashMap();
|
if(null!=checks && checks.size()>0) {
|
for(Map check : checks) {
|
String flowId = ConvertUtil.obj2StrBlank(check.get("FLOW_ID"));
|
|
String customerName = ConvertUtil.obj2StrBlank(check.get("CUSTOMER_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(check.get("SUB_CUSTOMER_NAME"));
|
String ciErrorNote = ConvertUtil.obj2StrBlank(check.get("CI_ERROR_NOTE"));
|
String ciRunNote = ConvertUtil.obj2StrBlank(check.get("CI_RUN_NOTE"));
|
String closeNote = ConvertUtil.obj2StrBlank(check.get("CLOSE_NOTE"));
|
|
String orderCode = ConvertUtil.obj2StrBlank(check.get("ORDER_CODE"));
|
|
StringBuilder contentBuilder = new StringBuilder();
|
|
if(StringUtil.notEmpty(orderCode)) {
|
contentBuilder.append(";工单编号:").append(orderCode);
|
}
|
|
if(StringUtil.notEmpty(customerName)) {
|
contentBuilder.append(";客户名称:").append(customerName);
|
}
|
|
if(StringUtil.notEmpty(subCustomerName)) {
|
contentBuilder.append("-").append(subCustomerName);
|
}
|
|
if(StringUtil.notEmpty(ciErrorNote)) {
|
contentBuilder.append(";设备异常故障情况说明及优化建议:").append(ciErrorNote);
|
}
|
|
if(StringUtil.notEmpty(ciRunNote)) {
|
contentBuilder.append(";设备运行情况说明:").append(ciRunNote);
|
}
|
if(StringUtil.notEmpty(closeNote)) {
|
contentBuilder.append(";关闭原因:").append(closeNote);
|
}
|
|
contentBuilder.append(";");
|
|
String content = ConvertUtil.obj2StrBlank(check.get("CONTENT"));
|
|
check.put("CONTENT", content+contentBuilder.toString());
|
|
cacheMap.put(flowId, check);
|
}
|
|
queryRecord(Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH, cacheMap);
|
}
|
|
|
List<Map> resultList = getDataSource(checks,FullTextConstants.order,Constants.WORKFLOW_BASE_BUSINESS_TYPE_CI_HEALTH);
|
|
return resultList;
|
}
|
|
|
@Override
|
public List<Map> getCmdbList(String beginTime, String endTime) {
|
long today = DateUtil.getCurrentDate8();
|
long day = DateUtil.getDateAdd(today, -1, 8);
|
|
if(!StringUtil.notEmptyNum(beginTime)) {
|
beginTime = ConvertUtil.obj2StrBlank(day);
|
}
|
|
beginTime = beginTime + "000000";
|
|
if(!StringUtil.notEmptyNum(endTime)) {
|
endTime = ConvertUtil.obj2StrBlank(day);
|
}
|
endTime = endTime + "240000";
|
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
String sql = "SELECT * FROM CMDB_CI_BASE WHERE STATE = 1 AND LAST_UP_TIME >= :beginTime AND LAST_UP_TIME <= :endTime";
|
List<Map> cmdbs = baseDao.queryForList(sql,paramMap);
|
if(null!=cmdbs && cmdbs.size()>0) {
|
for(Map cmdb : cmdbs) {
|
cmdb.put("TITLE", cmdb.get("CINAME"));
|
String customerName = ConvertUtil.obj2StrBlank(cmdb.get("CUS_NAME"));
|
String subCustomerName = ConvertUtil.obj2StrBlank(cmdb.get("SUB_CUS_NAME"));
|
String searchCode = ConvertUtil.obj2StrBlank(cmdb.get("SEARCHCODE"));
|
String snNo = ConvertUtil.obj2StrBlank(cmdb.get("SN_NO"));
|
StringBuilder builder = new StringBuilder();
|
if(StringUtil.notEmpty(customerName)) {
|
builder.append("客户名称:").append(customerName).append(";");
|
}
|
if(StringUtil.notEmpty(subCustomerName)) {
|
builder.append("所属客户名称:").append(subCustomerName).append(";");
|
}
|
|
if(StringUtil.notEmpty(searchCode)) {
|
builder.append("搜索码:").append(searchCode).append(";");
|
}
|
|
if(StringUtil.notEmpty(snNo)) {
|
builder.append("SN序列号:").append(snNo).append(";");
|
}
|
|
cmdb.put("CONTENT", builder.toString());
|
|
|
cmdb.put("CUSTOMER_ID", cmdb.get("CUS_ID"));
|
cmdb.put("SUB_CUSTOMER_ID", cmdb.get("SUB_CUS_ID"));
|
cmdb.put("UPDATE_DATE", cmdb.get("LAST_UP_TIME"));
|
}
|
}
|
|
|
List<Map> resultList = getDataSource(cmdbs,FullTextConstants.cmdb,null);
|
|
|
return resultList;
|
}
|
|
|
@Override
|
public List<Map> getDocumentList(String beginTime, String endTime) {
|
long today = DateUtil.getCurrentDate8();
|
long day = DateUtil.getDateAdd(today, -1, 8);
|
|
if(!StringUtil.notEmptyNum(beginTime)) {
|
beginTime = ConvertUtil.obj2StrBlank(day);
|
}
|
|
beginTime = beginTime + "000000";
|
|
if(!StringUtil.notEmptyNum(endTime)) {
|
endTime = ConvertUtil.obj2StrBlank(day);
|
}
|
endTime = endTime + "240000";
|
|
Map paramMap = new HashMap();
|
paramMap.put("beginTime", beginTime);
|
paramMap.put("endTime", endTime);
|
String sql = "SELECT * FROM GG_FILES WHERE DEL_FLAG = 1 AND AUDIT_STATE = 3 AND CREATE_TIME >= :beginTime AND CREATE_TIME <= :endTime";
|
List<Map> files = baseDao.queryForList(sql,paramMap);
|
if(null!=files && files.size()>0) {
|
for(Map file : files) {
|
file.put("TITLE", file.get("FILE_NAME"));
|
file.put("UPDATE_DATE", file.get("CREATE_TIME"));
|
}
|
}
|
|
|
List<Map> resultList = getDataSource(files,FullTextConstants.document,null);
|
|
|
return resultList;
|
}
|
|
|
|
}
|