diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java
index a1fdf5af1a..8e62c241e3 100644
--- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java
+++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java
@@ -17,6 +17,8 @@ public interface ExtPanelGroupMapper {
//会级联删除pid 下的所有数据
int deleteCircle(@Param("pid") String pid, @Param("nodeType") String nodeType);
+ int deleteLinkDefaultCircle(@Param("pid") String pid);
+
int deleteCircleView(@Param("pid") String pid, @Param("nodeType") String nodeType);
int deleteCircleViewCache(@Param("pid") String pid, @Param("nodeType") String nodeType);
diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml
index 6b3d058df8..6e54ab20fb 100644
--- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml
+++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml
@@ -202,6 +202,10 @@
ORDER BY panel_group.node_type desc, CONVERT(panel_group.name using gbk)
+
+ delete from panel_group where FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
+
+
delete
from panel_group
@@ -211,7 +215,6 @@
panel_group.source = #{pid}
or FIND_IN_SET(panel_group.id, GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
- or FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index bc5239baa8..6077bbe9eb 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -725,7 +725,9 @@ public class ChartViewService {
xAxis = xAxis.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
yAxis = yAxis.stream().filter(item -> chartViewFieldNameList.contains(item.getDataeaseName()) || (!desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName()))).collect(Collectors.toList());
}
-
+ Map chartFieldMap = Stream.of(xAxisBase, xAxisExt, extStack)
+ .flatMap(Collection::stream)
+ .collect(Collectors.toMap(ChartViewFieldDTO::getId, o -> o, ((p, n) -> p)));
// 过滤来自仪表板的条件
List extFilterList = new ArrayList<>();
//组件过滤条件
@@ -834,6 +836,14 @@ public class ChartViewService {
if (!desensitizationList.keySet().contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())) {
request.setDatasetTableField(datasetTableField);
if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) {
+// 设置日期格式,以视图字段设置的格式为准,先不处理组件的条件,因为格式无法统一。
+ if (request.getDatasetTableField() != null) {
+ ChartViewFieldDTO chartViewFieldDTO = chartFieldMap.get(request.getDatasetTableField().getId());
+ if (chartViewFieldDTO != null) {
+ request.setDatePattern(chartViewFieldDTO.getDatePattern());
+ request.setDateStyle(chartViewFieldDTO.getDateStyle());
+ }
+ }
if (CollectionUtils.isNotEmpty(request.getViewIds())) {
if (request.getViewIds().contains(view.getId())) {
extFilterList.add(request);
@@ -883,9 +893,6 @@ public class ChartViewService {
ChartDrillRequest head = drillRequestList.get(0);
Map dimValMap = new HashMap<>();
head.getDimensionList().forEach(item -> dimValMap.put(item.getId(), item.getValue()));
- Map fieldMap = Stream.of(xAxisBase, xAxisExt, extStack)
- .flatMap(Collection::stream)
- .collect(Collectors.toMap(ChartViewFieldDTO::getId, o -> o, ((p, n) -> p)));
for (int i = 0; i < drillRequestList.size(); i++) {
ChartDrillRequest request = drillRequestList.get(i);
ChartViewFieldDTO chartViewFieldDTO = drill.get(i);
@@ -896,7 +903,7 @@ public class ChartViewService {
fieldsToFilter.add(chartViewFieldDTO);
dimValMap.put(requestDimension.getId(), requestDimension.getValue());
if (!checkDrillExist(xAxis, extStack, requestDimension.getId(), view)) {
- fieldMap.put(chartViewFieldDTO.getId(), chartViewFieldDTO);
+ chartFieldMap.put(chartViewFieldDTO.getId(), chartViewFieldDTO);
xAxis.add(chartViewFieldDTO);
}
if (i == drillRequestList.size() - 1) {
@@ -916,8 +923,8 @@ public class ChartViewService {
DatasetTableField datasetTableField = dataSetTableFieldsService.get(tmpField.getId());
tmpFilter.setDatasetTableField(datasetTableField);
tmpFilter.setOperator("in");
- tmpFilter.setDateStyle(fieldMap.get(tmpField.getId()).getDateStyle());
- tmpFilter.setDatePattern(fieldMap.get(tmpField.getId()).getDatePattern());
+ tmpFilter.setDateStyle(chartFieldMap.get(tmpField.getId()).getDateStyle());
+ tmpFilter.setDatePattern(chartFieldMap.get(tmpField.getId()).getDatePattern());
tmpFilter.setFieldId(tmpField.getId());
tmpFilter.setValue(Collections.singletonList(dimValMap.get(tmpField.getId())));
extFilterList.add(tmpFilter);
diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
index 7f22ac1a7a..964155492b 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
@@ -305,6 +305,7 @@ public class PanelGroupService {
extPanelGroupMapper.deleteCircleView(id, nodeType);
extPanelGroupMapper.deleteCircleViewCache(id, nodeType);
// 同时会删除对应默认仪表盘
+ extPanelGroupMapper.deleteLinkDefaultCircle(id);
extPanelGroupMapper.deleteCircle(id, nodeType);
storeService.removeByPanelId(id);
shareService.delete(id, null);