Merge pull request #1205 from dataease/pr@dev@refactor_panel

refactor:仪表板视图联动,使用相同数据集的视图,自动补充联动字段
This commit is contained in:
王嘉豪
2021-11-15 16:24:55 +08:00
committed by GitHub
6 changed files with 46 additions and 22 deletions

View File

@@ -20,4 +20,6 @@ public interface ExtChartViewMapper {
List<String> allViewIds(@Param("tableId") String tableId);
String searchAdviceSceneId(@Param("userId") String userId,@Param("panelId") String panelId);
int checkSameDataSet(@Param("viewIdSource") String viewIdSource,@Param("viewIdTarget") String viewIdTarget);
}

View File

@@ -136,18 +136,7 @@
id = #{oldChartId}
</insert>
<select id="searchAdviceSceneId" resultType="String">
SELECT DISTINCT
( scene_id )
FROM
( SELECT GET_V_AUTH_MODEL_ID_P_USE ( #{userId}, 'chart' ) cids ) t,
panel_view
LEFT JOIN chart_view ON panel_view.chart_view_id = chart_view.id
LEFT JOIN chart_group ON chart_view.scene_id = chart_group.id
WHERE
FIND_IN_SET( chart_view.scene_id, cids ) and panel_view.panel_id =#{panelId}
ORDER BY
chart_group.create_time DESC
LIMIT 1
<select id="checkSameDataSet" resultType="int">
select count(DISTINCT table_id) from chart_view where id = #{viewIdSource} or id = #{viewIdTarget}
</select>
</mapper>

View File

@@ -107,4 +107,10 @@ public class ChartViewController {
public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception {
return chartViewService.calcData(request.getView(), request.getRequestList(), false);
}
@ApiOperation("验证视图是否使用相同数据集")
@GetMapping("/checkSameDataSet/{viewIdSource}/{viewIdTarget}")
public String checkSameDataSet(@PathVariable String viewIdSource,@PathVariable String viewIdTarget) throws Exception {
return chartViewService.checkSameDataSet(viewIdSource,viewIdTarget);
}
}

View File

@@ -1455,4 +1455,12 @@ public class ChartViewService {
public String searchAdviceSceneId(String panelId) {
return extChartViewMapper.searchAdviceSceneId(AuthUtils.getUser().getUserId().toString(), panelId);
}
public String checkSameDataSet(String viewIdSource,String viewIdTarget) {
if(extChartViewMapper.checkSameDataSet(viewIdSource,viewIdTarget)==1){
return "YES";
}else{
return "NO";
}
}
}