diff --git a/backend/src/main/java/io/dataease/auth/aop/DeLogAnnotationHandler.java b/backend/src/main/java/io/dataease/auth/aop/DeLogAnnotationHandler.java index d8d613153b..9adcf3e2fc 100644 --- a/backend/src/main/java/io/dataease/auth/aop/DeLogAnnotationHandler.java +++ b/backend/src/main/java/io/dataease/auth/aop/DeLogAnnotationHandler.java @@ -37,13 +37,13 @@ public class DeLogAnnotationHandler { @Resource private LogService logService; - private static List befores = new ArrayList<>(); + private static List before = new ArrayList<>(); @PostConstruct public void init() { - befores.add(SysLogConstants.OPERATE_TYPE.DELETE.getValue()); - befores.add(SysLogConstants.OPERATE_TYPE.UNSHARE.getValue()); - befores.add(SysLogConstants.OPERATE_TYPE.UNAUTHORIZE.getValue()); + before.add(SysLogConstants.OPERATE_TYPE.DELETE.getValue()); + before.add(SysLogConstants.OPERATE_TYPE.UNSHARE.getValue()); + before.add(SysLogConstants.OPERATE_TYPE.UNAUTHORIZE.getValue()); } private SysLogDTO exec(JoinPoint point, DeLog deLog) throws Exception{ @@ -110,7 +110,7 @@ public class DeLogAnnotationHandler { SysLogDTO logDTO = null; Object result = null; DeLog log = getLog(point); - if(befores.contains(log.operatetype().getValue())) { + if(before.contains(log.operatetype().getValue())) { // 前置处理 比如删除操作 需要在数据删除之前查询 logDTO = exec(point, log); result = point.proceed(point.getArgs()); diff --git a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java index fdacc9c541..f862f84273 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java @@ -182,7 +182,7 @@ public class AuthUserServiceImpl implements AuthUserService { if (beansOfType.keySet().size() == 0) return false; OidcXpackService oidcXpackService = SpringContextUtil.getBean(OidcXpackService.class); if (ObjectUtils.isEmpty(oidcXpackService)) return false; - return oidcXpackService.isSuuportOIDC(); + return oidcXpackService.isSupportOIDC(); } @Override @@ -191,7 +191,7 @@ public class AuthUserServiceImpl implements AuthUserService { if (beansOfType.keySet().size() == 0) return false; CasXpackService casXpackService = SpringContextUtil.getBean(CasXpackService.class); if (ObjectUtils.isEmpty(casXpackService)) return false; - return casXpackService.suuportCas(); + return casXpackService.supportCas(); } @Override diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java index 393d3f1f42..2761ea7819 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java @@ -127,7 +127,7 @@ public class ExtAuthServiceImpl implements ExtAuthService { @CacheEvict(value = AuthConstants.USER_PANEL_NAME, key = "'user' + #userId") }) public void clearUserResource(Long userId) { - LogUtil.info("all permission resource of user {} is cleanning...", userId); + LogUtil.info("all permission resource of user {} is cleaning...", userId); } @Caching(evict = { @@ -136,7 +136,7 @@ public class ExtAuthServiceImpl implements ExtAuthService { @CacheEvict(value = AuthConstants.DEPT_PANEL_NAME, key = "'dept' + #deptId") }) public void clearDeptResource(Long deptId) { - LogUtil.info("all permission resource of dept {} is cleanning...", deptId); + LogUtil.info("all permission resource of dept {} is cleaning...", deptId); } @Caching(evict = { @@ -145,7 +145,7 @@ public class ExtAuthServiceImpl implements ExtAuthService { @CacheEvict(value = AuthConstants.ROLE_PANEL_NAME, key = "'role' + #roleId") }) public void clearRoleResource(Long roleId) { - LogUtil.info("all permission resource of role {} is cleanning...", roleId); + LogUtil.info("all permission resource of role {} is cleaning...", roleId); } @Override diff --git a/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java b/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java index f9ce6ad80a..99a389f270 100644 --- a/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java +++ b/backend/src/main/java/io/dataease/commons/constants/ResourceAuthLevel.java @@ -4,10 +4,10 @@ public enum ResourceAuthLevel { COMMON_LEVEL_USE(1), - PANNEL_LEVEL_VIEW(1), - PANNEL_LEVEL_EXPORT(3), - PANNEL_LEVEL_MANAGE(5), - PANNEL_LEVEL_GRANT(15), + PANEL_LEVEL_VIEW(1), + PANEL_LEVEL_EXPORT(3), + PANEL_LEVEL_MANAGE(5), + PANEL_LEVEL_GRANT(15), DATASET_LEVEL_USE(1), DATASET_LEVEL_MANAGE(3), diff --git a/backend/src/main/java/io/dataease/commons/model/excel/ExcelSheetModel.java b/backend/src/main/java/io/dataease/commons/model/excel/ExcelSheetModel.java index 0e2a1d6401..22757b83e4 100644 --- a/backend/src/main/java/io/dataease/commons/model/excel/ExcelSheetModel.java +++ b/backend/src/main/java/io/dataease/commons/model/excel/ExcelSheetModel.java @@ -11,6 +11,6 @@ public class ExcelSheetModel { private List heads; - private List> datas; + private List> data; } diff --git a/backend/src/main/java/io/dataease/commons/utils/AuthUtils.java b/backend/src/main/java/io/dataease/commons/utils/AuthUtils.java index f236ea38e8..a6ebbf2736 100644 --- a/backend/src/main/java/io/dataease/commons/utils/AuthUtils.java +++ b/backend/src/main/java/io/dataease/commons/utils/AuthUtils.java @@ -131,7 +131,7 @@ public class AuthUtils { result.addAll(roleSet); result.addAll(deptSet); Arrays.stream(defaultPanelPermissions).forEach(item -> { - result.add(new AuthItem(item, ResourceAuthLevel.PANNEL_LEVEL_MANAGE.getLevel())); + result.add(new AuthItem(item, ResourceAuthLevel.PANEL_LEVEL_MANAGE.getLevel())); }); return result; } diff --git a/backend/src/main/java/io/dataease/commons/utils/CronUtils.java b/backend/src/main/java/io/dataease/commons/utils/CronUtils.java index c25b298665..26a3c203cc 100644 --- a/backend/src/main/java/io/dataease/commons/utils/CronUtils.java +++ b/backend/src/main/java/io/dataease/commons/utils/CronUtils.java @@ -28,7 +28,7 @@ public class CronUtils { if (!CronExpression.isValidExpression(cron)) { throw new RuntimeException("cron :" + cron + "表达式解析错误"); } - return TriggerBuilder.newTrigger().withIdentity("Caclulate Date").withSchedule(CronScheduleBuilder.cronSchedule(cron)).build(); + return TriggerBuilder.newTrigger().withIdentity("Calculate Date").withSchedule(CronScheduleBuilder.cronSchedule(cron)).build(); } /** diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelUtils.java b/backend/src/main/java/io/dataease/commons/utils/ExcelUtils.java index 7d66068be9..4f6fed9f0b 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelUtils.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelUtils.java @@ -28,7 +28,7 @@ public class ExcelUtils { sheets.forEach(sheet -> { - List> details = sheet.getDatas(); + List> details = sheet.getData(); details.add(0, sheet.getHeads()); String sheetName = sheet.getSheetName(); HSSFSheet curSheet = wb.createSheet(sheetName); diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java index 07598fc3bc..f998cfa398 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java @@ -23,7 +23,7 @@ import java.util.stream.Collectors; **/ public class ExcelXlsReader implements HSSFListener { - private int minColums = -1; + private int minColumns = -1; public Integer getObtainedNum() { return obtainedNum; @@ -211,8 +211,8 @@ public class ExcelXlsReader implements HSSFListener { thisRow = frec.getRow(); thisColumn = frec.getColumn(); thisStr = String.valueOf(frec.getValue()); - String feildType = checkType(thisStr, thisColumn); - if(feildType.equalsIgnoreCase("LONG") && thisStr.endsWith(".0")){ + String fieldType = checkType(thisStr, thisColumn); + if(fieldType.equalsIgnoreCase("LONG") && thisStr.endsWith(".0")){ thisStr = thisStr.substring(0, thisStr.length() -2); } cellList.add(thisColumn, thisStr); @@ -300,7 +300,7 @@ public class ExcelXlsReader implements HSSFListener { //行结束时的操作 if (record instanceof LastCellOfRowDummyRecord) { - if (minColums > 0) { + if (minColumns > 0) { //列值重新置空 if (lastColumnNumber == -1) { lastColumnNumber = 0; @@ -308,9 +308,9 @@ public class ExcelXlsReader implements HSSFListener { } lastColumnNumber = -1; - if(!totalSheets.stream().map(ExcelSheetData::getExcelLable).collect(Collectors.toList()).contains(sheetName)){ + if(!totalSheets.stream().map(ExcelSheetData::getExcelLabel).collect(Collectors.toList()).contains(sheetName)){ ExcelSheetData excelSheetData = new ExcelSheetData(); - excelSheetData.setExcelLable(sheetName); + excelSheetData.setExcelLabel(sheetName); excelSheetData.setData(new ArrayList<>()); excelSheetData.setFields(new ArrayList<>()); totalSheets.add(excelSheetData); @@ -330,10 +330,10 @@ public class ExcelXlsReader implements HSSFListener { if (flag && curRow != 0) { //该行不为空行且该行不是第一行,发送(第一行为列名,不需要) - if(!totalSheets.stream().map(ExcelSheetData::getExcelLable).collect(Collectors.toList()).contains(sheetName)){ + if(!totalSheets.stream().map(ExcelSheetData::getExcelLabel).collect(Collectors.toList()).contains(sheetName)){ ExcelSheetData excelSheetData = new ExcelSheetData(); excelSheetData.setData(new ArrayList<>(data)); - excelSheetData.setExcelLable(sheetName); + excelSheetData.setExcelLabel(sheetName); excelSheetData.setFields(new ArrayList<>(fields)); List tmp = new ArrayList<>(cellList); excelSheetData.getData().add(tmp); @@ -341,11 +341,11 @@ public class ExcelXlsReader implements HSSFListener { totalSheets.add(excelSheetData); }else { List tmp = new ArrayList<>(cellList); - if(obtainedNum != null && totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().size() < obtainedNum){ - totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp); + if(obtainedNum != null && totalSheets.stream().filter(s->s.getExcelLabel().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().size() < obtainedNum){ + totalSheets.stream().filter(s->s.getExcelLabel().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp); } if(obtainedNum == null){ - totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp); + totalSheets.stream().filter(s->s.getExcelLabel().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp); } totalRows++; } diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java index bd30fffb49..1d7be1dc7d 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java @@ -170,7 +170,7 @@ public class ExcelXlsxReader extends DefaultHandler { ExcelSheetData excelSheetData = new ExcelSheetData(); excelSheetData.setData(new ArrayList<>(data)); - excelSheetData.setExcelLable(sheets.getSheetName()); + excelSheetData.setExcelLabel(sheets.getSheetName()); excelSheetData.setFields(new ArrayList<>(fields)); totalSheets.add(excelSheetData); diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 249b06dc4b..db752b8655 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -36,21 +36,21 @@ public class ChartViewController { @Resource private ChartViewCacheService chartViewCacheService; - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("/save/{panelId}") public ChartViewDTO save(@PathVariable String panelId, @RequestBody ChartViewRequest request) { return chartViewService.save(request); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) @ApiOperation("新建视图") @PostMapping("/newOne/{panelId}") public ChartViewWithBLOBs save(@PathVariable String panelId, @RequestBody ChartViewWithBLOBs chartViewWithBLOBs) { return chartViewService.newOne(chartViewWithBLOBs); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) @ApiOperation("保存编辑的视图信息") @PostMapping("/viewEditSave/{panelId}") public void viewEditSave(@PathVariable String panelId, @RequestBody ChartViewWithBLOBs chartViewWithBLOBs) { @@ -71,7 +71,7 @@ public class ChartViewController { return chartViewService.listAndGroup(chartViewRequest); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("详细信息") @PostMapping("/get/{id}/{panelId}") public ChartViewDTO get(@PathVariable String id, @PathVariable String panelId, @RequestBody ChartViewRequest viewRequest) { @@ -87,7 +87,7 @@ public class ChartViewController { } @DePermissionProxy(value = "proxy", paramIndex = 2) - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("数据") @PostMapping("/getData/{id}/{panelId}") public ChartViewDTO getData(@PathVariable String id, @PathVariable String panelId, @@ -95,21 +95,21 @@ public class ChartViewController { return chartViewService.getData(id, requestList); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("视图详情") @PostMapping("chartDetail/{id}/{panelId}") public ChartDetail chartDetail(@PathVariable String id, @PathVariable String panelId) { return chartViewService.getChartDetail(id); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("复制") @PostMapping("chartCopy/{id}/{panelId}") public String chartCopy(@PathVariable String id, @PathVariable String panelId) { return chartViewService.chartCopy(id, panelId); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("批量复制") @PostMapping("chartBatchCopy/{panelId}") public Map chartBatchCopy(@RequestBody ChartCopyBatchRequest request, @PathVariable String panelId) { @@ -129,7 +129,7 @@ public class ChartViewController { return chartViewService.search(chartViewRequest); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW) @ApiOperation("计算结果") @PostMapping("/calcData/{panelId}") public ChartViewDTO calcData(@PathVariable String panelId, @RequestBody ChartCalRequest request) throws Exception { @@ -144,14 +144,14 @@ public class ChartViewController { return chartViewService.checkSameDataSet(viewIdSource, viewIdTarget); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW) @ApiOperation("初始化仪表板视图缓存") @PostMapping("/initViewCache/{panelId}") public void initViewCache(@PathVariable String panelId) { chartViewService.initViewCache(panelId); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("重置视图") @PostMapping("/resetViewCache/{id}/{panelId}") public void resetViewCache(@PathVariable String id, @PathVariable String panelId) { diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewFieldController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewFieldController.java index 98638c78d0..ef48599bc5 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewFieldController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewFieldController.java @@ -35,7 +35,7 @@ public class ChartViewFieldController { @Resource private DataSetTableService dataSetTableService; - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("/save/{panelId}") public ChartViewField save(@PathVariable String panelId, @RequestBody ChartViewField chartViewField) { @@ -53,21 +53,21 @@ public class ChartViewFieldController { return chartViewFieldService.save(chartViewField); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("删除") @PostMapping("/delete/{id}/{panelId}") public void delete(@PathVariable String id, @PathVariable String panelId) { chartViewFieldService.delete(id); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE, paramIndex = 1) @ApiOperation("删除视图的字段") @PostMapping("/deleteByChartId/{chartId}/{panelId}") public void deleteByChartId(@PathVariable String chartId, @PathVariable String panelId) { chartViewFieldService.deleteByChartId(chartId); } - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW, paramIndex = 1) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 1) @ApiOperation("分组查询表下属字段") @PostMapping("listByDQ/{chartId}/{panelId}") public ChartViewField4Type listByDQ(@PathVariable String chartId, @PathVariable String panelId) { diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index 6832a45023..9dddbd612c 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -62,7 +62,7 @@ public class DataSetTableFieldController { DatasetTableField datasetTableField = DatasetTableField.builder().build(); datasetTableField.setTableId(tableId); List fields = dataSetTableFieldsService.list(datasetTableField); - fields = permissionService.filterColumnPermissons(fields, new ArrayList<>(), tableId, null); + fields = permissionService.filterColumnPermissions(fields, new ArrayList<>(), tableId, null); return fields; } @@ -74,7 +74,7 @@ public class DataSetTableFieldController { datasetTableField.setTableId(tableId); List fields = dataSetTableFieldsService.list(datasetTableField); List desensitizationList = new ArrayList<>(); - fields = permissionService.filterColumnPermissons(fields, desensitizationList, tableId, null); + fields = permissionService.filterColumnPermissions(fields, desensitizationList, tableId, null); fields = fields.stream().filter(item -> !desensitizationList.contains(item.getDataeaseName())).collect(Collectors.toList()); return fields; } diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index 25623171ad..b9c2cc1dbb 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -59,7 +59,7 @@ public class PanelGroupController { @PostMapping("/save") @DePermissions(value = { @DePermission(type = DePermissionType.PANEL, value = "id"), - @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) }, logical = Logical.AND) @I18n public PanelGroupDTO save(@RequestBody PanelGroupRequest request) throws Exception{ @@ -77,7 +77,7 @@ public class PanelGroupController { @PostMapping("/update") @DePermissions(value = { @DePermission(type = DePermissionType.PANEL, value = "id"), - @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) }, logical = Logical.AND) @I18n public String update(@RequestBody PanelGroupRequest request) { @@ -85,14 +85,14 @@ public class PanelGroupController { } @ApiOperation("删除") - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) @PostMapping("/deleteCircle/{id}") public void deleteCircle(@PathVariable String id) { panelGroupService.deleteCircle(id); } @ApiOperation("详细信息") - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW) @GetMapping("/findOne/{id}") public PanelGroupDTO findOne(@PathVariable String id) throws Exception { return panelGroupService.findOne(id); @@ -101,7 +101,7 @@ public class PanelGroupController { @ApiIgnore @ApiOperation("详细信息(分享人代理)") @DePermissionProxy(paramIndex = 1) - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW) @PostMapping("/proxy/findOne/{id}") public PanelGroupDTO proxyFindOne(@PathVariable String id, @RequestBody PermissionProxy proxy) throws Exception { @@ -146,7 +146,7 @@ public class PanelGroupController { @ApiOperation("更新仪表板状态") @PostMapping("/updatePanelStatus/{panelId}") @I18n - @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) public void updatePanelStatus(@PathVariable String panelId, @RequestBody PanelGroupBaseInfoRequest request) { panelGroupService.updatePanelStatus(panelId, request); } @@ -154,7 +154,7 @@ public class PanelGroupController { @PostMapping("/autoCache") @DePermissions(value = { @DePermission(type = DePermissionType.PANEL, value = "id"), - @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANEL_LEVEL_MANAGE) }, logical = Logical.AND) public void autoCache(@RequestBody PanelGroupRequest request){ panelGroupService.autoCache(request); diff --git a/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java b/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java index 7c33be7034..b00980d258 100644 --- a/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java @@ -18,7 +18,7 @@ public class ApiDefinition { private ApiDefinitionRequest request; private String dataPath; private String status; - private List> datas = new ArrayList<>(); + private List> data = new ArrayList<>(); private List jsonFields = new ArrayList<>(); private int previewNum = 10; private int maxPreviewNum = 10; diff --git a/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsResponse.java similarity index 95% rename from backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java rename to backend/src/main/java/io/dataease/controller/request/datasource/es/EsResponse.java index c7249d6928..96ab3d90b9 100644 --- a/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsResponse.java @@ -6,7 +6,7 @@ import java.util.ArrayList; import java.util.List; @Data -public class EsReponse { +public class EsResponse { private List columns = new ArrayList<>(); private List rows = new ArrayList<>(); private String cursor; diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java index e7f8cc5cf9..2fb50323a3 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -75,7 +75,7 @@ public class MsgController { @PostMapping("/setReaded/{msgId}") @ApiImplicitParam(paramType = "path", name = "msgId", value = "消息ID", required = true, dataType = "Long") public void setReaded(@PathVariable Long msgId) { - sysMsgService.setReaded(msgId); + sysMsgService.setRead(msgId); } @@ -83,7 +83,7 @@ public class MsgController { @PostMapping("/batchRead") @ApiImplicitParam(name = "msgIds", value = "消息ID集合", required = true, dataType = "List") public void batchRead(@RequestBody List msgIds) { - sysMsgService.setBatchReaded(msgIds); + sysMsgService.setBatchRead(msgIds); } @ApiOperation("全部设置已读") diff --git a/backend/src/main/java/io/dataease/controller/sys/SysMenuController.java b/backend/src/main/java/io/dataease/controller/sys/SysMenuController.java index 33252abcea..3b57b3f283 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysMenuController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysMenuController.java @@ -78,8 +78,8 @@ public class SysMenuController { @PostMapping("/childMenus/{pid}") public Set childMenus(@PathVariable Long pid){ - List childs = menuService.childs(pid); - Set sets = childs.stream().map(MenuNodeResponse::getMenuId).collect(Collectors.toSet()); + List children = menuService.children(pid); + Set sets = children.stream().map(MenuNodeResponse::getMenuId).collect(Collectors.toSet()); sets.add(pid); return sets; } diff --git a/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java b/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java index e18eae1a36..003ac6dca7 100644 --- a/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java @@ -39,7 +39,7 @@ public class BaseGridRequest implements Serializable { GridExample gridExample = new GridExample(); if (CollectionUtils.isNotEmpty(conditions)) { GridExample.Criteria criteria = gridExample.createCriteria(); - conditions.forEach(criteria::addCondtion); + conditions.forEach(criteria::addCondition); } if (CollectionUtils.isNotEmpty(orders)){ diff --git a/backend/src/main/java/io/dataease/dto/dataset/ExcelFileData.java b/backend/src/main/java/io/dataease/dto/dataset/ExcelFileData.java index bf28d3a8bb..e6527d0ca7 100644 --- a/backend/src/main/java/io/dataease/dto/dataset/ExcelFileData.java +++ b/backend/src/main/java/io/dataease/dto/dataset/ExcelFileData.java @@ -10,7 +10,7 @@ public class ExcelFileData { @ApiModelProperty("excelID") private String id; @ApiModelProperty("excel标签") - private String excelLable; + private String excelLabel; @ApiModelProperty("sheets") private List sheets; @ApiModelProperty("路径") diff --git a/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java b/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java index c085d37048..3412cbdcc9 100644 --- a/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java +++ b/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java @@ -9,7 +9,7 @@ import java.util.Map; @Data public class ExcelSheetData { @ApiModelProperty("标签") - private String excelLable; + private String excelLabel; @ApiModelProperty("数据集合") private List> data; @ApiModelProperty("字段集合") diff --git a/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java b/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfiguration.java similarity index 90% rename from backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java rename to backend/src/main/java/io/dataease/dto/datasource/RedshiftConfiguration.java index 96112bb07f..6a335ff6ec 100644 --- a/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfiguration.java @@ -6,7 +6,7 @@ import lombok.Setter; @Getter @Setter -public class RedshiftConfigration extends JdbcConfiguration { +public class RedshiftConfiguration extends JdbcConfiguration { private String driver = "com.amazon.redshift.jdbc42.Driver"; diff --git a/backend/src/main/java/io/dataease/ext/query/GridExample.java b/backend/src/main/java/io/dataease/ext/query/GridExample.java index 55558a631d..4efb43d2c2 100644 --- a/backend/src/main/java/io/dataease/ext/query/GridExample.java +++ b/backend/src/main/java/io/dataease/ext/query/GridExample.java @@ -132,7 +132,7 @@ public class GridExample { - public Criteria addCondtion(ConditionEntity conditionEntity){ + public Criteria addCondition(ConditionEntity conditionEntity){ String field = conditionEntity.getField(); Object value = conditionEntity.getValue(); String operator = conditionEntity.getOperator(); diff --git a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java index 6afb467b8f..4f9d1bced1 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java +++ b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java @@ -48,7 +48,7 @@ import java.util.stream.Collectors; @Service("emailTaskHandler") public class EmailTaskHandler extends TaskHandler implements Job { - private static final Integer RUNING = 0; + private static final Integer RUNNING = 0; private static final Integer SUCCESS = 1; private static final Integer ERROR = -1; @@ -124,7 +124,7 @@ public class EmailTaskHandler extends TaskHandler implements Job { private GlobalTaskInstance buildInstance(GlobalTaskEntity taskEntity) { GlobalTaskInstance taskInstance = new GlobalTaskInstance(); taskInstance.setTaskId(taskEntity.getTaskId()); - taskInstance.setStatus(RUNING); + taskInstance.setStatus(RUNNING); taskInstance.setExecuteTime(System.currentTimeMillis()); return taskInstance; } diff --git a/backend/src/main/java/io/dataease/map/api/MapApi.java b/backend/src/main/java/io/dataease/map/api/MapApi.java index 616e1b2491..e783cf0b36 100644 --- a/backend/src/main/java/io/dataease/map/api/MapApi.java +++ b/backend/src/main/java/io/dataease/map/api/MapApi.java @@ -17,7 +17,7 @@ public interface MapApi { @GetMapping("/globalEntitys/{pcode}") - List globalEntitys(@PathVariable String pcode); + List globalEntities(@PathVariable String pcode); @PostMapping(value = "/saveMapNode", consumes = {"multipart/form-data"}) void saveMapNode(MapNodeRequest request, MultipartFile file) throws Exception; diff --git a/backend/src/main/java/io/dataease/map/dto/response/MapNodeReadReponse.java b/backend/src/main/java/io/dataease/map/dto/response/MapNodeReadResponse.java similarity index 81% rename from backend/src/main/java/io/dataease/map/dto/response/MapNodeReadReponse.java rename to backend/src/main/java/io/dataease/map/dto/response/MapNodeReadResponse.java index 606e863844..45d363293c 100644 --- a/backend/src/main/java/io/dataease/map/dto/response/MapNodeReadReponse.java +++ b/backend/src/main/java/io/dataease/map/dto/response/MapNodeReadResponse.java @@ -6,7 +6,7 @@ import lombok.Data; import java.io.Serializable; @Data -public class MapNodeReadReponse implements Serializable { +public class MapNodeReadResponse implements Serializable { @ApiModelProperty("区域代码") private String code; @@ -15,7 +15,7 @@ public class MapNodeReadReponse implements Serializable { @ApiModelProperty("区域级别") private Integer level; @ApiModelProperty("上级区域") - private MapNodeReadReponse parent; + private MapNodeReadResponse parent; @ApiModelProperty("geoGson") private String json; } diff --git a/backend/src/main/java/io/dataease/map/server/MapServer.java b/backend/src/main/java/io/dataease/map/server/MapServer.java index 7c7ffd610c..582326b102 100644 --- a/backend/src/main/java/io/dataease/map/server/MapServer.java +++ b/backend/src/main/java/io/dataease/map/server/MapServer.java @@ -26,16 +26,16 @@ public class MapServer implements MapApi { if (StringUtils.equals(pcode, "0")) { return areaEntities; } - return mapService.entitysByPid(areaEntities, pcode); + return mapService.entitiesByPid(areaEntities, pcode); } @Override - public List globalEntitys(String pcode) { + public List globalEntities(String pcode) { List areaEntities = mapService.globalEntities(); if (StringUtils.equals(pcode, "0")) { return areaEntities; } - return mapService.entitysByPid(areaEntities, pcode); + return mapService.entitiesByPid(areaEntities, pcode); } diff --git a/backend/src/main/java/io/dataease/map/service/MapService.java b/backend/src/main/java/io/dataease/map/service/MapService.java index e131df7210..4602fb96a8 100644 --- a/backend/src/main/java/io/dataease/map/service/MapService.java +++ b/backend/src/main/java/io/dataease/map/service/MapService.java @@ -43,7 +43,7 @@ public class MapService { return areaEntities; } - public List entitysByPid(List entities, String pid) { + public List entitiesByPid(List entities, String pid) { for (int i = 0; i < entities.size(); i++) { AreaEntity areaEntity = entities.get(i); if (StringUtils.equals(pid, areaEntity.getCode())) { @@ -51,7 +51,7 @@ public class MapService { } if (CollectionUtil.isNotEmpty(areaEntity.getChildren())) { - List areaEntities = entitysByPid(areaEntity.getChildren(), pid); + List areaEntities = entitiesByPid(areaEntity.getChildren(), pid); if (null != areaEntities) { return areaEntities; } @@ -65,7 +65,7 @@ public class MapService { Long pValue = Long.parseLong(pCode); MapService mapService = CommonBeanFactory.getBean(MapService.class); List areaEntities = mapService.globalEntities(); - List brothers = entitysByPid(areaEntities, pCode); + List brothers = entitiesByPid(areaEntities, pCode); brothers.sort(Comparator.comparing(item -> Long.parseLong(item.getCode()))); AreaEntity lastBrother = brothers.get(brothers.size() - 1); diff --git a/backend/src/main/java/io/dataease/plugins/server/SSOServer.java b/backend/src/main/java/io/dataease/plugins/server/SSOServer.java index 05c8dd82a3..199ca15787 100644 --- a/backend/src/main/java/io/dataease/plugins/server/SSOServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/SSOServer.java @@ -57,8 +57,8 @@ public class SSOServer { DEException.throwException("缺少oidc插件"); } oidcXpackService = SpringContextUtil.getBean(OidcXpackService.class); - Boolean suuportOIDC = oidcXpackService.isSuuportOIDC(); - if (!suuportOIDC) { + Boolean supportOIDC = oidcXpackService.isSupportOIDC(); + if (!supportOIDC) { DEException.throwException("未开启oidc"); } Map config = config(oidcXpackService); diff --git a/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java b/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java index 94210a177c..09666aefbb 100644 --- a/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java @@ -270,8 +270,8 @@ public class XEmailTaskServer { String[] headArr = new String[] {Translator.get("I18N_XPACKTASK_NAME"), Translator.get("I18N_XPACKTASK_EXEC_TIME"), Translator.get("I18N_XPACKTASK_STATUS")}; List head = Arrays.asList(headArr); excelSheetModel.setHeads(head); - List> datas = instanceDTOS.stream().map(this::formatExcelData).collect(Collectors.toList()); - excelSheetModel.setDatas(datas); + List> data = instanceDTOS.stream().map(this::formatExcelData).collect(Collectors.toList()); + excelSheetModel.setData(data); return excelSheetModel; } diff --git a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index 31f63fbac0..c9f1c4537b 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -72,7 +72,7 @@ public class ApiProvider extends Provider { ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); String response = execHttpRequest(apiDefinition, StringUtils.isNotBlank(basicInfo.getFrontTimeOut()) ? Integer.parseInt(basicInfo.getFrontTimeOut()) : 10); - fieldList = getTableFileds(apiDefinition); + fieldList = getTableFields(apiDefinition); result.put("fieldList", fieldList); dataList = fetchResult(response, apiDefinition); result.put("dataList", dataList); @@ -80,7 +80,7 @@ public class ApiProvider extends Provider { } - private List getTableFileds(ApiDefinition apiDefinition) throws Exception { + private List getTableFields(ApiDefinition apiDefinition) throws Exception { List tableFields = new ArrayList<>(); for (DatasetTableFieldDTO field : apiDefinition.getFields()) { TableField tableField = new TableField(); @@ -93,13 +93,13 @@ public class ApiProvider extends Provider { return tableFields; } - public List getTableFileds(DatasourceRequest datasourceRequest) throws Exception { + public List getTableFields(DatasourceRequest datasourceRequest) throws Exception { List lists = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), new TypeToken>() { }.getType()); List tableFields = new ArrayList<>(); for (ApiDefinition apiDefinition : lists) { if (datasourceRequest.getTable().equalsIgnoreCase(apiDefinition.getName())) { - tableFields = getTableFileds(apiDefinition); + tableFields = getTableFields(apiDefinition); } } return tableFields; @@ -361,14 +361,14 @@ public class ApiProvider extends Provider { private List fetchResult(String result, ApiDefinition apiDefinition) { List dataList = new LinkedList<>(); if (StringUtils.isNotEmpty(apiDefinition.getDataPath()) && CollectionUtils.isEmpty(apiDefinition.getJsonFields())) { - List datas = new ArrayList<>(); + List currentData = new ArrayList<>(); Object object = JsonPath.read(result, apiDefinition.getDataPath()); if (object instanceof List) { - datas = (List) object; + currentData = (List) object; } else { - datas.add((LinkedHashMap) object); + currentData.add((LinkedHashMap) object); } - for (LinkedHashMap data : datas) { + for (LinkedHashMap data : currentData) { String[] row = new String[apiDefinition.getFields().size()]; int i = 0; for (DatasetTableFieldDTO field : apiDefinition.getFields()) { @@ -379,22 +379,22 @@ public class ApiProvider extends Provider { } } else { List jsonPaths = apiDefinition.getFields().stream().map(DatasetTableFieldDTO::getJsonPath).collect(Collectors.toList()); - Long maxLenth = 0l; + Long maxLength = 0l; List> columnDataList = new ArrayList<>(); for (int i = 0; i < jsonPaths.size(); i++) { - List datas = new ArrayList<>(); + List data = new ArrayList<>(); Object object = JsonPath.read(result, jsonPaths.get(i)); if (object instanceof List && jsonPaths.get(i).contains("[*]")) { - datas = (List) object; + data = (List) object; } else { if (object != null) { - datas.add(object.toString()); + data.add(object.toString()); } } - maxLenth = maxLenth > datas.size() ? maxLenth : datas.size(); - columnDataList.add(datas); + maxLength = maxLength > data.size() ? maxLength : data.size(); + columnDataList.add(data); } - for (int i = 0; i < maxLenth; i++) { + for (int i = 0; i < maxLength; i++) { String[] row = new String[apiDefinition.getFields().size()]; dataList.add(row); } diff --git a/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java b/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java index 6d7eb58bd5..ca537c3b49 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java @@ -4,7 +4,7 @@ import com.google.gson.Gson; import com.google.gson.JsonParser; import io.dataease.commons.utils.HttpClientConfig; import io.dataease.commons.utils.HttpClientUtil; -import io.dataease.controller.request.datasource.es.EsReponse; +import io.dataease.controller.request.datasource.es.EsResponse; import io.dataease.controller.request.datasource.es.Request; import io.dataease.controller.request.datasource.es.RequestWithCursor; import io.dataease.dto.datasource.EsConfiguration; @@ -60,22 +60,22 @@ public class EsProvider extends Provider { request.setFetch_size(dsr.getFetchSize()); String url = esConfiguration.getUrl().endsWith("/") ? esConfiguration.getUrl() + esConfiguration.getUri() + "?format=json" : esConfiguration.getUrl() + "/" + esConfiguration.getUri() + "?format=json"; String response = HttpClientUtil.post(url, new Gson().toJson(request), httpClientConfig); - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); - list.addAll(fetchResult(esReponse)); + list.addAll(fetchResult(esResponse)); if (dsr.isPageable()) { Integer realSize = dsr.getPage() * dsr.getPageSize() < list.size() ? dsr.getPage() * dsr.getPageSize() : list.size(); list = list.subList((dsr.getPage() - 1) * dsr.getPageSize(), realSize); } if (!dsr.isPreviewData()) { - while (StringUtils.isNotEmpty(esReponse.getCursor())) { - RequestWithCursor requstWithCursor = new RequestWithCursor(); - requstWithCursor.setQuery(dsr.getQuery()); - requstWithCursor.setFetch_size(dsr.getFetchSize()); - requstWithCursor.setCursor(esReponse.getCursor()); - response = HttpClientUtil.post(url, new Gson().toJson(requstWithCursor), httpClientConfig); - esReponse = new Gson().fromJson(response, EsReponse.class); - list.addAll(fetchResult(esReponse)); + while (StringUtils.isNotEmpty(esResponse.getCursor())) { + RequestWithCursor requestWithCursor = new RequestWithCursor(); + requestWithCursor.setQuery(dsr.getQuery()); + requestWithCursor.setFetch_size(dsr.getFetchSize()); + requestWithCursor.setCursor(esResponse.getCursor()); + response = HttpClientUtil.post(url, new Gson().toJson(requestWithCursor), httpClientConfig); + esResponse = new Gson().fromJson(response, EsResponse.class); + list.addAll(fetchResult(esResponse)); } } } catch (Exception e) { @@ -98,7 +98,7 @@ public class EsProvider extends Provider { } @Override - public List getTableFileds(DatasourceRequest datasourceRequest) throws Exception { + public List getTableFields(DatasourceRequest datasourceRequest) throws Exception { datasourceRequest.setQuery("desc " + String.format(EsSqlLConstants.KEYWORD_TABLE, datasourceRequest.getTable())); List tableFields = new ArrayList<>(); try { @@ -112,16 +112,16 @@ public class EsProvider extends Provider { private List fetchResult(String response) throws Exception { - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); - return fetchResult(esReponse); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); + return fetchResult(esResponse); } - private List fetchResult(EsReponse esReponse) throws Exception { + private List fetchResult(EsResponse esResponse) throws Exception { List list = new LinkedList<>(); - if (esReponse.getError() != null) { - throw new Exception(esReponse.getError().getReason()); + if (esResponse.getError() != null) { + throw new Exception(esResponse.getError().getReason()); } - list.addAll(esReponse.getRows()); + list.addAll(esResponse.getRows()); return list; } @@ -139,12 +139,12 @@ public class EsProvider extends Provider { private List fetchResultField(String response) throws Exception { List fieldList = new ArrayList<>(); - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); - if (esReponse.getError() != null) { - throw new Exception(esReponse.getError().getReason()); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); + if (esResponse.getError() != null) { + throw new Exception(esResponse.getError().getReason()); } - for (String[] row : esReponse.getRows()) { + for (String[] row : esResponse.getRows()) { TableField field = new TableField(); field.setFieldName(row[0]); field.setRemarks(row[0]); @@ -157,12 +157,12 @@ public class EsProvider extends Provider { private List fetchResultField4Sql(String response) throws Exception { List fieldList = new ArrayList<>(); - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); - if (esReponse.getError() != null) { - throw new Exception(esReponse.getError().getReason()); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); + if (esResponse.getError() != null) { + throw new Exception(esResponse.getError().getReason()); } - for (EsReponse.Column column : esReponse.getColumns()) { + for (EsResponse.Column column : esResponse.getColumns()) { TableField field = new TableField(); field.setFieldName(column.getName()); field.setRemarks(column.getName()); @@ -175,12 +175,12 @@ public class EsProvider extends Provider { private List fetchResultField4Table(String response) throws Exception { List fieldList = new ArrayList<>(); - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); - if (esReponse.getError() != null) { - throw new Exception(esReponse.getError().getReason()); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); + if (esResponse.getError() != null) { + throw new Exception(esResponse.getError().getReason()); } - for (String[] row : esReponse.getRows()) { + for (String[] row : esResponse.getRows()) { if(!row[1].equalsIgnoreCase("STRUCT")){ TableField field = new TableField(); field.setFieldName(row[0]); @@ -221,12 +221,12 @@ public class EsProvider extends Provider { private List fetchTables(String response) throws Exception { List tables = new ArrayList<>(); - EsReponse esReponse = new Gson().fromJson(response, EsReponse.class); - if (esReponse.getError() != null) { - throw new Exception(esReponse.getError().getReason()); + EsResponse esResponse = new Gson().fromJson(response, EsResponse.class); + if (esResponse.getError() != null) { + throw new Exception(esResponse.getError().getReason()); } - for (String[] row : esReponse.getRows()) { + for (String[] row : esResponse.getRows()) { if (row.length == 3 && row[1].contains("TABLE") && row[2].equalsIgnoreCase("INDEX")) { TableDesc tableDesc = new TableDesc(); tableDesc.setName(row[0]); diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index 105fc579fc..0a2e7f8800 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -73,7 +73,7 @@ public class JdbcProvider extends DefaultJdbcProvider { @Override - public List getTableFileds(DatasourceRequest datasourceRequest) throws Exception { + public List getTableFields(DatasourceRequest datasourceRequest) throws Exception { if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("mongo")) { datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); return fetchResultField(datasourceRequest); @@ -263,8 +263,8 @@ public class JdbcProvider extends DefaultJdbcProvider { while (rs.next()) { String[] row = new String[columnCount]; for (int j = 0; j < columnCount; j++) { - int columType = metaData.getColumnType(j + 1); - switch (columType) { + int columnType = metaData.getColumnType(j + 1); + switch (columnType) { case Types.DATE: if (rs.getDate(j + 1) != null) { row[j] = rs.getDate(j + 1).toString(); @@ -278,8 +278,8 @@ public class JdbcProvider extends DefaultJdbcProvider { row[j] = rs.getBlob(j + 1) == null ? "" : rs.getBlob(j + 1).toString(); } else { if (charset != null && StringUtils.isNotEmpty(rs.getString(j + 1))) { - String orginStr = new String(rs.getString(j + 1).getBytes(charset), targetCharset); - row[j] = new String(orginStr.getBytes("UTF-8"), "UTF-8"); + String originStr = new String(rs.getString(j + 1).getBytes(charset), targetCharset); + row[j] = new String(originStr.getBytes("UTF-8"), "UTF-8"); } else { row[j] = rs.getString(j + 1); } @@ -426,12 +426,12 @@ public class JdbcProvider extends DefaultJdbcProvider { jdbcurl = mongodbConfiguration.getJdbc(datasourceRequest.getDatasource().getId()); break; case redshift: - RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); - username = redshiftConfigration.getUsername(); - password = redshiftConfigration.getPassword(); - defaultDriver = redshiftConfigration.getDriver(); - customDriver = redshiftConfigration.getCustomDriver(); - jdbcurl = redshiftConfigration.getJdbc(); + RedshiftConfiguration redshiftConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfiguration.class); + username = redshiftConfiguration.getUsername(); + password = redshiftConfiguration.getPassword(); + defaultDriver = redshiftConfiguration.getDriver(); + customDriver = redshiftConfiguration.getCustomDriver(); + jdbcurl = redshiftConfiguration.getJdbc(); break; case hive: HiveConfiguration hiveConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), HiveConfiguration.class); @@ -570,11 +570,11 @@ public class JdbcProvider extends DefaultJdbcProvider { jdbcConfiguration = mongodbConfiguration; break; case redshift: - RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); - dataSource.setPassword(redshiftConfigration.getPassword()); - dataSource.setDriverClassName(redshiftConfigration.getDriver()); - dataSource.setUrl(redshiftConfigration.getJdbc()); - jdbcConfiguration = redshiftConfigration; + RedshiftConfiguration redshiftConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfiguration.class); + dataSource.setPassword(redshiftConfiguration.getPassword()); + dataSource.setDriverClassName(redshiftConfiguration.getDriver()); + dataSource.setUrl(redshiftConfiguration.getJdbc()); + jdbcConfiguration = redshiftConfiguration; break; case hive: HiveConfiguration hiveConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), HiveConfiguration.class); @@ -655,11 +655,11 @@ public class JdbcProvider extends DefaultJdbcProvider { CHConfiguration chConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), CHConfiguration.class); return "SELECT name FROM system.tables where database='DATABASE';".replace("DATABASE", chConfiguration.getDataBase()); case redshift: - RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); - if (StringUtils.isEmpty(redshiftConfigration.getSchema())) { + RedshiftConfiguration redshiftConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfiguration.class); + if (StringUtils.isEmpty(redshiftConfiguration.getSchema())) { throw new Exception(Translator.get("i18n_schema_is_empty")); } - return "SELECT tablename FROM pg_tables WHERE schemaname='SCHEMA' ;".replace("SCHEMA", redshiftConfigration.getSchema()); + return "SELECT tablename FROM pg_tables WHERE schemaname='SCHEMA' ;".replace("SCHEMA", redshiftConfiguration.getSchema()); case db2: Db2Configuration db2Configuration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), Db2Configuration.class); if (StringUtils.isEmpty(db2Configuration.getSchema())) { @@ -705,11 +705,11 @@ public class JdbcProvider extends DefaultJdbcProvider { } return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", pgConfiguration.getSchema()); case redshift: - RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); - if (StringUtils.isEmpty(redshiftConfigration.getSchema())) { + RedshiftConfiguration redshiftConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfiguration.class); + if (StringUtils.isEmpty(redshiftConfiguration.getSchema())) { throw new Exception(Translator.get("i18n_schema_is_empty")); } - return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", redshiftConfigration.getSchema()); + return "SELECT viewname FROM pg_views WHERE schemaname='SCHEMA' ;".replace("SCHEMA", redshiftConfiguration.getSchema()); case db2: Db2Configuration db2Configuration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), Db2Configuration.class); diff --git a/backend/src/main/java/io/dataease/service/chart/ChartConstants.java b/backend/src/main/java/io/dataease/service/chart/ChartConstants.java index 9b1736018c..f318b9b856 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartConstants.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartConstants.java @@ -10,4 +10,5 @@ public class ChartConstants { public static final String YEAR_YOY = "year_yoy"; public static final String DAY_MOM = "day_mom"; public static final String MONTH_YOY = "month_yoy"; + public static final String[] M_Y = {YEAR_MOM, MONTH_MOM, YEAR_YOY, DAY_MOM, MONTH_YOY}; } 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 f5a8c0945d..192143ad87 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -351,7 +351,7 @@ public class ChartViewService { //列权限 List desensitizationList = new ArrayList<>(); - List columnPermissionFields = permissionService.filterColumnPermissons(fields, desensitizationList, table.getId(), requestList.getUser()); + List columnPermissionFields = permissionService.filterColumnPermissions(fields, desensitizationList, table.getId(), requestList.getUser()); //将没有权限的列删掉 List dataeaseNames = columnPermissionFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList()); dataeaseNames.add("*"); @@ -580,7 +580,7 @@ public class ChartViewService { List yAxisExt = gson.fromJson(view.getYAxisExt(), tokenType); yAxis.addAll(yAxisExt); } - if (StringUtils.equalsIgnoreCase(view.getRender(), "antv") && StringUtils.equalsIgnoreCase(view.getType(), "gauge")) { + if (StringUtils.equalsIgnoreCase(view.getRender(), "antv") && StringUtils.equalsAnyIgnoreCase(view.getType(), "gauge","liquid")) { List sizeField = getSizeField(view); yAxis.addAll(sizeField); } @@ -598,7 +598,7 @@ public class ChartViewService { List desensitizationList = new ArrayList<>(); //列权限 - List columnPermissionFields = permissionService.filterColumnPermissons(fields, desensitizationList, table.getId(), requestList.getUser()); + List columnPermissionFields = permissionService.filterColumnPermissions(fields, desensitizationList, table.getId(), requestList.getUser()); //将没有权限的列删掉 List dataeaseNames = columnPermissionFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList()); dataeaseNames.add("*"); @@ -670,7 +670,8 @@ public class ChartViewService { } boolean hasParameters = false; if (StringUtils.isNotEmpty(table.getSqlVariableDetails())) { - List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() {}.getType()); + List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() { + }.getType()); for (String parameter : Optional.ofNullable(request.getParameters()).orElse(new ArrayList<>())) { if (sqlVariables.stream().map(SqlVariableDetails::getVariableName).collect(Collectors.toList()).contains(parameter)) { hasParameters = true; @@ -994,20 +995,6 @@ public class ChartViewService { if (StringUtils.isNotEmpty(compareCalc.getType()) && !StringUtils.equalsIgnoreCase(compareCalc.getType(), "none")) { String compareFieldId = compareCalc.getField();// 选中字段 - String resultData = compareCalc.getResultData();// 数据设置 - // 获取选中字段以及下标 - List checkedField = new ArrayList<>(xAxis); - if (StringUtils.containsIgnoreCase(view.getType(), "stack")) { - checkedField.addAll(extStack); - } - int timeIndex = 0;// 时间字段下标 - ChartViewFieldDTO timeField = null; - for (int j = 0; j < checkedField.size(); j++) { - if (StringUtils.equalsIgnoreCase(checkedField.get(j).getId(), compareFieldId)) { - timeIndex = j; - timeField = checkedField.get(j); - } - } // 计算指标对应的下标 int dataIndex = 0;// 数据字段下标 if (StringUtils.containsIgnoreCase(view.getType(), "stack")) { @@ -1015,50 +1002,88 @@ public class ChartViewService { } else { dataIndex = xAxis.size() + i; } - // 无选中字段,或者选中字段已经不在维度list中,或者选中字段日期格式不符合对比类型的,直接将对应数据置为null - if (ObjectUtils.isEmpty(timeField) || !checkCalcType(timeField.getDateStyle(), compareCalc.getType())) { - // set null - for (String[] item : data) { - item[dataIndex] = null; + if (Arrays.asList(ChartConstants.M_Y).contains(compareCalc.getType())) { + String resultData = compareCalc.getResultData();// 数据设置 + // 获取选中字段以及下标 + List checkedField = new ArrayList<>(xAxis); + if (StringUtils.containsIgnoreCase(view.getType(), "stack")) { + checkedField.addAll(extStack); } - } else { - // 计算 同比/环比 - // 1,处理当期数据;2,根据type计算上一期数据;3,根据resultData计算结果 - Map currentMap = new LinkedHashMap<>(); - for (String[] item : data) { - String[] dimension = Arrays.copyOfRange(item, 0, checkedField.size()); - currentMap.put(StringUtils.join(dimension, "-"), item[dataIndex]); + int timeIndex = 0;// 时间字段下标 + ChartViewFieldDTO timeField = null; + for (int j = 0; j < checkedField.size(); j++) { + if (StringUtils.equalsIgnoreCase(checkedField.get(j).getId(), compareFieldId)) { + timeIndex = j; + timeField = checkedField.get(j); + } } - - for (int index = 0; index < data.size(); index++) { - String[] item = data.get(index); - String cTime = item[timeIndex]; - String cValue = item[dataIndex]; - - // 获取计算后的时间,并且与所有维度拼接 - String lastTime = calcLastTime(cTime, compareCalc.getType(), timeField.getDateStyle(), timeField.getDatePattern()); - String[] dimension = Arrays.copyOfRange(item, 0, checkedField.size()); - dimension[timeIndex] = lastTime; - - String lastValue = currentMap.get(StringUtils.join(dimension, "-")); - if (StringUtils.isEmpty(cValue) || StringUtils.isEmpty(lastValue)) { + // 无选中字段,或者选中字段已经不在维度list中,或者选中字段日期格式不符合对比类型的,直接将对应数据置为null + if (ObjectUtils.isEmpty(timeField) || !checkCalcType(timeField.getDateStyle(), compareCalc.getType())) { + // set null + for (String[] item : data) { item[dataIndex] = null; - } else { - if (StringUtils.equalsIgnoreCase(resultData, "sub")) { - item[dataIndex] = new BigDecimal(cValue).subtract(new BigDecimal(lastValue)).toString(); - } else if (StringUtils.equalsIgnoreCase(resultData, "percent")) { - if (new BigDecimal(lastValue).compareTo(BigDecimal.ZERO) == 0) { - item[dataIndex] = null; - } else { - item[dataIndex] = new BigDecimal(cValue) - .divide(new BigDecimal(lastValue), 8, RoundingMode.HALF_UP) - .subtract(new BigDecimal(1)) - .setScale(8, RoundingMode.HALF_UP) - .toString(); + } + } else { + // 计算 同比/环比 + // 1,处理当期数据;2,根据type计算上一期数据;3,根据resultData计算结果 + Map currentMap = new LinkedHashMap<>(); + for (String[] item : data) { + String[] dimension = Arrays.copyOfRange(item, 0, checkedField.size()); + currentMap.put(StringUtils.join(dimension, "-"), item[dataIndex]); + } + + for (int index = 0; index < data.size(); index++) { + String[] item = data.get(index); + String cTime = item[timeIndex]; + String cValue = item[dataIndex]; + + // 获取计算后的时间,并且与所有维度拼接 + String lastTime = calcLastTime(cTime, compareCalc.getType(), timeField.getDateStyle(), timeField.getDatePattern()); + String[] dimension = Arrays.copyOfRange(item, 0, checkedField.size()); + dimension[timeIndex] = lastTime; + + String lastValue = currentMap.get(StringUtils.join(dimension, "-")); + if (StringUtils.isEmpty(cValue) || StringUtils.isEmpty(lastValue)) { + item[dataIndex] = null; + } else { + if (StringUtils.equalsIgnoreCase(resultData, "sub")) { + item[dataIndex] = new BigDecimal(cValue).subtract(new BigDecimal(lastValue)).toString(); + } else if (StringUtils.equalsIgnoreCase(resultData, "percent")) { + if (new BigDecimal(lastValue).compareTo(BigDecimal.ZERO) == 0) { + item[dataIndex] = null; + } else { + item[dataIndex] = new BigDecimal(cValue) + .divide(new BigDecimal(lastValue), 8, RoundingMode.HALF_UP) + .subtract(new BigDecimal(1)) + .setScale(8, RoundingMode.HALF_UP) + .toString(); + } } } } } + } else if (StringUtils.equalsIgnoreCase(compareCalc.getType(), "percent")) { + // 求和 + BigDecimal sum = new BigDecimal(0); + for (int index = 0; index < data.size(); index++) { + String[] item = data.get(index); + String cValue = item[dataIndex]; + if (StringUtils.isEmpty(cValue)) { + continue; + } + sum = sum.add(new BigDecimal(cValue)); + } + // 计算占比 + for (int index = 0; index < data.size(); index++) { + String[] item = data.get(index); + String cValue = item[dataIndex]; + if (StringUtils.isEmpty(cValue)) { + continue; + } + item[dataIndex] = new BigDecimal(cValue) + .divide(sum, 8, RoundingMode.HALF_UP) + .toString(); + } } } } @@ -1168,11 +1193,11 @@ public class ChartViewService { return "SELECT " + stringBuilder + " FROM (" + sql + ") tmp"; } - public ChartViewDTO uniteViewResult(String sql, Map chartData, Map tabelData, ChartViewDTO view, Boolean isDrill, List drillFilters, List dynamicAssistFields, List assistData) { + public ChartViewDTO uniteViewResult(String sql, Map chartData, Map tableData, ChartViewDTO view, Boolean isDrill, List drillFilters, List dynamicAssistFields, List assistData) { Map map = new HashMap<>(); map.putAll(chartData); - map.putAll(tabelData); + map.putAll(tableData); List sourceFields = dataSetTableFieldsService.getFieldsByTableId(view.getTableId()); map.put("sourceFields", sourceFields); @@ -1193,7 +1218,7 @@ public class ChartViewService { PluginViewParam pluginViewParam = new PluginViewParam(); PluginViewSetImpl pluginViewSet = BeanUtils.copyBean(new PluginViewSetImpl(), table); pluginViewSet.setDsType(ds.getType()); - pluginViewSet.setTabelId(table.getId()); + pluginViewSet.setTableId(table.getId()); pluginViewSet.setDs(ds); PluginViewLimit pluginViewLimit = BeanUtils.copyBean(new PluginViewLimit(), view); @@ -1599,7 +1624,8 @@ public class ChartViewService { } private String handleVariable(String sql, ChartExtRequest requestList, QueryProvider qp, DataSetTableDTO table, Datasource ds) throws Exception { - List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() {}.getType()); + List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() { + }.getType()); if (requestList != null && CollectionUtils.isNotEmpty(requestList.getFilter())) { for (ChartExtFilterRequest chartExtFilterRequest : requestList.getFilter()) { if (CollectionUtils.isEmpty(chartExtFilterRequest.getValue())) { @@ -1610,8 +1636,8 @@ public class ChartViewService { } for (String parameter : chartExtFilterRequest.getParameters()) { - if(parameter.contains("|DE|")){ - if(!parameter.split("\\|DE\\|")[0].equals(table.getId())){ + if (parameter.contains("|DE|")) { + if (!parameter.split("\\|DE\\|")[0].equals(table.getId())) { continue; } List parameters = sqlVariables.stream().filter(item -> item.getVariableName().equalsIgnoreCase(parameter.split("\\|DE\\|")[1])).collect(Collectors.toList()); @@ -1619,7 +1645,7 @@ public class ChartViewService { String filter = qp.transFilter(chartExtFilterRequest, parameters.get(0)); sql = sql.replace("${" + parameter.split("\\|DE\\|")[1] + "}", filter); } - }else { + } else { List parameters = sqlVariables.stream().filter(item -> item.getVariableName().equalsIgnoreCase(parameter)).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(parameters)) { String filter = qp.transFilter(chartExtFilterRequest, parameters.get(0)); @@ -1656,49 +1682,46 @@ public class ChartViewService { JSONObject jsonObject = JSONObject.parseObject(customAttr); JSONObject size = jsonObject.getJSONObject("size"); - String gaugeMinType = size.getString("gaugeMinType"); - if (StringUtils.equalsIgnoreCase("dynamic", gaugeMinType)) { - JSONObject gaugeMinField = size.getJSONObject("gaugeMinField"); - String id = gaugeMinField.getString("id"); - String summary = gaugeMinField.getString("summary"); - DatasetTableField datasetTableField = dataSetTableFieldsService.get(id); - if (ObjectUtils.isNotEmpty(datasetTableField)) { - if (datasetTableField.getDeType() == 0 || datasetTableField.getDeType() == 1 || datasetTableField.getDeType() == 5) { - if (!StringUtils.containsIgnoreCase(summary, "count")) { - DEException.throwException(Translator.get("i18n_gauge_field_change")); - } - } - ChartViewFieldDTO dto = new ChartViewFieldDTO(); - BeanUtils.copyBean(dto, datasetTableField); - dto.setSummary(summary); - list.add(dto); - } else { - DEException.throwException(Translator.get("i18n_gauge_field_delete")); - } + ChartViewFieldDTO gaugeMinViewField = getDynamicField(size, "gaugeMinType", "gaugeMinField"); + if (gaugeMinViewField != null) { + list.add(gaugeMinViewField); } - String gaugeMaxType = size.getString("gaugeMaxType"); - if (StringUtils.equalsIgnoreCase("dynamic", gaugeMaxType)) { - JSONObject gaugeMaxField = size.getJSONObject("gaugeMaxField"); - String id = gaugeMaxField.getString("id"); - String summary = gaugeMaxField.getString("summary"); - DatasetTableField datasetTableField = dataSetTableFieldsService.get(id); - if (ObjectUtils.isNotEmpty(datasetTableField)) { - if (datasetTableField.getDeType() == 0 || datasetTableField.getDeType() == 1 || datasetTableField.getDeType() == 5) { - if (!StringUtils.containsIgnoreCase(summary, "count")) { - DEException.throwException(Translator.get("i18n_gauge_field_change")); - } - } - ChartViewFieldDTO dto = new ChartViewFieldDTO(); - BeanUtils.copyBean(dto, datasetTableField); - dto.setSummary(summary); - list.add(dto); - } else { - DEException.throwException(Translator.get("i18n_gauge_field_delete")); - } + ChartViewFieldDTO gaugeMaxViewField = getDynamicField(size, "gaugeMaxType", "gaugeMaxField"); + if (gaugeMaxViewField != null) { + list.add(gaugeMaxViewField); } + ChartViewFieldDTO liquidMaxViewField = getDynamicField(size, "liquidMaxType", "liquidMaxField"); + if (liquidMaxViewField != null) { + list.add(liquidMaxViewField); + } + return list; } + private ChartViewFieldDTO getDynamicField(JSONObject sizeObj, String type, String field) { + String maxType = sizeObj.getString(type); + if (StringUtils.equalsIgnoreCase("dynamic", maxType)) { + JSONObject maxField = sizeObj.getJSONObject(field); + String id = maxField.getString("id"); + String summary = maxField.getString("summary"); + DatasetTableField datasetTableField = dataSetTableFieldsService.get(id); + if (ObjectUtils.isNotEmpty(datasetTableField)) { + if (datasetTableField.getDeType() == 0 || datasetTableField.getDeType() == 1 || datasetTableField.getDeType() == 5) { + if (!StringUtils.containsIgnoreCase(summary, "count")) { + DEException.throwException(Translator.get("i18n_gauge_field_change")); + } + } + ChartViewFieldDTO dto = new ChartViewFieldDTO(); + BeanUtils.copyBean(dto, datasetTableField); + dto.setSummary(summary); + return dto; + } else { + DEException.throwException(Translator.get("i18n_gauge_field_delete")); + } + } + return null; + } + private List getDynamicAssistFields(ChartViewDTO view) { String senior = view.getSenior(); JSONObject jsonObject = JSONObject.parseObject(senior); diff --git a/backend/src/main/java/io/dataease/service/chart/FilterBuildTemplate.java b/backend/src/main/java/io/dataease/service/chart/FilterBuildTemplate.java index d0abe4a2a2..11d0539c63 100644 --- a/backend/src/main/java/io/dataease/service/chart/FilterBuildTemplate.java +++ b/backend/src/main/java/io/dataease/service/chart/FilterBuildTemplate.java @@ -23,10 +23,10 @@ public abstract class FilterBuildTemplate { List> filters = componentsFilter(components, "custom", null, null); - if(ObjectUtils.isNotEmpty(searchButton)) { + if (ObjectUtils.isNotEmpty(searchButton)) { Map options = (Map) searchButton.get("options"); Map attrs = (Map) options.get("attrs"); - Boolean customRange = (Boolean)attrs.get("customRange"); + Boolean customRange = (Boolean) attrs.get("customRange"); Boolean autoTrigger = (Boolean) attrs.get("autoTrigger"); List filterIds = (List) attrs.get("filterIds"); if (!autoTrigger) { // 不是自动触发 // 需要过滤掉按钮关联的条件组件 @@ -77,7 +77,7 @@ public abstract class FilterBuildTemplate { return ObjectUtils.isNotEmpty(condition) && CollectionUtils.isNotEmpty(condition.getValue()) && StringUtils.isNotBlank(condition.getValue().get(0)); } - private static Boolean viewIdMatch(List viewIds, String viewId) { + private static Boolean viewIdMatch(List viewIds, String viewId) { return CollectionUtils.isEmpty(viewIds) || viewIds.contains(viewId); } @@ -88,7 +88,7 @@ public abstract class FilterBuildTemplate { Map component = filterParamTO.getComponent(); Map attrs = (Map) ((Map) component.get("options")).get("attrs"); String fieldId = attrs.get("fieldId").toString(); - List viewIds = (List)attrs.get("viewIds"); + List viewIds = (List) attrs.get("viewIds"); List parameters = (List) attrs.get("parameters"); Boolean multiple = ObjectUtils.isNotEmpty(attrs.get("multiple")) && (Boolean) attrs.get("multiple"); if (isTree && !multiple && CollectionUtils.isNotEmpty(value)) { @@ -147,9 +147,9 @@ public abstract class FilterBuildTemplate { } public static List> componentsFilter(List> components, String type, - String componentType, String serviceName) { + String componentType, String serviceName) { return components.stream().filter(component -> { - String ctype = Optional.ofNullable(component.get("type")).orElse("").toString(); + String ctype = Optional.ofNullable(component.get("type")).orElse("").toString(); String cComponentType = Optional.ofNullable(component.get("component")).orElse("").toString(); String cServiceName = Optional.ofNullable(component.get("serviceName")).orElse("").toString(); @@ -180,10 +180,20 @@ public abstract class FilterBuildTemplate { beanMapping.put("numberRangeWidget", "numberRangeWidget"); beanMapping.put("textSelectTreeWidget", "textSelectTreeWidget"); beanMapping.put("textInputWidget", "textInputWidget"); + beanMapping.put("timeDateWidget", "timeDateWidget"); + beanMapping.put("timeMonthWidget", "timeMonthWidget"); + beanMapping.put("timeYearWidget", "timeYearWidget"); + beanMapping.put("timeDateRangeWidget", "timeDateRangeWidget"); String beanName = beanMapping.get(serviceName); if (StringUtils.isBlank(beanName) && StringUtils.containsIgnoreCase(serviceName, "select")) { beanName = "selectWidget"; } - return (FilterBuildTemplate)CommonBeanFactory.getBean(beanName); + + return (FilterBuildTemplate) CommonBeanFactory.getBean(beanName); + } + + protected Map buildAttrs(Map component) { + Map attrs = (Map) ((Map) component.get("options")).get("attrs"); + return attrs; } } diff --git a/backend/src/main/java/io/dataease/service/chart/ViewExportExcel.java b/backend/src/main/java/io/dataease/service/chart/ViewExportExcel.java index 136b036908..e910178fb8 100644 --- a/backend/src/main/java/io/dataease/service/chart/ViewExportExcel.java +++ b/backend/src/main/java/io/dataease/service/chart/ViewExportExcel.java @@ -114,7 +114,7 @@ public class ViewExportExcel { return filterInvalidDecimal(val.toString()); }).collect(Collectors.toList())).collect(Collectors.toList()); result.setHeads(heads); - result.setDatas(details); + result.setData(details); result.setSheetName(title); return result; diff --git a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java index 5e992c7ee6..5b54376b2c 100644 --- a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java +++ b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java @@ -105,7 +105,7 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService { String tableName = null; DataTableInfoDTO dataTableInfoDTO = new Gson().fromJson(pluginViewSet.getInfo(), DataTableInfoDTO.class); if (ObjectUtils.isNotEmpty(pluginViewSet.getMode()) && 1 == pluginViewSet.getMode()) { - tableName = TableUtils.tableName(pluginViewSet.getTabelId()); + tableName = TableUtils.tableName(pluginViewSet.getTableId()); }else { switch (DatasetType.getEnumObjByKey(pluginViewSet.getType())) { case DB: @@ -134,11 +134,11 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService { } } String keyword = ConstantsUtil.constantsValue(pluginViewSet.getDsType(), "KEYWORD_TABLE"); - String tabelName = (tableName.startsWith("(") && tableName.endsWith(")")) ? tableName : String.format(keyword, tableName); - String tabelAlias = String.format(TABLE_ALIAS_PREFIX, 0); - PluginViewSQL tableObj = PluginViewSQL.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + String realTableName = (tableName.startsWith("(") && tableName.endsWith(")")) ? tableName : String.format(keyword, tableName); + String tableAlias = String.format(TABLE_ALIAS_PREFIX, 0); + PluginViewSQL tableObj = PluginViewSQL.builder().tableName(realTableName).tableAlias(tableAlias).build(); QueryProvider queryProvider = ProviderFactory.getQueryProvider(pluginViewSet.getDsType()); - SQLObj sqlObj = SQLObj.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + SQLObj sqlObj = SQLObj.builder().tableName(realTableName).tableAlias(tableAlias).build(); PluginViewSetImpl child = (PluginViewSetImpl)pluginViewSet; queryProvider.setSchema(sqlObj, child.getDs()); tableObj.setTableName(sqlObj.getTableName()); diff --git a/backend/src/main/java/io/dataease/service/chart/build/TimeBuild.java b/backend/src/main/java/io/dataease/service/chart/build/TimeBuild.java new file mode 100644 index 0000000000..52165acebe --- /dev/null +++ b/backend/src/main/java/io/dataease/service/chart/build/TimeBuild.java @@ -0,0 +1,209 @@ +package io.dataease.service.chart.build; + +import io.dataease.commons.exception.DEException; +import io.dataease.commons.utils.LogUtil; +import io.dataease.dto.chart.FilterParamTO; +import io.dataease.service.chart.FilterBuildTemplate; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Method; +import java.util.*; +import java.util.stream.Collectors; + + +public abstract class TimeBuild extends FilterBuildTemplate { + + private static final String MULTIPLETYPE = "daterange"; + + @Override + protected FilterParamTO buildParam(Map component) { + FilterParamTO result = new FilterParamTO(); + result.setComponent(component); + result.setValue(null); + result.setOperator("between"); + result.setIsTree(false); + + Map options = (Map) component.get("options"); + Map attrs = (Map) options.get("attrs"); + Object valueObj = options.get("value"); + String defaultValue = ""; + boolean multiple = attrs.get("type").equals(MULTIPLETYPE); + Object defaultObject = attrs.get("default"); + Boolean isDynamic = false; + if (ObjectUtils.isNotEmpty(defaultObject)) { + Map defaultMap = (Map) defaultObject; + isDynamic = (Boolean) defaultMap.getOrDefault("isDynamic", false); + } + + List realValues = null; + + if (!ObjectUtils.isEmpty(valueObj)) { + if (valueObj instanceof List) { + defaultValue = ""; + } else { + defaultValue = valueObj.toString(); + } + } + String componentType = componentType(component); + String labelFormat = labelFormat(component); + if (isDynamic) { + List dynamicTimes = dynamicDateFromNow(component); + if (CollectionUtils.isNotEmpty(dynamicTimes)) { + int size = dynamicTimes.size(); + if (size > 1) { + String start = timeSection(String.valueOf(dynamicTimes.get(0)), multiple ? "datetime" : componentType, labelFormat).get(0); + String end = timeSection(String.valueOf(dynamicTimes.get(1)), multiple ? "datetime" : componentType, labelFormat).get(1); + realValues = add2List(start, end); + } else { + realValues = timeSection(String.valueOf(dynamicTimes.get(0)), componentType, labelFormat); + } + } + + } else { + if (StringUtils.isBlank(defaultValue)) { + realValues = new ArrayList<>(); + } else { + if (multiple) { + List realVals = Arrays.asList(defaultValue.split(",")); + String start = realVals.get(0); + String end = realVals.get(1); + start = timeSection(start, "datetime", labelFormat).get(0); + end = timeSection(end, "datetime", labelFormat).get(1); + realValues = add2List(start, end); + } else { + realValues = Arrays.asList(defaultValue.split(",")).stream().limit(1).collect(Collectors.toList()); + realValues = timeSection(realValues.get(0), componentType, labelFormat); + } + } + } + result.setValue(realValues); + + return result; + } + + public List timeSection(String sourceTimeStr, String type, String labelFormat) { + if (StringUtils.isBlank(sourceTimeStr)) return null; + Long sourceTime = Long.parseLong(sourceTimeStr); + + List result = new ArrayList<>(); + + List formatArr = new ArrayList<>(); + if (StringUtils.isNotBlank(labelFormat)) { + formatArr = Arrays.stream(labelFormat.split(" ")).collect(Collectors.toList()); + } + Integer[] fieldNames = {Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND}; + Calendar instance = Calendar.getInstance(); + instance.setTimeInMillis(sourceTime); + int methodsLen = fieldNames.length; + int childArrLength = 0; + if (StringUtils.equals("datetime", type) && formatArr.size() > 1) { + List childArr = new ArrayList<>(); + if (StringUtils.isNotBlank(formatArr.get(1))) { + childArr = Arrays.stream(formatArr.get(1).split(":")).collect(Collectors.toList()); + } + childArrLength = childArr.size(); + while (--methodsLen >= childArrLength) { + executeSetFieldValue(instance, fieldNames[methodsLen], 0); + } + } else { + for (int i = 0; i < methodsLen; i++) { + executeSetFieldValue(instance, fieldNames[i], 0); + } + } + + Calendar endInstance = Calendar.getInstance(); + endInstance.setTimeInMillis(instance.getTimeInMillis()); + if (StringUtils.equals("year", type)) { + instance.set(Calendar.MONTH, 0); + instance.set(Calendar.DATE, 1); + endInstance.setTimeInMillis(instance.getTimeInMillis()); + endInstance.set(Calendar.YEAR, endInstance.get(Calendar.YEAR) + 1); + endInstance.add(Calendar.SECOND, -1); + endInstance.roll(Calendar.MILLISECOND, -1); + + } + + if (StringUtils.equals("month", type)) { + instance.set(Calendar.DATE, 1); + endInstance.setTimeInMillis(instance.getTimeInMillis()); + endInstance.set(Calendar.MONTH, endInstance.get(Calendar.MONTH) + 1); + endInstance.add(Calendar.SECOND, -1); + endInstance.roll(Calendar.MILLISECOND, -1); + } + + if (StringUtils.equals("date", type)) { + endInstance.set(Calendar.DATE, endInstance.get(Calendar.DATE) + 1); + endInstance.add(Calendar.SECOND, -1); + endInstance.roll(Calendar.MILLISECOND, -1); + } + + if (StringUtils.equals("datetime", type)) { + if (childArrLength == 0) { + endInstance.set(Calendar.DATE, endInstance.get(Calendar.DATE) + 1); + } else { + Integer fieldNameFlag = fieldNames[childArrLength - 1]; + endInstance.set(fieldNameFlag, endInstance.get(fieldNameFlag) + 1); + } + endInstance.add(Calendar.SECOND, -1); + endInstance.roll(Calendar.MILLISECOND, -1); + } + + result.add(String.valueOf(instance.getTimeInMillis())); + result.add(String.valueOf(endInstance.getTimeInMillis())); + return result; + } + + private void executeSetFieldValue(Calendar instance, Integer fieldFlag, Object value) { + try { + Method setMethod = instance.getClass().getMethod("set", int.class, int.class); + setMethod.invoke(instance, fieldFlag, value); + } catch (Exception e) { + DEException.throwException(e); + LogUtil.error(e.getMessage(), e); + } + } + + public Boolean isTimeWidget(String serviceName) { + if (StringUtils.isBlank(serviceName)) return false; + String[] timeWidgets = {"timeDateWidget", "timeDateRangeWidget"}; + return Arrays.stream(timeWidgets).anyMatch(widget -> StringUtils.equals(widget, serviceName)); + } + + public Boolean showTime(Map component) { + Map attrs = (Map) ((Map) component.get("options")).get("attrs"); + if (ObjectUtils.isNotEmpty(attrs.get("showTime"))) { + return (boolean) attrs.get("showTime"); + } + return false; + } + + public String componentType(Map component) { + Map attrs = (Map) ((Map) component.get("options")).get("attrs"); + String result = ObjectUtils.isEmpty(attrs.get("type")) ? "date" : attrs.get("type").toString(); + String serviceName = component.get("serviceName").toString(); + if (isTimeWidget(serviceName) && showTime(component)) { + result = StringUtils.equals("timeDateWidget", serviceName) ? "datetime" : "datetimerange"; + } + return result; + } + + public String labelFormat(Map component) { + String result = "yyyy-MM-dd"; + Map attrs = (Map) ((Map) component.get("options")).get("attrs"); + String serviceName = component.get("serviceName").toString(); + if (isTimeWidget(serviceName) && showTime(component) && ObjectUtils.isNotEmpty(attrs.get("accuracy"))) { + return result + " " + attrs.get("accuracy"); + } + return result; + } + + public List add2List(Object... elements) { + return Arrays.stream(elements).collect(Collectors.toList()); + } + + public abstract List dynamicDateFromNow(Map component); + + +} diff --git a/backend/src/main/java/io/dataease/service/chart/build/TimeYearBuild.java b/backend/src/main/java/io/dataease/service/chart/build/TimeYearBuild.java deleted file mode 100644 index 76581fe6d1..0000000000 --- a/backend/src/main/java/io/dataease/service/chart/build/TimeYearBuild.java +++ /dev/null @@ -1,73 +0,0 @@ -package io.dataease.service.chart.build; - -import io.dataease.dto.chart.FilterParamTO; -import io.dataease.service.chart.FilterBuildTemplate; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.*; -import java.util.stream.Collectors; - - -public class TimeYearBuild extends FilterBuildTemplate { - @Override - protected FilterParamTO buildParam(Map component) { - List realVals = null; - Object valueObj = null; - String defaultValue = ""; - Map options = (Map) component.get("options"); - Map attrs = (Map) options.get("attrs"); - Object aDefault = attrs.get("default"); - Boolean isDynamic = (Boolean) attrs.getOrDefault("isDynamic", false); - if (ObjectUtils.isNotEmpty(aDefault) && isDynamic) { - Long aLong = dynamicDateFormNow(component); - realVals = new ArrayList<>(); - realVals.add(aLong.toString()); - }else { - if(!ObjectUtils.isEmpty(valueObj)) { - if(valueObj instanceof List) { - defaultValue = ""; - }else { - defaultValue = valueObj.toString(); - } - } - if (StringUtils.isBlank(defaultValue)) { - realVals = new ArrayList<>(); - }else { - realVals = Arrays.asList(defaultValue.split(",")).stream().limit(1).collect(Collectors.toList()); - } - } - - - - return null; - } - - - private Long dynamicDateFormNow(Map component) { - Map attrs = (Map) ((Map) component.get("options")).get("attrs"); - Object aDefault = attrs.get("default"); - Boolean isDynamic = (Boolean) attrs.getOrDefault("isDynamic", false); - if (ObjectUtils.isEmpty(aDefault) || !isDynamic) return null; - - Calendar now = Calendar.getInstance(); - int nowYear = now.get(Calendar.YEAR); - Map aDefaultMap = (Map) aDefault; - if (Integer.parseInt(aDefaultMap.get("dkey").toString()) == 0){ - now.set(nowYear, 0, 1, 0, 0, 0); - return now.getTimeInMillis(); - } - if (Integer.parseInt(aDefaultMap.get("dkey").toString()) == 1){ - now.set(nowYear - 1, 0, 1, 0, 0, 0); - return now.getTimeInMillis(); - } - if (Integer.parseInt(aDefaultMap.get("dkey").toString()) == 2){ - int dynamicPrefix = Integer.parseInt(aDefaultMap.get("dynamicPrefix").toString()); - String dynamicSuffix = aDefaultMap.get("dynamicSuffix").toString(); - now.set(StringUtils.equals("before", dynamicSuffix) ? (nowYear - dynamicPrefix) : (nowYear + dynamicPrefix), 0, 1, 0, 0, 0); - return now.getTimeInMillis(); - } - return 0L; - } -} diff --git a/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateBuild.java b/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateBuild.java new file mode 100644 index 0000000000..8c46f7b31a --- /dev/null +++ b/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateBuild.java @@ -0,0 +1,79 @@ +package io.dataease.service.chart.build.time; + +import io.dataease.service.chart.build.TimeBuild; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +@Service("timeDateWidget") +public class TimeDateBuild extends TimeBuild { + public List dynamicDateFromNow(Map component) { + Map attrs = buildAttrs(component); + Object defaultObject = attrs.get("default"); + + Boolean isDynamic = false; + Map defaultMap = null; + if (ObjectUtils.isNotEmpty(defaultObject)) { + defaultMap = (Map) defaultObject; + isDynamic = (Boolean) defaultMap.getOrDefault("isDynamic", false); + } + if (ObjectUtils.isEmpty(defaultObject) || !isDynamic) return null; + + Calendar now = Calendar.getInstance(); + int nowYear = now.get(Calendar.YEAR); + int nowMonth = now.get(Calendar.MONTH); + int nowDate = now.get(Calendar.DATE); + int dkey = (int) Double.parseDouble(defaultMap.get("dkey").toString()); + if (dkey == 0) { + now.set(nowYear, nowMonth, nowDate, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 1) { + now.set(nowYear, nowMonth, nowDate - 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + + if (dkey == 2) { + now.set(nowYear, nowMonth, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + + if (dkey == 4) { + now.set(nowYear, 0, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + + if (dkey == 3) { + int dynamicPrefix = (int) Double.parseDouble(defaultMap.get("dynamicPrefix").toString()); + String dynamicInfill = defaultMap.get("dynamicInfill").toString(); + String dynamicSuffix = defaultMap.get("dynamicSuffix").toString(); + now.set(nowYear, nowMonth, nowDate, 0, 0, 0); + if (StringUtils.equals("day", dynamicInfill)) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.roll(Calendar.DATE, step); + return add2List(now.getTimeInMillis()); + } + if (StringUtils.equals("week", dynamicInfill)) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1) * 7; + now.roll(Calendar.DATE, step); + return add2List(now.getTimeInMillis()); + } + if (StringUtils.equals("month", dynamicInfill)) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.roll(Calendar.MONTH, step); + return add2List(now.getTimeInMillis()); + } + if (StringUtils.equals("year", dynamicInfill)) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.roll(Calendar.YEAR, step); + return add2List(now.getTimeInMillis()); + } + } + + return null; + } +} diff --git a/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateRangeBuild.java b/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateRangeBuild.java new file mode 100644 index 0000000000..7e754f44e7 --- /dev/null +++ b/backend/src/main/java/io/dataease/service/chart/build/time/TimeDateRangeBuild.java @@ -0,0 +1,149 @@ +package io.dataease.service.chart.build.time; + +import io.dataease.service.chart.build.TimeBuild; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +@Service("timeDateRangeWidget") +public class TimeDateRangeBuild extends TimeBuild { + @Override + public List dynamicDateFromNow(Map component) { + + Map attrs = buildAttrs(component); + Object defaultObject = null; + if ((defaultObject = attrs.get("default")) == null) return null; + Map defaultMap = (Map) defaultObject; + + Boolean isDynamic = (Boolean) defaultMap.getOrDefault("isDynamic", false); + if (!isDynamic) return null; + + int dkey = (int) Double.parseDouble(defaultMap.get("dkey").toString()); + Calendar now = Calendar.getInstance(); + now.set(Calendar.HOUR_OF_DAY, 0); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + now.set(Calendar.MILLISECOND, 0); + if (dkey % 5 == 0) { + if (dkey == 5) { + now.add(Calendar.DATE, -7); + } + now.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + long start = now.getTimeInMillis(); + now.add(Calendar.DATE, 7); + now.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + long end = now.getTimeInMillis(); + return add2List(start, end); + } + + if (dkey == 1) { + Calendar endBase = (Calendar) now.clone(); + now.set(Calendar.DAY_OF_MONTH, 1); + long start = now.getTimeInMillis(); + endBase.add(Calendar.MONTH, 1); + endBase.set(Calendar.DAY_OF_MONTH, 0); + long end = endBase.getTimeInMillis(); + return add2List(start, end); + } + if (dkey == 6) { + Calendar endBase = (Calendar) now.clone(); + now.add(Calendar.MONTH, -1); + now.set(Calendar.DAY_OF_MONTH, 1); + long start = now.getTimeInMillis(); + endBase.set(Calendar.DAY_OF_MONTH, 0); + long end = endBase.getTimeInMillis(); + return add2List(start, end); + } + + if (dkey % 5 == 2) { + int step = 0; + if (dkey == 7) { + step = -1; + } + Calendar endBase = (Calendar) now.clone(); + Long start = quarterBegin(now, step); + Long end = quarterEnd(endBase, step); + return add2List(start, end); + } + + if (dkey == 3) { + now.set(Calendar.MONTH, 0); + now.set(Calendar.DAY_OF_MONTH, 1); + long start = now.getTimeInMillis(); + now.add(Calendar.YEAR, 1); + now.add(Calendar.DAY_OF_MONTH, -1); + long end = now.getTimeInMillis(); + return add2List(start, end); + } + if (dkey == 8) { + now.add(Calendar.YEAR, -1); + now.set(Calendar.MONTH, 0); + now.set(Calendar.DAY_OF_MONTH, 1); + long start = now.getTimeInMillis(); + now.add(Calendar.YEAR, 1); + now.add(Calendar.DAY_OF_MONTH, -1); + long end = now.getTimeInMillis(); + return add2List(start, end); + } + + if (dkey == 4) { + Object startDynamicObject = defaultMap.get("sDynamicPrefix"); + Object endDynamicObject = defaultMap.get("eDynamicPrefix"); + if (ObjectUtils.isNotEmpty(startDynamicObject) && ObjectUtils.isNotEmpty(endDynamicObject)) { + String startDynamicInfill = defaultMap.get("sDynamicInfill").toString(); + String endDynamicInfill = defaultMap.get("eDynamicInfill").toString(); + String startDynamicSuffix = defaultMap.get("sDynamicSuffix").toString(); + String endDynamicSuffix = defaultMap.get("eDynamicSuffix").toString(); + int startDynamic = (int) Double.parseDouble(startDynamicObject.toString()); + int endDynamic = (int) Double.parseDouble(endDynamicObject.toString()); + Calendar endBase = (Calendar) now.clone(); + Long start = customTime(now, startDynamic, startDynamicInfill, startDynamicSuffix); + Long end = customTime(endBase, endDynamic, endDynamicInfill, endDynamicSuffix); + return add2List(start, end); + } + } + + return null; + } + + private Long customTime(Calendar now, int dynamicPrefix, String dynamicInfill, String dynamicSuffix) { + if (StringUtils.equals(dynamicInfill, "day")) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.add(Calendar.DAY_OF_MONTH, step); + } + if (StringUtils.equals(dynamicInfill, "week")) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1) * 7; + now.add(Calendar.DAY_OF_MONTH, step); + } + if (StringUtils.equals(dynamicInfill, "month")) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.add(Calendar.MONTH, step); + } + if (StringUtils.equals("year", dynamicInfill)) { + int step = dynamicPrefix * (StringUtils.equals("before", dynamicSuffix) ? -1 : 1); + now.add(Calendar.YEAR, step); + } + return now.getTimeInMillis(); + } + + private Long quarterBegin(Calendar instance, int step) { + int month = instance.get(Calendar.MONTH); + int quarterBegin = (int) Math.floor(month / 3) * 3; + instance.set(Calendar.MONTH, quarterBegin + (3 * step)); + instance.set(Calendar.DAY_OF_MONTH, 1); + return instance.getTimeInMillis(); + } + + private Long quarterEnd(Calendar instance, int step) { + int month = instance.get(Calendar.MONTH); + int quarterBegin = (int) Math.floor(month / 3) * 3; + instance.set(Calendar.MONTH, quarterBegin + (3 * (step + 1))); + instance.set(Calendar.DAY_OF_MONTH, 1); + instance.add(Calendar.DATE, -1); + return instance.getTimeInMillis(); + } +} diff --git a/backend/src/main/java/io/dataease/service/chart/build/time/TimeMonthBuild.java b/backend/src/main/java/io/dataease/service/chart/build/time/TimeMonthBuild.java new file mode 100644 index 0000000000..166046d9cd --- /dev/null +++ b/backend/src/main/java/io/dataease/service/chart/build/time/TimeMonthBuild.java @@ -0,0 +1,55 @@ +package io.dataease.service.chart.build.time; + +import io.dataease.service.chart.build.TimeBuild; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +@Service("timeMonthWidget") +public class TimeMonthBuild extends TimeBuild { + @Override + public List dynamicDateFromNow(Map component) { + Map attrs = buildAttrs(component); + + Object defaultObject = attrs.get("default"); + + if (ObjectUtils.isEmpty(defaultObject)) return null; + Map defaultMap = (Map) defaultObject; + + Boolean isDynamic = (Boolean) defaultMap.getOrDefault("isDynamic", false); + if (!isDynamic) return null; + Calendar now = Calendar.getInstance(); + int nowYear = now.get(Calendar.YEAR); + int nowMonth = now.get(Calendar.MONTH); + + int dkey = (int) Double.parseDouble(defaultMap.get("dkey").toString()); + if (dkey == 0) { + now.set(nowYear, nowMonth, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 1) { + now.set(nowYear, nowMonth - 1, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 2) { + now.set(nowYear, 0, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 4) { + now.set(nowYear - 1, nowMonth, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 3) { + int dynamicPrefix = (int) Double.parseDouble(defaultMap.get("dynamicPrefix").toString()); + String dynamicSuffix = defaultMap.get("dynamicSuffix").toString(); + int targetMonth = StringUtils.equals("before", dynamicSuffix) ? (nowMonth - dynamicPrefix) : (nowMonth + dynamicPrefix); + now.set(nowYear, targetMonth, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + return null; + } +} diff --git a/backend/src/main/java/io/dataease/service/chart/build/time/TimeYearBuild.java b/backend/src/main/java/io/dataease/service/chart/build/time/TimeYearBuild.java new file mode 100644 index 0000000000..68246597ad --- /dev/null +++ b/backend/src/main/java/io/dataease/service/chart/build/time/TimeYearBuild.java @@ -0,0 +1,47 @@ +package io.dataease.service.chart.build.time; + +import io.dataease.service.chart.build.TimeBuild; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +@Service("timeYearWidget") +public class TimeYearBuild extends TimeBuild { + @Override + public List dynamicDateFromNow(Map component) { + + Boolean isDynamic = false; + Map defaultMap = null; + Map attrs = buildAttrs(component); + Object defaultObject = attrs.get("default"); + if (ObjectUtils.isNotEmpty(defaultObject)) { + defaultMap = (Map) defaultObject; + isDynamic = (Boolean) defaultMap.getOrDefault("isDynamic", false); + } + if (ObjectUtils.isEmpty(defaultObject) || !isDynamic) return null; + + Calendar now = Calendar.getInstance(); + int nowYear = now.get(Calendar.YEAR); + int dkey = (int) Double.parseDouble(defaultMap.get("dkey").toString()); + if (dkey == 0) { + now.set(nowYear, 0, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 1) { + now.set(nowYear - 1, 0, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + if (dkey == 2) { + int dynamicPrefix = (int) Double.parseDouble(defaultMap.get("dynamicPrefix").toString()); + String dynamicSuffix = defaultMap.get("dynamicSuffix").toString(); + now.set(StringUtils.equals("before", dynamicSuffix) ? (nowYear - dynamicPrefix) : (nowYear + dynamicPrefix), 0, 1, 0, 0, 0); + return add2List(now.getTimeInMillis()); + } + return null; + } + +} diff --git a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index b403f1e41f..7314367c28 100644 --- a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -18,7 +18,7 @@ public class ChartDataBuild { public static Map transChartDataAntV(List xAxis, List yAxis, ChartViewWithBLOBs view, List data, boolean isDrill) { Map map = new HashMap<>(); - List datas = new ArrayList<>(); + List dataList = new ArrayList<>(); for (int i1 = 0; i1 < data.size(); i1++) { String[] row = data.get(i1); @@ -65,7 +65,7 @@ public class ChartDataBuild { } axisChartDataDTO.setCategory(yAxis.get(j).getName()); } - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } else { for (int i = xAxis.size(); i < xAxis.size() + yAxis.size(); i++) { @@ -95,18 +95,18 @@ public class ChartDataBuild { axisChartDataDTO.setValue(new BigDecimal(0)); } axisChartDataDTO.setCategory(yAxis.get(j).getName()); - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } } - map.put("datas", datas); + map.put("data", dataList); return map; } public static Map transBaseGroupDataAntV(List xAxisBase, List xAxis, List xAxisExt, List yAxis, ChartViewWithBLOBs view, List data, boolean isDrill) { Map map = new HashMap<>(); - List datas = new ArrayList<>(); + List dataList = new ArrayList<>(); for (int i1 = 0; i1 < data.size(); i1++) { String[] row = data.get(i1); @@ -159,10 +159,10 @@ public class ChartDataBuild { axisChartDataDTO.setValue(new BigDecimal(0)); } axisChartDataDTO.setCategory(b.toString()); - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } - map.put("datas", datas); + map.put("data", dataList); return map; } @@ -170,7 +170,7 @@ public class ChartDataBuild { public static Map transStackChartDataAntV(List xAxis, List yAxis, ChartViewWithBLOBs view, List data, List extStack, boolean isDrill) { Map map = new HashMap<>(); - List datas = new ArrayList<>(); + List dataList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(extStack)) { for (int i1 = 0; i1 < data.size(); i1++) { @@ -219,7 +219,7 @@ public class ChartDataBuild { axisChartDataDTO.setQuotaList(quotaList); axisChartDataDTO.setValue(new BigDecimal(0)); } - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } else { for (int i1 = 0; i1 < data.size(); i1++) { @@ -265,11 +265,11 @@ public class ChartDataBuild { axisChartDataDTO.setValue(new BigDecimal(0)); } axisChartDataDTO.setCategory(yAxis.get(j).getName()); - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } } - map.put("datas", datas); + map.put("data", dataList); return map; } @@ -277,7 +277,7 @@ public class ChartDataBuild { public static Map transScatterDataAntV(List xAxis, List yAxis, ChartViewWithBLOBs view, List data, List extBubble, boolean isDrill) { Map map = new HashMap<>(); - List datas = new ArrayList<>(); + List dataList = new ArrayList<>(); for (int i1 = 0; i1 < data.size(); i1++) { String[] row = data.get(i1); @@ -329,10 +329,10 @@ public class ChartDataBuild { axisChartDataDTO.setPopSize(new BigDecimal(0)); } } - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } - map.put("datas", datas); + map.put("data", dataList); return map; } @@ -340,7 +340,7 @@ public class ChartDataBuild { public static Map transRadarChartDataAntV(List xAxis, List yAxis, ChartViewWithBLOBs view, List data, boolean isDrill) { Map map = new HashMap<>(); - List datas = new ArrayList<>(); + List dataList = new ArrayList<>(); for (int i1 = 0; i1 < data.size(); i1++) { String[] row = data.get(i1); @@ -384,10 +384,10 @@ public class ChartDataBuild { axisChartDataDTO.setValue(new BigDecimal(0)); } axisChartDataDTO.setCategory(yAxis.get(j).getName()); - datas.add(axisChartDataDTO); + dataList.add(axisChartDataDTO); } } - map.put("datas", datas); + map.put("data", dataList); return map; } @@ -450,7 +450,7 @@ public class ChartDataBuild { } } - map.put("datas", series); + map.put("data", series); return map; } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 5822c8631b..a3daa200d0 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -510,7 +510,7 @@ public class DataSetTableService { DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(ds); datasourceRequest.setTable(new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class).getTable()); - return datasourceProvider.getTableFileds(datasourceRequest); + return datasourceProvider.getTableFields(datasourceRequest); } public Map> getFieldsFromDE(DataSetTableRequest dataSetTableRequest) @@ -519,7 +519,7 @@ public class DataSetTableService { datasetTableField.setTableId(dataSetTableRequest.getId()); datasetTableField.setChecked(Boolean.TRUE); List fields = dataSetTableFieldsService.list(datasetTableField); - fields = permissionService.filterColumnPermissons(fields, new ArrayList<>(), dataSetTableRequest.getId(), null); + fields = permissionService.filterColumnPermissions(fields, new ArrayList<>(), dataSetTableRequest.getId(), null); List dimension = new ArrayList<>(); List quota = new ArrayList<>(); @@ -556,7 +556,7 @@ public class DataSetTableService { public Map getPreviewData(DataSetTableRequest dataSetTableRequest, Integer page, Integer pageSize, List extFields) throws Exception { Map map = new HashMap<>(); - String sycnStatus = ""; + String syncStatus = ""; DatasetTableField datasetTableField = DatasetTableField.builder().tableId(dataSetTableRequest.getId()) .checked(Boolean.TRUE).build(); List fields = dataSetTableFieldsService.list(datasetTableField); @@ -574,7 +574,7 @@ public class DataSetTableService { List rowPermissionsTree = permissionsTreeService.getRowPermissionsTree(fields, datasetTable, null); // 列权限 List desensitizationList = new ArrayList<>(); - fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), null); + fields = permissionService.filterColumnPermissions(fields, desensitizationList, datasetTable.getId(), null); if (CollectionUtils.isEmpty(fields)) { map.put("fields", fields); map.put("data", new ArrayList<>()); @@ -783,7 +783,7 @@ public class DataSetTableService { List dataSetTaskLogDTOS = dataSetTableTaskLogService.listTaskLog(request, "excel"); if (CollectionUtils.isNotEmpty(dataSetTaskLogDTOS)) { dataSetTaskLogDTOS.get(0).getStatus().equalsIgnoreCase(JobStatus.Underway.name()); - sycnStatus = dataSetTaskLogDTOS.get(0).getStatus(); + syncStatus = dataSetTaskLogDTOS.get(0).getStatus(); } } else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "custom")) { @@ -951,7 +951,7 @@ public class DataSetTableService { map.put("fields", fields); map.put("data", jsonArray); map.put("page", dataSetPreviewPage); - map.put("sycnStatus", sycnStatus); + map.put("syncStatus", syncStatus); return map; } @@ -1109,7 +1109,7 @@ public class DataSetTableService { binaryExpression = (BinaryExpression) expr; } catch (Exception e) { } - if (binaryExpression != null && !(binaryExpression.getLeftExpression() instanceof BinaryExpression) && !(binaryExpression.getRightExpression() instanceof BinaryExpression) && hasVarible(binaryExpression.toString())) { + if (binaryExpression != null && !(binaryExpression.getLeftExpression() instanceof BinaryExpression) && !(binaryExpression.getRightExpression() instanceof BinaryExpression) && hasVariable(binaryExpression.toString())) { stringBuilder.append(SubstitutedSql); } else { expr.accept(getExpressionDeParser(stringBuilder)); @@ -2112,7 +2112,7 @@ public class DataSetTableService { return o1.getColumnIndex().compareTo(o2.getColumnIndex()); }); - List originNameFileds = datasetTableFields.stream().map(DatasetTableField::getOriginName) + List originNameFields = datasetTableFields.stream().map(DatasetTableField::getOriginName) .collect(Collectors.toList()); Datasource ds = datasourceMapper.selectByPrimaryKey(datasetTable.getDataSourceId()); QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); @@ -2125,18 +2125,18 @@ public class DataSetTableService { .replace(lastUpdateTime, Long.valueOf(System.currentTimeMillis()).toString()) .replace(currentUpdateTime, Long.valueOf(System.currentTimeMillis()).toString()); datasourceRequest.setQuery(qp.wrapSql(sql)); - List sqlFileds = new ArrayList<>(); + List sqlFields = new ArrayList<>(); try { datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableField::getFieldName) .forEach(field -> { - sqlFileds.add(field); + sqlFields.add(field); }); } catch (Exception e) { DataEaseException.throwException(Translator.get("i18n_check_sql_error") + e.getMessage()); } - if (!originNameFileds.equals(sqlFileds)) { - DataEaseException.throwException(Translator.get("i18n_sql_add_not_matching") + sqlFileds.toString()); + if (!originNameFields.equals(sqlFields)) { + DataEaseException.throwException(Translator.get("i18n_sql_add_not_matching") + sqlFields.toString()); } } if (StringUtils.isNotEmpty(datasetTableIncrementalConfig.getIncrementalDelete()) @@ -2145,16 +2145,16 @@ public class DataSetTableService { .replace(lastUpdateTime, Long.valueOf(System.currentTimeMillis()).toString()) .replace(currentUpdateTime, Long.valueOf(System.currentTimeMillis()).toString()); datasourceRequest.setQuery(qp.wrapSql(sql)); - List sqlFileds = new ArrayList<>(); + List sqlFields = new ArrayList<>(); try { datasourceProvider.fetchResultField(datasourceRequest).stream().map(TableField::getFieldName) - .forEach(field -> sqlFileds.add(field)); + .forEach(field -> sqlFields.add(field)); } catch (Exception e) { DataEaseException.throwException(Translator.get("i18n_check_sql_error") + e.getMessage()); } - if (!originNameFileds.equals(sqlFileds)) { - DataEaseException.throwException(Translator.get("i18n_sql_delete_not_matching") + sqlFileds.toString()); + if (!originNameFields.equals(sqlFields)) { + DataEaseException.throwException(Translator.get("i18n_sql_delete_not_matching") + sqlFields.toString()); } } } @@ -2218,7 +2218,7 @@ public class DataSetTableService { String filename = file.getOriginalFilename(); // parse file List excelSheetDataList = parseExcel(filename, file.getInputStream(), true); - List retrunSheetDataList = new ArrayList<>(); + List returnSheetDataList = new ArrayList<>(); if (StringUtils.isNotEmpty(tableId)) { List fields = dataSetTableFieldsService.getFieldsByTableId(tableId); @@ -2240,10 +2240,10 @@ public class DataSetTableService { List tableFields = excelSheetData.getFields(); List newFields = tableFields.stream().map(TableField::getRemarks).collect(Collectors.toList()); if (oldFields.equals(newFields)) { - retrunSheetDataList.add(excelSheetData); + returnSheetDataList.add(excelSheetData); } } - if (retrunSheetDataList.size() == 0) { + if (returnSheetDataList.size() == 0) { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } } else { @@ -2278,41 +2278,41 @@ public class DataSetTableService { } excelSheetData.setEffectExtField(effectExtField); - retrunSheetDataList.add(excelSheetData); + returnSheetDataList.add(excelSheetData); } - if (retrunSheetDataList.size() == 0) { + if (returnSheetDataList.size() == 0) { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } } } else { - retrunSheetDataList = excelSheetDataList; + returnSheetDataList = excelSheetDataList; } - retrunSheetDataList = retrunSheetDataList.stream() + returnSheetDataList = returnSheetDataList.stream() .filter(excelSheetData -> CollectionUtils.isNotEmpty(excelSheetData.getFields())) .collect(Collectors.toList()); // save file String excelId = UUID.randomUUID().toString(); String filePath = saveFile(file, excelId); ExcelFileData excelFileData = new ExcelFileData(); - excelFileData.setExcelLable(filename); + excelFileData.setExcelLabel(filename); excelFileData.setId(excelId); excelFileData.setPath(filePath); filename = filename.substring(0, filename.lastIndexOf('.')); - if (retrunSheetDataList.size() == 1) { - retrunSheetDataList.get(0).setDatasetName(filename); - retrunSheetDataList.get(0).setSheetExcelId(excelId); - retrunSheetDataList.get(0).setId(UUID.randomUUID().toString()); - retrunSheetDataList.get(0).setPath(filePath); + if (returnSheetDataList.size() == 1) { + returnSheetDataList.get(0).setDatasetName(filename); + returnSheetDataList.get(0).setSheetExcelId(excelId); + returnSheetDataList.get(0).setId(UUID.randomUUID().toString()); + returnSheetDataList.get(0).setPath(filePath); } else { - for (ExcelSheetData excelSheetData : retrunSheetDataList) { - excelSheetData.setDatasetName(filename + "-" + excelSheetData.getExcelLable()); + for (ExcelSheetData excelSheetData : returnSheetDataList) { + excelSheetData.setDatasetName(filename + "-" + excelSheetData.getExcelLabel()); excelSheetData.setSheetExcelId(excelId); excelSheetData.setId(UUID.randomUUID().toString()); excelSheetData.setPath(filePath); } } - excelFileData.setSheets(retrunSheetDataList); + excelFileData.setSheets(returnSheetDataList); return excelFileData; } @@ -2359,7 +2359,7 @@ public class DataSetTableService { String[] fieldArray = fields.stream().map(TableField::getFieldName).toArray(String[]::new); excelSheetData.setFields(fields); excelSheetData.setData(data); - excelSheetData.setExcelLable(filename); + excelSheetData.setExcelLabel(filename); excelSheetData.setFieldsMd5(Md5Utils.md5(StringUtils.join(fieldArray, ","))); excelSheetDataList.add(excelSheetData); } @@ -2644,7 +2644,7 @@ public class DataSetTableService { @Override public void visit(Between between) { - if (hasVarible(between.getBetweenExpressionStart().toString()) || hasVarible(between.getBetweenExpressionEnd().toString())) { + if (hasVariable(between.getBetweenExpressionStart().toString()) || hasVariable(between.getBetweenExpressionEnd().toString())) { getBuffer().append(SubstitutedSql); } else { getBuffer().append(between.getLeftExpression()).append(" BETWEEN ").append(between.getBetweenExpressionStart()).append(" AND ").append(between.getBetweenExpressionEnd()); @@ -2653,7 +2653,7 @@ public class DataSetTableService { @Override public void visit(MinorThan minorThan) { - if (hasVarible(minorThan.getLeftExpression().toString()) || hasVarible(minorThan.getRightExpression().toString())) { + if (hasVariable(minorThan.getLeftExpression().toString()) || hasVariable(minorThan.getRightExpression().toString())) { getBuffer().append(SubstitutedSql); return; } @@ -2664,7 +2664,7 @@ public class DataSetTableService { @Override public void visit(MinorThanEquals minorThan) { - if (hasVarible(minorThan.getLeftExpression().toString()) || hasVarible(minorThan.getRightExpression().toString())) { + if (hasVariable(minorThan.getLeftExpression().toString()) || hasVariable(minorThan.getRightExpression().toString())) { getBuffer().append(SubstitutedSql); return; } @@ -2675,7 +2675,7 @@ public class DataSetTableService { @Override public void visit(GreaterThanEquals minorThan) { - if (hasVarible(minorThan.getLeftExpression().toString()) || hasVarible(minorThan.getRightExpression().toString())) { + if (hasVariable(minorThan.getLeftExpression().toString()) || hasVariable(minorThan.getRightExpression().toString())) { getBuffer().append(SubstitutedSql); return; } @@ -2686,7 +2686,7 @@ public class DataSetTableService { @Override public void visit(GreaterThan greaterThan) { - if (hasVarible(greaterThan.getLeftExpression().toString()) || hasVarible(greaterThan.getRightExpression().toString())) { + if (hasVariable(greaterThan.getLeftExpression().toString()) || hasVariable(greaterThan.getRightExpression().toString())) { getBuffer().append(SubstitutedSql); return; } @@ -2708,7 +2708,7 @@ public class DataSetTableService { @Override public void visit(LikeExpression likeExpression) { - if (hasVarible(likeExpression.toString())) { + if (hasVariable(likeExpression.toString())) { getBuffer().append(SubstitutedSql); return; } @@ -2723,7 +2723,7 @@ public class DataSetTableService { @Override public void visit(InExpression inExpression) { - if (inExpression.getRightItemsList() != null && hasVarible(inExpression.getRightItemsList().toString())) { + if (inExpression.getRightItemsList() != null && hasVariable(inExpression.getRightItemsList().toString())) { stringBuilder.append(SubstitutedSql); return; } @@ -2752,7 +2752,7 @@ public class DataSetTableService { public void visit(SubSelect subSelect) { StringBuilder stringBuilder = new StringBuilder(); Expression in = ((PlainSelect) subSelect.getSelectBody()).getWhere(); - if (in instanceof BinaryExpression && hasVarible(in.toString())) { + if (in instanceof BinaryExpression && hasVariable(in.toString())) { stringBuilder.append(SubstitutedParams); } else { in.accept(getExpressionDeParser(stringBuilder)); @@ -2777,7 +2777,7 @@ public class DataSetTableService { e.printStackTrace(); } - if (expr.getLeftExpression() instanceof BinaryExpression && !hasSubBinaryExpression && hasVarible(expr.getLeftExpression().toString())) { + if (expr.getLeftExpression() instanceof BinaryExpression && !hasSubBinaryExpression && hasVariable(expr.getLeftExpression().toString())) { getBuffer().append(SubstitutedSql); } else { expr.getLeftExpression().accept(this); @@ -2791,7 +2791,7 @@ public class DataSetTableService { } catch (Exception e) { } - if (expr.getRightExpression() instanceof BinaryExpression && !hasSubBinaryExpression && hasVarible(expr.getRightExpression().toString())) { + if (expr.getRightExpression() instanceof BinaryExpression && !hasSubBinaryExpression && hasVariable(expr.getRightExpression().toString())) { getBuffer().append(SubstitutedSql); } else { expr.getRightExpression().accept(this); @@ -2801,7 +2801,7 @@ public class DataSetTableService { return expressionDeParser; } - static private boolean hasVarible(String sql) { + static private boolean hasVariable(String sql) { return sql.contains(SubstitutedParams); } diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index c6c7a6d2fa..3ace12e750 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -99,7 +99,7 @@ public class ExtractDataService { private static final String lastUpdateTime = "${__last_update_time__}"; private static final String currentUpdateTime = "${__current_update_time__}"; private static final String separator = "|DE|"; - private static final String extention = "txt"; + private static final String extension = "txt"; private static final String root_path = "/opt/dataease/data/kettle/"; @Value("${kettle.files.keep:false}") @@ -471,11 +471,11 @@ public class ExtractDataService { } switch (extractType) { case "all_scope": - dataFile = root_path + TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())) + "." + extention; + dataFile = root_path + TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())) + "." + extension; script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), System.currentTimeMillis(), separator, columns, "APPEND", dataFile, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())), dataFile); break; default: - dataFile = root_path + TableUtils.addName(TableUtils.tableName(datasetTable.getId())) + "." + extention; + dataFile = root_path + TableUtils.addName(TableUtils.tableName(datasetTable.getId())) + "." + extension; script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), System.currentTimeMillis(), separator, columns, "APPEND", dataFile, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), dataFile); break; } @@ -722,7 +722,7 @@ public class ExtractDataService { } for (ExcelSheetData sheet : totalSheets) { - if (sheet.getExcelLable().equalsIgnoreCase(excelSheetData.getExcelLable())) { + if (sheet.getExcelLabel().equalsIgnoreCase(excelSheetData.getExcelLabel())) { for (List dataItem : sheet.getData()) { if (dataItem.size() > 0) { data.add(dataItem.toArray(new String[dataItem.size()])); @@ -820,16 +820,16 @@ public class ExtractDataService { case "all_scope": outFile = TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())); jobName = "job_" + TableUtils.tableName(datasetTable.getId()); - script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "APPEND", root_path + outFile + "." + extention, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())), root_path + outFile + "." + extention); + script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "APPEND", root_path + outFile + "." + extension, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tmpName(TableUtils.tableName(datasetTable.getId())), root_path + outFile + "." + extension); break; case "incremental_add": outFile = TableUtils.addName(datasetTable.getId()); jobName = "job_add_" + TableUtils.tableName(datasetTable.getId()); - script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "APPEND", root_path + outFile + "." + extention, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), root_path + outFile + "." + extention); + script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "APPEND", root_path + outFile + "." + extension, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), root_path + outFile + "." + extension); break; case "incremental_delete": outFile = TableUtils.deleteName(TableUtils.tableName(datasetTable.getId())); - script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "DELETE", root_path + outFile + "." + extention, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), root_path + outFile + "." + extention); + script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), datasetTable.getId() + System.currentTimeMillis(), separator, columns, "DELETE", root_path + outFile + "." + extension, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), root_path + outFile + "." + extension); jobName = "job_delete_" + TableUtils.tableName(datasetTable.getId()); break; default: @@ -1098,7 +1098,7 @@ public class ExtractDataService { filesRequired.add("Y"); ExcelInputMeta excelInputMeta = new ExcelInputMeta(); - sheetNames.add(excelSheetData.getExcelLable()); + sheetNames.add(excelSheetData.getExcelLabel()); if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) { excelInputMeta.setSpreadSheetType(SpreadSheetType.SAX_POI); excelInputMeta.setSheetName(sheetNames.toArray(new String[sheetNames.size()])); @@ -1141,7 +1141,7 @@ public class ExtractDataService { textFileOutputMeta.setHeaderEnabled(false); textFileOutputMeta.setFilename(root_path + dorisOutputTable); textFileOutputMeta.setSeparator(separator); - textFileOutputMeta.setExtension(extention); + textFileOutputMeta.setExtension(extension); if (datasource.getType().equalsIgnoreCase(DatasourceTypes.oracle.name())) { TextFileField[] outputFields = new TextFileField[datasetTableFields.size() + 1]; @@ -1295,7 +1295,7 @@ public class ExtractDataService { default: break; } - deleteFile(root_path + fileName + "." + extention); + deleteFile(root_path + fileName + "." + extension); deleteFile(root_path + jobName + ".kjb"); deleteFile(root_path + transName + ".ktr"); } @@ -1388,8 +1388,8 @@ public class ExtractDataService { " r = createOutputRow(r, data.outputRowMeta.size());\n" + " String str = \"\";\n" + "\n" + - " List fileds = Arrays.asList(\"Column_Fields\".split(\",\"));\n" + - " for (String filed : fileds) {\n" + + " List fields = Arrays.asList(\"Column_Fields\".split(\",\"));\n" + + " for (String filed : fields) {\n" + " String tmp = get(Fields.In, filed).getString(r);\n" + "handleCharset \n" + "handleWraps \n" + diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java index 572fc57f0f..4d91c1cc07 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java @@ -73,7 +73,7 @@ public class PermissionService { return customFilter; } - public List filterColumnPermissons(List fields, List desensitizationList, String datasetTableId, Long user){ + public List filterColumnPermissions(List fields, List desensitizationList, String datasetTableId, Long user){ List result = new ArrayList<>(); List allColumnPermissionItems = new ArrayList<>(); for (DataSetColumnPermissionsDTO dataSetColumnPermissionsDTO : columnPermissions(datasetTableId, user)) { diff --git a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java index 411039126e..1d542f52b3 100644 --- a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java @@ -104,7 +104,7 @@ public class DirectFieldService implements DataSetFieldService { if (userPermissions) { //列权限 List desensitizationList = new ArrayList<>(); - fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), userId); + fields = permissionService.filterColumnPermissions(fields, desensitizationList, datasetTable.getId(), userId); Map fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); if (CollectionUtils.isEmpty(permissionFields) || permissionFields.get(0) == null) { diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java index d4b5ead87f..3621bf8d66 100644 --- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java +++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java @@ -87,7 +87,7 @@ public class SysMsgService { return sysMsgMapper.countByExample(example); } - public void setReaded(Long msgId) { + public void setRead(Long msgId) { SysMsg sysMsg = new SysMsg(); sysMsg.setMsgId(msgId); sysMsg.setStatus(true); @@ -95,7 +95,7 @@ public class SysMsgService { sysMsgMapper.updateByPrimaryKeySelective(sysMsg); } - public void setBatchReaded(List msgIds) { + public void setBatchRead(List msgIds) { extSysMsgMapper.batchStatus(msgIds, System.currentTimeMillis()); } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java index bc06e7a6e8..75f9c47bb2 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java @@ -120,18 +120,18 @@ public class PanelAppTemplateService { @Transactional(rollbackFor = Exception.class) public Map applyDatasource(List oldDatasourceList, List newDatasourceList) throws Exception { - Map datasourceRelaMap = new HashMap<>(); + Map datasourceRealMap = new HashMap<>(); for (int i = 0; i < newDatasourceList.size(); i++) { Datasource datasource = newDatasourceList.get(0); datasource.setId(null); Datasource newDatasource = datasourceService.addDatasource(datasource); - datasourceRelaMap.put(oldDatasourceList.get(i).getId(), newDatasource.getId()); + datasourceRealMap.put(oldDatasourceList.get(i).getId(), newDatasource.getId()); } - return datasourceRelaMap; + return datasourceRealMap; } @Transactional(rollbackFor = Exception.class) - public void applyPanelView(List panelViewsInfo, Map chartViewsRelaMap, String panelId) { + public void applyPanelView(List panelViewsInfo, Map chartViewsRealMap, String panelId) { Long time = System.currentTimeMillis(); String userName = AuthUtils.getUser().getUsername(); panelViewsInfo.forEach(panelView -> { @@ -139,13 +139,13 @@ public class PanelAppTemplateService { panelView.setPanelId(panelId); panelView.setCreateTime(time); panelView.setCreateBy(userName); - panelView.setChartViewId(chartViewsRelaMap.get(panelView.getChartViewId())); + panelView.setChartViewId(chartViewsRealMap.get(panelView.getChartViewId())); panelViewService.save(panelView); }); } @Transactional(rollbackFor = Exception.class) - public String applyPanel(PanelGroupRequest panelInfo, Map chartViewsRelaMap, String newPanelId, String panelName, String pid) { + public String applyPanel(PanelGroupRequest panelInfo, Map chartViewsRealMap, String newPanelId, String panelName, String pid) { panelInfo.setId(newPanelId); panelInfo.setPid(pid); panelInfo.setName(panelName); @@ -153,48 +153,48 @@ public class PanelAppTemplateService { panelInfo.setPanelType("self"); panelInfo.setCreateBy(AuthUtils.getUser().getUsername()); panelInfo.setCreateTime(System.currentTimeMillis()); - panelGroupService.newPanelFromApp(panelInfo, chartViewsRelaMap); + panelGroupService.newPanelFromApp(panelInfo, chartViewsRealMap); return newPanelId; } @Transactional(rollbackFor = Exception.class) - public Map applyDataset(List datasetTablesInfo, Map datasourceRelaMap, String sceneId) throws Exception { - Map datasetsRelaMap = new HashMap<>(); + public Map applyDataset(List datasetTablesInfo, Map datasourceRealMap, String sceneId) throws Exception { + Map datasetsRealMap = new HashMap<>(); for (DatasetTable datasetTable : datasetTablesInfo) { String oldId = datasetTable.getId(); datasetTable.setId(null); datasetTable.setSceneId(sceneId); - datasetTable.setDataSourceId(datasourceRelaMap.get(datasetTable.getDataSourceId())); + datasetTable.setDataSourceId(datasourceRealMap.get(datasetTable.getDataSourceId())); DataSetTableRequest datasetRequest = new DataSetTableRequest(); BeanUtils.copyBean(datasetRequest, datasetTable); datasetRequest.setOptFrom("appApply"); datasetRequest.setSyncType("sync_now"); DatasetTable newDataset = dataSetTableService.save(datasetRequest); - datasetsRelaMap.put(oldId, newDataset.getId()); + datasetsRealMap.put(oldId, newDataset.getId()); } - return datasetsRelaMap; + return datasetsRealMap; } @Transactional(rollbackFor = Exception.class) - public Map applyDatasetField(List datasetTableFieldsInfo, Map datasetsRelaMap) { - Map datasetFieldsRelaMap = new HashMap<>(); + public Map applyDatasetField(List datasetTableFieldsInfo, Map datasetsRealMap) { + Map datasetFieldsRealMap = new HashMap<>(); for (DatasetTableField datasetTableField : datasetTableFieldsInfo) { String oldId = datasetTableField.getId(); - datasetTableField.setTableId(datasetsRelaMap.get(datasetTableField.getTableId())); + datasetTableField.setTableId(datasetsRealMap.get(datasetTableField.getTableId())); DatasetTableField newTableField = dataSetTableFieldsService.save(datasetTableField); - datasetFieldsRelaMap.put(oldId, newTableField.getId()); + datasetFieldsRealMap.put(oldId, newTableField.getId()); } - return datasetFieldsRelaMap; + return datasetFieldsRealMap; } @Transactional(rollbackFor = Exception.class) - public void resetCustomAndUnionDataset(List datasetTablesInfo, Map datasetRelaMap, Map datasetFieldsRelaMap) throws Exception { + public void resetCustomAndUnionDataset(List datasetTablesInfo, Map datasetRealMap, Map datasetFieldsRealMap) throws Exception { for (DatasetTable datasetTable : datasetTablesInfo) { if ((DatasetType.CUSTOM.name().equalsIgnoreCase(datasetTable.getType()) || DatasetType.UNION.name().equalsIgnoreCase(datasetTable.getType()))) { - datasetRelaMap.forEach((k, v) -> { + datasetRealMap.forEach((k, v) -> { datasetTable.setInfo(datasetTable.getInfo().replaceAll(k, v)); }); - datasetFieldsRelaMap.forEach((k, v) -> { + datasetFieldsRealMap.forEach((k, v) -> { datasetTable.setInfo(datasetTable.getInfo().replaceAll(k, v)); }); if (1 == datasetTable.getMode()) { @@ -209,13 +209,13 @@ public class PanelAppTemplateService { } @Transactional(rollbackFor = Exception.class) - public Map applyViews(List chartViewsInfo, Map datasetsRelaMap, Map datasetFieldsRelaMap, String sceneId) throws Exception { - Map chartViewsRelaMap = new HashMap<>(); + public Map applyViews(List chartViewsInfo, Map datasetsRealMap, Map datasetFieldsRealMap, String sceneId) throws Exception { + Map chartViewsRealMap = new HashMap<>(); for (ChartViewWithBLOBs chartView : chartViewsInfo) { String oldViewId = chartView.getId(); // 替换datasetId - chartView.setTableId(datasetsRelaMap.get(chartView.getTableId())); - datasetsRelaMap.forEach((k, v) -> { + chartView.setTableId(datasetsRealMap.get(chartView.getTableId())); + datasetsRealMap.forEach((k, v) -> { chartView.setXAxis(chartView.getXAxis().replaceAll(k, v)); chartView.setXAxisExt(chartView.getXAxisExt().replaceAll(k, v)); chartView.setYAxis(chartView.getYAxis().replaceAll(k, v)); @@ -228,7 +228,7 @@ public class PanelAppTemplateService { chartView.setDrillFields(chartView.getDrillFields().replaceAll(k, v)); }); //替换datasetFieldId - datasetFieldsRelaMap.forEach((k, v) -> { + datasetFieldsRealMap.forEach((k, v) -> { chartView.setXAxis(chartView.getXAxis().replaceAll(k, v)); chartView.setXAxisExt(chartView.getXAxisExt().replaceAll(k, v)); chartView.setYAxis(chartView.getYAxis().replaceAll(k, v)); @@ -243,31 +243,31 @@ public class PanelAppTemplateService { chartView.setId(null); chartView.setSceneId(sceneId); ChartViewWithBLOBs newOne = chartViewService.newOne(chartView); - chartViewsRelaMap.put(oldViewId, newOne.getId()); + chartViewsRealMap.put(oldViewId, newOne.getId()); } - return chartViewsRelaMap; + return chartViewsRealMap; } @Transactional(rollbackFor = Exception.class) - public Map applyViewsField(List chartViewFieldsInfo, Map chartViewsRelaMap, Map datasetsRelaMap, Map datasetFieldsRelaMap) { - Map chartViewFieldsRelaMap = new HashMap<>(); + public Map applyViewsField(List chartViewFieldsInfo, Map chartViewsRealMap, Map datasetsRealMap, Map datasetFieldsRealMap) { + Map chartViewFieldsRealMap = new HashMap<>(); if (!CollectionUtils.isEmpty(chartViewFieldsInfo)) { for (ChartViewField chartViewField : chartViewFieldsInfo) { String oldChartFieldId = chartViewField.getId(); chartViewField.setId(null); //替换datasetId - chartViewField.setTableId(datasetsRelaMap.get(chartViewField.getTableId())); + chartViewField.setTableId(datasetsRealMap.get(chartViewField.getTableId())); //替换chartViewId - chartViewField.setChartId(chartViewsRelaMap.get(chartViewField.getId())); + chartViewField.setChartId(chartViewsRealMap.get(chartViewField.getId())); //替换datasetFieldId - datasetFieldsRelaMap.forEach((k, v) -> { + datasetFieldsRealMap.forEach((k, v) -> { chartViewField.setOriginName(chartViewField.getOriginName().replaceAll(k, v)); }); ChartViewField newChartViewField = chartViewFieldService.save(chartViewField); - chartViewFieldsRelaMap.put(oldChartFieldId, newChartViewField.getId()); + chartViewFieldsRealMap.put(oldChartFieldId, newChartViewField.getId()); } } - return chartViewFieldsRelaMap; + return chartViewFieldsRealMap; } public void nameCheck(PanelAppTemplateApplyRequest request) { 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 f8893feacb..73fb1119ba 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -401,12 +401,12 @@ public class PanelGroupService { return newPanelId; } @Transactional(rollbackFor = Exception.class) - public String newPanelFromApp(PanelGroupRequest request,Map chartViewsRelaMap){ + public String newPanelFromApp(PanelGroupRequest request,Map chartViewsRealMap){ String newPanelId = request.getId(); String templateData = request.getPanelData(); String staticResource = request.getStaticResource(); - Boolean mobileLayout = panelViewService.havaMobileLayout(templateData); - for(Map.Entry entry:chartViewsRelaMap.entrySet()){ + Boolean mobileLayout = panelViewService.haveMobileLayout(templateData); + for(Map.Entry entry:chartViewsRealMap.entrySet()){ templateData = templateData.replaceAll(entry.getKey(),entry.getValue()); } request.setMobileLayout(mobileLayout); @@ -439,13 +439,13 @@ public class PanelGroupService { templateStyle = panelTemplate.getTemplateStyle(); templateData = panelTemplate.getTemplateData(); dynamicData = panelTemplate.getDynamicData(); - mobileLayout = panelViewService.havaMobileLayout(templateData); + mobileLayout = panelViewService.haveMobileLayout(templateData); } else if (PanelConstants.NEW_PANEL_FROM.NEW_OUTER_TEMPLATE.equals(newFrom)) { templateStyle = request.getPanelStyle(); templateData = request.getPanelData(); dynamicData = request.getDynamicData(); staticResource = request.getStaticResource(); - mobileLayout = panelViewService.havaMobileLayout(templateData); + mobileLayout = panelViewService.haveMobileLayout(templateData); } else if (PanelConstants.NEW_PANEL_FROM.NEW_MARKET_TEMPLATE.equals(newFrom)) { PanelTemplateFileDTO templateFileInfo = getTemplateFromMarket(request.getTemplateUrl()); if (templateFileInfo == null) { @@ -455,7 +455,7 @@ public class PanelGroupService { templateData = templateFileInfo.getPanelData(); dynamicData = templateFileInfo.getDynamicData(); staticResource = templateFileInfo.getStaticResource(); - mobileLayout = panelViewService.havaMobileLayout(templateData); + mobileLayout = panelViewService.haveMobileLayout(templateData); } Map dynamicDataMap = gson.fromJson(dynamicData, Map.class); if (dynamicDataMap == null) { @@ -803,7 +803,7 @@ public class PanelGroupService { if (CollectionUtils.isEmpty(datasourceDTOS)) { return new PanelExport2App("this panel don't have datasource"); } else if (datasourceDTOS.size() > 1) { - return new PanelExport2App("this panel should hava only one dataset"); + return new PanelExport2App("this panel should have only one dataset"); } return new PanelExport2App(chartViewsInfo, chartViewFieldsInfo, datasetTablesInfo, datasetTableFieldsInfo, dataSetTasksInfo, datasourceDTOS,panelViews); } @@ -841,23 +841,23 @@ public class PanelGroupService { //获取仪表板视图信息 List panelViewsInfo = gson.fromJson(appInfo.getPanelViewsInfo(), new TypeToken>(){}.getType()); - Map datasourceRelaMap = panelAppTemplateService.applyDatasource(oldDatasourceInfo,request.getDatasourceList()); + Map datasourceRealMap = panelAppTemplateService.applyDatasource(oldDatasourceInfo,request.getDatasourceList()); - Map datasetsRelaMap = panelAppTemplateService.applyDataset(datasetTablesInfo,datasourceRelaMap,asideDatasetGroupId); + Map datasetsRealMap = panelAppTemplateService.applyDataset(datasetTablesInfo,datasourceRealMap,asideDatasetGroupId); - Map datasetFieldsRelaMap = panelAppTemplateService.applyDatasetField(datasetTableFieldsInfo,datasetsRelaMap); + Map datasetFieldsRealMap = panelAppTemplateService.applyDatasetField(datasetTableFieldsInfo,datasetsRealMap); - panelAppTemplateService.resetCustomAndUnionDataset(datasetTablesInfo,datasetsRelaMap,datasetFieldsRelaMap); + panelAppTemplateService.resetCustomAndUnionDataset(datasetTablesInfo,datasetsRealMap,datasetFieldsRealMap); - Map chartViewsRelaMap = panelAppTemplateService.applyViews(chartViewsInfo,datasetsRelaMap,datasetFieldsRelaMap,newPanelId); + Map chartViewsRealMap = panelAppTemplateService.applyViews(chartViewsInfo,datasetsRealMap,datasetFieldsRealMap,newPanelId); - panelAppTemplateService.applyViewsField(chartViewFieldsInfo,chartViewsRelaMap,datasetsRelaMap,datasetFieldsRelaMap); + panelAppTemplateService.applyViewsField(chartViewFieldsInfo,chartViewsRealMap,datasetsRealMap,datasetFieldsRealMap); - panelAppTemplateService.applyPanel(panelInfo,chartViewsRelaMap,newPanelId, request.getPanelName(), request.getPanelId()); + panelAppTemplateService.applyPanel(panelInfo,chartViewsRealMap,newPanelId, request.getPanelName(), request.getPanelId()); - panelAppTemplateService.applyPanelView(panelViewsInfo,chartViewsRelaMap,newPanelId); + panelAppTemplateService.applyPanelView(panelViewsInfo,chartViewsRealMap,newPanelId); - String newDatasourceId =datasourceRelaMap.entrySet().stream().findFirst().get().getValue(); + String newDatasourceId =datasourceRealMap.entrySet().stream().findFirst().get().getValue(); String newDatasourceName = request.getDatasourceList().get(0).getName(); diff --git a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java index 1f457505be..af270dc54d 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java @@ -133,7 +133,7 @@ public class PanelViewService { return viewIds; } - public Boolean havaMobileLayout(String panelData){ + public Boolean haveMobileLayout(String panelData){ Boolean mobileLayout = false; if (StringUtils.isNotEmpty(panelData)) { JsonArray dataArray = JsonParser.parseString(panelData).getAsJsonArray(); diff --git a/backend/src/main/java/io/dataease/service/panel/ShareService.java b/backend/src/main/java/io/dataease/service/panel/ShareService.java index 044832818f..bc468c412d 100644 --- a/backend/src/main/java/io/dataease/service/panel/ShareService.java +++ b/backend/src/main/java/io/dataease/service/panel/ShareService.java @@ -351,16 +351,16 @@ public class ShareService { param.put("deptId", deptId); param.put("roleIds", CollectionUtils.isNotEmpty(roleIds)? roleIds: null); - List datas = extPanelShareMapper.query(param); - List dtoLists = datas.stream().map(po -> BeanUtils.copyBean(new PanelShareDto(), po)) + List data = extPanelShareMapper.query(param); + List dtoLists = data.stream().map(po -> BeanUtils.copyBean(new PanelShareDto(), po)) .collect(Collectors.toList()); return convertTree(dtoLists); } // List构建Tree - private List convertTree(List datas) { + private List convertTree(List data) { String username = AuthUtils.getUser().getUsername(); - Map> map = datas.stream() + Map> map = data.stream() .filter(panelShareDto -> StringUtils.isNotEmpty(panelShareDto.getCreator()) && !StringUtils.equals(username, panelShareDto.getCreator())) .collect(Collectors.groupingBy(PanelShareDto::getCreator)); diff --git a/backend/src/main/java/io/dataease/service/panel/applog/AppLogManager.java b/backend/src/main/java/io/dataease/service/panel/applog/AppLogManager.java index 4c2fa333b2..e32e2efec0 100644 --- a/backend/src/main/java/io/dataease/service/panel/applog/AppLogManager.java +++ b/backend/src/main/java/io/dataease/service/panel/applog/AppLogManager.java @@ -48,18 +48,18 @@ public class AppLogManager { public String detailInfo(SysLogWithBLOBs vo) { String sourceName = vo.getSourceName(); - String postion = null; + String position = null; String operateTypeName = SysLogConstants.operateTypeName(vo.getOperateType()); operateTypeName = Translator.get(operateTypeName); String sourceTypeName = SysLogConstants.sourceTypeName(vo.getSourceType()); sourceTypeName = Translator.get(sourceTypeName); String result = operateTypeName + sourceTypeName + String.format(contentFormat, sourceName) + remarkInfo(vo); - if ((postion = vo.getPosition()) != null) { - List folderItems = gson.fromJson(postion, type); + if ((position = vo.getPosition()) != null) { + List folderItems = gson.fromJson(position, type); String template = folderItems.stream().map(folderItem -> folderItem.getName()).collect(Collectors.joining("/")); - String postionResult = String.format(positionFormat, template); - return postionResult + result; + String positionResult = String.format(positionFormat, template); + return positionResult + result; } return result; } diff --git a/backend/src/main/java/io/dataease/service/sys/MenuService.java b/backend/src/main/java/io/dataease/service/sys/MenuService.java index f110e055d3..d9f93b80c1 100644 --- a/backend/src/main/java/io/dataease/service/sys/MenuService.java +++ b/backend/src/main/java/io/dataease/service/sys/MenuService.java @@ -113,9 +113,9 @@ public class MenuService { return sysMenuMapper.updateByPrimaryKeySelective(sysMenu); } - public List childs(Long pid) { - Set childs = getChilds(nodesByPid(pid), new HashSet()); - List menus = new ArrayList<>(childs); + public List children(Long pid) { + Set children = getChildren(nodesByPid(pid), new HashSet()); + List menus = new ArrayList<>(children); return convert(menus); } @@ -138,12 +138,12 @@ public class MenuService { return roots.stream().map(node -> node.getMenuId().equals(targetRootNode.getId()) ? targetRootNode : format(node)).collect(Collectors.toList()); } - private Set getChilds(List lists, Set sets) { + private Set getChildren(List lists, Set sets) { lists.forEach(menu -> { sets.add(menu); List kidMenus = nodesByPid(menu.getMenuId()); if (CollectionUtils.isNotEmpty(kidMenus)) { - getChilds(kidMenus, sets); + getChildren(kidMenus, sets); } }); return sets; diff --git a/backend/src/main/java/io/dataease/service/sys/log/LogManager.java b/backend/src/main/java/io/dataease/service/sys/log/LogManager.java index 0d15e29798..3ee86d0cfb 100644 --- a/backend/src/main/java/io/dataease/service/sys/log/LogManager.java +++ b/backend/src/main/java/io/dataease/service/sys/log/LogManager.java @@ -48,18 +48,18 @@ public class LogManager { public String detailInfo(SysLogWithBLOBs vo) { String sourceName = vo.getSourceName(); - String postion = null; + String position = null; String operateTypeName = SysLogConstants.operateTypeName(vo.getOperateType()); operateTypeName = Translator.get(operateTypeName); String sourceTypeName = SysLogConstants.sourceTypeName(vo.getSourceType()); sourceTypeName = Translator.get(sourceTypeName); String result = operateTypeName + sourceTypeName + String.format(contentFormat, sourceName) + remarkInfo(vo); - if ((postion = vo.getPosition()) != null) { - List folderItems = gson.fromJson(postion, type); + if ((position = vo.getPosition()) != null) { + List folderItems = gson.fromJson(position, type); String template = folderItems.stream().map(folderItem -> folderItem.getName()).collect(Collectors.joining("/")); - String postionResult = String.format(positionFormat, template); - return postionResult + result; + String positionResult = String.format(positionFormat, template); + return positionResult + result; } return result; } diff --git a/backend/src/main/resources/db/migration/V42__1.16.sql b/backend/src/main/resources/db/migration/V42__1.16.sql index 68e5d4c663..2423350791 100644 --- a/backend/src/main/resources/db/migration/V42__1.16.sql +++ b/backend/src/main/resources/db/migration/V42__1.16.sql @@ -13,4 +13,4 @@ ALTER TABLE `dataset_table_field` ADD COLUMN `date_format` VARCHAR(255) NULL AFT ALTER TABLE `sys_task_email` ADD COLUMN `view_data_range` VARCHAR(255) NULL DEFAULT 'view' AFTER `reci_users`; - +UPDATE `sys_msg_type` set `type_name` = 'i18n_msg_type_dataset_sync_failed' WHERE (`msg_type_id` = 6); diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 0a89245a15..d3ba643e92 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -102,7 +102,7 @@ i18n_msg_type_panel_share=Dashboard sharing i18n_msg_type_panel_share_cacnel=Dashboard unshared i18n_msg_type_dataset_sync=Data set synchronization i18n_msg_type_dataset_sync_success=Dataset synchronization successful -i18n_msg_type_dataset_sync_faild=Dataset synchronization failed +i18n_msg_type_dataset_sync_failed=Dataset synchronization failed i18n_data_not_sync=Please sync data first i18n_excel_column_change=The column name of Excel is inconsistent with the original data set i18n_excel_column_inconsistent=The column names of the selected sheet pages are inconsistent @@ -178,10 +178,10 @@ i18n_not_admin_error=Not an administrator account i18n_user_not_exist=user does not exist i18n_default_login_reset=Switched back to default login mode I18N_COMMON_LEVEL_USE=Consult -I18N_PANNEL_LEVEL_VIEW=Consult -I18N_PANNEL_LEVEL_EXPORT=Export -I18N_PANNEL_LEVEL_MANAGE=Manage -I18N_PANNEL_LEVEL_GRANT=Grant +I18N_PANEL_LEVEL_VIEW=Consult +I18N_PANEL_LEVEL_EXPORT=Export +I18N_PANEL_LEVEL_MANAGE=Manage +I18N_PANEL_LEVEL_GRANT=Grant I18N_DATASET_LEVEL_USE=Consult I18N_DATASET_LEVEL_MANAGE=Manage I18N_DATASET_LEVEL_GRANT=Grant diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index b8a3daf1bd..bdaa67a794 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -102,7 +102,7 @@ i18n_msg_type_panel_share=\u4EEA\u8868\u677F\u5206\u4EAB i18n_msg_type_panel_share_cacnel=\u4EEA\u8868\u677F\u53D6\u6D88\u5206\u4EAB i18n_msg_type_dataset_sync=\u6570\u636E\u96C6\u540C\u6B65 i18n_msg_type_dataset_sync_success=\u6570\u636E\u96C6\u540C\u6B65\u6210\u529F -i18n_msg_type_dataset_sync_faild=\u6570\u636E\u96C6\u540C\u6B65\u5931\u8D25 +i18n_msg_type_dataset_sync_failed=\u6570\u636E\u96C6\u540C\u6B65\u5931\u8D25 i18n_data_not_sync=\u8BF7\u5148\u5B8C\u6210\u6570\u636E\u540C\u6B65 i18n_excel_column_change=Excel\u7684\u5217\u540D\u4E0E\u539F\u6570\u636E\u96C6\u4E0D\u4E00\u81F4 i18n_excel_column_inconsistent=\u6240\u9009sheet\u9875\u9762\u7684\u5217\u540D\u4E0D\u4E00\u81F4 @@ -178,10 +178,10 @@ i18n_not_admin_error=\u4E0D\u662F\u7BA1\u7406\u5458\u8D26\u53F7 i18n_user_not_exist=\u7528\u6237\u4E0D\u5B58\u5728 i18n_default_login_reset=\u5DF2\u5207\u6362\u56DE\u9ED8\u8BA4\u767B\u5F55\u65B9\u5F0F I18N_COMMON_LEVEL_USE=\u67E5\u770B -I18N_PANNEL_LEVEL_VIEW=\u67E5\u770B -I18N_PANNEL_LEVEL_EXPORT=\u5BFC\u51FA -I18N_PANNEL_LEVEL_MANAGE=\u7BA1\u7406 -I18N_PANNEL_LEVEL_GRANT=\u6388\u6743 +I18N_PANEL_LEVEL_VIEW=\u67E5\u770B +I18N_PANEL_LEVEL_EXPORT=\u5BFC\u51FA +I18N_PANEL_LEVEL_MANAGE=\u7BA1\u7406 +I18N_PANEL_LEVEL_GRANT=\u6388\u6743 I18N_DATASET_LEVEL_USE=\u67E5\u770B I18N_DATASET_LEVEL_MANAGE=\u7BA1\u7406 I18N_DATASET_LEVEL_GRANT=\u6388\u6743 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 035637a4dc..2003f5a638 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -102,7 +102,7 @@ i18n_msg_type_panel_share=\u5100\u8868\u677F\u5206\u4EAB i18n_msg_type_panel_share_cacnel=\u5100\u8868\u677F\u53D6\u6D88\u5206\u4EAB i18n_msg_type_dataset_sync=\u6578\u64DA\u96C6\u540C\u6B65 i18n_msg_type_dataset_sync_success=\u6578\u64DA\u96C6\u540C\u6B65\u6210\u529F -i18n_msg_type_dataset_sync_faild=\u6578\u64DA\u96C6\u540C\u6B65\u5931\u6557 +i18n_msg_type_dataset_sync_failed=\u6578\u64DA\u96C6\u540C\u6B65\u5931\u6557 i18n_data_not_sync=\u8ACB\u5148\u5B8C\u6210\u6578\u64DA\u540C\u6B65 i18n_excel_column_change=Excel\u7684\u5217\u540D\u8207\u539F\u6578\u64DA\u96C6\u4E0D\u4E00\u81F4 i18n_excel_column_inconsistent=\u6240\u9078sheet\u9801\u9762\u7684\u5217\u540D\u4E0D\u4E00\u81F4 @@ -174,10 +174,10 @@ i18n_not_admin_error=\u4E0D\u662F\u7BA1\u7406\u54E1\u8CEC\u865F i18n_user_not_exist=\u7528\u6236\u4E0D\u5B58\u5728 i18n_default_login_reset=\u5DF2\u5207\u63DB\u56DE\u9ED8\u8A8D\u767B\u9304\u65B9\u5F0F I18N_COMMON_LEVEL_USE=\u67E5\u770B -I18N_PANNEL_LEVEL_VIEW=\u67E5\u770B -I18N_PANNEL_LEVEL_EXPORT=\u5C0E\u51FA -I18N_PANNEL_LEVEL_MANAGE=\u7BA1\u7406 -I18N_PANNEL_LEVEL_GRANT=\u6388\u6B0A +I18N_PANEL_LEVEL_VIEW=\u67E5\u770B +I18N_PANEL_LEVEL_EXPORT=\u5C0E\u51FA +I18N_PANEL_LEVEL_MANAGE=\u7BA1\u7406 +I18N_PANEL_LEVEL_GRANT=\u6388\u6B0A I18N_DATASET_LEVEL_USE=\u67E5\u770B I18N_DATASET_LEVEL_MANAGE=\u7BA1\u7406 I18N_DATASET_LEVEL_GRANT=\u6388\u6B0A diff --git a/frontend/src/components/DeViewSelect/index.bak.vue b/frontend/src/components/DeViewSelect/index.bak.vue deleted file mode 100644 index 93c850e5c6..0000000000 --- a/frontend/src/components/DeViewSelect/index.bak.vue +++ /dev/null @@ -1,260 +0,0 @@ - - - - - diff --git a/frontend/src/components/DeViewSelect/index.vue b/frontend/src/components/DeViewSelect/index.vue index 9603cbaa65..2995c8bec5 100644 --- a/frontend/src/components/DeViewSelect/index.vue +++ b/frontend/src/components/DeViewSelect/index.vue @@ -171,7 +171,7 @@ export default { _popoverShowFun(val) { this.openDialog() this._updateH() - this.$emit('onFoucs') + this.$emit('onFocus') }, _selectRemoveTag(viewId) { diff --git a/frontend/src/components/ElTreeSelect/index.vue b/frontend/src/components/ElTreeSelect/index.vue index 184a769a03..529836d36b 100644 --- a/frontend/src/components/ElTreeSelect/index.vue +++ b/frontend/src/components/ElTreeSelect/index.vue @@ -54,7 +54,7 @@ v-model="selectAll" v-customStyle="customStyle" :indeterminate="isIndeterminate" - @change="selectAllChane" + @change="selectAllChange" >{{ $t('dataset.check_all') }}

{{ $t('dataset.check_all') }}

ele.id)] : [] this.visualChange(vals) this.selectValue = vals @@ -154,9 +154,9 @@ export default { reCacularHeight() { this.maxHeightDom.style.height = this.newList.length * this.itemHeight + 'px' }, - resetList(arrys) { - if (Array.isArray(arrys)) { - this.newList = arrys.slice() + resetList(arrays) { + if (Array.isArray(arrays)) { + this.newList = arrays.slice() this.domList.style.paddingTop = 0 + 'px' this.scrollbar.scrollTop = 0 this.callback() @@ -183,13 +183,13 @@ export default { `.${this.classId} .el-select-dropdown .el-select-dropdown__wrap` ) this.scrollbar = document.querySelector(`.${this.classId} .el-select-dropdown .el-scrollbar`) - this.slectBoxDom = document.querySelector(`.${this.classId} .el-select-dropdown__wrap`) - this.slectBoxDom.style.display = 'flex' - this.slectBoxDom.style.flexDirection = 'row' + this.selectBoxDom = document.querySelector(`.${this.classId} .el-select-dropdown__wrap`) + this.selectBoxDom.style.display = 'flex' + this.selectBoxDom.style.flexDirection = 'row' this.domList = selectDom.querySelector( `.${this.classId} .el-select-dropdown__wrap .el-select-dropdown__list` ) - this.addScrollDiv(this.slectBoxDom) + this.addScrollDiv(this.selectBoxDom) this.scrollFn() this.customInputStyle() diff --git a/frontend/src/components/GradientColorSelector/index.vue b/frontend/src/components/GradientColorSelector/index.vue index e770b40f41..48da711b0d 100644 --- a/frontend/src/components/GradientColorSelector/index.vue +++ b/frontend/src/components/GradientColorSelector/index.vue @@ -58,7 +58,7 @@ @click="handler" >
item.value === this.colorDto.value) ? 'simple' : 'gradient' if (haspPropValue) { - this.tabPanes[this.activeName === 'simple' ? 0 : 1].datas.forEach(item => { + this.tabPanes[this.activeName === 'simple' ? 0 : 1].data.forEach(item => { if (item.value === this.colorDto.value) { item.colors = JSON.parse(JSON.stringify(this.colorDto.colors)) } @@ -261,7 +261,7 @@ export default { }, _popoverShowFun(val) { this._updateH() - this.$emit('onFoucs') + this.$emit('onFocus') }, fillGradientColor() { this.gradientColorCases.forEach(item => { @@ -270,7 +270,7 @@ export default { return str }) }) - this.tabPanes[1].datas = JSON.parse(JSON.stringify(this.gradientColorCases)) + this.tabPanes[1].data = JSON.parse(JSON.stringify(this.gradientColorCases)) }, formatBgColor(color, useValue) { let activeName = this.activeName diff --git a/frontend/src/components/Notification/index.vue b/frontend/src/components/Notification/index.vue index b09bccb536..e225e4f179 100644 --- a/frontend/src/components/Notification/index.vue +++ b/frontend/src/components/Notification/index.vue @@ -152,11 +152,11 @@ export default { if (this.$route && this.$route.name && this.$route.name === row.router) { // 如果当前路由就是目标路由 那么使用router.push页面不会刷新 这时候要使用事件方式 row.callback && bus.$emit(row.callback, param) - row.status || this.setReaded(row.msgId) + row.status || this.setRead(row.msgId) } else { if (this.hasPermissionRoute(row.router)) { this.$router.push({ name: row.router, params: param }) - row.status || this.setReaded(row.msgId) + row.status || this.setRead(row.msgId) return } this.$warning(this.$t('commons.no_target_permission')) @@ -247,7 +247,7 @@ export default { this.visible = true }, // 设置已读 - setReaded(msgId) { + setRead(msgId) { updateStatus(msgId).then(res => { this.search() }) diff --git a/frontend/src/components/canvas/components/Editor/MarkLine.vue b/frontend/src/components/canvas/components/Editor/MarkLine.vue index 4dc67b4d43..2ab53b91b8 100644 --- a/frontend/src/components/canvas/components/Editor/MarkLine.vue +++ b/frontend/src/components/canvas/components/Editor/MarkLine.vue @@ -166,7 +166,7 @@ export default { // 同一方向上同时显示三条线可能不太美观,因此才有了这个解决方案 // 同一方向上的线只显示一条,例如多条横条只显示一条横线 if (needToShow.length) { - this.chooseTheTureLine(needToShow, isDownward, isRightward) + this.chooseTheTrueLine(needToShow, isDownward, isRightward) } }) }, @@ -180,7 +180,7 @@ export default { return Math.round(condition.dragShift - (width - curComponentStyle.width) / 2) }, - chooseTheTureLine(needToShow, isDownward, isRightward) { + chooseTheTrueLine(needToShow, isDownward, isRightward) { // 如果鼠标向右移动 则按从右到左的顺序显示竖线 否则按相反顺序显示 // 如果鼠标向下移动 则按从下到上的顺序显示横线 否则按相反顺序显示 if (isRightward) { diff --git a/frontend/src/components/canvas/components/Editor/Shape.vue b/frontend/src/components/canvas/components/Editor/Shape.vue index 9b258ca8f4..eff4fc7a77 100644 --- a/frontend/src/components/canvas/components/Editor/Shape.vue +++ b/frontend/src/components/canvas/components/Editor/Shape.vue @@ -39,7 +39,7 @@ import eventBus from '@/components/canvas/utils/eventBus' import runAnimation from '@/components/canvas/utils/runAnimation' import { mapState } from 'vuex' -import calculateComponentPositonAndSize from '@/components/canvas/utils/calculateComponentPositonAndSize' +import calculateComponentPositionAndSize from '@/components/canvas/utils/calculateComponentPositionAndSize' import { mod360 } from '@/components/canvas/utils/translate' export default { @@ -347,12 +347,12 @@ export default { } needSave = true - const curPositon = { + const curPosition = { x: moveEvent.clientX - editorRectInfo.left, y: moveEvent.clientY - editorRectInfo.top } - calculateComponentPositonAndSize(point, style, curPositon, proportion, needLockProportion, { + calculateComponentPositionAndSize(point, style, curPosition, proportion, needLockProportion, { center, curPoint, symmetricPoint diff --git a/frontend/src/components/canvas/components/TextAttr.vue b/frontend/src/components/canvas/components/TextAttr.vue index 7c0fe79921..ac15062e93 100644 --- a/frontend/src/components/canvas/components/TextAttr.vue +++ b/frontend/src/components/canvas/components/TextAttr.vue @@ -333,11 +333,11 @@
- diff --git a/frontend/src/components/canvas/utils/calculateComponentPositonAndSize.js b/frontend/src/components/canvas/utils/calculateComponentPositionAndSize.js similarity index 85% rename from frontend/src/components/canvas/utils/calculateComponentPositonAndSize.js rename to frontend/src/components/canvas/utils/calculateComponentPositionAndSize.js index 7e4effc74b..27e8cdad46 100644 --- a/frontend/src/components/canvas/utils/calculateComponentPositonAndSize.js +++ b/frontend/src/components/canvas/utils/calculateComponentPositionAndSize.js @@ -12,10 +12,10 @@ const funcs = { l: calculateLeft } -function calculateLeftTop(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateLeftTop(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint } = pointInfo - let newCenterPoint = getCenterPoint(curPositon, symmetricPoint) - let newTopLeftPoint = calculateRotatedPointCoordinate(curPositon, newCenterPoint, -style.rotate) + let newCenterPoint = getCenterPoint(curPosition, symmetricPoint) + let newTopLeftPoint = calculateRotatedPointCoordinate(curPosition, newCenterPoint, -style.rotate) let newBottomRightPoint = calculateRotatedPointCoordinate(symmetricPoint, newCenterPoint, -style.rotate) let newWidth = newBottomRightPoint.x - newTopLeftPoint.x @@ -50,10 +50,10 @@ function calculateLeftTop(style, curPositon, proportion, needLockProportion, poi } } -function calculateRightTop(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateRightTop(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint } = pointInfo - let newCenterPoint = getCenterPoint(curPositon, symmetricPoint) - let newTopRightPoint = calculateRotatedPointCoordinate(curPositon, newCenterPoint, -style.rotate) + let newCenterPoint = getCenterPoint(curPosition, symmetricPoint) + let newTopRightPoint = calculateRotatedPointCoordinate(curPosition, newCenterPoint, -style.rotate) let newBottomLeftPoint = calculateRotatedPointCoordinate(symmetricPoint, newCenterPoint, -style.rotate) let newWidth = newTopRightPoint.x - newBottomLeftPoint.x @@ -85,11 +85,11 @@ function calculateRightTop(style, curPositon, proportion, needLockProportion, po } } -function calculateRightBottom(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateRightBottom(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint } = pointInfo - let newCenterPoint = getCenterPoint(curPositon, symmetricPoint) + let newCenterPoint = getCenterPoint(curPosition, symmetricPoint) let newTopLeftPoint = calculateRotatedPointCoordinate(symmetricPoint, newCenterPoint, -style.rotate) - let newBottomRightPoint = calculateRotatedPointCoordinate(curPositon, newCenterPoint, -style.rotate) + let newBottomRightPoint = calculateRotatedPointCoordinate(curPosition, newCenterPoint, -style.rotate) let newWidth = newBottomRightPoint.x - newTopLeftPoint.x let newHeight = newBottomRightPoint.y - newTopLeftPoint.y @@ -120,11 +120,11 @@ function calculateRightBottom(style, curPositon, proportion, needLockProportion, } } -function calculateLeftBottom(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateLeftBottom(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint } = pointInfo - let newCenterPoint = getCenterPoint(curPositon, symmetricPoint) + let newCenterPoint = getCenterPoint(curPosition, symmetricPoint) let newTopRightPoint = calculateRotatedPointCoordinate(symmetricPoint, newCenterPoint, -style.rotate) - let newBottomLeftPoint = calculateRotatedPointCoordinate(curPositon, newCenterPoint, -style.rotate) + let newBottomLeftPoint = calculateRotatedPointCoordinate(curPosition, newCenterPoint, -style.rotate) let newWidth = newTopRightPoint.x - newBottomLeftPoint.x let newHeight = newBottomLeftPoint.y - newTopRightPoint.y @@ -155,12 +155,12 @@ function calculateLeftBottom(style, curPositon, proportion, needLockProportion, } } -function calculateTop(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateTop(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint, curPoint } = pointInfo - const rotatedcurPositon = calculateRotatedPointCoordinate(curPositon, curPoint, -style.rotate) + const rotatedcurPosition = calculateRotatedPointCoordinate(curPosition, curPoint, -style.rotate) const rotatedTopMiddlePoint = calculateRotatedPointCoordinate({ x: curPoint.x, - y: rotatedcurPositon.y + y: rotatedcurPosition.y }, curPoint, style.rotate) // 勾股定理 @@ -185,11 +185,11 @@ function calculateTop(style, curPositon, proportion, needLockProportion, pointIn } } -function calculateRight(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateRight(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint, curPoint } = pointInfo - const rotatedcurPositon = calculateRotatedPointCoordinate(curPositon, curPoint, -style.rotate) + const rotatedcurPosition = calculateRotatedPointCoordinate(curPosition, curPoint, -style.rotate) const rotatedRightMiddlePoint = calculateRotatedPointCoordinate({ - x: rotatedcurPositon.x, + x: rotatedcurPosition.x, y: curPoint.y }, curPoint, style.rotate) @@ -213,12 +213,12 @@ function calculateRight(style, curPositon, proportion, needLockProportion, point } } -function calculateBottom(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateBottom(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint, curPoint } = pointInfo - const rotatedcurPositon = calculateRotatedPointCoordinate(curPositon, curPoint, -style.rotate) + const rotatedcurPosition = calculateRotatedPointCoordinate(curPosition, curPoint, -style.rotate) const rotatedBottomMiddlePoint = calculateRotatedPointCoordinate({ x: curPoint.x, - y: rotatedcurPositon.y + y: rotatedcurPosition.y }, curPoint, style.rotate) const newHeight = Math.sqrt((rotatedBottomMiddlePoint.x - symmetricPoint.x) ** 2 + (rotatedBottomMiddlePoint.y - symmetricPoint.y) ** 2) @@ -241,11 +241,11 @@ function calculateBottom(style, curPositon, proportion, needLockProportion, poin } } -function calculateLeft(style, curPositon, proportion, needLockProportion, pointInfo) { +function calculateLeft(style, curPosition, proportion, needLockProportion, pointInfo) { const { symmetricPoint, curPoint } = pointInfo - const rotatedcurPositon = calculateRotatedPointCoordinate(curPositon, curPoint, -style.rotate) + const rotatedcurPosition = calculateRotatedPointCoordinate(curPosition, curPoint, -style.rotate) const rotatedLeftMiddlePoint = calculateRotatedPointCoordinate({ - x: rotatedcurPositon.x, + x: rotatedcurPosition.x, y: curPoint.y }, curPoint, style.rotate) @@ -268,6 +268,6 @@ function calculateLeft(style, curPositon, proportion, needLockProportion, pointI } } -export default function calculateComponentPositonAndSize(name, style, curPositon, proportion, needLockProportion, pointInfo) { - funcs[name](style, curPositon, proportion, needLockProportion, pointInfo) +export default function calculateComponentPositionAndSize(name, style, curPosition, proportion, needLockProportion, pointInfo) { + funcs[name](style, curPosition, proportion, needLockProportion, pointInfo) } diff --git a/frontend/src/components/cron/cron/secondAndMinute.vue b/frontend/src/components/cron/cron/secondAndMinute.vue index d56077ccd4..b7125e4ea2 100644 --- a/frontend/src/components/cron/cron/secondAndMinute.vue +++ b/frontend/src/components/cron/cron/secondAndMinute.vue @@ -7,7 +7,7 @@ label="1" size="mini" border - >{{ $t('cron.every') }}{{ lable }} + >{{ $t('cron.every') }}{{ label }}
- {{ lable }} + {{ label }}
- {{ lable }}{{ $t('cron.every_begin') }} + {{ label }}{{ $t('cron.every_begin') }} - {{ lable }}{{ $t('cron.every_exec') }} + {{ label }}{{ $t('cron.every_exec') }}
@@ -56,27 +56,27 @@ export default { data() { return { paginationEvent: {}, - paginationDefalut: { + paginationDefault: { currentPage: 1, pageSizes: [10, 20, 50, 100], pageSize: 10, layout: 'total, prev, pager, next, sizes, jumper', total: 0 }, - multipleSelectionCach: [], + multipleSelectionCache: [], tableEvent: {} } }, computed: { multipleSelectionAll() { - return [...this.multipleSelectionCach, ...this.multipleSelection] + return [...this.multipleSelectionCache, ...this.multipleSelection] } }, watch: { pagination: { handler() { - this.paginationDefalut = { - ...this.paginationDefalut, + this.paginationDefault = { + ...this.paginationDefault, ...this.pagination } }, @@ -114,24 +114,24 @@ export default { this.$refs.table.toggleRowSelection(row, true) }, handlerSelected(multipleSelection) { - this.multipleSelectionCach = [ - ...this.multipleSelectionCach, + this.multipleSelectionCache = [ + ...this.multipleSelectionCache, ...multipleSelection ] - const flags = this.multipleSelectionCach.map( + const flags = this.multipleSelectionCache.map( (ele) => ele[this.selectedFlags] ) // 当前页的选中项索引 - const notCurrenArr = [] + const notCurrentArr = [] this.tableData.forEach((ele) => { const resultIndex = flags.indexOf(ele[this.selectedFlags]) if (resultIndex !== -1) { this.$refs.table.toggleRowSelection(ele, true) - notCurrenArr.push(resultIndex) + notCurrentArr.push(resultIndex) } }) - notCurrenArr.sort().reduceRight((pre, next) => { - this.multipleSelectionCach.splice(next, 1) + notCurrentArr.sort().reduceRight((pre, next) => { + this.multipleSelectionCache.splice(next, 1) }, 0) }, handleListeners() { diff --git a/frontend/src/components/widget/DeWidget/DeNumberRange.vue b/frontend/src/components/widget/DeWidget/DeNumberRange.vue index bc0ce6c281..cbaca4a51d 100644 --- a/frontend/src/components/widget/DeWidget/DeNumberRange.vue +++ b/frontend/src/components/widget/DeWidget/DeNumberRange.vue @@ -116,7 +116,7 @@ export default { }, form: { handler(value) { - this.destryTimeMachine() + this.destroyTimeMachine() this.changeIndex++ this.searchWithKey(this.changeIndex) }, @@ -161,10 +161,10 @@ export default { if (index === this.changeIndex) { this.search() } - this.destryTimeMachine() + this.destroyTimeMachine() }, 1000) }, - destryTimeMachine() { + destroyTimeMachine() { this.timeMachine && clearTimeout(this.timeMachine) this.timeMachine = null }, diff --git a/frontend/src/components/widget/DeWidget/DeSelect.vue b/frontend/src/components/widget/DeWidget/DeSelect.vue index 2d4079f2b0..e63f7bcb96 100644 --- a/frontend/src/components/widget/DeWidget/DeSelect.vue +++ b/frontend/src/components/widget/DeWidget/DeSelect.vue @@ -15,7 +15,7 @@ :filter-method="filterMethod" :key-word="keyWord" popper-class="coustom-de-select" - :list="datas" + :list="data" :custom-style="customStyle" @change="changeValue" @focus="setOptionWidth" @@ -24,7 +24,7 @@ @handleShowNumber="handleShowNumber" > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) bus.$emit('valid-values-change', true) }).catch(e => { bus.$emit('valid-values-change', false) @@ -171,7 +171,7 @@ export default { if (value === null || typeof value === 'undefined' || value === old || isSameVueObj(value, old)) return this.show = false - this.datas = [] + this.data = [] let method = multFieldValues const token = this.$store.getters.token || getToken() @@ -186,7 +186,7 @@ export default { this.element.options.attrs.fieldId && this.element.options.attrs.fieldId.length > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.$nextTick(() => { this.show = true this.handleCoustomStyle() @@ -248,7 +248,7 @@ export default { }, initLoad() { this.value = this.fillValueDerfault() - this.datas = [] + this.data = [] if (this.element.options.attrs.fieldId) { let method = multFieldValues const token = this.$store.getters.token || getToken() @@ -257,7 +257,7 @@ export default { method = linkMultFieldValues } method({ fieldIds: this.element.options.attrs.fieldId.split(','), sort: this.element.options.attrs.sort }).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) bus.$emit('valid-values-change', true) }).catch(e => { bus.$emit('valid-values-change', false) @@ -336,9 +336,9 @@ export default { return defaultV.split(',')[0] } }, - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue index a43db7df16..d4f4c57ec4 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue @@ -32,7 +32,7 @@ @change="handleCheckedChange" > {{ item.id }} @@ -48,7 +48,7 @@ @change="changeRadioBox" > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } }, 'element.options.attrs.fieldId': function(value, old) { if (typeof value === 'undefined' || value === old) return - this.datas = [] + this.data = [] let method = multFieldValues const token = this.$store.getters.token || getToken() const linkToken = this.$store.getters.linkToken || getLinkToken() @@ -168,11 +168,11 @@ export default { this.element.options.attrs.fieldId && this.element.options.attrs.fieldId.length > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.changeInputStyle() if (this.element.options.attrs.multiple) { - this.checkAll = this.value.length === this.datas.length - this.isIndeterminate = this.value.length > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } }) || (this.element.options.value = '') }, @@ -189,15 +189,15 @@ export default { this.$nextTick(() => { this.show = true if (value) { - this.checkAll = this.value.length === this.datas.length - this.isIndeterminate = this.value.length > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } this.changeInputStyle() }) }, 'element.options.attrs.sort': function(value, old) { if (typeof value === 'undefined' || value === old) return - this.datas = [] + this.data = [] let method = multFieldValues const token = this.$store.getters.token || getToken() const linkToken = this.$store.getters.linkToken || getLinkToken() @@ -211,11 +211,11 @@ export default { this.element.options.attrs.fieldId && this.element.options.attrs.fieldId.length > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.changeInputStyle() if (this.element.options.attrs.multiple) { - this.checkAll = this.value.length === this.datas.length - this.isIndeterminate = this.value.length > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } }) || (this.element.options.value = '') }, @@ -251,8 +251,8 @@ export default { this.changeValue(this.value) if (this.element.options.attrs.multiple) { - this.checkAll = this.value.length === this.datas.length - this.isIndeterminate = this.value.length > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } } }, @@ -284,11 +284,11 @@ export default { method = linkMultFieldValues } method({ fieldIds: this.element.options.attrs.fieldId.split(','), sort: this.element.options.attrs.sort }).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.changeInputStyle() if (this.element.options.attrs.multiple) { - this.checkAll = this.value.length === this.datas.length - this.isIndeterminate = this.value.length > 0 && this.value.length < this.datas.length + this.checkAll = this.value.length === this.data.length + this.isIndeterminate = this.value.length > 0 && this.value.length < this.data.length } }) } @@ -337,9 +337,9 @@ export default { return defaultV.split(',')[0] } }, - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item @@ -350,14 +350,14 @@ export default { this.changeValue(value) }, handleCheckAllChange(val) { - this.value = val ? this.datas.map(item => item.id) : [] + this.value = val ? this.data.map(item => item.id) : [] this.isIndeterminate = false this.changeValue(this.value) }, handleCheckedChange(values) { const checkedCount = values.length - this.checkAll = checkedCount === this.datas.length - this.isIndeterminate = checkedCount > 0 && checkedCount < this.datas.length + this.checkAll = checkedCount === this.data.length + this.isIndeterminate = checkedCount > 0 && checkedCount < this.data.length this.changeValue(values) }, testChange(item) { diff --git a/frontend/src/components/widget/DeWidget/DeSelectTree.vue b/frontend/src/components/widget/DeWidget/DeSelectTree.vue index 12dea5b69b..96232638f2 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectTree.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectTree.vue @@ -5,7 +5,7 @@ ref="deSelectTree" v-model="value" popover-class="test-class-wrap" - :data="datas" + :data="data" :select-params="selectParams" :tree-params="treeParams" :filter-node-method="_filterFun" @@ -17,7 +17,7 @@ @removeTag="changeNodeIds" @check="changeCheckNode" @select-clear="selectClear" - @onFoucs="onFoucs" + @onFocus="onFocus" @treeCheckChange="handleElTagStyle" /> @@ -59,7 +59,7 @@ export default { return { show: true, selectOptionWidth: 0, - datas: [], + data: [], // eslint-disable-next-line value: this.isSingle ? '' : [], selectParams: { @@ -128,7 +128,7 @@ export default { }, 'element.options.attrs.fieldId': function(value, old) { if (value === null || typeof value === 'undefined' || value === old) return - this.datas = [] + this.data = [] let method = mappingFieldValues const token = this.$store.getters.token || getToken() @@ -143,9 +143,9 @@ export default { this.element.options.attrs.fieldId && this.element.options.attrs.fieldId.length > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.$nextTick(() => { - this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas) + this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.data) }) }) this.element.options.value = '' @@ -177,13 +177,13 @@ export default { this.value = defaultV.split(',')[0] } } - this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas) + this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.data) }) }) }, 'element.options.attrs.sort': function(value, old) { if (value === null || typeof value === 'undefined' || value === old || isSameVueObj(value, old)) return - this.datas = [] + this.data = [] let method = mappingFieldValues const token = this.$store.getters.token || getToken() @@ -198,9 +198,9 @@ export default { this.element.options.attrs.fieldId && this.element.options.attrs.fieldId.length > 0 && method(param).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.$nextTick(() => { - this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas) + this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.data) }) }) this.element.options.value = '' @@ -233,7 +233,7 @@ export default { this.changeValue(this.value) } }, - onFoucs() { + onFocus() { this.$nextTick(() => { this.handleCoustomStyle() }) @@ -260,7 +260,7 @@ export default { }, initLoad() { this.value = this.fillValueDerfault() - this.datas = [] + this.data = [] if (this.element.options.attrs.fieldId) { let method = mappingFieldValues const token = this.$store.getters.token || getToken() @@ -269,9 +269,9 @@ export default { method = linkMappingFieldValues } method({ fieldIds: this.element.options.attrs.fieldId.split(','), sort: this.element.options.attrs.sort }).then(res => { - this.datas = this.optionDatas(res.data) + this.data = this.optionData(res.data) this.$nextTick(() => { - this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas) + this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.data) }) }) } @@ -355,10 +355,10 @@ export default { return defaultV.split(',')[0] } }, - optionDatas(datas) { - if (!datas) return null + optionData(data) { + if (!data) return null - return datas.filter(item => !!item) + return data.filter(item => !!item) }, /* 下面是树的渲染方法 */ diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index 81f480e970..b9c32f817a 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -41,21 +41,21 @@ - + {{ $t('detabs.eidttitle') }} - + {{ $t('detabs.selectview') }} - + {{ $t('detabs.selectOthers') }} {{ $t('table.delete') }} @@ -348,7 +348,7 @@ export default { } }) }, - beforeHandleCommond(item, param) { + beforeHandleCommand(item, param) { return { 'command': item, 'param': param @@ -477,8 +477,8 @@ export default { if (this.element.options.tabList[len].name === param.name) { this.element.options.tabList.splice(len, 1) - const activIndex = (len - 1 + this.element.options.tabList.length) % this.element.options.tabList.length - this.activeTabName = this.element.options.tabList[activIndex].name + const activeIndex = (len - 1 + this.element.options.tabList.length) % this.element.options.tabList.length + this.activeTabName = this.element.options.tabList[activeIndex].name } } this.$store.dispatch('chart/setViewId', null) diff --git a/frontend/src/components/widget/DeWidget/DeTreeSelect.vue b/frontend/src/components/widget/DeWidget/DeTreeSelect.vue index 01203f379b..c9f2e689f5 100644 --- a/frontend/src/components/widget/DeWidget/DeTreeSelect.vue +++ b/frontend/src/components/widget/DeWidget/DeTreeSelect.vue @@ -10,7 +10,7 @@ @change="changeValue" > !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js index 6707f530c7..3dcc29a6f6 100644 --- a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js @@ -12,7 +12,7 @@ const dialogPanel = { attrs: { multiple: false, placeholder: 'denumberselect.placeholder', - datas: [], + data: [], viewIds: [], parameters: [], key: 'id', @@ -75,9 +75,9 @@ class NumberSelectServiceImpl extends WidgetService { }) } - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js index 9c7644b1d5..1014d2b17d 100644 --- a/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js @@ -14,7 +14,7 @@ const dialogPanel = { placeholder: 'detextgridselect.placeholder', viewIds: [], parameters: [], - datas: [], + data: [], key: 'id', label: 'text', value: 'id', @@ -74,9 +74,9 @@ class TextSelectGridServiceImpl extends WidgetService { }) } - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js index c1bd366db9..ab8cd690df 100644 --- a/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js @@ -13,7 +13,7 @@ const dialogPanel = { placeholder: 'detextselect.placeholder', viewIds: [], parameters: [], - datas: [], + data: [], key: 'id', label: 'text', value: 'id', @@ -77,9 +77,9 @@ class TextSelectServiceImpl extends WidgetService { }) } - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js index 441f334b75..4f6d02afac 100644 --- a/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js @@ -13,7 +13,7 @@ const dialogPanel = { placeholder: 'detextselectTree.placeholder', viewIds: [], parameters: [], - datas: [], + data: [], key: 'id', label: 'text', value: 'id', @@ -76,9 +76,9 @@ class TextSelectTreeServiceImpl extends WidgetService { }) } - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/icons/svg/readed-msg.svg b/frontend/src/icons/svg/read-msg.svg similarity index 100% rename from frontend/src/icons/svg/readed-msg.svg rename to frontend/src/icons/svg/read-msg.svg diff --git a/frontend/src/icons/svg/warn-tre.svg b/frontend/src/icons/svg/warn-tree.svg similarity index 100% rename from frontend/src/icons/svg/warn-tre.svg rename to frontend/src/icons/svg/warn-tree.svg diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 6d9cee4774..d25f4ebb49 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -35,7 +35,7 @@ export default { custom_table_fields_desc: 'Fixed field is not in the selection range' }, steps: { - cancel: 'Cancle', + cancel: 'Cancel', next: 'next', prev: 'Last step', finish: 'Finish' @@ -613,7 +613,7 @@ export default { member: { create: 'Add members', modify: 'Modify members', - delete_confirm: 'Comfirm to delete this user?', + delete_confirm: 'Confirm to delete this user?', please_choose_member: 'Please choose member', search_by_name: 'Search by name', modify_personal_info: 'Modify personal info', @@ -792,12 +792,12 @@ export default { move_success: 'Removed successfully', user: 'user', add_organization: 'Add organization', - defalut_organization_canot_move: 'The default organization cannot be deleted', + default_organization_cannot_move: 'The default organization cannot be deleted', organization_name: 'Organization name', input_organization_name: 'Please enter the organization name', relate_top_organization: 'Associated parent organization', organization_name_exist: 'Organization name already exists', - canot_delete: 'Cannot delete', + cannot_delete: 'Cannot delete', remove_user_first: 'Please remove all users in the organization before deleting the organization', sure_delete_organization: 'Are you sure to delete this organization?', add_child_org: 'Add sub organization', @@ -1429,7 +1429,8 @@ export default { reserve_one: '1', reserve_two: '2', proportion: 'Proportion', - label_content: 'Label Content' + label_content: 'Label Content', + percent: 'Percent' }, dataset: { parse_filed: 'Parse Field', @@ -1721,7 +1722,7 @@ export default { please_input_user_name: 'Please enter user name', please_input_password: 'Please enter Password', please_input_host: 'Please enter host', - please_input_url: 'Please enter url adress', + please_input_url: 'Please enter url address', please_input_port: 'Please enter port', modify: 'Edit data Source', validate_success: 'Verification successful', @@ -1960,7 +1961,7 @@ export default { confirm_delete: 'Confirm Delete', delete_success: 'Delete Success', confirm: 'Confirm', - cancel: 'Cancle', + cancel: 'Cancel', search: 'Search', back: 'Back', view: 'Chart', @@ -2165,7 +2166,7 @@ export default { install_time: 'Install Time', release_time: 'Time', un_install: 'Uninstall', - uninstall_confirm: 'Comfirm to uninstall the plugin?', + uninstall_confirm: 'Confirm to uninstall the plugin?', uninstall_cancel: 'Cancel uninstall plugin', un_install_success: 'Uninstall is successful and restart takes effect', un_install_error: 'Uninstall failed, please contact the administrator' @@ -2253,7 +2254,7 @@ export default { screen_method: 'Screening method', select: 'Please select', fixed_value: 'Fixed value', - defalut_method: 'Default condition', + default_method: 'Default condition', select_all: 'Select all', added: 'Added', manual_input: 'Manual input', @@ -2273,7 +2274,7 @@ export default { version_num: 'Version number', standard: 'Standard', enterprise: 'Enterprise', - suport: 'Get technical support', + support: 'Get technical support', update_success: 'Update Success' }, template: { @@ -2344,8 +2345,8 @@ export default { sned_time: 'Send Time', read_time: 'Read Time', type: 'Message Type', - mark_readed: 'Mark As Read', - all_mark_readed: 'Mark All As Read', + mark_read: 'Mark As Read', + all_mark_read: 'Mark All As Read', please_select: 'Please select at least one message', mark_success: 'Mark read successfully', receive_manage: 'Receive Manage', @@ -2353,7 +2354,7 @@ export default { i18n_msg_type_panel_share_cacnel: 'Dashboard unshared', i18n_msg_type_dataset_sync: 'Data set synchronization', i18n_msg_type_dataset_sync_success: 'Dataset synchronization successful', - i18n_msg_type_dataset_sync_faild: 'Dataset synchronization failed', + i18n_msg_type_dataset_sync_failed: 'Dataset synchronization failed', i18n_msg_type_all: 'All type', i18n_msg_type_ds_invalid: 'Datasource invalid', channel_inner_msg: 'On site', @@ -2369,7 +2370,7 @@ export default { please_key_max: 'Please key max value', out_of_min: 'The min value cannot be less than the min integer -2³²', out_of_max: 'The max value cannot be more than the max integer 2³²-1', - must_int: 'Please key interger', + must_int: 'Please key integer', min_out_max: 'The min value must be less than the max value', max_out_min: 'The max value must be more than the min value' }, diff --git a/frontend/src/lang/es.js b/frontend/src/lang/es.js index 8187bfe706..477af736cb 100755 --- a/frontend/src/lang/es.js +++ b/frontend/src/lang/es.js @@ -8,7 +8,7 @@ export default { pagePermission: 'Permisos de la página', directivePermission: 'Permisos de la directiva', icons: 'Iconos', - components: 'Componentes', + components: 'Components', tinymce: 'Tinymce', markdown: 'Markdown', jsonEditor: 'Editor JSON', @@ -123,7 +123,7 @@ export default { reviewer: 'reviewer', id: 'ID', date: 'Fecha', - author: 'Autor', + author: 'Author', readings: 'Lector', status: 'Estado', actions: 'Acciones', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 35e6952961..22b8d95158 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -791,12 +791,12 @@ export default { move_success: '移除成功', user: '用戶', add_organization: '添加組織', - defalut_organization_canot_move: '默認組織無法刪除', + default_organization_cannot_move: '默認組織無法刪除', organization_name: '組織名稱', input_organization_name: '請輸入組織名稱', relate_top_organization: '關聯上級組織', organization_name_exist: '組織名稱已存在', - canot_delete: '無法刪除', + cannot_delete: '無法刪除', remove_user_first: '請先移除組織中所有用戶,再進行刪除組織操作。', sure_delete_organization: '確定刪除該組織嗎?', delete: '刪除', @@ -1429,7 +1429,8 @@ export default { reserve_one: '一位', reserve_two: '两位', proportion: '佔比', - label_content: '標籤展示' + label_content: '標籤展示', + percent: '占比' }, dataset: { parse_filed: '解析字段', @@ -2254,7 +2255,7 @@ export default { screen_method: '篩選方式', select: '請選擇', fixed_value: '固定值', - defalut_method: '默認條件', + default_method: '默認條件', select_all: '全 選', added: '已添加', manual_input: '手工輸入', @@ -2274,7 +2275,7 @@ export default { version_num: '版本號', standard: '標準版', enterprise: '企業版', - suport: '獲取技術支持', + support: '獲取技術支持', update_success: '更新成功' }, template: { @@ -2345,8 +2346,8 @@ export default { sned_time: '提交時間', read_time: '查看時間', type: '消息類型', - mark_readed: '標記已讀', - all_mark_readed: '全部已讀', + mark_read: '標記已讀', + all_mark_read: '全部已讀', please_select: '請至少選擇一條消息', mark_success: '標記已讀成功', receive_manage: '接收管理', @@ -2354,7 +2355,7 @@ export default { i18n_msg_type_panel_share_cacnel: '儀表闆取消分享', i18n_msg_type_dataset_sync: '數據集同步', i18n_msg_type_dataset_sync_success: '數據集同步成功', - i18n_msg_type_dataset_sync_faild: '數據集同步失敗', + i18n_msg_type_dataset_sync_failed: '數據集同步失敗', i18n_msg_type_ds_invalid: '數據源失效', i18n_msg_type_all: '全部類型', channel_inner_msg: '站內消息', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 1023462e2c..cfc0ac3f27 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -790,12 +790,12 @@ export default { move_success: '移除成功', user: '用户', add_organization: '添加组织', - defalut_organization_canot_move: '默认组织无法删除', + default_organization_cannot_move: '默认组织无法删除', organization_name: '组织名称', input_organization_name: '请输入组织名称', relate_top_organization: '关联上级组织', organization_name_exist: '组织名称已存在', - canot_delete: '无法删除', + cannot_delete: '无法删除', remove_user_first: '请先移除组织中所有用户,再进行删除组织操作。', sure_delete_organization: '确定删除该组织吗?', delete: '删除', @@ -1428,7 +1428,8 @@ export default { reserve_one: '一位', reserve_two: '两位', proportion: '占比', - label_content: '标签展示' + label_content: '标签展示', + percent: '占比' }, dataset: { parse_filed: '解析字段', @@ -2254,7 +2255,7 @@ export default { screen_method: '筛选方式', select: '请选择', fixed_value: '固定值', - defalut_method: '默认条件', + default_method: '默认条件', select_all: '全 选', added: '已添加', manual_input: '手工输入', @@ -2274,7 +2275,7 @@ export default { version_num: '版本号', standard: '标准版', enterprise: '企业版', - suport: '获取技术支持', + support: '获取技术支持', update_success: '更新成功' }, template: { @@ -2345,8 +2346,8 @@ export default { sned_time: '提交时间', read_time: '查看时间', type: '消息类型', - mark_readed: '标记已读', - all_mark_readed: '全部已读', + mark_read: '标记已读', + all_mark_read: '全部已读', please_select: '请至少选择一条消息', mark_success: '标记已读成功', receive_manage: '接收管理', @@ -2354,7 +2355,7 @@ export default { i18n_msg_type_panel_share_cacnel: '仪表板取消分享', i18n_msg_type_dataset_sync: '数据集同步', i18n_msg_type_dataset_sync_success: '数据集同步成功', - i18n_msg_type_dataset_sync_faild: '数据集同步失败', + i18n_msg_type_dataset_sync_failed: '数据集同步失败', i18n_msg_type_ds_invalid: '数据源失效', i18n_msg_type_all: '全部类型', channel_inner_msg: '站内消息', diff --git a/frontend/src/permission.js b/frontend/src/permission.js index 8b983c5449..990658e5ef 100644 --- a/frontend/src/permission.js +++ b/frontend/src/permission.js @@ -126,11 +126,11 @@ router.beforeEach(async(to, from, next) => routeBefore(() => { })) export const loadMenus = (next, to) => { buildMenus().then(res => { - const datas = res.data - const filterDatas = filterRouter(datas) - const asyncRouter = filterAsyncRouter(filterDatas) + const data = res.data + const filterData = filterRouter(data) + const asyncRouter = filterAsyncRouter(filterData) // 如果包含首页 则默认页面是 首页 否则默认页面是仪表板页面 - if (JSON.stringify(datas).indexOf('wizard') > -1) { + if (JSON.stringify(data).indexOf('wizard') > -1) { asyncRouter.push({ path: '/', component: Layout, @@ -234,8 +234,8 @@ const hasPermission = (router, user_permissions) => { } // 如果有字菜单 则 判断是否满足 ‘任意一个子菜单有权限’ if (router.children && router.children.length) { - const permissionChilds = router.children.filter(item => hasPermission(item, user_permissions)) - router.children = permissionChilds + const permissionChildren = router.children.filter(item => hasPermission(item, user_permissions)) + router.children = permissionChildren return router.children.length > 0 } return true diff --git a/frontend/src/settings.js b/frontend/src/settings.js index 24e96017fc..191d0e01f2 100644 --- a/frontend/src/settings.js +++ b/frontend/src/settings.js @@ -21,7 +21,7 @@ module.exports = { */ sidebarLogo: false, showSettings: true, - interruptTokenContineUrls: [ + interruptTokenContinueUrls: [ '/api/sys_msg/list/', '/dataset/taskLog/list/' ] diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss index 8e4f24cc91..0c6f4b2b69 100644 --- a/frontend/src/styles/index.scss +++ b/frontend/src/styles/index.scss @@ -1400,7 +1400,7 @@ div:focus { } } -.de-serach-table { +.de-search-table { .top-operate { margin-bottom: 16px; @@ -1545,7 +1545,7 @@ div:focus { } } -.de-icon-sence { +.de-icon-sense { margin-right: 9px; width: 16px !important; height: 12px !important; diff --git a/frontend/src/views/chart/chart/bar/bar_antv.js b/frontend/src/views/chart/chart/bar/bar_antv.js index 9c73137ff7..5c3cbb30a6 100644 --- a/frontend/src/views/chart/chart/bar/bar_antv.js +++ b/frontend/src/views/chart/chart/bar/bar_antv.js @@ -23,7 +23,7 @@ export function baseBarOptionAntV(plot, container, chart, action, isGroup, isSta const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) // data - const data = chart.data.datas + const data = chart.data.data // config const slider = getSlider(chart) const analyse = getAnalyse(chart) @@ -121,7 +121,7 @@ export function hBaseBarOptionAntV(plot, container, chart, action, isGroup, isSt const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) // data - const data = chart.data.datas + const data = chart.data.data // config const slider = getSlider(chart) const analyse = getAnalyse(chart) diff --git a/frontend/src/views/chart/chart/chart.js b/frontend/src/views/chart/chart/chart.js index a0eab96e4c..c79e0ae12d 100644 --- a/frontend/src/views/chart/chart/chart.js +++ b/frontend/src/views/chart/chart/chart.js @@ -103,6 +103,11 @@ export const DEFAULT_SIZE = { treemapWidth: 80, treemapHeight: 80, liquidMax: 100, + liquidMaxType: 'fix', // fix or dynamic + liquidMaxField: { + id: '', + summary: '' + }, liquidSize: 80, liquidOutlineBorder: 4, liquidOutlineDistance: 8, @@ -132,8 +137,8 @@ export const DEFAULT_LABEL = { decimalCount: 2, // 小数位数 thousandSeparator: true// 千分符 }, - reserveDecimalCount: 2, // 百分比堆叠柱状图,饼图,环形图保留小数位数 - labelContent: ['dimension', 'proportion'] // 饼图,环形图指标展示项 + reserveDecimalCount: 2, + labelContent: ['dimension', 'proportion'] } export const DEFAULT_TOOLTIP = { show: true, diff --git a/frontend/src/views/chart/chart/common/common_antv.js b/frontend/src/views/chart/chart/common/common_antv.js index 71fefbedc0..3f6093278c 100644 --- a/frontend/src/views/chart/chart/common/common_antv.js +++ b/frontend/src/views/chart/chart/common/common_antv.js @@ -126,6 +126,9 @@ export function getLabel(chart) { type: l.position, autoRotate: false } + if (l.position === 'outer') { + label.type = 'spider' + } } else if (chart.type.includes('line') || chart.type.includes('area')) { label = { position: l.position, diff --git a/frontend/src/views/chart/chart/common/common_table.js b/frontend/src/views/chart/chart/common/common_table.js index 42f93da6a5..93cb2f0063 100644 --- a/frontend/src/views/chart/chart/common/common_table.js +++ b/frontend/src/views/chart/chart/common/common_table.js @@ -21,7 +21,7 @@ export function getCustomTheme(chart) { backgroundColor: headerColor, horizontalBorderColor: borderColor, verticalBorderColor: borderColor, - verticalBorderWidth: 0 // 左上角顶点单元格左右边缘宽度要设置为 0,不然序号列的数字部分会比表头多几个像素,视觉上会突出去 + verticalBorderWidth: 0 }, text: { fill: DEFAULT_COLOR_CASE.tableHeaderFontColor, @@ -130,9 +130,9 @@ export function getCustomTheme(chart) { theme.rowCell.cell.backgroundColor = i_c // 这个参数其实只对开启序号列的行头生效 theme.rowCell.cell.horizontalBorderColor = i_c theme.rowCell.cell.verticalBorderColor = i_c - theme.rowCell.bolderText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor - theme.rowCell.text.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor - theme.rowCell.measureText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor + theme.rowCell.bolderText.fill = c.tableFontColor + theme.rowCell.text.fill = c.tableFontColor + theme.rowCell.measureText.fill = c.tableFontColor theme.colCell.cell.backgroundColor = h_c theme.colCell.cell.horizontalBorderColor = b_c @@ -162,11 +162,11 @@ export function getCustomTheme(chart) { theme.cornerCell.measureText.textAlign = h_a // 序号列的数字单元格内容样式使用指标的内容样式而不是表头的内容样式 - theme.rowCell.bolderText.fontSize = parseInt(s.tableTitleFontSize) + theme.rowCell.bolderText.fontSize = parseInt(s.tableItemFontSize) theme.rowCell.bolderText.textAlign = i_a - theme.rowCell.text.fontSize = parseInt(s.tableTitleFontSize) + theme.rowCell.text.fontSize = parseInt(s.tableItemFontSize) theme.rowCell.text.textAlign = i_a - theme.rowCell.measureText.fontSize = parseInt(s.tableTitleFontSize) + theme.rowCell.measureText.fontSize = parseInt(s.tableItemFontSize) theme.rowCell.measureText.textAlign = i_a theme.colCell.bolderText.fontSize = parseInt(s.tableTitleFontSize) diff --git a/frontend/src/views/chart/chart/funnel/funnel_antv.js b/frontend/src/views/chart/chart/funnel/funnel_antv.js index 61168c5a53..61a5a25a08 100644 --- a/frontend/src/views/chart/chart/funnel/funnel_antv.js +++ b/frontend/src/views/chart/chart/funnel/funnel_antv.js @@ -11,7 +11,7 @@ export function baseFunnelOptionAntV(plot, container, chart, action) { // style const legend = getLegend(chart) // data - const data = chart.data.datas + const data = chart.data.data // options const options = { theme: theme, diff --git a/frontend/src/views/chart/chart/line/line_antv.js b/frontend/src/views/chart/chart/line/line_antv.js index f64f906202..52cd766dfe 100644 --- a/frontend/src/views/chart/chart/line/line_antv.js +++ b/frontend/src/views/chart/chart/line/line_antv.js @@ -23,7 +23,7 @@ export function baseLineOptionAntV(plot, container, chart, action) { const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) // data - const data = chart.data.datas + const data = chart.data.data // config const slider = getSlider(chart) const analyse = getAnalyse(chart) @@ -111,7 +111,7 @@ export function baseAreaOptionAntV(plot, container, chart, action, isStack) { const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) // data - const data = chart.data.datas + const data = chart.data.data // config const slider = getSlider(chart) const analyse = getAnalyse(chart) diff --git a/frontend/src/views/chart/chart/liquid/liquid.js b/frontend/src/views/chart/chart/liquid/liquid.js index 2e228ca0f1..09b9dfe645 100644 --- a/frontend/src/views/chart/chart/liquid/liquid.js +++ b/frontend/src/views/chart/chart/liquid/liquid.js @@ -9,10 +9,8 @@ export function baseLiquid(plot, container, chart) { let value = 0 const colors = [] let max, radius, bgColor, shape, labelContent - if (chart.data) { - if (chart.data.series.length > 0) { - value = chart.data.series[0].data[0] - } + if (chart.data?.series.length > 0) { + value = chart.data.series[0].data[0] } let customAttr = {} if (chart.customAttr) { @@ -27,7 +25,11 @@ export function baseLiquid(plot, container, chart) { // size if (customAttr.size) { const size = JSON.parse(JSON.stringify(customAttr.size)) - max = size.liquidMax ? size.liquidMax : DEFAULT_SIZE.liquidMax + if (size.liquidMaxType === 'dynamic') { + max = chart.data?.series[chart.data?.series.length - 1]?.data[0] + } else { + max = size.liquidMax ? size.liquidMax : DEFAULT_SIZE.liquidMax + } radius = parseFloat((size.liquidSize ? size.liquidSize : DEFAULT_SIZE.liquidSize) / 100) shape = size.liquidShape ? size.liquidShape : DEFAULT_SIZE.liquidShape } diff --git a/frontend/src/views/chart/chart/mix/mix_antv.js b/frontend/src/views/chart/chart/mix/mix_antv.js index ca77bc3afc..737416abda 100644 --- a/frontend/src/views/chart/chart/mix/mix_antv.js +++ b/frontend/src/views/chart/chart/mix/mix_antv.js @@ -23,7 +23,7 @@ export function baseMixOptionAntV(plot, container, chart, action) { const yAxis = getYAxis(chart) const yAxisExt = getYAxisExt(chart) // data - const data = chart.data.datas + const data = chart.data.data const plots = [] // color let customAttr = {} diff --git a/frontend/src/views/chart/chart/pie/pie_antv.js b/frontend/src/views/chart/chart/pie/pie_antv.js index 81a7812067..00fbb8ba81 100644 --- a/frontend/src/views/chart/chart/pie/pie_antv.js +++ b/frontend/src/views/chart/chart/pie/pie_antv.js @@ -18,7 +18,7 @@ export function basePieOptionAntV(plot, container, chart, action) { // style const legend = getLegend(chart) // data - const data = chart.data.datas + const data = chart.data.data // options const options = { theme: theme, @@ -103,7 +103,7 @@ export function basePieRoseOptionAntV(plot, container, chart, action) { // style const legend = getLegend(chart) // data - const data = chart.data.datas + const data = chart.data.data // options const options = { theme: theme, diff --git a/frontend/src/views/chart/chart/radar/radar_antv.js b/frontend/src/views/chart/chart/radar/radar_antv.js index 6cbcae6f94..0336c518b9 100644 --- a/frontend/src/views/chart/chart/radar/radar_antv.js +++ b/frontend/src/views/chart/chart/radar/radar_antv.js @@ -11,7 +11,7 @@ export function baseRadarOptionAntV(plot, container, chart, action) { // style const legend = getLegend(chart) // data - const data = chart.data.datas + const data = chart.data.data const xAxis = { tickLine: null, diff --git a/frontend/src/views/chart/chart/scatter/scatter_antv.js b/frontend/src/views/chart/chart/scatter/scatter_antv.js index d9ca30cc85..96032b3844 100644 --- a/frontend/src/views/chart/chart/scatter/scatter_antv.js +++ b/frontend/src/views/chart/chart/scatter/scatter_antv.js @@ -24,7 +24,7 @@ export function baseScatterOptionAntV(plot, container, chart, action) { const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) // data - const data = chart.data.datas + const data = chart.data.data // config const slider = getSlider(chart) const analyse = getAnalyse(chart) diff --git a/frontend/src/views/chart/chart/treemap/treemap_antv.js b/frontend/src/views/chart/chart/treemap/treemap_antv.js index 598609813e..406602f539 100644 --- a/frontend/src/views/chart/chart/treemap/treemap_antv.js +++ b/frontend/src/views/chart/chart/treemap/treemap_antv.js @@ -10,7 +10,7 @@ export function baseTreemapOptionAntV(plot, container, chart, action) { // style const legend = getLegend(chart) // data - const data = chart.data.datas + const data = chart.data.data // options const options = { theme: theme, diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 2fbc508a8d..b5915a81da 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -3091,7 +3091,7 @@ export function getColors(chart, colors, reset) { let series if (chart.type.includes('stack')) { if (chart.data) { - const data = chart.data.datas + const data = chart.data.data const stackData = [] for (let i = 0; i < data.length; i++) { const s = data[i] @@ -3128,7 +3128,7 @@ export function getColors(chart, colors, reset) { } } else if (chart.type === 'bar-group') { // 拿到data中的category,并去重,然后构建seriesColor - const data = chart.data.datas + const data = chart.data.data const s = [] data.forEach((cur) => { if (s.indexOf(cur.category) < 0) { @@ -3144,7 +3144,7 @@ export function getColors(chart, colors, reset) { } } else { if (chart.data) { - const data = chart.data.datas + const data = chart.data.data // data 的维度值,需要根据自定义顺序排序 // let customSortData // if (Object.prototype.toString.call(chart.customSort) === '[object Array]') { diff --git a/frontend/src/views/chart/chart/waterfall/waterfall.js b/frontend/src/views/chart/chart/waterfall/waterfall.js index ee20f50307..61a20c363e 100644 --- a/frontend/src/views/chart/chart/waterfall/waterfall.js +++ b/frontend/src/views/chart/chart/waterfall/waterfall.js @@ -27,7 +27,7 @@ export function baseWaterfallOptionAntV(plot, container, chart, action) { delete yAxis.maxLimit } // data - const data = chart.data.datas + const data = chart.data.data // total const total = { label: '合计', diff --git a/frontend/src/views/chart/chart/wordCloud/word_cloud.js b/frontend/src/views/chart/chart/wordCloud/word_cloud.js index af7000e998..f33f1f3f85 100644 --- a/frontend/src/views/chart/chart/wordCloud/word_cloud.js +++ b/frontend/src/views/chart/chart/wordCloud/word_cloud.js @@ -11,7 +11,7 @@ export function baseWordCloudOptionAntV(plot, container, chart, action) { // attr const tooltip = getTooltip(chart) // data - const data = chart.data.datas + const data = chart.data.data // options const options = { theme: theme, diff --git a/frontend/src/views/chart/components/ChartComponentG2.vue b/frontend/src/views/chart/components/ChartComponentG2.vue index 30b6eb13f8..cd7b2b1334 100644 --- a/frontend/src/views/chart/components/ChartComponentG2.vue +++ b/frontend/src/views/chart/components/ChartComponentG2.vue @@ -237,9 +237,9 @@ export default { // type // if (chart.data) { this.antVRenderStatus = true - if (!chart.data || (!chart.data.datas && !chart.data.series)) { + if (!chart.data || (!chart.data.data && !chart.data.series)) { chart.data = { - datas: [{}], + data: [{}], series: [ { data: [0] diff --git a/frontend/src/views/chart/components/ChartComponentS2.vue b/frontend/src/views/chart/components/ChartComponentS2.vue index d99553a2c6..8ed97e0ff3 100644 --- a/frontend/src/views/chart/components/ChartComponentS2.vue +++ b/frontend/src/views/chart/components/ChartComponentS2.vue @@ -224,27 +224,27 @@ export default { }, methods: { initData() { - let datas = [] + let data = [] this.showPage = false if (this.chart.data && this.chart.data.fields) { this.fields = JSON.parse(JSON.stringify(this.chart.data.fields)) const attr = JSON.parse(this.chart.customAttr) this.currentPage.pageSize = parseInt(attr.size.tablePageSize ? attr.size.tablePageSize : 20) - datas = JSON.parse(JSON.stringify(this.chart.data.tableRow)) - if (this.chart.type === 'table-info' && (attr.size.tablePageMode === 'page' || !attr.size.tablePageMode) && datas.length > this.currentPage.pageSize) { + data = JSON.parse(JSON.stringify(this.chart.data.tableRow)) + if (this.chart.type === 'table-info' && (attr.size.tablePageMode === 'page' || !attr.size.tablePageMode) && data.length > this.currentPage.pageSize) { // 计算分页 - this.currentPage.show = datas.length + this.currentPage.show = data.length const pageStart = (this.currentPage.page - 1) * this.currentPage.pageSize const pageEnd = pageStart + this.currentPage.pageSize - datas = datas.slice(pageStart, pageEnd) + data = data.slice(pageStart, pageEnd) this.showPage = true } } else { this.fields = [] - datas = [] + data = [] this.resetPage() } - this.tableData = datas + this.tableData = data }, preDraw() { this.initData() @@ -275,9 +275,9 @@ export default { // type // if (chart.data) { this.antVRenderStatus = true - if (!chart.data || (!chart.data.datas && !chart.data.series)) { + if (!chart.data || (!chart.data.data && !chart.data.series)) { chart.data = { - datas: [{}], + data: [{}], series: [ { data: [0] diff --git a/frontend/src/views/chart/components/drag-item/QuotaExtItem.vue b/frontend/src/views/chart/components/drag-item/QuotaExtItem.vue index d1a8aa7b9e..5c01a443a1 100644 --- a/frontend/src/views/chart/components/drag-item/QuotaExtItem.vue +++ b/frontend/src/views/chart/components/drag-item/QuotaExtItem.vue @@ -153,7 +153,7 @@ - + {{ $t('chart.yoy_label') }}... + {{ $t('chart.percent') }} @@ -383,6 +384,10 @@ export default { case 'setting': this.editCompare() break + case 'percent': + this.item.compareCalc.type = 'percent' + this.$emit('onQuotaItemChange', this.item) + break default: break } diff --git a/frontend/src/views/chart/components/drag-item/QuotaItem.vue b/frontend/src/views/chart/components/drag-item/QuotaItem.vue index e3eb1df735..2a72ef6f29 100644 --- a/frontend/src/views/chart/components/drag-item/QuotaItem.vue +++ b/frontend/src/views/chart/components/drag-item/QuotaItem.vue @@ -153,7 +153,7 @@ - + {{ $t('chart.yoy_label') }}... + {{ $t('chart.percent') }} @@ -380,6 +381,10 @@ export default { case 'setting': this.editCompare() break + case 'percent': + this.item.compareCalc.type = 'percent' + this.$emit('onQuotaItemChange', this.item) + break default: break } diff --git a/frontend/src/views/chart/components/filter/ResultFilterEditor.vue b/frontend/src/views/chart/components/filter/ResultFilterEditor.vue index e6f4824845..f9f3c77fdf 100644 --- a/frontend/src/views/chart/components/filter/ResultFilterEditor.vue +++ b/frontend/src/views/chart/components/filter/ResultFilterEditor.vue @@ -266,13 +266,13 @@ export default { // 查找枚举值 if (this.item.deType === 0 || this.item.deType === 5) { multFieldValues({ fieldIds: [this.item.id] }).then(res => { - this.fieldOptions = this.optionDatas(res.data) + this.fieldOptions = this.optionData(res.data) }) } }, - optionDatas(datas) { - if (!datas) return null - return datas.filter(item => !!item).map(item => { + optionData(data) { + if (!data) return null + return data.filter(item => !!item).map(item => { return { id: item, text: item diff --git a/frontend/src/views/chart/components/senior/MapMapping.vue b/frontend/src/views/chart/components/senior/MapMapping.vue index e8b0c535f6..b5db2b429b 100644 --- a/frontend/src/views/chart/components/senior/MapMapping.vue +++ b/frontend/src/views/chart/components/senior/MapMapping.vue @@ -1,7 +1,7 @@