提交 3c56a765 编写于 作者: sq3536's avatar sq3536

提交

上级 1e43c56f
......@@ -12,10 +12,12 @@ import cn.ibizlab.core.lite.extensions.domain.ModelObj;
import cn.ibizlab.core.rule.domain.ExecLog;
import cn.ibizlab.core.rule.service.IExecLogService;
import cn.ibizlab.util.dict.CodeItem;
import cn.ibizlab.util.dict.CodeList;
import cn.ibizlab.util.helper.CachedBeanCopier;
import lombok.extern.slf4j.Slf4j;
import org.kie.api.runtime.KieSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -27,6 +29,7 @@ import java.util.List;
@Slf4j
@Service("AnalyseEntityServiceImpl")
@ConditionalOnExpression("!''.equals('${cassandra.host:}')")
public class AnalyseEntityServiceImpl extends BaseEntityServiceImpl {
public static final String Tag_SaveResults = "SaveResults";
......@@ -118,10 +121,11 @@ public class AnalyseEntityServiceImpl extends BaseEntityServiceImpl {
if(!StringUtils.isEmpty(dictname))
{
CodeList codeList = dictDstService.getCodeListCatalog(dictname);
//维度指定代码表时,向上同时为每一个父节点添加一条数据
while(true)
{
CodeItem code= dictDstService.getCodeListCatalog(dictname).findCodeItem(val);
CodeItem code= codeList.findCodeItem(val);
if(code!=null)
{
ExecResult result2 = new ExecResult();
......
package cn.ibizlab.core.extensions.service;
import cn.ibizlab.core.extensions.cql.ExecResult;
import cn.ibizlab.core.extensions.cql.ExecResultRepository;
import cn.ibizlab.core.extensions.domain.BuildResult;
import com.datastax.driver.core.LocalDate;
import com.datastax.driver.core.PagingState;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Statement;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import static com.datastax.driver.core.querybuilder.QueryBuilder.*;
import static com.datastax.driver.core.querybuilder.QueryBuilder.lte;
@Service
@Primary
@Slf4j
public class BuildResultService {
@Value("${cassandra.host:}")
private String cassandraHost;
@Autowired(required = false)
@Lazy
private ExecResultRepository execResultRepository;
public List<BuildResult> sum(List<String> ruleids, Integer retValue, List<String> dims, Timestamp start, Timestamp end) {
List<BuildResult> ret = new ArrayList<>();
if(!StringUtils.isEmpty(cassandraHost))
{
List<ExecResult> list=execResultRepository.sum(ruleids,retValue,dims,start,end);
list.forEach(item->{
ret.add(new BuildResult().setCqlResult(item));
});
}
else
{
}
return ret;
// LocalDate st = ExecResult.time2LocalDate(start);
// LocalDate ed = ExecResult.time2LocalDate(end);
// final ResultSet result = session.execute(select().column("ruleid").column("retvalue").column("dimfield").sum("metricfield").as("metricfield").
// from(TABLE).
// where(in("ruleid", ruleids)).
// and(eq("retvalue", retValue)).
// and(in("dimfield", dims)).
// and(gte("timefield", st)).and(lte("timefield", ed)).groupBy("ruleid", "retvalue", "dimfield").limit(5000).setReadTimeoutMillis(200000));
// return mapper.map(result).all();
// }
//
// public List<ExecResult> avg(List<String> ruleids, Integer retValue, List<String> dims, Timestamp start, Timestamp end) {
// LocalDate st = ExecResult.time2LocalDate(start);
// LocalDate ed = ExecResult.time2LocalDate(end);
// final ResultSet result = session.execute(select().column("ruleid").column("retvalue").column("dimfield").avg("metricfield").as("metricfield").
// from(TABLE).
// where(in("ruleid", ruleids)).
// and(eq("retvalue", retValue)).
// and(in("dimfield", dims)).
// and(gte("timefield", st)).and(lte("timefield", ed)).groupBy("ruleid", "retvalue", "dimfield").limit(5000).setReadTimeoutMillis(200000));
// return mapper.map(result).all();
// }
//
// public List<ExecResult> group(List<String> ruleids, Integer retValue, List<String> dims, String type, Timestamp start, Timestamp end) {
// if (type.equalsIgnoreCase("avg"))
// return avg(ruleids, retValue, dims, start, end);
// else
// return sum(ruleids, retValue, dims, start, end);
// }
//
// public List<ExecResult> group(List<String> ruleids, Integer retValue, List<String> dims, Timestamp start, Timestamp end) {
//
// return group(ruleids, retValue, dims, "sum", start, end);
// }
//
// /**
// * 根据规则ID、单位和时间查询相应的规则结果数据
// *
// * @param ruleid
// * @param retValue
// * @param dims
// * @param start
// * @param end
// * @return
// */
// public ResultSet getPageData(String ruleid, PagingState pagingState, Integer retValue, String dims, Timestamp start, Timestamp end) {
// final int RESULTS_PER_PAGE = 1000;
// LocalDate st = ExecResult.time2LocalDate(start);
// LocalDate ed = ExecResult.time2LocalDate(end);
// Statement statement = select().column("keyvaluefield").
// from(TABLE).
// where(eq("ruleid", ruleid)).
// and(eq("retvalue", retValue)).
// and(eq("dimfield", dims)).
// and(gte("timefield", st)).and(lte("timefield", ed)).setReadTimeoutMillis(200000);
// statement.setFetchSize(RESULTS_PER_PAGE);
// if (pagingState != null) {
// statement.setPagingState(pagingState);
// }
// final ResultSet result = session.execute(statement);
// return result;
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册