|
|
@@ -44,7 +44,7 @@ public class ShowHistogramService {
|
|
|
*/
|
|
|
@Cacheable(value = "Histogram", key = "#histogramConfigInfo.toString()+#dashId")
|
|
|
public RepEntity<ChartsDataInfo> showHistogram(HistogramConfigInfo histogramConfigInfo, String token, int dashId){
|
|
|
- Assert.notNull(histogramConfigInfo, "参数不能为空");
|
|
|
+ Assert.notNull(histogramConfigInfo, "请求参数不能为空");
|
|
|
/* 变量定义 */
|
|
|
ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
|
|
|
String xColumn = histogramConfigInfo.getxAxis().getColumnRename(),
|
|
|
@@ -61,8 +61,8 @@ public class ShowHistogramService {
|
|
|
List<Series> serieses = new ArrayList<Series>(); //生成柱状图的系列
|
|
|
int id = histogramConfigInfo.getId();
|
|
|
int baseId = getChartsDataUtilService.getBaseId(id);
|
|
|
- List<Screen> screens = histogramConfigInfo.getFilters();
|
|
|
- ScreenStr scr = new ScreenStr();
|
|
|
+ List<Screen> filters = histogramConfigInfo.getFilters();
|
|
|
+ ScreenStr screenStr = new ScreenStr();
|
|
|
String screen = "", //正常筛选条件
|
|
|
screenToColumn = "", //跟目标列相同的筛选条件
|
|
|
screenToColumnS = ""; //跟目标列相同的筛选条件
|
|
|
@@ -86,14 +86,22 @@ public class ShowHistogramService {
|
|
|
DynamicDataSourceContextHolder.setDataSourceType(baseId);
|
|
|
}
|
|
|
//条件语句处理
|
|
|
- if (!CollectionUtils.isEmpty(screens)){
|
|
|
- scr = screenUtil.screensUtil(screens, xColumn, xColumnType);
|
|
|
- screen = scr.getRet();
|
|
|
- screenToColumn = scr.getWithColumnRet();
|
|
|
+ if (!CollectionUtils.isEmpty(filters)){
|
|
|
+ screenStr = screenUtil.screensUtil(filters, xColumn, xColumnType);
|
|
|
+ screen = screenStr.getRet();
|
|
|
+ screenToColumn = screenStr.getWithColumnRet();
|
|
|
if (StringUtils.isEmpty(screenToColumn)){
|
|
|
- screenToColumnS = screen; //and
|
|
|
+ if (screen.startsWith(" and ")) {
|
|
|
+ screenToColumnS = screen.substring(5);
|
|
|
+ }else {
|
|
|
+ screenToColumnS = screen;
|
|
|
+ }
|
|
|
} else {
|
|
|
- screenToColumnS = screenToColumn.substring(5) + screen;
|
|
|
+ if (screenToColumn.startsWith(" and ")) {
|
|
|
+ screenToColumnS = screenToColumn.substring(5) + screen;
|
|
|
+ }else {
|
|
|
+ screenToColumnS = screenToColumn + screen;
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
screenToColumnS = " 1 = 1 ";
|
|
|
@@ -142,7 +150,7 @@ public class ShowHistogramService {
|
|
|
groupList.forEach(groupName -> {
|
|
|
boolean matched = histogramGroupDataList.stream().noneMatch(histogramGroupData -> groupName.equals(histogramGroupData.getGroupName()));
|
|
|
if (matched) {
|
|
|
- histogramGroupDataList.add(new HistogramGroupData(key, 0d, groupName));
|
|
|
+ histogramGroupDataList.add(new HistogramGroupData(key, null, groupName));
|
|
|
}
|
|
|
});
|
|
|
histogramGroupListAfterHandle.addAll(histogramGroupDataList);
|