// public String createQuerySQL(String table, List<DatasetTableField> fields) {
String[]array=fields.stream().map(f->{
// String[] array = fields.stream().map(f -> {
StringBuilderstringBuilder=newStringBuilder();
// StringBuilder stringBuilder = new StringBuilder();
// 如果原始类型为时间
// // 如果原始类型为时间
if(f.getDeExtractType()==1){
// if (f.getDeExtractType() == 1) {
if(f.getDeType()==2||f.getDeType()==3){
// if (f.getDeType() == 2 || f.getDeType() == 3) {
stringBuilder.append("UNIX_TIMESTAMP(`").append(f.getOriginName()).append("`)*1000 AS ").append(f.getDataeaseName());
// stringBuilder.append("UNIX_TIMESTAMP(`").append(f.getOriginName()).append("`)*1000 AS ").append(f.getDataeaseName());
}else{
// } else {
stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
// stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
}
// }
}elseif(f.getDeExtractType()==0){
// } else if (f.getDeExtractType() == 0) {
if(f.getDeType()==2){
// if (f.getDeType() == 2) {
stringBuilder.append("CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,0)) AS ").append(f.getDataeaseName());
// stringBuilder.append("CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,0)) AS ").append(f.getDataeaseName());
}elseif(f.getDeType()==3){
// } else if (f.getDeType() == 3) {
stringBuilder.append("CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,2)) AS ").append(f.getDataeaseName());
// stringBuilder.append("CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,2)) AS ").append(f.getDataeaseName());
}elseif(f.getDeType()==1){
// } else if (f.getDeType() == 1) {
stringBuilder.append("DATE_FORMAT(`").append(f.getOriginName()).append("`,'%Y-%m-%d %H:%i:%S') AS _").append(f.getDataeaseName());
// stringBuilder.append("DATE_FORMAT(`").append(f.getOriginName()).append("`,'%Y-%m-%d %H:%i:%S') AS _").append(f.getDataeaseName());
}else{
// } else {
stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
// stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
}
// }
}else{
// } else {
if(f.getDeType()==1){
// if (f.getDeType() == 1) {
stringBuilder.append("FROM_UNIXTIME(CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') AS ").append(f.getDataeaseName());
// stringBuilder.append("FROM_UNIXTIME(CAST(`").append(f.getOriginName()).append("` AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') AS ").append(f.getDataeaseName());
}else{
// } else {
stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
// stringBuilder.append("`").append(f.getOriginName()).append("` AS ").append(f.getDataeaseName());
}
// }
}
// }
returnstringBuilder.toString();
// return stringBuilder.toString();
}).toArray(String[]::new);
// }).toArray(String[]::new);
returnMessageFormat.format("SELECT {0} FROM {1} ORDER BY null",StringUtils.join(array,","),table);
// return MessageFormat.format("SELECT {0} FROM {1} ORDER BY null", StringUtils.join(array, ","), table);
// String format = transDateFormat(x.getDateStyle(), x.getDatePattern());
stringBuilder.append("DATE_FORMAT(`").append(x.getOriginName()).append("`,'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
// stringBuilder.append("DATE_FORMAT(`").append(x.getOriginName()).append("`,'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
}else{
// } else {
stringBuilder.append("`").append(x.getOriginName()).append("` AS `_").append(x.getOriginName()).append("`");
// stringBuilder.append("`").append(x.getOriginName()).append("` AS `_").append(x.getOriginName()).append("`");
// String format = transDateFormat(x.getDateStyle(), x.getDatePattern());
if(x.getDeExtractType()==0){
// if (x.getDeExtractType() == 0) {
stringBuilder.append("DATE_FORMAT(`").append(x.getOriginName()).append("`,'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
// stringBuilder.append("DATE_FORMAT(`").append(x.getOriginName()).append("`,'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
}else{
// } else {
stringBuilder.append("DATE_FORMAT(").append("FROM_UNIXTIME(CAST(`").append(x.getOriginName()).append("` AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S')").append(",'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
// stringBuilder.append("DATE_FORMAT(").append("FROM_UNIXTIME(CAST(`").append(x.getOriginName()).append("` AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S')").append(",'").append(format).append("') AS `_").append(x.getOriginName()).append("`");
}
// }
}else{
// } else {
stringBuilder.append("`").append(x.getOriginName()).append("` AS `_").append(x.getOriginName()).append("`");
// stringBuilder.append("`").append(x.getOriginName()).append("` AS `_").append(x.getOriginName()).append("`");
Stringsql=MessageFormat.format("SELECT {0},{1} FROM {2} WHERE 1=1 {3} GROUP BY {4} ORDER BY null,{5}",
// String sql = MessageFormat.format("SELECT {0},{1} FROM {2} WHERE 1=1 {3} GROUP BY {4} ORDER BY null,{5}",
StringUtils.join(groupField,","),
// StringUtils.join(groupField, ","),
StringUtils.join(field,","),
// StringUtils.join(field, ","),
table,
// table,
(xFilter.length>0?StringUtils.join(xFilter," "):"")+transCustomFilter(customFilter)+transExtFilter(extFilterRequestList),// origin field filter and panel field filter
// (xFilter.length > 0 ? StringUtils.join(xFilter, " ") : "") + transCustomFilter(customFilter) + transExtFilter(extFilterRequestList),// origin field filter and panel field filter
.append(" AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') ");
// .append(" AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') ");
}else{
// } else {
filter.append(" AND `_").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getOriginName(),"*")?"":y.getOriginName()).append("`");
// filter.append(" AND `_").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getOriginName(), "*") ? "" : y.getOriginName()).append("`");
.append(" AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') ");
// .append(" AS DECIMAL(20,0))/1000,'%Y-%m-%d %H:%i:%S') ");
}else{
// } else {
filter.append(" AND `_").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getOriginName(),"*")?"":y.getOriginName()).append("`");
// filter.append(" AND `_").append(y.getSummary()).append("_").append(StringUtils.equalsIgnoreCase(y.getOriginName(), "*") ? "" : y.getOriginName()).append("`");