Merge pull request #10466 from dataease/pr@dev-v2@refactor_yoy

refactor(图表): 优化同环比日期字段过滤逻辑
This commit is contained in:
Junjun 2024-06-24 15:14:37 +08:00 committed by GitHub
commit 680a5ef321
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 1 deletions

View File

@ -407,6 +407,7 @@ public class ChartDataManage {
ChartExtFilterDTO filterRequest = new ChartExtFilterDTO();
BeanUtils.copyBean(filterRequest, request);
filterRequest.setDatasetTableFieldList(new ArrayList<>());
filterRequest.setFilterType(0);
for (Long fId : fieldIds) {
DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(fId);
if (datasetTableField == null) {
@ -430,6 +431,7 @@ public class ChartDataManage {
ChartExtFilterDTO filterRequest = new ChartExtFilterDTO();
BeanUtils.copyBean(filterRequest, request);
filterRequest.setFieldId(fId + "");
filterRequest.setFilterType(0);
DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(fId);
if (datasetTableField == null) {
@ -467,6 +469,7 @@ public class ChartDataManage {
for (ChartExtFilterDTO request : filters) {
DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(Long.valueOf(request.getFieldId()));
request.setDatasetTableField(datasetTableField);
request.setFilterType(2);
// 相同数据集
if (Objects.equals(datasetTableField.getDatasetGroupId(), view.getTableId())) {
if (ObjectUtils.isNotEmpty(request.getViewIds())) {
@ -554,6 +557,7 @@ public class ChartDataManage {
tmpFilter.setOperator("in");
tmpFilter.setValue(Collections.singletonList(dimValMap.get(tmpField.getId())));
}
tmpFilter.setFilterType(1);
extFilterList.add(tmpFilter);
drillFilters.add(tmpFilter);
}
@ -620,7 +624,7 @@ public class ChartDataManage {
if (StringUtils.isNotEmpty(compareCalc.getType())
&& !StringUtils.equalsIgnoreCase(compareCalc.getType(), "none")) {
if (Arrays.asList(ChartConstants.M_Y).contains(compareCalc.getType())) {
if (StringUtils.equalsIgnoreCase(compareCalc.getField() + "", filterDTO.getFieldId())) {
if (StringUtils.equalsIgnoreCase(compareCalc.getField() + "", filterDTO.getFieldId()) && filterDTO.getFilterType() == 0) {
// -1 year
try {
Calendar calendar = Calendar.getInstance();

View File

@ -18,4 +18,5 @@ public class ChartExtFilterDTO {
private List<DatasetTableFieldDTO> datasetTableFieldList;
private String dateStyle;
private String datePattern;
private int filterType;// 0-过滤组件1-下钻2-联动外部参数
}