f.append(y.getSummary()).append("(").append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append("))");
f.append("CAST(")
.append(y.getSummary()).append("(")
.append("CAST(").append(y.getDataeaseName()).append(" AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").append(")")
.append(") AS ").append(y.getDeType()==2?"DECIMAL(20,0)":"DECIMAL(20,2)").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());
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());