diff options
| author | gaohao <[email protected]> | 2022-05-30 14:32:34 +0800 |
|---|---|---|
| committer | gaohao <[email protected]> | 2022-05-30 14:32:34 +0800 |
| commit | 6b954c3577867c0865862f74ee1aad6cfe8a67cc (patch) | |
| tree | c60a78cd83146d16e3a56caf67a10798b4c449e1 | |
| parent | 6f3cfd3551cab685bc1d587d8d5a665c45b59fca (diff) | |
fix: NEZ-1811 panel 复制接口 分组下chart丢失问题
| -rw-r--r-- | nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java index bab9cddd..06e32345 100644 --- a/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java +++ b/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java @@ -498,19 +498,14 @@ public class VisualPanelServiceImpl extends ServiceImpl<VisualPanelDao, VisualPa Integer pid = panel.getPid(); // 查询该父级节点下是否存在 Panel 节点 List<VisualPanel> list = this.list(new QueryWrapper<VisualPanel>().lambda().eq(VisualPanel::getType, panel.getType()).eq(VisualPanel::getPid, pid == null ? 0 : pid)); - if (CollectionUtils.isEmpty(list)) { - // 父级节点下暂无其他节点,直接保存 - this.save(panel); - } else { - // 找到当前末尾的 panel , 加到其后 - VisualPanel endPanel = list.stream().max(Comparator.comparingInt(VisualPanel::getWeight)).get(); - Integer weight = endPanel.getWeight(); - panel.setWeight(++weight); - this.save(panel); - } + // 找到当前末尾的 panel , 加到其后 + VisualPanel endPanel = list.stream().max(Comparator.comparingInt(VisualPanel::getWeight)).get(); + Integer weight = endPanel.getWeight(); + panel.setWeight(++weight); + this.save(panel); // 复制panel 下的 charts - List<VisualChart> chartsGroupList = visualChartService.list(new QueryWrapper<VisualChart>().eq("panel_id", id).orderByDesc("FIELD(type,\"group\")")); + List<VisualChart> chartsGroupList = visualChartService.list(new QueryWrapper<VisualChart>().lambda().eq(VisualChart::getPanelId, id).orderByAsc(VisualChart::getGroupId)); Map<Integer,Integer> chartsGroupMap = new HashMap<>(); Integer chartId; if (!CollectionUtils.isEmpty(chartsGroupList)) { @@ -520,11 +515,13 @@ public class VisualPanelServiceImpl extends ServiceImpl<VisualPanelDao, VisualPa chart.setUpdateAt(new Date()); chart.setUpdateBy(userId.intValue()); chart.setPanelId(panel.getId()); - visualChartService.save(chart); if(ToolUtil.equals(chart.getType(),"group")){ + visualChartService.save(chart); chartsGroupMap.put(chartId,chart.getId()); }else{ - chart.setGroupId(chartsGroupMap.get(chart.getGroupId())); + if(!ToolUtil.equals(chart.getGroupId(),0)) + chart.setGroupId(chartsGroupMap.get(chart.getGroupId())); + visualChartService.save(chart); } // 查询当前chart下的chartElement List<VisualChartElement> elementList = chartElementService.list(new QueryWrapper<VisualChartElement>().lambda().eq(VisualChartElement::getChartId, chartId)); |
