.append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append(")")
.append("),2").append(")");
}
f.append(" AS _").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getDataeaseName(),"*")?"":y.getDataeaseName());
returnf.toString();
}).toArray(String[]::new);
String[]groupField=xAxis.stream().map(x->{
StringBuilderstringBuilder=newStringBuilder();
// 如果原始类型为时间
if(x.getDeExtractType()==1){
if(x.getDeType()==2||x.getDeType()==3){
stringBuilder.append("unix_timestamp(").append(x.getDataeaseName()).append(")*1000 as ").append(x.getDataeaseName());
}else{
stringBuilder.append(x.getDataeaseName());
}
}else{
if(x.getDeType()==1){
stringBuilder.append("FROM_UNIXTIME(cast(").append(x.getDataeaseName()).append(" as decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') as ").append(x.getDataeaseName());
f.append(y.getSummary()).append("(").append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append("))");
.append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append(")")
.append(") AS DECIMAL(20,2)").append(")");
}else{
f.append(y.getSummary()).append("(")
.append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append(")")
.append(")");
}
}
}
f.append(" AS _").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getDataeaseName(),"*")?"":y.getDataeaseName());
f.append(" AS _").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getDataeaseName(),"*")?"":y.getDataeaseName());
returnf.toString();
returnf.toString();
}).toArray(String[]::new);
}).toArray(String[]::new);
String[]groupField=xAxis.stream().map(x->{
String[]groupField=xAxis.stream().map(x->{
StringBuilderstringBuilder=newStringBuilder();
StringBuilderstringBuilder=newStringBuilder();
if(x.getDeType()==1){
// 如果原始类型为时间
stringBuilder.append("FROM_UNIXTIME(cast(").append(x.getDataeaseName()).append(" as decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') as ").append(x.getDataeaseName());
if(x.getDeExtractType()==1){
if(x.getDeType()==2||x.getDeType()==3){
stringBuilder.append("unix_timestamp(").append(x.getDataeaseName()).append(")*1000 as ").append(x.getDataeaseName());
}else{
stringBuilder.append(x.getDataeaseName());
}
}else{
}else{
stringBuilder.append(x.getDataeaseName());
if(x.getDeType()==1){
stringBuilder.append("FROM_UNIXTIME(cast(").append(x.getDataeaseName()).append(" as decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') as ").append(x.getDataeaseName());
}else{
stringBuilder.append(x.getDataeaseName());
}
}
}
returnstringBuilder.toString();
returnstringBuilder.toString();
}).toArray(String[]::new);
}).toArray(String[]::new);
...
@@ -291,14 +425,21 @@ public class ChartViewService {
...
@@ -291,14 +425,21 @@ public class ChartViewService {
.map(x->{
.map(x->{
String[]s=x.getFilter().stream().map(f->{
String[]s=x.getFilter().stream().map(f->{
StringBuilderfilter=newStringBuilder();
StringBuilderfilter=newStringBuilder();
filter.append(" AND ").append(x.getDataeaseName()).append(transMysqlFilterTerm(f.getTerm()));
if(x.getDeType()==1&&x.getDeExtractType()!=1){
filter.append(" AND FROM_UNIXTIME(cast(")
.append(x.getDataeaseName())
.append(" AS decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') ");
}else{
filter.append(" AND ").append(x.getDataeaseName());
@@ -320,14 +461,22 @@ public class ChartViewService {
...
@@ -320,14 +461,22 @@ public class ChartViewService {
.map(y->{
.map(y->{
String[]s=y.getFilter().stream().map(f->{
String[]s=y.getFilter().stream().map(f->{
StringBuilderfilter=newStringBuilder();
StringBuilderfilter=newStringBuilder();
filter.append(" AND _").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getDataeaseName(),"*")?"":y.getDataeaseName()).append(transMysqlFilterTerm(f.getTerm()));
stringBuilder.append("FROM_UNIXTIME(cast(").append(f.getDataeaseName()).append(" as decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') as ").append(f.getDataeaseName());
if(f.getDeExtractType()==1){
if(f.getDeType()==2||f.getDeType()==3){
stringBuilder.append("unix_timestamp(").append(f.getDataeaseName()).append(")*1000 as ").append(f.getDataeaseName());
}else{
stringBuilder.append(f.getDataeaseName());
}
}else{
}else{
stringBuilder.append(f.getDataeaseName());
if(f.getDeType()==1){
stringBuilder.append("FROM_UNIXTIME(cast(").append(f.getDataeaseName()).append(" as decimal(20,0))/1000,'%Y-%m-%d %H:%i:%S') as ").append(f.getDataeaseName());